MathGroup Archive 2005

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

Search the Archive

Re: Partial diff equations

Thanks everyone, I think that in general PDEs are out of reach of
computer algebra systems, but for the particular case of a gradient
vector field there is a very straightforward solution procedure. The
use of mathematica was sort of required because the PDEs I wanted to
solve had more than a hundred terms each.

The technique outlined by Devendra worked like a charm. I should have
mentioned that the system I wanted to integrate was actually a gradient
vector field (i.e. Curl is nul). And so the first solution method
mentioned was perfect for this type of system, as it's basically the
way a human would do it. My system was of dim 3, so the solution
procedure went like this:

sys = {fx, fy, fz}


Curl[sys, Cartesian]

to verify if sys is indeed a gradient vector field

sol1 = DSolve[D[f[x,y,z],x]==sys[[1]], f, {x, y, z},
GeneratedParameters -> g]

sol2 = DSolve[(D[f[x, y, z], y] /. sol1[[1]]) == sys[[2]], g[1], {y,z},
GeneratedParameters -> h]

sol3 = DSolve[(D[f[x, y, z], z] /. sol1[[1]] /. sol2[[1]]) == sys[[3]],
h[1], {z}]

f[x,y,z] /. sol1[[1]] /. sol2[[1]] /. sol3[[1]]

Which i suppose could be automated in future releases of mathematica.

The only problem was that while working on sol3 my computer ran out of
memory. My whole system froze up. I'll try different variations of the
above, not forgetting to use MemoryConstrained. Also, is there a way to
tell mathematica to be more conservative in its memory usage?

Thank you,

David Boily
Centre for Intelligent Machines
McGill University
Montreal, Quebec

  • Prev by Date: Re: Simplify and FullSimplify
  • Next by Date: Re: Wrong Integral result for a Piecewise function
  • Previous by thread: Re: Partial diff equations
  • Next by thread: Re: Partial diff equations