Question: Most Optimal dsolve method for the following system:

Hi!

 

I am trying to solve a large nxl system of coupled differential equations. Maple seems to have trouble even for small n's so I wanted to know if anyone has any suggestions. Take the case of the following system of ODEs for my unknown functions f[0,0](x) and f[1,0](x). 

 

ODEs:= {diff(f[0, 0](x), x)+2.*f[0, 0](x)/x^5+.5000000000*f[0, 0](x)/x = -15.58845727*sin(.5773502693*x)/x^2+140.2961154*sin(.5773502693*x)/x^4-81.*cos(.5773502693*x)/x^3, diff(f[1, 0](x), x)+6.*f[1, 0](x)/x^5+1.500000000*f[1, 0](x)/x-1.*f[0, 0](x)/x = -15.58845727*sin(.5773502693*x)/x^2+25.98076212*sin(.5773502693*x)*(1/x^4)^(1/4)*exp(1/x^4)*GAMMA(.7500000000, 1/x^4)/x^2+140.2961154*sin(.5773502693*x)/x^4-233.8268591*sin(.5773502693*x)*(1/x^4)^(1/4)*exp(1/x^4)*GAMMA(.7500000000, 1/x^4)/x^4-81.*cos(.5773502693*x)/x^3+135.*cos(.5773502693*x)*(1/x^4)^(1/4)*exp(1/x^4)*GAMMA(.7500000000, 1/x^4)/x^3-20.78460970*sin(.5773502693*x)/x^6+6.000000004*cos(.5773502693*x)/x^5+62.35382908*sin(.5773502693*x)/x^8-36.00000002*cos(.5773502693*x)/x^7, f[0, 0](.1) = 1.503497680, f[1, 0](.1) = -.5011660086}

 

 

Following Preben Alsholm's suggestion from my previous thread I am using lsode[adamsfull], since no other method i have tried worked for this problem. I am currently using:

 

Sollsodefull:=dsolve({ODEs}, numeric, method = lsode[adamsfull])

 

and it seems to work. I am wondering if there is a way to optimize this, as I will be extending my problem to n and l much larger than order unity numbers, therefore my system will contain about 10^4-10^5 equations. Solving this symple system of 2 equations takes a bit less than a second, but still it takes some time for the processor on my MBP. I am affraid it will be a nightmare for the full problem. Whats the most optimal dsolve option for this kind of problem? Any ideas?

 

I have also attempted dverk78, rkf45,rosenbrock, lsode(without the adamsfull option), and all failed for this particular system. Errors were:

1. For rkf45: Error, (in f00) cannot evaluate the solution past the initial point, problem may be complex, initially singular or improperly set up

2. For dverk78: Error, (in Soldverk78) cannot evaluate the solution past .1, step size < hmin, problem may be singular or error tolerance may be too small

3. For rosenbrock: Error, (in dsolve/numeric/SC/firststep) unable to evaluate the partial derivatives of f(x,y) for stiff solution

4. For lsode without [adamsfull]: Error, (in Sollsode) an excessive amount of work (greater than mxstep) was done

5. For default method with stiff=true and inplicit=true options: Error, (in dsolve/numeric/SC/firststep) unable to evaluate the partial derivatives of f(x,y) for stiff solution

Please Wait...