|
Janus 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 | janus::SymbolicArg |
| Universal symbolic argument wrapper for Function inputs/outputs. More... | |
Namespaces | |
| namespace | Eigen |
| namespace | janus |
Typedefs | |
| template<typename Scalar> | |
| using | janus::JanusMatrix = Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> |
| Dynamic-size matrix for both numeric and symbolic backends. | |
| template<typename Scalar> | |
| using | janus::JanusVector = Eigen::Matrix<Scalar, Eigen::Dynamic, 1> |
| Dynamic-size column vector for both numeric and symbolic backends. | |
| template<typename Scalar> | |
| using | janus::Vec2 = Eigen::Matrix<Scalar, 2, 1> |
| Fixed-size vectors and matrices for performance-critical code. | |
| template<typename Scalar> | |
| using | janus::Vec3 = Eigen::Matrix<Scalar, 3, 1> |
| template<typename Scalar> | |
| using | janus::Vec4 = Eigen::Matrix<Scalar, 4, 1> |
| template<typename Scalar> | |
| using | janus::Mat2 = Eigen::Matrix<Scalar, 2, 2> |
| template<typename Scalar> | |
| using | janus::Mat3 = Eigen::Matrix<Scalar, 3, 3> |
| template<typename Scalar> | |
| using | janus::Mat4 = Eigen::Matrix<Scalar, 4, 4> |
| using | janus::NumericScalar = double |
| Numeric scalar type. | |
| using | janus::NumericMatrix = JanusMatrix<NumericScalar> |
| Eigen::MatrixXd equivalent. | |
| using | janus::NumericVector = JanusVector<NumericScalar> |
| Eigen::VectorXd equivalent. | |
| using | janus::SymbolicScalar = casadi::MX |
| CasADi MX symbolic scalar. | |
| using | janus::SymbolicMatrix = JanusMatrix<SymbolicScalar> |
| Eigen matrix of MX elements. | |
| using | janus::SymbolicVector = JanusVector<SymbolicScalar> |
| Eigen vector of MX elements. | |
| using | janus::SparseMatrix = Eigen::SparseMatrix<double> |
| Sparse matrix types for efficient storage of large, sparse numeric data. | |
| using | janus::SparseTriplet = Eigen::Triplet<double> |
| (row, col, value) triplet | |
Functions | |
| SymbolicScalar | janus::sym (const std::string &name) |
| Create a named symbolic scalar variable. | |
| SymbolicScalar | janus::sym (const std::string &name, int rows, int cols=1) |
| Create a named symbolic matrix variable. | |
| SymbolicVector | janus::sym_vector (const std::string &name, int size) |
| Create a named symbolic vector (returns SymbolicVector). | |
| SymbolicVector | janus::sym_vec (const std::string &name, int size) |
| Create a symbolic vector preserving the CasADi primitive connection. | |
| std::pair< SymbolicVector, SymbolicScalar > | janus::sym_vec_pair (const std::string &name, int size) |
| Create symbolic vector and return both SymbolicVector and underlying MX. | |
| SymbolicScalar | janus::as_mx (const SymbolicVector &v) |
| Get the underlying MX representation of a SymbolicVector. | |
| template<typename Derived> | |
| casadi::MX | janus::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 > | janus::to_eigen (const casadi::MX &m) |
| Convert CasADi MX to Eigen matrix of MX. | |
| SymbolicVector | janus::as_vector (const casadi::MX &m) |
| Convert CasADi MX vector to SymbolicVector (Eigen container of MX). | |
| SymbolicVector | janus::to_eigen_vec (const casadi::MX &m) |
| Backwards compatibility alias for as_vector. | |
Core type aliases for numeric and symbolic Eigen/CasADi interop.