X-Message-Number: 26197
From: 
Date: Thu, 19 May 2005 01:47:55 EDT
Subject: Uploading technology (2.iv.1) Solving differential equations.

Uploading technology (2.iv.1) Solving differential equations.
 
From what I have published up to now on that subject, it seems clear that 
modeling realistic neurons ask for a lot of maths, mostly in the form of 

differential equations or some extended form of them, such the Langevin's 
formalism, 
adding a random function.

My objective here is not to present a mathematical course on differential 
equation, but simply to give a taste of the thing and show a path to solve the 
problem. The first remark, I can do is that a differential equation use some 
derivative, the archetype of the mathematical continuity. This seems a big 

problem for computers, because they work only with discrete numbers and don't 
know 
such concepts as limits and so on.
 
When a mathematician want to solve a differential equation, the first task is 
to put it in a form suitable for mathematical processing and then use known 
analytic solutions to find an answer. This is in the most case a set of 
integration, another continuous process badly adapted to computers.
 
Computer scientists have develloped a purely numerical tool kit to solve that 
problem, this is the difference equations. There is a simple example : Assume 
as a starting point that there is a space coordinate x. The time derivative, 
dx/dt is the rate of change of x with time, this is the common speed. The 
second derivative, d^2 x / dt^2 is the acceleration. Solving the differential 
equation dx/dt from time t1 to time t2 is simply thaking the speed integral 
between time t1 and t2. The answer is the distance a traveler has moved in the 
duration t2-t1.
 
Now, if t2 is near t1, it could be assumed that the speed is a constant, so 
the distance is simply (speed) x (t2-t1). Doing that for many small time 

intervals and taking the sum of each such computation give a good approximate 
value 
of the answer. The differential equation has been turned into a difference 

equation with only algebric operations, something a computer can do efficiently.
 
So the motto is : Turn differential equations into difference ones and 

program them on a computer. This is the way to go with computers, but some other

electronics device may use another strategy. Before looking at that, I'll give a
brief glimpse at how differential equations are sorted out.
 
The most basic one is the single ordinary differential equation (ODE) of rank 
one. ODE have derivative of only a single variable, for example the time t. 
The speed dx/dt = u is the simplest possible illustration.
 
Next comes the velocity : Taking the same example as above, three space 

dimensions, x, y and z are taken into account. There is then one equation for 
each 
space dimension, the ODE turns into a system of 3 linked ODE.
 
What about acceleration ?  Because there is a second derivative, this is a 

second order ODE. There are order 3, and more ODE, the interesting fact is that
all of them can be converted into a system of order one ODE.
 
Then come into play the partial derivative differential equations or PDE. A 
PDE will have mixed derivatives between two or more variables, for example 

distance x and time t. The simplest derivative of that kind looks as : 
d^2()/dxdt 
where:() is the room for the quantity to be derived. As an example, assume 

some product A is diffusing from some channels in a membrane starting at time 
t0. 
The concentration [A] will be a function of the distance x to the membrane 
and the time t.
 
As for ODE, there are systems of linked PDE and higher orders PDE. Even for 
the simplest PDE there are three kind of them: The elliptics, the parabolics 

and the hyperbolics. Elliptics equations describe equilibrium states, parabolic
ones deal with phenomenons such diffusion as in the example above and 

hyperbolics solve waves or periodical problems. Most, if not all problems in 
neuron 
modeling are of the diffusion kind and so use parabolic equations.
 
In the same way that an order n ODE can be converted into a set of order one 
ODE, one order n PDE can be turned into a set of order one PDE. Even more : An 
order one PDE can be turned into a set of ODE. Pushing the process at the 
limit, everything can be converted into a set of order one ODE.
 
Mathematicians don't like this, because what was initialy a small set of high 
order PDE with many symetries, become a long listing of endless equations no 
one can understant. Computer scientist don't like it anymore, because 
programming it would be very long, tedious and very hard to debug.
 
But uploading is not science, it is about technology and there is no point to 
understand what a set of equation is doing. What is interesting in that 
strategy is that it can be fully automated given the right components.
 
Assume the starting point is the 7-dimensional Rose-Hindmarsh PDE system for 
example. The equation set with initial and boundary conditions can be simply 
typed in a software package such Mathematica. This software will then use the 
above steps to get a very long list of very complex order one ordinary 

differential equations. In the next step, these equations will be solved in 
analytical 
form, giving a very long list of integrals. These will be copied in the TRAC 
software, it will generates the TRAC cell configuration able to solve the 

problem. A single cell TRAC can compute an integral in a single clock step, or 
one 
microsecond. The Rose-Hindmarsh equations may translate into something as 70 
to 80 integrals to solve simultaneously, a mathematical horror. A four chips 
TRAC board would do the job in one clock step, each chip having 20 cells.
 
If the objective is to produce a tabulated list of one million different 
dendrite segments, the computation could be done in one second. Even a 

supercomputer using the difference equation way would take many hours and 
programming it 
would take a large team working for some months. Here, everything can be done 
by a single person on a personal computer.
 
Yvan Bozzonetti.


 Content-Type: text/html; charset="US-ASCII"

[ AUTOMATICALLY SKIPPING HTML ENCODING! ] 

Rate This Message: http://www.cryonet.org/cgi-bin/rate.cgi?msg=26197