Stan  2.5.0
probability, sampling & optimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mdivide_left_ldlt.hpp
Go to the documentation of this file.
1 #ifndef STAN__AGRAD__FWD__MATRIX__MDIVIDE_LEFT_LDLT_HPP
2 #define STAN__AGRAD__FWD__MATRIX__MDIVIDE_LEFT_LDLT_HPP
3 
4 #include <boost/math/tools/promotion.hpp>
11 
12 namespace stan {
13  namespace agrad {
14 
23  template <int R1,int C1,int R2,int C2, typename T2>
24  inline Eigen::Matrix<fvar<T2>,R1,C2>
26  const Eigen::Matrix<fvar<T2>,R2,C2> &b) {
27  stan::math::check_multiplicable("mdivide_left_ldlt(%1%)",A,"A",
28  b,"b",(double*)0);
29 
30  Eigen::Matrix<T2,R2,C2> b_val(b.rows(), b.cols());
31  Eigen::Matrix<T2,R2,C2> b_der(b.rows(), b.cols());
32  for (int i = 0; i < b.rows(); i++)
33  for (int j = 0; j < b.cols(); j++) {
34  b_val(i,j) = b(i,j).val_;
35  b_der(i,j) = b(i,j).d_;
36  }
37 
38  return to_fvar(mdivide_left_ldlt(A, b_val),
39  mdivide_left_ldlt(A, b_der));
40  }
41  }
42 }
43 #endif
fvar< T > to_fvar(const T &x)
Definition: to_fvar.hpp:17
bool check_multiplicable(const char *function, const T1 &y1, const char *name1, const T2 &y2, const char *name2, T_result *result)
Eigen::Matrix< fvar< T2 >, R1, C2 > mdivide_left_ldlt(const stan::math::LDLT_factor< double, R1, C1 > &A, const Eigen::Matrix< fvar< T2 >, R2, C2 > &b)
Returns the solution of the system Ax=b given an LDLT_factor of A.

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