|
Metis 2.0.0
High-performance C++20 dual-mode numerical framework
|
Core type aliases for numeric and symbolic Eigen/CasADi interop. More...
#include <Eigen/Dense>#include <Eigen/Sparse>#include <casadi/casadi.hpp>#include <limits>

Go to the source code of this file.
Classes | |
| struct | Eigen::NumTraits< casadi::MX > |
| NumTraits specialization for casadi::MX Required for Eigen's operator<< and other scalar-dependent operations. More... | |
| class | metis::SymbolicArg |
| Universal symbolic argument wrapper for Function inputs/outputs. More... | |
Namespaces | |
| namespace | Eigen |
| namespace | metis |
Typedefs | |
| template<typename Scalar> | |
| using | metis::MetisMatrix = Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> |
| Dynamic-size matrix for both numeric and symbolic backends. | |
| template<typename Scalar> | |
| using | metis::MetisVector = Eigen::Matrix<Scalar, Eigen::Dynamic, 1> |
| Dynamic-size column vector for both numeric and symbolic backends. | |
| template<typename Scalar> | |
| using | metis::Vec2 = Eigen::Matrix<Scalar, 2, 1> |
| Fixed-size vectors and matrices for performance-critical code. | |
| template<typename Scalar> | |
| using | metis::Vec3 = Eigen::Matrix<Scalar, 3, 1> |
| template<typename Scalar> | |
| using | metis::Vec4 = Eigen::Matrix<Scalar, 4, 1> |
| template<typename Scalar> | |
| using | metis::Mat2 = Eigen::Matrix<Scalar, 2, 2> |
| template<typename Scalar> | |
| using | metis::Mat3 = Eigen::Matrix<Scalar, 3, 3> |
| template<typename Scalar> | |
| using | metis::Mat4 = Eigen::Matrix<Scalar, 4, 4> |
| using | metis::NumericScalar = double |
| Numeric scalar type. | |
| using | metis::NumericMatrix = MetisMatrix<NumericScalar> |
| Eigen::MatrixXd equivalent. | |
| using | metis::NumericVector = MetisVector<NumericScalar> |
| Eigen::VectorXd equivalent. | |
| using | metis::SymbolicScalar = casadi::MX |
| CasADi MX symbolic scalar. | |
| using | metis::SymbolicMatrix = MetisMatrix<SymbolicScalar> |
| Eigen matrix of MX elements. | |
| using | metis::SymbolicVector = MetisVector<SymbolicScalar> |
| Eigen vector of MX elements. | |
| using | metis::SparseMatrix = Eigen::SparseMatrix<double> |
| Sparse matrix types for efficient storage of large, sparse numeric data. | |
| using | metis::SparseTriplet = Eigen::Triplet<double> |
| (row, col, value) triplet | |
| template<typename MatrixType> | |
| using | metis::LLT = Eigen::LLT<MatrixType> |
| Dense decomposition type aliases matching Eigen's decomposition templates. Use these in metis internals and downstream code rather than referencing Eigen directly. | |
| template<typename MatrixType> | |
| using | metis::LDLT = Eigen::LDLT<MatrixType> |
| template<typename MatrixType> | |
| using | metis::PartialPivLU = Eigen::PartialPivLU<MatrixType> |
| template<typename MatrixType> | |
| using | metis::FullPivLU = Eigen::FullPivLU<MatrixType> |
| template<typename MatrixType> | |
| using | metis::ColPivHouseholderQR = Eigen::ColPivHouseholderQR<MatrixType> |
| template<typename MatrixType, typename Ord = Eigen::COLAMDOrdering<int>> | |
| using | metis::SparseQR = Eigen::SparseQR<MatrixType, Ord> |
| template<typename MatrixType> | |
| using | metis::SimplicialLLT = Eigen::SimplicialLLT<MatrixType> |
| template<typename MatrixType> | |
| using | metis::SimplicialLDLT = Eigen::SimplicialLDLT<MatrixType> |
Functions | |
| SymbolicScalar | metis::sym (const std::string &name) |
| Create a named symbolic scalar variable. | |
| SymbolicScalar | metis::sym (const std::string &name, int rows, int cols=1) |
| Create a named symbolic matrix variable. | |
| SymbolicVector | metis::sym_vector (const std::string &name, int size) |
| Create a named symbolic vector (returns SymbolicVector). | |
| SymbolicVector | metis::sym_vec (const std::string &name, int size) |
| Create a symbolic vector preserving the CasADi primitive connection. | |
| std::pair< SymbolicVector, SymbolicScalar > | metis::sym_vec_pair (const std::string &name, int size) |
| Create symbolic vector and return both SymbolicVector and underlying MX. | |
| SymbolicScalar | metis::as_mx (const SymbolicVector &v) |
| Get the underlying MX representation of a SymbolicVector. | |
| template<typename Derived> | |
| casadi::MX | metis::to_mx (const Eigen::MatrixBase< Derived > &e) |
| Convert Eigen matrix of MX (or numeric) to CasADi MX. | |
| Eigen::Matrix< casadi::MX, Eigen::Dynamic, Eigen::Dynamic > | metis::to_eigen (const casadi::MX &m) |
| Convert CasADi MX to Eigen matrix of MX. | |
| SymbolicVector | metis::as_vector (const casadi::MX &m) |
| Convert CasADi MX vector to SymbolicVector (Eigen container of MX). | |
Core type aliases for numeric and symbolic Eigen/CasADi interop.