Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

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

Search the Archive

Hamiltonian System

  • To: mathgroup at smc.vnet.net
  • Subject: [mg88054] Hamiltonian System
  • From: Grandpa <acloninger at wustl.edu>
  • Date: Wed, 23 Apr 2008 04:07:37 -0400 (EDT)

So I'm trying to solve the following Hamiltonian system using Mathematica.  I posted this earlier, but I wanted to make sure it's not skipped over.

solution = NDSolve[{x'[t] == 2p[t], x[0] == 2,
p'[t] == I*(2 + 1/2)(I*x[t])^(1 + 1/2), p[0] == 1-2*I}, {x, p}, {t,0,10}, MaxSteps -> Infinity][[1]];

I'm letting E=1, so at all points t, it should be that
(p[t]/.solution)^2-(I*x[t]/.solution)^(2+1/2)=1.

That is the case until the function crosses a branch cut on the complex x-plane that runs from 0 to i*(Infinity). Once the function crosses the branch cut, the system no longer preserves E and the value changes to something around 1.3.

How can I go about fixing this problem? I've already tried working with the precision and accuracy goals, and that didn't work.  I also tried the SymplecticPartitionedRungeKutta method, but that didn't work either.  I'm not sure what else to consider. Any help would be appreciated.

Thanks,
Alex


  • Prev by Date: Re: Changing TextStyle within Show
  • Next by Date: Re: Problem with RegionFunction
  • Previous by thread: Re: Fourier transform in arbitrary dimension?
  • Next by thread: Re: Hamiltonian System