lds #
Linear Dynamical Systems (LDS) namespace.
Namespaces #
Name |
---|
lds::gaussian Linear Dynamical Systems with Gaussian observations. |
lds::poisson Linear Dynamical Systems with Poisson observations. |
Classes #
Name | |
---|---|
class | lds::Controller |
class | lds::EM |
class | lds::Fit LDS Fit Type. |
class | lds::SSID |
class | lds::SwitchedController SwitchedController Type. |
class | lds::System Linear Dynamical System Type. |
class | lds::UniformMatrixList |
class | lds::UniformSystemList |
class | lds::UniformVectorList |
Types #
Name | |
---|---|
enum | SSIDWt { kSSIDNone, kSSIDMOESP, kSSIDCVA} weighting options for SSID |
enum | MatrixListFreeDim { kMatFreeDimNone, kMatFreeDim1, kMatFreeDim2} |
using double | data_t |
using arma::Col< data_t > | Vector |
using arma::Mat< data_t > | Matrix |
using arma::Cube< data_t > | Cube |
using arma::subview< data_t > | View |
Functions #
Name | |
---|---|
void | Limit(std::vector< data_t > & x, data_t lb, data_t ub) |
void | Limit(Vector & x, data_t lb, data_t ub) |
void | Limit(Matrix & x, data_t lb, data_t ub) |
void | Reassign(Vector & some, const Vector & other, const std::string & parenthetical =“Reassign”) reassigns contents of some Vector in place |
void | Reassign(Matrix & some, const Matrix & other, const std::string & parenthetical =“Reassign”) reassigns contents of some Matrix in place |
void | ForceSymPD(Matrix & X) forces matrix to be symmetric positive-definite |
void | ForceSymMinEig(Matrix & X, data_t eig_min =0) forces matrix to be symmetric and have a minimum eigenvalue |
void | lq(Matrix & L, Matrix & Qt, const Matrix & X) LQ decomposition. |
Matrix | calcCov(const Matrix & A, const Matrix & B) Calculate covariance matrix. |
Attributes #
Name | |
---|---|
const data_t | kInf Some useful numbers. |
const data_t | kPi |
Type Details #
SSIDWt #
Enumerator | Value | Description |
---|---|---|
kSSIDNone | None. | |
kSSIDMOESP | MOESP (AKA “robust method” in van Overschee 1996) | |
kSSIDCVA | CVA “Canonical Variate Analysis”. |
Weighting options for singular value decomposition performed during subspace identification (SSID)
Reference:
van Overschee, de Moor. 1996. Subspace Identification for Linear Systems.
MatrixListFreeDim #
Enumerator | Value | Description |
---|---|---|
kMatFreeDimNone | neither dim free to be hetero in mat list | |
kMatFreeDim1 | allow 1st dim of mats in list to be hetero | |
kMatFreeDim2 | allow 2nd dim of mats in list to be hetero |
data_t #
using lds::data_t = double;
Type of all data in library. If need 32b, change double
to float
. This could be potentially useful for large scale problems where there are memory constraints.
Vector #
using lds::Vector = arma::Col<data_t>;
Matrix #
using lds::Matrix = arma::Mat<data_t>;
Cube #
using lds::Cube = arma::Cube<data_t>;
View #
using lds::View = arma::subview<data_t>;
Function Details #
Limit #
inline void Limit(
std::vector< data_t > & x,
data_t lb,
data_t ub
)
Limit #
inline void Limit(
Vector & x,
data_t lb,
data_t ub
)
Limit #
inline void Limit(
Matrix & x,
data_t lb,
data_t ub
)
Reassign #
inline void Reassign(
Vector & some,
const Vector & other,
const std::string & parenthetical ="Reassign"
)
Parameters:
- some some Vector
- other other Vector
- parenthetical optional description provided by caller to ease debugging
Reassign #
inline void Reassign(
Matrix & some,
const Matrix & other,
const std::string & parenthetical ="Reassign"
)
Parameters:
- some some Matrix
- other other Matrix
- parenthetical optional description provided by caller to ease debugging
ForceSymPD #
void ForceSymPD(
Matrix & X
)
Parameters:
- X mutated matrix
ForceSymMinEig #
void ForceSymMinEig(
Matrix & X,
data_t eig_min =0
)
Parameters:
- X mutated matrix
- eig_min [optional] minimum eigen value
lq #
void lq(
Matrix & L,
Matrix & Qt,
const Matrix & X
)
Parameters:
- L lower triangle matrix
- Qt orthonormal matrix (transposed cf QR decomp)
- X matrix being decomposed
calcCov #
Matrix calcCov(
const Matrix & A,
const Matrix & B
)
Parameters:
- A some matrix
- B some other matrix
Return: covariance
Attribute Details #
kInf #
static const data_t kInf = std::numeric_limits<data_t>::infinity();
kPi #
static const data_t kPi = arma::datum::pi;
Updated on 3 April 2025 at 13:48:29 EDT