Janus 2.0.0
High-performance C++20 dual-mode numerical framework
Loading...
Searching...
No Matches
janus::SparseHessianEvaluator Class Reference

Cached sparse Hessian evaluator with fixed structural ordering. More...

#include <Sparsity.hpp>

Public Member Functions

 SparseHessianEvaluator (const SymbolicArg &expression, const SymbolicArg &variables, const std::string &name="")
 Construct from a scalar expression and single variable block.
 SparseHessianEvaluator (const SymbolicArg &expression, const std::vector< SymbolicArg > &variables, const std::string &name="")
 Construct from a scalar expression and multiple variable blocks.
 SparseHessianEvaluator (const Function &fn, int output_idx=0, int input_idx=0, const std::string &name="")
 Construct from a janus::Function.
const SparsityPatternsparsity () const
 Get the Hessian sparsity pattern.
int nnz () const
 Number of structural non-zeros.
const GraphColoringcoloring () const
 Get the star coloring for symmetric compression.
const Functionvalues_function () const
 Access the compiled values function.
template<typename... Args>
auto values (Args &&...args) const
 Evaluate and return Hessian non-zero values.
template<typename... Args>
auto operator() (Args &&...args) const
 Shorthand for values().

Detailed Description

Cached sparse Hessian evaluator with fixed structural ordering.

Values are returned in the CCS ordering from sparsity().get_triplet().

See also
sparse_hessian, SparsityPattern

Constructor & Destructor Documentation

◆ SparseHessianEvaluator() [1/3]

janus::SparseHessianEvaluator::SparseHessianEvaluator ( const SymbolicArg & expression,
const SymbolicArg & variables,
const std::string & name = "" )
inline

Construct from a scalar expression and single variable block.

Parameters
expressionScalar expression
variablesInput variables
nameOptional function name
Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

◆ SparseHessianEvaluator() [2/3]

janus::SparseHessianEvaluator::SparseHessianEvaluator ( const SymbolicArg & expression,
const std::vector< SymbolicArg > & variables,
const std::string & name = "" )
inline

Construct from a scalar expression and multiple variable blocks.

Parameters
expressionScalar expression
variablesInput variable blocks
nameOptional function name

◆ SparseHessianEvaluator() [3/3]

janus::SparseHessianEvaluator::SparseHessianEvaluator ( const Function & fn,
int output_idx = 0,
int input_idx = 0,
const std::string & name = "" )
inline

Construct from a janus::Function.

Parameters
fnFunction with scalar output
output_idxScalar output index
input_idxInput index
nameOptional function name

Member Function Documentation

◆ coloring()

const GraphColoring & janus::SparseHessianEvaluator::coloring ( ) const
inline

Get the star coloring for symmetric compression.

Returns
Const reference to the coloring
Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

◆ nnz()

int janus::SparseHessianEvaluator::nnz ( ) const
inline

Number of structural non-zeros.

Returns
Non-zero count
Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

◆ operator()()

template<typename... Args>
auto janus::SparseHessianEvaluator::operator() ( Args &&... args) const
inline

Shorthand for values().

Template Parameters
ArgsArgument types
Parameters
argsFunction inputs
Returns
Non-zero values in CCS order
Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

◆ sparsity()

const SparsityPattern & janus::SparseHessianEvaluator::sparsity ( ) const
inline

Get the Hessian sparsity pattern.

Returns
Const reference to the sparsity pattern
Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

◆ values()

template<typename... Args>
auto janus::SparseHessianEvaluator::values ( Args &&... args) const
inline

Evaluate and return Hessian non-zero values.

Template Parameters
ArgsArgument types
Parameters
argsFunction inputs
Returns
Non-zero values in CCS order
Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

◆ values_function()

const Function & janus::SparseHessianEvaluator::values_function ( ) const
inline

Access the compiled values function.

Returns
Const reference to the underlying Function
Examples
/home/runner/work/janus/janus/include/janus/core/Sparsity.hpp.

The documentation for this class was generated from the following file: