NLToolbox
|
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< Polynom > | computeUnitBoxMap (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< Polynom > | computeUnitBoxMap (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 |
HybridizationSimplex is a class which creates a simplex fitted to a set represented by a polyhedra linked to a dynamical system