 
 
 
 
 
 
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

