|
Janus 2.0.0
High-performance C++20 dual-mode numerical framework
|
Sparsity pattern analysis, graph coloring, and sparse derivative evaluators. More...
#include "Function.hpp"#include "JanusError.hpp"#include "JanusIO.hpp"#include "JanusTypes.hpp"#include <casadi/casadi.hpp>#include <cmath>#include <limits>#include <sstream>#include <string>#include <tuple>#include <utility>#include <vector>

Go to the source code of this file.
Classes | |
| class | janus::SparsityPattern |
| class | janus::GraphColoring |
| Wrapper around a CasADi graph coloring assignment. More... | |
| struct | janus::detail::SparseJacobianArtifacts |
| struct | janus::detail::SparseHessianArtifacts |
| class | janus::SparseJacobianEvaluator |
| Cached sparse Jacobian evaluator with fixed structural ordering. More... | |
| class | janus::SparseHessianEvaluator |
| Cached sparse Hessian evaluator with fixed structural ordering. More... | |
| struct | janus::NaNSparsityOptions |
| Options for NaN-propagation sparsity detection. More... | |
Namespaces | |
| namespace | janus |
| namespace | janus::detail |
| Smooth approximation of ReLU function: softplus(x) = (1/beta) * log(1 + exp(beta * x)). | |
Enumerations | |
| enum class | janus::SparseJacobianMode { janus::Forward , janus::Reverse } |
| Preferred directional mode for a sparse Jacobian evaluator. More... | |
Functions | |
| std::vector< SymbolicScalar > | janus::detail::to_mx_vector (const std::vector< SymbolicArg > &args) |
| std::vector< SymbolicArg > | janus::detail::to_symbolic_args (const std::vector< SymbolicScalar > &args) |
| SymbolicScalar | janus::detail::stack_nonzeros (const SymbolicScalar &expr) |
| void | janus::detail::validate_function_indices (const Function &fn, int output_idx, int input_idx, const char *where) |
| std::vector< SymbolicScalar > | janus::detail::symbolic_inputs_like (const Function &fn, const std::string &prefix) |
| GraphColoring | janus::detail::make_forward_coloring (const casadi::Sparsity &jac_sparsity) |
| GraphColoring | janus::detail::make_reverse_coloring (const casadi::Sparsity &jac_sparsity) |
| SparseJacobianArtifacts | janus::detail::make_sparse_jacobian_artifacts (const std::vector< SymbolicArg > &expressions, const std::vector< SymbolicArg > &variables, const std::string &name) |
| SparseJacobianArtifacts | janus::detail::make_sparse_jacobian_artifacts (const Function &fn, int output_idx, int input_idx, const std::string &name) |
| SparseHessianArtifacts | janus::detail::make_sparse_hessian_artifacts (const SymbolicArg &expression, const std::vector< SymbolicArg > &variables, const std::string &name) |
| SparseHessianArtifacts | janus::detail::make_sparse_hessian_artifacts (const Function &fn, int output_idx, int input_idx, const std::string &name) |
| SparsityPattern | janus::detail::function_jacobian_sparsity (const Function &fn, int output_idx, int input_idx) |
| SparsityPattern | janus::sparsity_of_jacobian (const SymbolicScalar &expr, const SymbolicScalar &vars) |
| Get Jacobian sparsity without computing the full Jacobian. | |
| SparsityPattern | janus::sparsity_of_hessian (const SymbolicScalar &expr, const SymbolicScalar &vars) |
| Get Hessian sparsity of a scalar expression. | |
| SparsityPattern | janus::get_jacobian_sparsity (const Function &fn, int output_idx=0, int input_idx=0) |
| Get sparsity of a janus::Function Jacobian. | |
| SparsityPattern | janus::get_hessian_sparsity (const Function &fn, int output_idx=0, int input_idx=0) |
| Get Hessian sparsity of a scalar janus::Function output. | |
| SparsityPattern | janus::get_sparsity_in (const Function &fn, int input_idx=0) |
| Get input sparsity of a janus::Function. | |
| SparsityPattern | janus::get_sparsity_out (const Function &fn, int output_idx=0) |
| Get output sparsity of a janus::Function. | |
| SparseJacobianEvaluator | janus::sparse_jacobian (const SymbolicArg &expression, const SymbolicArg &variables, const std::string &name="") |
| Compile a sparse Jacobian evaluator from symbolic expressions. | |
| SparseJacobianEvaluator | janus::sparse_jacobian (const std::vector< SymbolicArg > &expressions, const std::vector< SymbolicArg > &variables, const std::string &name="") |
| Compile a sparse Jacobian evaluator from vector arguments. | |
| SparseJacobianEvaluator | janus::sparse_jacobian (const Function &fn, int output_idx=0, int input_idx=0, const std::string &name="") |
| Compile a sparse Jacobian evaluator from a janus::Function. | |
| SparseHessianEvaluator | janus::sparse_hessian (const SymbolicArg &expression, const SymbolicArg &variables, const std::string &name="") |
| Compile a sparse Hessian evaluator from symbolic expressions. | |
| SparseHessianEvaluator | janus::sparse_hessian (const SymbolicArg &expression, const std::vector< SymbolicArg > &variables, const std::string &name="") |
| Compile a sparse Hessian evaluator from vector arguments. | |
| SparseHessianEvaluator | janus::sparse_hessian (const Function &fn, int output_idx=0, int input_idx=0, const std::string &name="") |
| Compile a sparse Hessian evaluator from a janus::Function. | |
| template<typename Func> | |
| SparsityPattern | janus::nan_propagation_sparsity (Func &&fn, int n_inputs, int n_outputs, const NaNSparsityOptions &opts={}) |
| Detect Jacobian sparsity using NaN propagation. | |
| SparsityPattern | janus::nan_propagation_sparsity (const Function &fn, const NaNSparsityOptions &opts={}) |
| Detect Jacobian sparsity of a janus::Function using NaN propagation. | |
Sparsity pattern analysis, graph coloring, and sparse derivative evaluators.