This example is a complete proof of the existence of 3 different periodic solution for the Rossler system
with chaotic parameter values a=5.7, b=0.2.
#include <iostream>
{
IVector y = pm(s1,returnTime,period);
y = pm(s2,monodromyMatrix,returnTime,period);
DP_Minus_Id[0][0] = DP[1][1] - 1.;
DP_Minus_Id[0][1] = DP[1][2];
DP_Minus_Id[1][0] = DP[2][1];
DP_Minus_Id[1][1] = DP[2][2] - 1.;
interval d = DP[1][1]*DP[2][2]-DP[1][2]*DP[2][1];
cout << "\n---------------------------------------------------\n\nN = " << N << endl;
cout << "X = " << X << endl;
cout << "Return time: " << returnTime << endl;
cout << "ev1=" << (tr-s)/2 << ", ev2=" << (tr+s)/2 << endl;
cout << "the existence of period " << period << " orbit verified\n";
else
{
cout << "N is not a subset of X\n\n";
cout <<
"diam(N)=" <<
diam(N) << endl;
cout <<
"diam(X)=" <<
diam(X) << endl;
cout << "N-X" << N-X << endl;
}
}
{
cout.precision(17);
try{
IMap vf(
"par:a,b;var:x,y,z;fun:-(y+z),x+b*y,b+z*(x-a);");
double s = 4e-13;
cout << "Define a box X of diameter " << 2.*s << " around each candidate for p.o. and compute Interval Newton Operator N" << endl;
center[0] = -8.3809417428298;
center[1] = 0.029590060630665;
center[0] = -5.4240738226652;
center[1] = 0.031081210807875;
center[0] = -6.233158628537965;
center[1] = 0.03064011165815;
}catch(exception& e)
{
cout << "\n\nException caught: "<< e.what() << endl;
}
return 0;
}
void verifyExistenceOfPeriodicOrbit(IPoincareMap &pm, IVector X, int period)
Definition: RosslerPeriodicOrbit.cpp:21
int main()
Definition: RosslerPeriodicOrbit.cpp:78
This class uses representation of subset of R^n inherited from template parameter.
Definition: C0HOSet.h:39
This class uses representation of subset of R^n inherited from template parameter.
Definition: C1HOSet.h:42
Definition: OdeSolver.h:40
Definition of template class Interval.
Definition: Interval.h:83
This class is used to represent a map .
Definition: Map.h:125
TimeMap class provides class that serves as Poincare section of the form x_i = c.
Definition: CoordinateSection.h:33
PoicareMap class rigorously computes Poincare Map.
Definition: PoincareMap.h:60
bool subsetInterior(long double, long double)
Definition: doubleFun.h:55
double sqr(double x)
Definition: power.h:42
Interval< T_Bound, T_Rnd > sqrt(const Interval< T_Bound, T_Rnd > &x)
square root of x
Definition: Interval_Fun.hpp:290
MatrixType computeDP(const VectorType &Px, const MatrixType &derivativeOfFlow, VectorType &dT, ScalarType returnTime=TypeTraits< ScalarType >::zero())
Simultaneous computation of gradient of return time and derivative of Poincare Map dP.
Definition: BasicPoincareMap_inline.h:137
@ MinusPlus
Definition: BasicPoincareMap.h:37
int order
Definition: tayltst.cpp:31
Interval diam(const Interval &ix)
Definition: Interval.h:816
void gauss(MatrixType a, ResultType b, ResultType &result)
Definition: floatMatrixAlgorithms.hpp:103
IVector midVector(const IVector &)
Definition: ApplicationDesc.h:23
intervals::DoubleInterval interval
Definition: DoubleInterval.h:36