NLToolbox
Classes | Typedefs | Enumerations | Functions | Variables
nltool Namespace Reference

Classes

class  ApproximationBuilder
struct  ErrorEstimationParameters
class  Ball
class  Box
class  DynamicalSystem
class  Hpolyhedron
class  HybridizationInterface
class  LinearSystem
class  MatlabExporter
class  ObjExporter
class  PointerSystem
struct  Monom
struct  Polynom
class  PolynomialSystem
class  ReachHybridization
class  ReachLinear
class  ReachPolynomial
class  Set
class  Simplex
class  Chrono

Typedefs

typedef std::vector< int > multiIndice
typedef double Number
typedef arma::Mat< Number > Matrix
typedef arma::Col< Number > Vector
typedef std::vector< Vector > Vertices
typedef std::vector< Vector > Template
typedef std::vector< double > doubleVector
typedef std::vector< Number > stdVector
typedef std::vector
< std::vector< Number > > 
stdMatrix

Enumerations

enum  system_type { NOT_DEFINED = 1, HESSIAN_CONSTANT = 2, HESSIAN_NOT_CONSTANT = 3 }
enum  SystemType {
  CONSTANT, LINEAR, QUADRATIC, POLYNOMIAL,
  OTHER, POINTER
}
enum  SystemTimeType { CONTINUOUS, DISCRETE }
enum  HybridizationResult { SUCCESS, REQUIRESPLITTING }

Functions

double approximationErrorFunc (const std::vector< double > &x, std::vector< double > &grad, void *f_data)
Box estimateApproximationerror (DynamicalSystem *original, DynamicalSystem *approximation, Hpolyhedron &domain, Number initialerror)
std::vector< int > int2binary (int N, int num)
void checkErrorBound (Number errorBound, LinearSystem &approximation, DynamicalSystem &originalSystem, Hpolyhedron domain)
Template computeFacesOrientation (Hpolyhedron &set, PolynomialSystem system)
std::vector< PolynomcomputeUnitBoxMap (Box &box)
Number evalBernsteinPolynom (multiIndice ind, multiIndice dmax, stdVector point)
std::vector< Number > interpolateBernsteinCoef (Polynom poly, std::vector< Polynom > newVariables, multiIndice dmax, Matrix P_inv)
Matrix computeBernsteinCoefInterpolation (multiIndice dmax)
void performSetVariableChange (Vector &a, Number &b, std::vector< Polynom > &newVar)
void testVariableChange ()
void performSetVariableChange (Template &A, Vector &b, std::vector< Polynom > &newVar)
int computeDmax (PolynomialSystem polys)
std::vector< PolynomcomputeUnitBoxMap (int dim, Template Ctild, stdVector d)
Hpolyhedron create2DSet (int nbfaces, double radius, doubleVector translation)
PolynomialSystem test3D (Hpolyhedron &initialSet)
PolynomialSystem test2D (Hpolyhedron &initialSet)
PolynomialSystem species2D (Hpolyhedron &initialSet)
void testHybridization ()
void testPolynomialMethod ()
void testLinearReach ()
void testSimplexGLPK ()
double testFuncF (const int x, const vector< double > &pt, void *data)
double testFuncDf (const int x, const vector< double > &pt, const int dx, void *data)
double testFuncDdf (const int x, const vector< double > &pt, const int dx, const int dy, void *data)
void create2DSet (int nbfaces, double radius, vector< double > translation, vector< vector< double > > &resA, vector< double > &resB)
void testlib ()
stdMatrix matrixMult (const stdMatrix m1, const stdMatrix m2)
stdMatrix matrixAdd (const stdMatrix m1, const stdMatrix m2)
stdMatrix matrixTranspose (const stdMatrix m1)
stdVector setUnitVector (const Vector v)
double num2double (Number x)
Number simplex (stdVector obj, stdMatrix Aineq, stdVector Bineq, stdMatrix Aeq, stdVector Beq, stdVector bl, stdVector bu, int &err)
Number simplex (Vector obj, Template M, Vector N, Vector &solution, bool max)
Number simplex (Vector obj, Template M, Vector N, bool max)
bool increaseMultiIndice (std::vector< int > &m, const std::vector< int > d)
void createBinomialCoefficientTable (const int max)
double binomialCoef (const int n, const int k)
arma::mat expm_pad (const arma::mat &H, double t=1.0, const int p=6)
Matrix matrixExponential (Matrix inA, Number dt)
Number simplify (const Number &num, const Number &precision)
Vector simplify (const Vector &vec, const Number &precision)
std::ostream & operator<< (std::ostream &out, Ball ball)
std::ostream & operator<< (std::ostream &out, Box box)
std::ostream & operator<< (std::ostream &out, Hpolyhedron poly)
std::ostream & operator<< (std::ostream &out, LinearSystem linearSys)
std::ostream & operator<< (std::ostream &out, const multiIndice multiI)
std::ostream & operator<< (std::ostream &out, const Monom &monom)
std::ostream & operator<< (std::ostream &out, const Polynom &poly)
std::ostream & operator<< (std::ostream &out, const PolynomialSystem sys)
Monom operator* (const Monom m1, const Monom m2)
Polynom operator* (const Polynom poly1, const Polynom poly2)
Polynom operator* (Number d, const Polynom poly)
Polynom operator+ (const Polynom p1, const Polynom p2)
Polynom operator* (stdVector v, const PolynomialSystem polySys)
Polynom operator* (Vector v, const PolynomialSystem polySys)
bool operator== (const multiIndice ind1, const multiIndice ind2)
stdVector operator/ (const multiIndice ind1, const multiIndice ind2)
bool operator<= (const multiIndice ind1, const multiIndice ind2)
int sum (const multiIndice ind)
Number testFuncF (const int x, const stdVector &pt)
Number testFuncDf (const int x, const stdVector &pt, const int dx)
Number testFuncDdf (const int x, const stdVector &pt, const int dx, const int dy)
void testLinearReach4D ()
arma::Mat< Number > template2Matrix (const Template &temp)
Template matrixToTemplate (const Matrix &mat)
Number infinityNorm (stdVector v)
stdVector operator* (stdMatrix A, const stdVector v)
stdVector operator* (Number n, const stdVector v)
stdMatrix operator* (Number n, const stdMatrix m)
stdVector operator+ (stdVector v1, const stdVector v2)
stdVector operator- (stdVector v1, const stdVector v2)
stdMatrix operator+ (stdMatrix m1, const stdMatrix m2)
bool operator<= (stdVector v1, const stdVector v2)
Number dot (stdVector v1, stdVector v2)
bool notNul (stdVector v)
int fact (const int n)
Number max (const stdVector &v)
Number min (const stdVector &v)
bool closeToZero (Number nb)
std::ostream & operator<< (std::ostream &out, stdVector v)
std::ostream & operator<< (std::ostream &out, stdMatrix t)
std::ostream & operator<< (std::ostream &out, Template t)
void wait ()

Variables

bool useBinomTable = false
int ** binomialCoefficientTable
const Number EPSILON = 1e-10

Detailed Description

HybridizationSimplex is a class which creates a simplex fitted to a set represented by a polyhedra linked to a dynamical system

Author:
Romain Testylier
 All Classes Namespaces Functions