Stan Math Library  2.20.0
reverse mode automatic differentiation
Public Member Functions | Public Attributes | List of all members
stan::math::internal::mdivide_left_ldlt_vd_vari< R1, C1, R2, C2 > Class Template Reference

The vari for mdivide_left_ldlt(A, b) which handles the chain() call for all elements of the result. More...

#include <mdivide_left_ldlt.hpp>

Inheritance diagram for stan::math::internal::mdivide_left_ldlt_vd_vari< R1, C1, R2, C2 >:
stan::math::vari

Public Member Functions

 mdivide_left_ldlt_vd_vari (const LDLT_factor< var, R1, C1 > &A, const Eigen::Matrix< double, R2, C2 > &B)
 
virtual void chain ()
 Apply the chain rule to this variable based on the variables on which it depends. More...
 
- Public Member Functions inherited from stan::math::vari
 vari (double x)
 Construct a variable implementation from a value. More...
 
 vari (double x, bool stacked)
 
virtual ~vari ()
 Throw an illegal argument exception. More...
 
void init_dependent ()
 Initialize the adjoint for this (dependent) variable to 1. More...
 
void set_zero_adjoint ()
 Set the adjoint value of this variable to 0. More...
 

Public Attributes

int M_
 
int N_
 
vari ** variRefC_
 
mdivide_left_ldlt_alloc< R1, C1, R2, C2 > * alloc_
 
const LDLT_alloc< R1, C1 > * alloc_ldlt_
 
- Public Attributes inherited from stan::math::vari
const double val_
 The value of this variable. More...
 
double adj_
 The adjoint of this variable, which is the partial derivative of this variable with respect to the root variable. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from stan::math::vari
static void * operator new (size_t nbytes)
 Allocate memory from the underlying memory pool. More...
 
static void operator delete (void *)
 Delete a pointer from the underlying memory pool. More...
 

Detailed Description

template<int R1, int C1, int R2, int C2>
class stan::math::internal::mdivide_left_ldlt_vd_vari< R1, C1, R2, C2 >

The vari for mdivide_left_ldlt(A, b) which handles the chain() call for all elements of the result.

This vari follows the pattern used in the other matrix operations where there is one "master" vari whose value is never used and a large number of "slave" varis whose chain() functions are never called because their adjoints are set by the "mater" vari.

This class handles the var/double case.

Definition at line 189 of file mdivide_left_ldlt.hpp.

Constructor & Destructor Documentation

◆ mdivide_left_ldlt_vd_vari()

template<int R1, int C1, int R2, int C2>
stan::math::internal::mdivide_left_ldlt_vd_vari< R1, C1, R2, C2 >::mdivide_left_ldlt_vd_vari ( const LDLT_factor< var, R1, C1 > &  A,
const Eigen::Matrix< double, R2, C2 > &  B 
)
inline

Definition at line 197 of file mdivide_left_ldlt.hpp.

Member Function Documentation

◆ chain()

template<int R1, int C1, int R2, int C2>
virtual void stan::math::internal::mdivide_left_ldlt_vd_vari< R1, C1, R2, C2 >::chain ( )
inlinevirtual

Apply the chain rule to this variable based on the variables on which it depends.

The base implementation in this class is a no-op.

Reimplemented from stan::math::vari.

Definition at line 219 of file mdivide_left_ldlt.hpp.

Member Data Documentation

◆ alloc_

template<int R1, int C1, int R2, int C2>
mdivide_left_ldlt_alloc<R1, C1, R2, C2>* stan::math::internal::mdivide_left_ldlt_vd_vari< R1, C1, R2, C2 >::alloc_

Definition at line 194 of file mdivide_left_ldlt.hpp.

◆ alloc_ldlt_

template<int R1, int C1, int R2, int C2>
const LDLT_alloc<R1, C1>* stan::math::internal::mdivide_left_ldlt_vd_vari< R1, C1, R2, C2 >::alloc_ldlt_

Definition at line 195 of file mdivide_left_ldlt.hpp.

◆ M_

template<int R1, int C1, int R2, int C2>
int stan::math::internal::mdivide_left_ldlt_vd_vari< R1, C1, R2, C2 >::M_

Definition at line 191 of file mdivide_left_ldlt.hpp.

◆ N_

template<int R1, int C1, int R2, int C2>
int stan::math::internal::mdivide_left_ldlt_vd_vari< R1, C1, R2, C2 >::N_

Definition at line 192 of file mdivide_left_ldlt.hpp.

◆ variRefC_

template<int R1, int C1, int R2, int C2>
vari** stan::math::internal::mdivide_left_ldlt_vd_vari< R1, C1, R2, C2 >::variRefC_

Definition at line 193 of file mdivide_left_ldlt.hpp.


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

     [ Stan Home Page ] © 2011–2018, Stan Development Team.