TMB Documentation
v1.9.11
|
Methods specific for a dense hessian. More...
#include <newton.hpp>
Public Member Functions | |
template<class T > | |
vector< T > | crossprod (const vector< T > &y2, const vector< T > &y) |
Sparsity restricted cross product In dense case this is the usual cross product. | |
matrix< TMBad::Scalar > | llt_solve (const matrix< TMBad::Scalar > &H, const matrix< TMBad::Scalar > &x) |
Public Member Functions inherited from TMBad::ADFun<> | |
std::vector< bool > | activeDomain () |
Which inputs are affecting some outputs. | |
std::vector< bool > | activeRange () |
Which outputs are affected by some inputs. | |
ADFun (Functor F, const ScalarVector &x_) | |
Constructor of vector input / vector output function. | |
ADFun (Functor F, Scalar x0_) | |
Constructor of 1 scalar input / 1 scalar output function. More... | |
ADFun (Functor F, Scalar x0_, Scalar x1_) | |
Constructor of 2 scalar input / 1 scalar output function. More... | |
ADFun | atomic () |
Turn this operation sequence into an atomic operator. | |
ADFun | compose (ADFun other) |
Construct function composition. More... | |
Decomp2< ADFun > | decompose (std::vector< Index > nodes) |
Decompose this computational graph. More... | |
Decomp2< ADFun > | decompose (const char *name) |
Decompose this computational graph by operator name. More... | |
void | decompose_refs () |
Optional optimization step before resolving references. More... | |
size_t | DomainInner () const |
Number of inner parameters. | |
size_t | DomainOuter () const |
Number of outer parameters. | |
std::vector< bool > | DomainOuterMask () |
Helper: Boolean mask of outer parameters. | |
std::vector< Scalar > | DomainVec () |
Get most recent input parameter vector from the tape. | |
Position | DomainVecSet (const InplaceVector &x) |
Set the input parameter vector on the tape. | |
void | eliminate () |
Dead operator elimination. | |
Position | find_pos (Index inv) |
Helper to find the tape position of an independent variable. | |
void | force_update () |
Next forward pass must traverse the full graph. | |
Vector | forward (const Vector &x) |
Forward sweep any vector class. | |
std::vector< bool > | get_keep_var (std::vector< bool > keep_x, std::vector< bool > keep_y) |
Get necessary variables to keep for given input/output selection. | |
void | inactivate (std::vector< Index > nodes) |
Substitute selected operators by void operators. More... | |
bool | inner_outer_in_use () |
Helper: Does tape have inner/outer information ? | |
bool | inv_index_is_consecutive () |
Are the independent variable indices consecutive? More... | |
ADFun | JacFun (std::vector< bool > keep_x=std::vector< bool >(0), std::vector< bool > keep_y=std::vector< bool >(0)) |
Get Jacobian function object. More... | |
std::vector< Scalar > | Jacobian (const std::vector< Scalar > &x) |
Evaluate the Jacobian matrix. More... | |
std::vector< Scalar > | Jacobian (const std::vector< Scalar > &x, std::vector< bool > keep_x, std::vector< bool > keep_y) |
Evaluate the Jacobian matrix subset More... | |
std::vector< Scalar > | Jacobian (const std::vector< Scalar > &x, const std::vector< Scalar > &w) |
Evaluate the Jacobian matrix multiplied by a vector. More... | |
ADFun | marginal_gk (const std::vector< Index > &random, gk_config cfg=gk_config()) |
Integrate as many univariate variables as possible. More... | |
ADFun | marginal_sr (const std::vector< Index > &random, std::vector< sr_grid > grid, const std::vector< Index > &random2grid, bool perm=true) |
Integrate using sequential reduction. | |
ADFun | marginal_sr (const std::vector< Index > &random, sr_grid grid=sr_grid()) |
Integrate using sequential reduction. | |
std::vector< Scalar > | operator() (const std::vector< Scalar > &x) |
Evaluate function for scalar vector input. | |
std::vector< ad_aug > | operator() (const std::vector< ad_aug > &x_) const |
Evaluate function for ad vector input. More... | |
ad_aug | operator() (ad_aug x0) |
Evaluate function scalar version. More... | |
ad_aug | operator() (ad_aug x0, ad_aug x1) |
Evaluate function scalar version. More... | |
void | optimize () |
Tape optimizer. More... | |
std::vector< ADFun > | parallel_accumulate (size_t num_threads) |
Parallel split this operation sequence Split function f:R^n->R by its accumulation tree. Then parallelize and accumulate each parallel component. Return a list of functions f[i]:R^n->R such that f=sum_i f[i] . | |
ADFun | parallelize (size_t num_threads) |
Parallelize this operation sequence. More... | |
void | print (print_config cfg=print_config()) |
Print AD workspace. | |
IndirectAccessor< Scalar > | RangeVec () |
Get most recent result vector from the tape. | |
void | reorder (std::vector< Index > last) |
Reorder computational graph to allow quick updates of selected inputs. More... | |
void | replay () |
Replay this operation sequence to a new sequence. More... | |
std::vector< ad_aug > | resolve_refs () |
Resolve references of this ADFun object. More... | |
Vector | reverse (const Vector &w) |
Reverse sweep any vector class. | |
void | set_inner_outer (ADFun &ans, const std::vector< bool > &outer_mask) |
Helper: Pass on inner/outer information to a new tape. Some parameters are marked as 'outer parameters'. All other prameters are 'inner'. This function passes on inner/outer information to a new tape assuming that the new tape preserves parameter ordering but may increase or reduce the parameter list. | |
void | set_inv_positions () |
Cache tape positions of independent variables. More... | |
void | set_tail (const std::vector< Index > &random) |
Set start position needed to get selected independent variable derivatives. | |
Sparse< ADFun > | SpJacFun (std::vector< bool > keep_x=std::vector< bool >(0), std::vector< bool > keep_y=std::vector< bool >(0), SpJacFun_config config=SpJacFun_config()) |
Sparse Jacobian function generator. More... | |
void | SwapInner () |
Temporarily regard this object as function of inner parameters. More... | |
void | SwapOuter () |
Temporarily regard this object as function of outer parameters. More... | |
void | unset_tail () |
Inactivate tail sweep to get derivatives wrt all independent variables. | |
ADFun | WgtJacFun (std::vector< bool > keep_x=std::vector< bool >(0), std::vector< bool > keep_y=std::vector< bool >(0)) |
Get weighted Jacobian function object. More... | |
Additional Inherited Members | |
Public Attributes inherited from TMBad::ADFun<> | |
std::vector< Position > | inv_pos |
Vector of positions by independent variables. More... | |
Position | tail_start |
Mark the tail of the operation sequence A 'tail sweep' is on the subsequence tail_start:end . Only used by teh reverse sweep. | |
Methods specific for a dense hessian.
Definition at line 182 of file newton.hpp.
|
inline |
llt_factorize
has been performed for the same H Definition at line 234 of file newton.hpp.