The following example show how to integrate differential inclusions with two different methods.
#include <iostream>
#include "capd/capdlib.h"
void RosslerExample() {
IMap f(
"par:a,b;var:x,y,z;fun:-(y+z),x+b*y,b+z*(x-a);");
double eps = 1.0e-4;
IMap perturb(
"par:e;var:x,y,z;fun:e,e,e;");
perturb.setParameter(
"e",
DInterval(-eps, eps));
double timeStep = 1. / 512.;
cwDiffInclSolver.setStep(timeStep);
lnDiffInclSolver.setStep(timeStep);
IVector x1(3);
x1[0] = 0.0; x1[1] = -10.3; x1[2] = 0.03;
cwSet(x1);
int numberOfSteps = 10;
for(int i = 0; i < numberOfSteps; ++i) {
lnSet.move(lnDiffInclSolver);
cwSet.move(cwDiffInclSolver);
}
std::cout.precision(16);
std::cout << "\n\n Method based on logarithmic norms : \n " << lnResult
<<
"\n diam = " <<
maxDiam(lnResult) <<
"\n";
std::cout << "\n\n Method based on component wise estimates : \n " << cwResult
<<
"\n diam = " <<
maxDiam(cwResult) <<
"\n";
}
RosslerExample();
return 0;
}
Class for rigorous integration of differential inclusions.
Definition: DiffInclusionCW.h:40
Class for rigorous integration of differential inclusions.
Definition: DiffInclusionLN.h:40
Set representation for differential inclusions based on capd::dynset::Rect2Set class.
Definition: InclRect2Set.h:37
A multi map for differential inclusions.
Definition: MultiMap.h:44
This class is used to represent a map .
Definition: Map.h:125
Euclidean Logarithmic Norm.
Definition: Norm.h:89
norm (max norm)
Definition: Norm.h:61
#define main()
Definition: krak-lib.h:388
int order
Definition: tayltst.cpp:31
IObject::ScalarType maxDiam(const IObject &v)
returns the upper bound for the biggest diameter of IntervalObject (vector or matrix) coordinates
Definition: iobject.hpp:52
capd::vectalg::Vector< interval, 3 > IVector
Definition: vecttst.cpp:28
This class provides a trait of being set of a given type, i.e.
Definition: DagIndexer.h:22