MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

DSolve validation

  • To: mathgroup at smc.vnet.net
  • Subject: [mg33989] DSolve validation
  • From: Vladimir Bondarenko <vvb at mail.strace.net>
  • Date: Thu, 25 Apr 2002 03:00:18 -0400 (EDT)
  • Reply-to: Vladimir Bondarenko <vvb at mail.strace.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Gentlemen,

It's easy to double check the DSolve output here:

      In[1] := ode1 = y''[x] + x y'[x] == 0;

      In[2] := sol1 = DSolve[ode1, y[x], x]
      Out[2] = {{y[x] -> C[2] + Sqrt[Pi/2]*C[1]*Erf[x/Sqrt[2]]}}

      In[3] := ode1 /. D[sol1, x, x] /. D[sol1, x]
      Out[3] = {{True}}

Life is great! Inspirited with the success, let's consider this ODE.

      In[4] := ode1 = y''[x] + x y[x] == 0;

      In[5] := sol1 = DSolve[ode1, y[x], x]
      Out[5] = {{y[x] -> AiryAi[(-1)^(1/3)*x]*C[1] + AiryBi[(-1)^(1/3)*x]*C[2]}}

      In[6] := ode1 /. D[sol1, x, x] /. D[sol1, x]
      Out[6] = {{-(x*AiryAi[(-1)^(1/3)*x]*C[1]) - x*AiryBi[(-1)^(1/3)*x]*C[2] + x*y[x] == 0}}


(* Oops! The trick does not work ;-( *)

      In[7] := ode1 /. D[sol1, x, x] /. D[sol1, x]//FullSimplify
      Out[7] = {{x*(AiryAi[(-1)^(1/3)*x]*C[1] + AiryBi[(-1)^(1/3)*x]*C[2] - y[x]) == 0}}


(* Not great, again *)

      In[8] := ode1 /. D[sol1, x, x] /. D[sol1, x] // ComplexExpand // FullSimplify
      Out[8] = {{x*(AiryAi[(-1)^(1/3)*x]*C[1] + AiryBi[(-1)^(1/3)*x]*C[2] - y[x]) == 0}}

(* etc etc etc *)
      

'Fraid, the same double check trouble holds for the hundreds ODEs I have tried 8-(

What might be a more or less streamlined way to validate the DSolve solutions?
Any module (publicly) available? Any (including halp-baked & raw) ideas & hints?

Thank you a lot for your time and efforts in advance.


Sincerely,

Vladimir Bondarenko




  • Prev by Date: RE: invisible graphics
  • Next by Date: Re: How to change time stepsize for Integration
  • Previous by thread: SOAP,MAthematica and Servlet
  • Next by thread: Re: DSolve validation