Take the 2-minute tour ×

I am trying to solve a large system of differential equations. Ideally, I would like to solve it exactly, but if not, can anyone suggest me a numerical method?

In all its generality, the system I am trying to solve is like this: (here, $x = x(t) \in R^n$, and $\dot x = dx/dt$)

$$ (a_i + P_ix/\Vert P_ix \Vert)^T \dot x = -\Vert P_ix \Vert $$

for $i = 1,\ldots,n$. Here all $P_i$ are positive definite matrices, and the set of $a_i$ is linearly independent. Also, $\Vert . \Vert$ is the 2-norm.

It would help me a great deal if someone can help me to solve even a highly restricted special case of it, where $n=2$, $a_i = e_i$ (the $i$-th vector of the canonical basis), and $P_i = I$ for all $i$. Namely, this system:

$$ (e_i + x/\Vert x \Vert)^T \dot x = -\Vert x \Vert $$ for all $i$.

Thanks a lot, Daniel.

share|improve this question
add comment

2 Answers

up vote 2 down vote accepted

Solutions are likely to hit a singularity when the matrix $M$ with rows $(a_i + P_i x/\|P_i x\|)^T$ becomes singular or when $x$ approaches the origin. In your $n=2$ example with $u = x/\|x\|$, I get $\det(M) = 1 + \sum_j u_j$, and you'll get a singularity if that hits $0$. That does happen, e.g. with initial conditions $x_1(0)=1$, $x_2(0)=0$, at approximately $t= 1.2464504$ according to Maple's dsolve(..., numeric).

enter image description here

EDIT: Hmm, in fact $x_1 - x_2$ is constant in this system, and you get a singularity when $x_1 = 0$, $x_2 < 0$. If $d = x_1 - x_2$, the system has closed-form implicit solutions

$$ t+\ln \left( \left( 2 x_1 \left( t \right) +d \right) \sqrt {2}/2+\sqrt {2\, \left( x_1 \left( t \right) \right) ^{2}+2\,x_1 \left( t \right) d+{d}^{2}}/2 \right) \sqrt {2 }/2 +\ln \left( 2\, \left( x_1 \left( t \right) \right) ^{2}+ 2\,x_1 \left( t \right) d+{d}^{2} \right)/2 +c=0 $$

share|improve this answer
Thank you very much!! Any thoughts on the general problem? –  Daniel Fleischman Jul 26 '12 at 5:56
The standard numerical differential equation solvers, available e.g. in Maple, Matlab or Mathematica, will probably do reasonably well on such systems (subject, again, to the problem that you are likely to run into singularities). –  Robert Israel Jul 26 '12 at 6:04
@RobertIsrael: Dear Sir. I am looking forward to hearing your interesting comments math.stackexchange.com/questions/175340/… –  blindman Jul 26 '12 at 8:03
add comment

If you kow FORTRAN go to netlib.org and get numerical package for nonlinear systems of equations. Usually you need a good approximation to the solution to start the search.

share|improve this answer
add comment

Your Answer


