|
std::unique_ptr< LinearSystem< double > > | Linearize (const System< double > &system, const Context< double > &context, std::variant< InputPortSelection, InputPortIndex > input_port_index=InputPortSelection::kUseFirstInputIfItExists, std::variant< OutputPortSelection, OutputPortIndex > output_port_index=OutputPortSelection::kUseFirstOutputIfItExists, double equilibrium_check_tolerance=1e-6) |
| Takes the first-order Taylor expansion of a System around a nominal operating point (defined by the Context). More...
|
|
std::unique_ptr< AffineSystem< double > > | FirstOrderTaylorApproximation (const System< double > &system, const Context< double > &context, std::variant< InputPortSelection, InputPortIndex > input_port_index=InputPortSelection::kUseFirstInputIfItExists, std::variant< OutputPortSelection, OutputPortIndex > output_port_index=OutputPortSelection::kUseFirstOutputIfItExists) |
| A first-order Taylor series approximation to a system in the neighborhood of an arbitrary point. More...
|
|
Eigen::MatrixXd | ControllabilityMatrix (const LinearSystem< double > &sys) |
| Returns the controllability matrix: R = [B, AB, ..., A^{n-1}B]. More...
|
|
bool | IsControllable (const LinearSystem< double > &sys, std::optional< double > threshold=std::nullopt) |
| Returns true iff the controllability matrix is full row rank. More...
|
|
Eigen::MatrixXd | ObservabilityMatrix (const LinearSystem< double > &sys) |
| Returns the observability matrix: O = [ C; CA; ...; CA^{n-1} ]. More...
|
|
bool | IsObservable (const LinearSystem< double > &sys, std::optional< double > threshold=std::nullopt) |
| Returns true iff the observability matrix is full column rank. More...
|
|
bool | IsStabilizable (const LinearSystem< double > &sys, std::optional< double > threshold=std::nullopt) |
| Returns true iff the system is stabilizable. More...
|
|
bool | IsDetectable (const LinearSystem< double > &sys, std::optional< double > threshold=std::nullopt) |
| Returns true iff the system is detectable. More...
|
|
template<typename T > |
std::unique_ptr< LinearSystem< T > > | DiscreteTimeApproximation (const LinearSystem< T > &system, double time_period) |
| Converts a continuous-time linear system to a discrete-time linear system using the zero-order hold (ZOH) method. More...
|
|
template<typename T > |
std::unique_ptr< AffineSystem< T > > | DiscreteTimeApproximation (const AffineSystem< T > &system, double time_period) |
| Converts a continuous-time affine system to a discrete-time affine system using the zero-order hold (ZOH) method. More...
|
|