#include "Vector.hh" #include "Matrix.hh" #include "lorenz.hh" #include "lorenz1.hh" #include "lorenz4.hh" #include "PeriodicOrbit.hh" #include double getAngle(Matrix& po, double T){ assert(po.getm()==3); int n = po.getn(); Matrix A(9, n); ComputeLinearization(po, A, lorenzJ); A.scale(T/(2*PI)); //forgot to do this initially! Matrix Y(9, n); FindFundSolnB(A, Y); Matrix m(3,3); Matrix mm; int i, j; for(i=0; i < 3; i++) for(j=0; j < 3; j++) m(i,j) = (i==j)?1:0; double factor = 1; for(i=0; i < n; i++){ mm.shadow(Y.getColumn(i), 3, 3); mult(mm, m); m.scale(1/factor); } Matrix V(3,3); lorenz(po.getColumn(0), V.getColumn(0)); V(0,1) = 1; V(1,1) = 0; V(2,1) = 0; V(0,2) = 0; V(1,2) = 1; V(2,2) = 0; Matrix iV(3,3); invert(V, iV); mult(iV, m); mult(m, V); m = V; Matrix ev(2,2); Vector er(2), ei(2); eig(m.getShadow(1,2,1,2), ev, er, ei); //cout<