Hello,
I wonder if their is a possibilty to extract the eigenvectors corresponding
to a fixed point?
Greets,
Gregor
Greg
2012-08-17
Hello,
I wonder if their is a possibilty to extract the eigenvectors corresponding
to a fixed point?
Greets,
Gregor
Drew LaMar
2012-08-17
Hi, Gregor. Here's the command to use:
<instance of class EquilibriumCurve>.sol.labels['EP'][0]['data'].evecs
This gets the eigenvectors for the first fixed point on the equilibrium curve. Keep in mind that the SaveEigen flag must be set to True for this information to be there. Eigenvectors for any other point on the curve can be found by substituting for 0.
- Drew
Greg
2012-08-18
Hi Drew,
thank you very much.
I found that
<instance of class EquilibriumCurve>.sol.labels]'data'].evecs
line in the documentation, but it was awkward to find "the right" .
So for what value of the bifurcation parameter on the eq. curve are the
eigenvectors given by that line you proposed?
Greets,
Gregor
Rob Clewley
2012-08-18
Gregor,
I'm not sure I understand your question. Are you saying that you're looking at a point in the bifurcation diagram plot, and you're wondering how to extract the information for it? If so, here's how you could do it:
Suppose 'sol' is the solution pointset, and you had a free parameter 'p' and variables 'x' and 'y'. The first problem is that sol is not a parameterized pointset, so its 'find' method won't work. The problem can be that the plot is not a graph of p (due to folds, etc). Maybe the diagram is a function of x instead. If you want the point nearest x = 1.5,
index = find(sol['x'], 1.5)
Then sol will show the eigenvalue and eigenvector information you seek at the nearest point to x = 1.5 in sol. If there are folds and the plot is multi-valued in p in the region you want (suppose p = 0.1), you could find the point with the lowest index with
index = find(sol['p'], 0.1)
The next point could then be found with
index2 = index + find(sol['p'][index:], 0.1)
Hope that helps,
Rob
Greg
2012-08-18
Hey,
What I wanted in the first place are simply the eigenvectors of a specific
FP for a fixed parameter set. So the evecs of the jacobian at that point. Of course that changes
when I vary a parameter. But originally I don't wanted necessarily to do
a continuiation analysis.
But yep I think your idea will do the job, thx!
Greg
Rob Clewley
2012-08-18
Well then maybe you were just needing the phase plane toolbox? This tutorial includes finding of 2D fixedpoints and the objects that find the Jacobian and the eigenvalues/vectors (the code is similar for nD, but you have to do more work to classify as it is not automated in that case): http://www.ni.gsu.edu/~rclewley/PyDSTool/Tutorial/Tutorial_VdP.html
-Rob
Greg
2012-08-20
Ok, yes, that is actually where I looked first..I just could not find any documentation about how to extract the eigenval/vecs
with these toolbox objects..the dir() thing should do it I guess?!
Anyway thanks for your quick and detailed answers!
Greg