Multidimensional polynomial chaos basis with fixed truncation/order.
Definition PolynomialChaos.hpp:456
Umbrella header that includes the entire Janus public API.
JanusVector< Scalar > pce_projection_coefficients(const PolynomialChaosBasis &basis, const NumericMatrix &samples, const NumericVector &weights, const JanusVector< Scalar > &sample_values)
Compute PCE projection coefficients from weighted samples (vector).
Definition PolynomialChaos.hpp:554
JanusVector< SymbolicScalar > SymbolicVector
Eigen vector of MX elements.
Definition JanusTypes.hpp:72
LinearSolveBackend
Backend selection for linear system solves.
Definition Linalg.hpp:39
auto where(const Cond &cond, const T1 &if_true, const T2 &if_false)
Select values based on condition (ternary operator) Returns: cond ? if_true : if_false Supports mixed...
Definition Logic.hpp:43
auto gradient(const Eigen::MatrixBase< DerivedF > &f, const Spacing &dx=1.0, int edge_order=1, int n=1)
Computes gradient using second-order accurate central differences.
Definition Calculus.hpp:178
Scalar pce_mean(const JanusVector< Scalar > &coefficients)
Extract PCE mean (zeroth coefficient).
Definition PolynomialChaos.hpp:665
SymbolicVector sym_vec(const std::string &name, int size)
Create a symbolic vector preserving the CasADi primitive connection.
Definition JanusTypes.hpp:137
JanusMatrix< NumericScalar > NumericMatrix
Eigen::MatrixXd equivalent.
Definition JanusTypes.hpp:66
PolynomialChaosDimension hermite_dimension()
Create a standard normal (Hermite) dimension.
Definition PolynomialChaos.hpp:57
T tanh(const T &x)
Computes hyperbolic tangent of x.
Definition Arithmetic.hpp:253
T sinh(const T &x)
Computes hyperbolic sine.
Definition Arithmetic.hpp:205
PolynomialChaosDimension laguerre_dimension(double alpha=0.0)
Create a Gamma-family (Laguerre) dimension on [0, inf).
Definition PolynomialChaos.hpp:84
T abs(const T &x)
Computes the absolute value of a scalar.
Definition Arithmetic.hpp:21
T sqrt(const T &x)
Computes the square root of a scalar.
Definition Arithmetic.hpp:46
PolynomialChaosDimension jacobi_dimension(double alpha, double beta)
Create a Beta-family (Jacobi) dimension on [-1, 1].
Definition PolynomialChaos.hpp:75
T atan(const T &x)
Computes arc tangent of x.
Definition Trig.hpp:146
StochasticQuadratureGrid tensor_product_quadrature(const std::vector< UnivariateQuadratureRule > &rules)
Build the tensor-product grid from a list of one-dimensional rules.
Definition Quadrature.hpp:493
T acos(const T &x)
Computes arc cosine of x.
Definition Trig.hpp:121
T log(const T &x)
Computes the natural logarithm of x.
Definition Arithmetic.hpp:156
SymbolicMatrix lagrangian_hessian_vector_product(const SymbolicArg &objective, const SymbolicArg &constraints, const SymbolicArg &vars, const SymbolicArg &multipliers, const SymbolicArg &direction)
Hessian-vector product of a Lagrangian, i.e. a second-order adjoint action.
Definition AutoDiff.hpp:503
SymbolicVector as_vector(const casadi::MX &m)
Convert CasADi MX vector to SymbolicVector (Eigen container of MX).
Definition JanusTypes.hpp:228
JanusVector< NumericScalar > NumericVector
Eigen::VectorXd equivalent.
Definition JanusTypes.hpp:67
StructuralDiagnosticsReport analyze_structural_diagnostics(const Function &fn, const StructuralDiagnosticsOptions &opts)
Run structural observability and identifiability checks together.
Definition Diagnostics.hpp:575
PolynomialChaosTruncation
Multi-index truncation strategy for a multidimensional basis.
Definition PolynomialChaos.hpp:35
T cosh(const T &x)
Computes hyperbolic cosine of x.
Definition Arithmetic.hpp:229
T tan(const T &x)
Computes tangent of x.
Definition Trig.hpp:71
casadi::MX to_mx(const Eigen::MatrixBase< Derived > &e)
Convert Eigen matrix of MX (or numeric) to CasADi MX.
Definition JanusTypes.hpp:189
std::pair< SymbolicVector, SymbolicScalar > sym_vec_pair(const std::string &name, int size)
Create symbolic vector and return both SymbolicVector and underlying MX.
Definition JanusTypes.hpp:155
T cos(const T &x)
Computes cosine of x.
Definition Trig.hpp:46
Scalar pce_variance(const PolynomialChaosBasis &basis, const JanusVector< Scalar > &coefficients)
Compute PCE variance from coefficients.
Definition PolynomialChaos.hpp:680
JanusMatrix< SymbolicScalar > SymbolicMatrix
Eigen matrix of MX elements.
Definition JanusTypes.hpp:71
StructuralSensitivityReport analyze_structural_identifiability(const Function &fn, int parameter_input_idx, const StructuralSensitivityOptions &opts={})
Analyze which parameters are structurally identifiable from selected outputs.
Definition Diagnostics.hpp:561
IterativeKrylovSolver
Iterative Krylov solver algorithm.
Definition Linalg.hpp:69
T asin(const T &x)
Computes arc sine of x.
Definition Trig.hpp:96
T sin(const T &x)
Computes sine of x.
Definition Trig.hpp:21
SymbolicScalar sym(const std::string &name)
Create a named symbolic scalar variable.
Definition JanusTypes.hpp:90
T floor(const T &x)
Computes floor of x.
Definition Arithmetic.hpp:278
T pow(const T &base, const T &exponent)
Computes the power function: base^exponent.
Definition Arithmetic.hpp:72
Eigen::Matrix< casadi::MX, Eigen::Dynamic, Eigen::Dynamic > to_eigen(const casadi::MX &m)
Convert CasADi MX to Eigen matrix of MX.
Definition JanusTypes.hpp:213
double pce_squared_norm(const PolynomialChaosDimension &dimension, int degree, bool normalized=true)
Return the probability-measure squared norm of a univariate basis term.
Definition PolynomialChaos.hpp:445
SymbolicVector sym_vector(const std::string &name, int size)
Create a named symbolic vector (returns SymbolicVector).
Definition JanusTypes.hpp:115
T ceil(const T &x)
Computes ceiling of x.
Definition Arithmetic.hpp:302
auto jacobian(const Expr &expression, const Vars &...variables)
Computes Jacobian of an expression with respect to variables.
Definition AutoDiff.hpp:109
double NumericScalar
Numeric scalar type.
Definition JanusTypes.hpp:65
UnivariateQuadratureRule stochastic_quadrature_rule(const PolynomialChaosDimension &dimension, int order, StochasticQuadratureRule rule=StochasticQuadratureRule::Gauss)
Build a one-dimensional stochastic quadrature rule with a fixed order.
Definition Quadrature.hpp:426
T log10(const T &x)
Computes the base-10 logarithm of x.
Definition Arithmetic.hpp:180
DenseLinearSolver
Dense linear solver algorithm.
Definition Linalg.hpp:48
IterativePreconditioner
Preconditioner for iterative solvers.
Definition Linalg.hpp:77
PolynomialChaosFamily
Univariate Askey-scheme family used for a PCE input dimension.
Definition PolynomialChaos.hpp:25
StochasticQuadratureRule
One-dimensional rule family used to generate stochastic quadrature nodes.
Definition Quadrature.hpp:54
JanusVector< Scalar > pce_regression_coefficients(const PolynomialChaosBasis &basis, const NumericMatrix &samples, const JanusVector< Scalar > &sample_values, double ridge=1e-12)
Compute PCE coefficients via least-squares regression (vector).
Definition PolynomialChaos.hpp:630
UnivariateQuadratureRule stochastic_quadrature_level(const PolynomialChaosDimension &dimension, int level, StochasticQuadratureRule rule=StochasticQuadratureRule::AutoNested)
Build a one-dimensional stochastic quadrature rule from a refinement level.
Definition Quadrature.hpp:456
SparseDirectLinearSolver
Sparse direct solver algorithm.
Definition Linalg.hpp:59
StructuralSensitivityReport analyze_structural_observability(const Function &fn, int state_input_idx=0, const StructuralSensitivityOptions &opts={})
Analyze which states are structurally observable from selected outputs.
Definition Diagnostics.hpp:547
JanusVector< T > linspace(const T &start, const T &end, int n)
Generates linearly spaced vector.
Definition Spacing.hpp:26
SymbolicMatrix hessian_vector_product(const SymbolicArg &expr, const SymbolicArg &vars, const SymbolicArg &direction)
Hessian-vector product for a scalar expression without forming the dense Hessian.
Definition AutoDiff.hpp:477
casadi::MX SymbolicScalar
CasADi MX symbolic scalar.
Definition JanusTypes.hpp:70
SymbolicScalar as_mx(const SymbolicVector &v)
Get the underlying MX representation of a SymbolicVector.
Definition JanusTypes.hpp:173
T atan2(const T &y, const T &x)
Computes arc tangent of y/x using signs of both arguments.
Definition Trig.hpp:172
StochasticQuadratureGrid smolyak_sparse_grid(const std::vector< PolynomialChaosDimension > &dimensions, int level, SmolyakQuadratureOptions options={})
Build a Smolyak sparse grid on probability measures.
Definition Quadrature.hpp:554
SymbolicMatrix hessian(const SymbolicArg &expr, const SymbolicArg &vars)
Hessian matrix (second-order derivatives).
Definition AutoDiff.hpp:437
Scalar pce_polynomial(const PolynomialChaosDimension &dimension, int degree, const Scalar &x, bool normalized=true)
Evaluate a univariate chaos basis polynomial.
Definition PolynomialChaos.hpp:413
T exp(const T &x)
Computes the exponential function e^x.
Definition Arithmetic.hpp:131
PolynomialChaosDimension legendre_dimension()
Create a uniform (Legendre) dimension on [-1, 1].
Definition PolynomialChaos.hpp:65
Configuration for linear system solve backend and algorithm.
Definition Linalg.hpp:86
Basis construction controls for multidimensional PCE.
Definition PolynomialChaos.hpp:91
One stochastic dimension in a polynomial chaos basis.
Definition PolynomialChaos.hpp:47
One multidimensional chaos basis term.
Definition PolynomialChaos.hpp:99
Options for Smolyak sparse-grid construction.
Definition Quadrature.hpp:64
Multidimensional stochastic quadrature grid with row-major sample layout.
Definition Quadrature.hpp:44
Combined observability and identifiability analysis options.
Definition Diagnostics.hpp:108
Combined structural diagnostics report.
Definition Diagnostics.hpp:117
Output-selection options shared by the structural diagnostics helpers.
Definition Diagnostics.hpp:34
Structural rank analysis of selected outputs with respect to one input block.
Definition Diagnostics.hpp:79
One-dimensional stochastic quadrature rule on a probability measure.
Definition Quadrature.hpp:30