TMB Documentation  v1.9.11
Public Member Functions | List of all members
newton::jacobian_dense_t< Factorization > Struct Template Reference

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< ADFundecompose (std::vector< Index > nodes)
 Decompose this computational graph. More...
 
Decomp2< ADFundecompose (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_augoperator() (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< ADFunparallel_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_augresolve_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< ADFunSpJacFun (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.
 

Detailed Description

template<class Factorization = Eigen::LLT<Eigen::Matrix<double, -1, -1> >>
struct newton::jacobian_dense_t< Factorization >

Methods specific for a dense hessian.

Definition at line 182 of file newton.hpp.

Member Function Documentation

§ llt_solve()

template<class Factorization = Eigen::LLT<Eigen::Matrix<double, -1, -1> >>
matrix<TMBad::Scalar> newton::jacobian_dense_t< Factorization >::llt_solve ( const matrix< TMBad::Scalar > &  H,
const matrix< TMBad::Scalar > &  x 
)
inline
Note
Optional: This method allows the assumption that a prior call to llt_factorize has been performed for the same H

Definition at line 234 of file newton.hpp.


The documentation for this struct was generated from the following file:
License: GPL v2