[SciPy-user] Eigenvalues of the Floquet matrix

Nils Wagner nwagner at iam.uni-stuttgart.de
Mon Mar 16 05:26:01 EDT 2009


On Sun, 15 Mar 2009 13:56:00 -0400
  Rob Clewley <rob.clewley at gmail.com> wrote:
> Hi Nils,
> 
>> The eigenvalues \lambda of the Floquet matrix are called 
>>multipliers.
>> Multipliers of system (1) possess symmetry: If \lambda 
>>is the
>> multiplier, then 1/\lambda is also a multiplier.
> 
> I am still not certain what the problem with your code 
>is
> specifically, but I can verify that when I put your 
>model and
> calculations into PyDSTool I get symmetric eigenvalues.
> 
>> The computation of a stability chart is a time-consuming 
>>task even for low dimensional systems.
> 
> The integrations with PyDSTool are an order of magnitude 
>faster or
> more even at the higher tolerances, so that should help 
>a lot.
> 
>> How can I improve the numerical results concerning the 
>>symmetry ?
> 
> It could be just that the VODE integrator is not having 
>its absolute
> and relative tolerances set small enough (I'm not sure 
>what these are
> by default for VODE but I'm using values for Radau down 
>near 1e-12). I
> am also integrating with smaller maximum step size 
>(0.001).
> 
>For the first pair of (omega, delta) = (16.2, 
>0.0128205128205)
> parameter values that your code detects as giving a 
>stable orbit, my
> code does not agree. Your final point on the last of the 
>four computed
> orbits ("ic=3" in your loop) is
> 
> q1: 0.04280477
> q1dot: 0.35978081
> q2: 0.33468969
> q2dot: 0.48781428
> 
> whereas mine is
> 
> q1:  0.0404874798281
> q1dot:  0.350985516948
> q2:  0.336574584737
> q2dot:  0.504365520376
> 
> which would appear to suggest a source of error during 
>integration
> between our codes. My eigenvalues of F are
> 
> [ 0.96241252+0j          0.00799704+0.99996802j 
> 0.00799704-0.99996802j
>  1.03905548+0.j        ]
> 
> which are indistinguishable, as a set, from their 
>reciprocals. I've
> attached my PyDSTool script in case changing the VODE 
>tolerances don't
> get you the accuracy you need. Please let me know if you 
>get VODE to
> be more agreeable, I'm curious.
> 
> -Rob
  
Hi Rob,

Thank you very much for your detailed answers !

Again, I wrestle with the installation of PyDSTool
on my x86_64 box (OpenSuSe11.1).

It would be really nice to have a setup.py ;-)

Anyway, I have used

svn co http://jay.cam.cornell.edu/svn/PyDSTool/trunk 
PyDSTool

to get the latest version of PyDSTool.

Here is the contents of
~/local/lib64/python2.6/site-packages/PyDSTool.pth

$HOME
$HOME/svn
$HOME/svn/PyDSTool
$HOME/svn/PyDSTool/PyDSTool
$HOME/svn/PyDSTool/PyDSTool/tests

echo $PYTHONPATH
/home/nwagner/:/home/nwagner/local/lib64/python2.6/site-packages/:/home/nwagner/svn/PyDSTool/PyDSTool:/home/nwagner/svn/PyDSTool/PyDSTool/tests


python -i seyranian-PyDSTool.py
Traceback (most recent call last):
   File "seyranian-PyDSTool.py", line 1, in <module>
     from PyDSTool import *
ImportError: No module named PyDSTool

Best wishes,
               Nils



More information about the SciPy-User mailing list