[SciPy-user] Eigenvalues of the Floquet matrix

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


On Mon, 16 Mar 2009 10:26:01 +0100
  "Nils Wagner" <nwagner at iam.uni-stuttgart.de> wrote:
> 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
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
  
Sorry for replying to myself.
I have also added /home/nwagner/svn/PyDSTool/ to my 
$PYTHONPATH.

Now I am able to import PyDSTool.

However if I run
python -i seyranian-PyDSTool.py
/home/nwagner/local/lib64/python2.6/site-packages/Pyrex/Compiler/Errors.py:17: 
DeprecationWarning: BaseException.message has been 
deprecated as of Python 2.6
   self.message = message
[ 0.05714896  0.20918955  0.58088371]
[  3.60595823e-01+0.j  -2.29878191e-17+0.j 
  6.16263995e-02+0.j]
[ 0.06162640+0.j  0.36059582+0.j]
-3.41421356237

Error occurred in generating Radau system
(while moving library extension modules to CWD)
<type 'exceptions.TypeError'> cannot concatenate 'str' and 
'int' objects
Traceback (most recent call last):
   File "seyranian-PyDSTool.py", line 43, in <module>
     osc = Generator.Radau_ODEsystem(DSargs)
   File 
"/home/nwagner/svn/PyDSTool/PyDSTool/Generator/Radau_ODEsystem.py", 
line 545, in __init__
     self.compileLib()
   File 
"/home/nwagner/svn/PyDSTool/PyDSTool/Generator/Radau_ODEsystem.py", 
line 991, in compileLib
     raise RuntimeError
RuntimeError


Any idea ?

                Nils



More information about the SciPy-User mailing list