Namespaces | |
gui | |
internals | |
property | |
threads | |
util | |
Classes | |
class | AlgebraicRiccatiContinuous |
Methods for dealing with continuous-time algebraic Riccati equations. More... | |
class | AlgebraicRiccatiDiscrete |
Methods for dealing with discrete-time algebraic Riccati equations. More... | |
class | ArtsteinsCircle |
class | BackwardDiffCollocation |
Collocation via backward differences. More... | |
class | BaseEdge |
class | BaseHyperGraphOptimizationProblem |
Hyper-graph optimization problem formulation. More... | |
class | BaseMixedEdge |
class | BaseQuadraticFinalStateCost |
class | BenchmarkTaskIncreasingHorizonOpenLoop |
BenchmarkTaskIncreasingHorizonOpenLoop. More... | |
class | BenchmarkTaskVaryingInitialState |
BenchmarkTaskVaryingInitialState. More... | |
class | BinaryVectorScalarVertexEdge |
class | BinaryVectorVertexEdge |
class | BlindDiscreteTimeReferenceTrajectory |
discrete time reference trajectory in which the precompute step is not aware of the trajectory More... | |
class | CartPole |
class | CentralDifferences |
Finite differences via central differences. More... | |
class | ClosedLoopControlTask |
Perform closed-loop control task. More... | |
class | CollocationInterface |
Interface class for collocation based system dynamics evaluation. More... | |
class | CombinedCompressedCollocationEdge |
class | CombinedCompressedCollocationMultipleControlsEdge |
class | CombinedUncompressedCollocationEdge |
class | CommonSignalTarget |
General signal target to store incoming signals for post-processing. More... | |
class | CompressedCollocationEdge |
class | CompressedCollocationMultipleControlsEdge |
class | ConstControlCombinedCompressedCollocationEdge |
class | Controllability |
Methods for checking controllability of dynamic systems. More... | |
class | ControllerInterface |
Interface class for controllers. More... | |
struct | ControllerStatistics |
class | CrankNicolsonDiffCollocation |
Collocation via Crank-Nicolson differences. More... | |
class | DataExporterInterface |
Interface class for exporting signals. More... | |
class | DiscreteTimeReferenceTrajectory |
discrete time reference trajectory More... | |
class | DiscretizationGridInterface |
Generic interface class for discretization grids. More... | |
class | DisturbanceGaussianNoise |
class | DisturbanceInterface |
class | DoubleIntegratorDiscreteTime |
System dynamics for a second order integrator (discrete-time) More... | |
class | DualModeController |
Dual mode controller. More... | |
class | DuffingOscillator |
class | Duration |
Representation of time durations. More... | |
class | DynamicsEvalInterface |
Interface class for solving and evaluating dynamics. More... | |
class | Edge |
Templated base edge class that stores an arbitary number of value. More... | |
class | Edge<> |
class | EdgeCache |
class | EdgeGenericScalarFun |
Generic edge for functions ![]() | |
class | EdgeGenericVectorFun |
Generic edge for functions ![]() | |
class | EdgeInterface |
Generic interface class for edges. More... | |
class | EdgeSetInterface |
Abstract class representing a set of edges. More... | |
class | Environment |
Standard environment for control tasks. More... | |
class | Factory |
Generic factory object. More... | |
class | FDCollocationEdge |
class | FilterInterface |
Interface class for filters. More... | |
class | FinalStageConstraint |
class | FinalStageCost |
class | FiniteDifferencesCollocationInterface |
Interface class for finite difference based collocation. More... | |
class | FiniteDifferencesGrid |
class | FiniteDifferencesGridMoveBlocking |
class | FiniteDifferencesInterface |
Interface class for finite difference approaches. More... | |
class | FiniteDifferencesVariableGrid |
class | FirstStateSystemOutput |
Return first state vector component as system output. More... | |
class | ForwardDiffCollocation |
Collocation via forward differences. More... | |
class | ForwardDifferences |
Finite differences via forward differences. More... | |
class | FreeSpaceRocket |
class | FullDiscretizationGridBase |
class | FullDiscretizationGridMoveBlockingBase |
class | FullStateSystemOutput |
Return full state vector as system output. More... | |
struct | GridUpdateResult |
class | HyperGraph |
hyper-graph representation More... | |
class | HyperGraphOptimizationProblemEdgeBased |
class | HyperGraphOptimizationProblemIgnoreStructure |
class | HyperGraphOptimizationProblemVertexBased |
class | IndexedValuesSetSignal |
Signal containing values indexed by an integer (int to double[] map) More... | |
class | IndexedValuesSignal |
Signal containing values indexed by a single integer. More... | |
class | IntegratorAdaptiveStepSize |
Adaptive-Step-Size-Control. More... | |
class | IntegratorExplicitEuler |
Forward euler (explicit euler) integration. More... | |
class | IntegratorExplicitRungeKutta2 |
2th Order Runge-Kutta Integrator (explicit) More... | |
class | IntegratorExplicitRungeKutta3 |
3th Order Runge-Kutta Integrator (explicit) More... | |
class | IntegratorExplicitRungeKutta4 |
4th Order Runge-Kutta Integrator (explicit) More... | |
class | IntegratorExplicitRungeKutta5 |
5th Order Runge-Kutta Integrator (explicit, slightly modified) More... | |
class | IntegratorExplicitRungeKutta6 |
6th Order Runge-Kutta Integrator (explicit) More... | |
class | IntegratorExplicitRungeKutta7 |
7th Order Runge-Kutta Integrator (explicit) More... | |
class | IntegratorMultiStageFixedStep |
Multi-stage integration fixed step. More... | |
class | IntegratorMultiStageScaled |
Multi-stage integration scaled. More... | |
class | IpoptWrapper |
class | L1StabCostEdge |
class | L1StabInequalityEdge |
class | LastStateSystemOutput |
Return first state vector component as system output. More... | |
class | LeftSumCostEdge |
class | LeftSumEqualityEdge |
class | LeftSumInequalityEdge |
class | LevenbergMarquardtDense |
Levenberg-Marquardt Solver (Dense matrices version). More... | |
class | LevenbergMarquardtSparse |
Levenberg-Marquardt Solver (Sparse matrices version). More... | |
class | LinearStateSpaceModel |
class | LinearStateSystemOutput |
Linear system output function. More... | |
class | LyapunovContinuous |
Methods for dealing with continuous-time Lyapunov equations. More... | |
class | LyapunovDiscrete |
Methods for dealing with discrete-time lyapunov equations. More... | |
class | MasslessPendulum |
class | Master |
General service client for rpc communication. More... | |
class | MatrixSetSignal |
Signal containing a set of matrices. More... | |
class | MatrixSignal |
Signal containing a simple matrix. More... | |
class | Measurement |
Measurement signal (value vector recorded at a specific time) More... | |
class | MidpointDiffCollocation |
Collocation via midpoint differences. More... | |
class | MinimumTime |
class | MinimumTimeRegularized |
class | MinTimeQuadratic |
class | MinTimeQuadraticControls |
class | MinTimeQuadraticGainScheduled |
class | MinTimeQuadraticStates |
class | MixedEdge |
class | MixedEdge<> |
class | MixedEdgeGenericVectorFun |
class | MovingAverageFilter |
Moving Average Filter. More... | |
class | MovingLeastSquaresFilter |
Moving LeastSquares Filter. More... | |
class | MovingMedianFilter |
Moving Median Filter. More... | |
class | MSDynamicsOnlyEdge |
class | MSDynamicsOnlyMultiControlsEdge |
class | MSDynamicsOnlyMultiControlsMultiDtsEdge |
class | MSVariableDynamicsOnlyEdge |
class | MultipleShootingEdge |
class | MultipleShootingEdgeSingleControl |
class | MultipleShootingEdgeSingleControlTimeScaling |
class | MultipleShootingGrid |
class | MultipleShootingVariableGrid |
class | NlpFunctions |
class | NlpSolverInterface |
Generic interface for solver implementations. More... | |
class | NonUniformFiniteDifferencesVariableGrid |
class | NonUniformFullDiscretizationGridBase |
class | NonUniformMultipleShootingVariableGrid |
class | NonUniformShootingGridBase |
class | NumericalIntegratorExplicitInterface |
Interface for numerical integrators (explicit and implicit) More... | |
class | Observability |
Methods for checking observability of dynamic systems. More... | |
class | ObserverInterface |
Interface class for observers. More... | |
class | OneStepPredictor |
OneStepPredictor. More... | |
class | OpenLoopControlTask |
Perform open-loop control task. More... | |
class | OptimalControlProblemInterface |
struct | OptimalControlProblemStatistics |
class | OptimizationEdgeSet |
class | OptimizationProblemInterface |
Generic interface for optimization problem definitions. More... | |
class | ParallelIntegratorSystem |
class | PartiallyFixedVectorVertex |
Vector based vertex with support for partially fixed components. More... | |
class | PidController |
PID controller. More... | |
class | PlantInterface |
Interface class for plants. More... | |
class | PredictiveController |
Predictive controller. More... | |
class | QpSolverInterface |
Generic interface for QP solver implementations. More... | |
class | QuadraticControlCost |
class | QuadraticFinalStateCost |
class | QuadraticFinalStateCostRiccati |
class | QuadraticFormCost |
class | QuadraticStateCost |
class | QuadratureCollocationDynamicsOnly |
class | QuadratureCollocationEdge |
class | QuadratureCollocationInterface |
class | QuadratureHermiteSimpson |
Hermite-Simpson rule (approximates function as quadratic polynomial between two points) More... | |
class | QuadratureHermiteSimpsonLinearControl |
Hermite-Simpson rule (approximates function as quadratic polynomial between two points) More... | |
class | QuadratureRectangleRule |
Rectangle/midpoint rule (approximates function as constant between two points) More... | |
class | QuadratureTrapezoidalRule |
Trapezoidal rule (approximates function as linear function between two points) More... | |
class | Range |
class | Rate |
Rate objects can be used to run loops at a desired rate. More... | |
class | ReferenceTrajectoryInterface |
Interface class for reference trajectories. More... | |
class | ScalarVertex |
Vertex implementation for scalar values. More... | |
class | SerialIntegratorSystem |
System dynamics for a series of integrators (continuous-time) More... | |
class | ShootingGridBase |
struct | SignalHeader |
Signal header. More... | |
class | SignalInterface |
Interface class for signals. More... | |
class | SignalTargetInterface |
Interface class for signal targets. More... | |
class | SimpleOptimizationProblem |
Simple optimization problem formulation. More... | |
class | SimpleOptimizationProblemWithCallbacks |
Simple optimization problem formulation (callback based configuration) More... | |
class | SimplePendulum |
class | SimpleStateController |
State feedback controller wigh feedback gain matrix K. More... | |
class | SimulatedPlant |
Adapter class for plant simulation. More... | |
class | SimulatedPlantThreaded |
Adapter class for plant simulation (threaded version) More... | |
class | SineReferenceTrajectory |
Sine reference trajectory. More... | |
class | SolverIpopt |
Interface to the external interior point solver IPOPT. More... | |
class | SolverOsqp |
Interface to the external solver OSQP. More... | |
class | StageCost |
class | StageEqualityConstraint |
class | StageFunction |
class | StageInequalityConstraint |
class | StagePreprocessor |
class | StaticReference |
Static reference trajectory. More... | |
class | StepResponseGenerator |
Step Response Generator. More... | |
class | StructuredOptimalControlProblem |
class | SylvesterContinuous |
Methods for dealing with continuous-time sylvester equations. More... | |
class | SylvesterDiscrete |
Methods for dealing with discrete-time Sylvester equations. More... | |
class | SystemDynamicsInterface |
Interface class for system dynamic equations. More... | |
class | SystemOutputInterface |
Interface class for system output functions. More... | |
class | TaskInterface |
Interface class for tasks. More... | |
class | TerminalBall |
class | TerminalBallInheritFromCost |
class | TerminalEqualityConstraint |
class | TerminalPartialEqualityConstraint |
class | TernaryVectorScalarVertexEdge |
class | Time |
Representation of time stamps. More... | |
class | TimeSeries |
Time Series (trajectory resp. sequence of values w.r.t. time) More... | |
class | TimeSeriesSequence |
Sequence of time series objects. More... | |
class | TimeSeriesSequenceSignal |
Signal for a sequence of time series objects. More... | |
class | TimeSeriesSignal |
Time Series signal (trajectory resp. sequence of values w.r.t. time) More... | |
class | TimeValueBuffer |
Time Delay Object for Piecewise-Constant Signals. More... | |
class | ToyExample |
class | TrapezoidalCollocationDynamicsOnlyEdge |
class | TrapezoidalCollocationIntegralCostEdge |
class | TrapezoidalCollocationIntegralEqualityDynamicsEdge |
class | TrapezoidalCollocationIntegralEqualityEdge |
class | TrapezoidalCollocationIntegralInequalityEdge |
class | TrapezoidalIntegralCostEdge |
class | TrapezoidalIntegralEqualityDynamicsEdge |
class | TrapezoidalIntegralEqualityEdge |
class | TrapezoidalIntegralInequalityEdge |
class | TsvExporter |
Export Tab-separated values (tsv) file. More... | |
class | TwoScalarEqualEdge |
class | UnaryScalarVertexEdge |
class | UnaryVectorVertexEdge |
class | UncompressedCollocationEdge |
class | VanDerPolOscillator |
class | VectorVertex |
Vertex implementation that stores an Eigen::VectorXd (dynamic dimension) More... | |
class | VertexInterface |
Generic interface class for vertices. More... | |
class | VertexSet |
class | VertexSetInterface |
Abstract class representing a set of vertices. More... | |
class | YamlExporter |
Export yaml files. More... | |
class | ZeroReference |
Zero reference trajectory. More... | |
Functions | |
bool | approx_equal (double a, double b, double epsilon=1e-6) |
Check if two doubles are appoximately equal. More... | |
bool | approx_equal (const std::complex< double > &a, const std::complex< double > &b, double epsilon=1e-6) |
Check if two complex numbers are appoximately equal by comparing their real and imaginary parts. More... | |
bool | approx_equal_abs (double a, double b, double epsilon=1e-6) |
Check if two doubles are similar (but with an absolute threshold!) More... | |
bool | approx_zero (double val, double epsilon=1e-10) |
Check if a double is appoximately zero. More... | |
template<typename EdgeContainer > | |
bool | check_edge_vertices (const std::vector< VertexInterface *> &vertices, EdgeContainer &edges) |
std::string | coloredText (const std::string &text, TextColorCode color) |
Return input text as colored text for terminal output (note: the terminal must support colored text) More... | |
template<typename Derived > | |
double | compute_condition_number (const Eigen::MatrixBase< Derived > &matrix) |
Compute condition number of matrix using SVD. More... | |
template<typename Derived > | |
double | compute_condition_number_square_matrix (const Eigen::MatrixBase< Derived > &matrix) |
Compute condition number of a square matrix using the EigenvaluesThis method computes the eigenvalues and returns abs(eig_max / eig_min). For a version based on the SVD refer to compute_condition_number() More... | |
template<typename Derived > | |
void | compute_pseudo_inverse (const Eigen::MatrixBase< Derived > &matrix, Eigen::MatrixBase< Derived > &pinvmat, double tolerance=1e-6) |
Compute the pseudo inverse using SVD. More... | |
void | convert_triplet (const Eigen::Ref< const Eigen::VectorXi > &i_row, const Eigen::Ref< const Eigen::VectorXi > &j_col, const Eigen::Ref< const Eigen::VectorXd > &values, std::vector< Eigen::Triplet< double >> &triplets) |
template<typename Object > | |
std::shared_ptr< Object > | create_from_factory (const std::string &name) |
Helper function to create new (derived) objects from factory. More... | |
bool | definitely_greater_than (double a, double b, double epsilon=1e-6) |
Check if a value is definetly greater than another value. More... | |
bool | definitely_less_than (double a, double b, double epsilon=1e-6) |
Check if a value is definetly less than another value. More... | |
bool | essentially_equal (double a, double b, double epsilon=1e-6) |
Check if two doubles are essentially equal. More... | |
bool | essentially_equal (const std::complex< double > &a, const std::complex< double > &b, double epsilon=1e-6) |
Check if two compelx numbers are essentially equal by comparing their real and imaginary parts. More... | |
FACTORY_REGISTER_DATA_EXPORTER (TsvExporter) | |
FACTORY_REGISTER_DATA_EXPORTER (YamlExporter) | |
template<typename DerivedA , typename DerivedB > | |
bool | have_equal_size (const Eigen::MatrixBase< DerivedA > &matrix1, const Eigen::MatrixBase< DerivedB > &matrix2) |
Determine if two matrices exhibit equal sizes/dimensions. More... | |
template<typename DerivedA , typename DerivedB , typename... Derived> | |
bool | have_equal_size (const Eigen::MatrixBase< DerivedA > &matrix1, const Eigen::MatrixBase< DerivedB > &matrix2, const Eigen::MatrixBase< Derived > &... matrices_other) |
Determine if N matrices exhibit equal sizes/dimensions. More... | |
template<typename Derived > | |
bool | is_positive_definite (const Eigen::MatrixBase< Derived > &matrix) |
Determine if a given matrix is positive definiteThe current implementation performs Eigen's Cholesky decomposition in order to test whether the given matrix appears to be positive definite. More... | |
template<typename Derived > | |
bool | is_square (const Eigen::MatrixBase< Derived > &matrix) |
Determine if a given matrix is square. More... | |
bool | is_square (int numel) |
Determine if a given number of elements defines a square matrix. More... | |
bool | ok () |
global method to check whether to proceed or cancel the current action More... | |
std::ostream & | operator<< (std::ostream &os, TextColorCode code) |
Output stream operator to change the color of subsequent stream output. More... | |
std::ostream & | operator<< (std::ostream &out, const TimeSeries &ts) |
template<class Predicate > | |
bool | reorder_schur_blocks (Eigen::Ref< Eigen::MatrixXd > T, Eigen::Ref< Eigen::MatrixXd > Q, Predicate predicate, int *subspace_dim, bool standardize) |
void | schur_decomposition_2d (Eigen::Ref< Eigen::Matrix2d > T, Eigen::Ref< Eigen::Matrix2d > U) |
Perform the 2D Real Schur decompositionIn contrast to Eigen::RealSchur this function enforces diagonal blocks of complex eigenvalues to be in the form:
with a denoting the real part and | |
void | setOk (bool ok) |
Change the current program state to ok or request the termination of the current action. More... | |
bool | swap_schur_blocks (Eigen::Ref< Eigen::MatrixXd > T, int ra11, int p, int q, Eigen::Ref< Eigen::MatrixXd > Q, bool standardize) |
Variables | |
static constexpr const double | cd_delta = 1e-9 |
static constexpr const double | cd_neg2delta = -2 * cd_delta |
static constexpr const double | cd_scalar = 1.0 / (2 * cd_delta) |
constexpr const double | CORBO_INF_DBL = 2e30 |
Representation for infinity (double version) More... | |
constexpr const int | CORBO_INF_INT = CORBO_MAX_INT - 1000 |
Representation for infinity (integer version) More... | |
constexpr const double | CORBO_MAX_DBL = std::numeric_limits<double>::max() |
Maximum double value. More... | |
constexpr const int | CORBO_MAX_INT = std::numeric_limits<int>::max() |
Maximum integer value. More... | |
constexpr const double | CORBO_MIN_DBL = std::numeric_limits<double>::lowest() |
Minimum (negative) double value. More... | |
constexpr const int | CORBO_MIN_INT = std::numeric_limits<int>::lowest() |
Minimum (negative) integer value. More... | |
static bool | global_ok = true |
constexpr const double | HESSIAN_DELTA = 1e-2 |
constexpr const char | SIGNAL_NAMESPACE_DELIMITER = '/' |
using corbo::ControllerFactory = typedef Factory<ControllerInterface> |
Definition at line 166 of file controller_interface.h.
using corbo::DataExporterFactory = typedef Factory<DataExporterInterface> |
Definition at line 81 of file data_exporter_interface.h.
using corbo::DiscretizationGridFactory = typedef Factory<DiscretizationGridInterface> |
Definition at line 173 of file discretization_grid_interface.h.
using corbo::DisturbanceFactory = typedef Factory<DisturbanceInterface> |
Definition at line 87 of file disturbance_interface.h.
using corbo::DynamicsEvalFactory = typedef Factory<DynamicsEvalInterface> |
Definition at line 116 of file dynamics_eval_interface.h.
using corbo::FilterFactory = typedef Factory<FilterInterface> |
Definition at line 74 of file filter_interface.h.
using corbo::FinalStageConstraintFactory = typedef Factory<FinalStageConstraint> |
Definition at line 273 of file stage_functions.h.
using corbo::FinalStageCostFactory = typedef Factory<FinalStageCost> |
Definition at line 199 of file stage_functions.h.
using corbo::FiniteDifferencesCollocationFactory = typedef Factory<FiniteDifferencesCollocationInterface> |
Definition at line 102 of file finite_differences_collocation.h.
using corbo::FiniteDifferencesFactory = typedef Factory<FiniteDifferencesInterface> |
Definition at line 261 of file finite_differences_interface.h.
using corbo::HyperGraphOptimizationProblemFactory = typedef Factory<BaseHyperGraphOptimizationProblem> |
Definition at line 265 of file hyper_graph_optimization_problem_base.h.
using corbo::NlpSolverFactory = typedef Factory<NlpSolverInterface> |
Definition at line 117 of file nlp_solver_interface.h.
using corbo::ObserverFactory = typedef Factory<ObserverInterface> |
Definition at line 126 of file observer_interface.h.
using corbo::OptimalControlProgramFactory = typedef Factory<OptimalControlProblemInterface> |
Definition at line 94 of file optimal_control_problem_interface.h.
using corbo::OutputFunctionFactory = typedef Factory<SystemOutputInterface> |
Definition at line 101 of file output_function_interface.h.
using corbo::PlantFactory = typedef Factory<PlantInterface> |
Definition at line 152 of file plant_interface.h.
using corbo::QpSolverFactory = typedef Factory<QpSolverInterface> |
Definition at line 147 of file qp_solver_interface.h.
using corbo::ReferenceTrajectoryFactory = typedef Factory<ReferenceTrajectoryInterface> |
Definition at line 97 of file reference_trajectory.h.
using corbo::StageCostFactory = typedef Factory<StageCost> |
Definition at line 147 of file stage_functions.h.
using corbo::StageEqualitiesFactory = typedef Factory<StageEqualityConstraint> |
Definition at line 291 of file stage_functions.h.
using corbo::StageInequalitiesFactory = typedef Factory<StageInequalityConstraint> |
Definition at line 309 of file stage_functions.h.
using corbo::StagePreprocessorFactory = typedef Factory<StagePreprocessor> |
Definition at line 66 of file stage_preprocessor.h.
using corbo::SystemDynamicsFactory = typedef Factory<SystemDynamicsInterface> |
Definition at line 179 of file system_dynamics_interface.h.
using corbo::TaskFactory = typedef Factory<TaskInterface> |
Definition at line 116 of file task_interface.h.
|
strong |
|
strong |
Enumerator | |
---|---|
Converged | |
EarlyTerminated | |
Infeasible | |
Error |
Definition at line 30 of file optimization/include/corbo-optimization/types.h.
|
strong |
Color codes for colored text in consoles/terminals (if supported)
see http://stackoverflow.com/questions/2616906/how-do-i-output-coloured-text-to-a-linux-terminal and http://misc.flogisoft.com/bash/tip_colors_and_formatting
Definition at line 40 of file text_style.h.
|
inline |
Check if two doubles are appoximately equal.
a | first value |
b | second value |
epsilon | minimum treshold to state that a and b are similar (|a-b| <= epsilon*max(a,b)) |
true
if fabs(a-b)<= epsilon*max(a,b)
, otherwise false
Definition at line 56 of file value_comparison.h.
|
inline |
Check if two complex numbers are appoximately equal by comparing their real and imaginary parts.
a | first complex value |
b | second complex value |
epsilon | minimum treshold to state that a and b are similar (|a-b| <= epsilon*max(a,b)) |
true
if fabs(a-b)<= epsilon*max(a,b)
, otherwise false
Definition at line 66 of file value_comparison.h.
|
inline |
Check if two doubles are similar (but with an absolute threshold!)
a | first value |
b | second value |
epsilon | minimum treshold to state that a and b are similar (|a-b| < epsilon) |
true
if fabs(a-b)< epsilon
, otherwise false
Definition at line 43 of file value_comparison.h.
|
inline |
Check if a double is appoximately zero.
val | first value |
epsilon | minimum treshold to state that val is similar (|a| <= epsilon) |
true
if fabs(val)<= epsilon)
, otherwise false
Definition at line 102 of file value_comparison.h.
bool corbo::check_edge_vertices | ( | const std::vector< VertexInterface *> & | vertices, |
EdgeContainer & | edges | ||
) |
Definition at line 36 of file hyper_graph.cpp.
|
inline |
Return input text as colored text for terminal output (note: the terminal must support colored text)
Definition at line 75 of file text_style.h.
|
inline |
Compute condition number of matrix using SVD.
matrix | generic matrix type |
Definition at line 144 of file matrix_utilities.h.
|
inline |
Compute condition number of a square matrix using the EigenvaluesThis method computes the eigenvalues and returns abs(eig_max / eig_min). For a version based on the SVD refer to compute_condition_number()
matrix | generic matrix type |
Definition at line 121 of file matrix_utilities.h.
void corbo::compute_pseudo_inverse | ( | const Eigen::MatrixBase< Derived > & | matrix, |
Eigen::MatrixBase< Derived > & | pinvmat, | ||
double | tolerance = 1e-6 |
||
) |
Compute the pseudo inverse using SVD.
Definition at line 164 of file matrix_utilities.h.
void corbo::convert_triplet | ( | const Eigen::Ref< const Eigen::VectorXi > & | i_row, |
const Eigen::Ref< const Eigen::VectorXi > & | j_col, | ||
const Eigen::Ref< const Eigen::VectorXd > & | values, | ||
std::vector< Eigen::Triplet< double >> & | triplets | ||
) |
std::shared_ptr<Object> corbo::create_from_factory | ( | const std::string & | name | ) |
Helper function to create new (derived) objects from factory.
This functino requries the Objects class to provide a getFactory() method.
[in] | name | Unique object identifier |
name
is known, an empty shared_ptr otherwise Object | The object type itself or base type to be created |
|
inline |
Check if a value is definetly greater than another value.
a | first value |
b | second value |
epsilon | minimum treshold to state that a and b are similar (|a-b| > epsilon*max(a,b)) |
true
if fabs(a-b)> epsilon*min(a,b)
, otherwise false
Definition at line 112 of file value_comparison.h.
|
inline |
Check if a value is definetly less than another value.
a | first value |
b | second value |
epsilon | minimum treshold to state that a and b are similar (|b-a| > epsilon*min(a,b)) |
true
if fabs(b-a)> epsilon*max(a,b)
, otherwise false
Definition at line 122 of file value_comparison.h.
|
inline |
Check if two doubles are essentially equal.
a | first value |
b | second value |
epsilon | minimum treshold to state that a and b are similar (|a-b| <= epsilon*min(a,b)) |
true
if fabs(a-b)<= epsilon*min(a,b)
, otherwise false
Definition at line 80 of file value_comparison.h.
|
inline |
Check if two compelx numbers are essentially equal by comparing their real and imaginary parts.
a | first complex value |
b | second complex value |
epsilon | minimum treshold to state that a and b are similar (|a-b| <= epsilon*min(a,b)) |
true
if fabs(a-b)<= epsilon*min(a,b)
, otherwise false
Definition at line 90 of file value_comparison.h.
corbo::FACTORY_REGISTER_DATA_EXPORTER | ( | TsvExporter | ) |
corbo::FACTORY_REGISTER_DATA_EXPORTER | ( | YamlExporter | ) |
|
inline |
Determine if two matrices exhibit equal sizes/dimensions.
matrix1 | generic matrix type |
matrix2 | generic matrix type |
Definition at line 71 of file matrix_utilities.h.
|
inline |
Determine if N matrices exhibit equal sizes/dimensions.
matrix1 | generic matrix type |
matrix2 | generic matrix type |
Definition at line 85 of file matrix_utilities.h.
|
inline |
Determine if a given matrix is positive definiteThe current implementation performs Eigen's Cholesky decomposition in order to test whether the given matrix appears to be positive definite.
matrix | generic matrix type to be tested |
Definition at line 103 of file matrix_utilities.h.
|
inline |
Determine if a given matrix is square.
matrix | generic matrix type to be tested |
Definition at line 43 of file matrix_utilities.h.
|
inline |
Determine if a given number of elements defines a square matrix.
numel | number of elements to be checked for square matrix |
Definition at line 55 of file matrix_utilities.h.
bool corbo::ok | ( | ) |
global method to check whether to proceed or cancel the current action
Time consuming parts of the program should check whether the current state is ok. If not, they should return immediately. This allows other processes to interrupt resepctively preempt long running processes.
E.g. the execution of closed-loop control tasks might be configured for a long time duration, but the user wants to stop by setting setOk(bool ok) to false. The tasks can check for ok() frequently and abort its execution in this case.
Definition at line 32 of file global.cpp.
|
inline |
Output stream operator to change the color of subsequent stream output.
Definition at line 65 of file text_style.h.
std::ostream& corbo::operator<< | ( | std::ostream & | out, |
const TimeSeries & | ts | ||
) |
out | output stream |
ts | time series object to be printed |
Definition at line 432 of file time_series.cpp.
bool corbo::reorder_schur_blocks | ( | Eigen::Ref< Eigen::MatrixXd > | T, |
Eigen::Ref< Eigen::MatrixXd > | Q, | ||
Predicate | predicate, | ||
int * | subspace_dim, | ||
bool | standardize | ||
) |
void corbo::schur_decomposition_2d | ( | Eigen::Ref< Eigen::Matrix2d > | T, |
Eigen::Ref< Eigen::Matrix2d > | U | ||
) |
Perform the 2D Real Schur decompositionIn contrast to Eigen::RealSchur this function enforces diagonal blocks of complex eigenvalues to be in the form:
with a denoting the real part and the imaginary part. It is
.
This function is mainly used in swap_blocks_schur_form() to ensure that swapped blocks are in standard form.
The implementation is based on LAPACKs SLANV2 routine [1].
[1] http://www.netlib.org/lapack/explore-3.1.1-html/slanv2.f.html#SLANV2.1
[in,out] | T | [2 x 2] matrix which is subject to decomposition, this matrix will be overwritten by the resulting upper triangular matrix. |
[out] | U | Unitary matrix which transforms T to Schur form: T = U^T T U |
void corbo::setOk | ( | bool | ok | ) |
Change the current program state to ok or request the termination of the current action.
Refer to ok() for more details.
ok | set to false, if current actions should be terminated (requires actions to check for ok()). |
Definition at line 33 of file global.cpp.
bool corbo::swap_schur_blocks | ( | Eigen::Ref< Eigen::MatrixXd > | T, |
int | ra11, | ||
int | p, | ||
int | q, | ||
Eigen::Ref< Eigen::MatrixXd > | Q, | ||
bool | standardize | ||
) |
|
static |
Definition at line 29 of file hyper_graph_optimization_problem_vertex_based.cpp.
|
static |
Definition at line 30 of file hyper_graph_optimization_problem_vertex_based.cpp.
|
static |
Definition at line 31 of file hyper_graph_optimization_problem_vertex_based.cpp.
constexpr const double corbo::CORBO_INF_DBL = 2e30 |
Representation for infinity (double version)
Definition at line 53 of file core/include/corbo-core/types.h.
constexpr const int corbo::CORBO_INF_INT = CORBO_MAX_INT - 1000 |
Representation for infinity (integer version)
Definition at line 55 of file core/include/corbo-core/types.h.
constexpr const double corbo::CORBO_MAX_DBL = std::numeric_limits<double>::max() |
Maximum double value.
Definition at line 44 of file core/include/corbo-core/types.h.
Maximum integer value.
Definition at line 48 of file core/include/corbo-core/types.h.
constexpr const double corbo::CORBO_MIN_DBL = std::numeric_limits<double>::lowest() |
Minimum (negative) double value.
Definition at line 46 of file core/include/corbo-core/types.h.
Minimum (negative) integer value.
Definition at line 50 of file core/include/corbo-core/types.h.
|
static |
Definition at line 30 of file global.cpp.
constexpr const double corbo::HESSIAN_DELTA = 1e-2 |
Definition at line 32 of file edge_interface.cpp.