Eigen Namespace Reference

internal

## Classes

struct  matrix_exp_computeUV

struct  matrix_exp_computeUV< MatrixType >

struct  MatrixExponentialScalingOp

struct  NumTraits< stan::math::fvar< T > >

struct  NumTraits< stan::math::var >

## Typedefs

using ArrayXstan = Eigen::Array< stan::math::var, Eigen::Dynamic, 1 >

template<class T >
using ArrayX = Eigen::Array< T, Eigen::Dynamic, 1 >

using VectorXstan = Eigen::Matrix< stan::math::var, Eigen::Dynamic, 1 >

## Functions

template<typename MatrixType >
void matrix_exp_pade3 (const MatrixType &A, MatrixType &U, MatrixType &V)
Compute the (5,5)-Padé approximant to the exponential. More...

template<typename MatrixType >
void matrix_exp_pade5 (const MatrixType &A, MatrixType &U, MatrixType &V)
Compute the (5,5)-Padé approximant to the exponential. More...

template<typename MatrixType >
void matrix_exp_pade7 (const MatrixType &A, MatrixType &U, MatrixType &V)
Compute the (7,7)-Padé approximant to the exponential. More...

template<typename MatrixType >
void matrix_exp_pade9 (const MatrixType &A, MatrixType &U, MatrixType &V)
Compute the (9,9)-Padé approximant to the exponential. More...

template<typename MatrixType >
void matrix_exp_pade13 (const MatrixType &A, MatrixType &U, MatrixType &V)
Compute the (13,13)-Padé approximant to the exponential. More...

## Typedef Documentation

template<class T >
 using Eigen::ArrayX = typedef Eigen::Array

Definition at line 12 of file OscCalcAnalytic.h.

 typedef Eigen::Array< stan::math::var, Eigen::Dynamic, 1 > Eigen::ArrayXstan

Definition at line 7 of file StanUtils.h.

 using Eigen::VectorXstan = typedef Eigen::Matrix

Definition at line 22 of file Hist.h.

## Function Documentation

template<typename MatrixType >
 void Eigen::matrix_exp_pade13 ( const MatrixType & A, MatrixType & U, MatrixType & V )

Compute the (13,13)-Padé approximant to the exponential.

After exit, is the Padé approximant of around .

Definition at line 140 of file MatrixExponential.h.

References genie::units::A, b, and tmp.

Referenced by Eigen::matrix_exp_computeUV< MatrixType >::run().

141  {
142  using Eigen::internal::traits;
143  typedef typename Eigen::NumTraits<typename traits<MatrixType>::Scalar>::Real RealScalar;
144  const RealScalar b[] = {64764752532480000.L, 32382376266240000.L, 7771770303897600.L,
145  1187353796428800.L, 129060195264000.L, 10559470521600.L, 670442572800.L,
146  33522128640.L, 1323241920.L, 40840800.L, 960960.L, 16380.L, 182.L, 1.L};
147  const MatrixType A2 = A * A;
148  const MatrixType A4 = A2 * A2;
149  const MatrixType A6 = A4 * A2;
150  V = b[13] * A6 + b[11] * A4 + b[9] * A2; // used for temporary storage
151  MatrixType tmp = A6 * V;
152  tmp += b[7] * A6 + b[5] * A4 + b[3] * A2 + b[1] * MatrixType::Identity(A.rows(), A.cols());
153  U.noalias() = A * tmp;
154  tmp = b[12] * A6 + b[10] * A4 + b[8] * A2;
155  V.noalias() = A6 * tmp;
156  V += b[6] * A6 + b[4] * A4 + b[2] * A2 + b[0] * MatrixType::Identity(A.rows(), A.cols());
157  }
Float_t tmp
Definition: plot.C:36
static const double A
Definition: Units.h:82
const hit & b
Definition: hits.cxx:21
template<typename MatrixType >
 void Eigen::matrix_exp_pade3 ( const MatrixType & A, MatrixType & U, MatrixType & V )

Compute the (5,5)-Padé approximant to the exponential.

After exit, is the Padé approximant of around .

Definition at line 64 of file MatrixExponential.h.

References genie::units::A, b, and tmp.

Referenced by Eigen::matrix_exp_computeUV< MatrixType >::run().

65  {
66  using Eigen::internal::traits;
67  typedef typename Eigen::NumTraits<typename traits<MatrixType>::Scalar>::Real RealScalar;
68  const RealScalar b[] = {120.L, 60.L, 12.L, 1.L};
69  const MatrixType A2 = A * A;
70  const MatrixType tmp = b[3] * A2 + b[1] * MatrixType::Identity(A.rows(), A.cols());
71  U.noalias() = A * tmp;
72  V = b[2] * A2 + b[0] * MatrixType::Identity(A.rows(), A.cols());
73  }
Float_t tmp
Definition: plot.C:36
static const double A
Definition: Units.h:82
const hit & b
Definition: hits.cxx:21
template<typename MatrixType >
 void Eigen::matrix_exp_pade5 ( const MatrixType & A, MatrixType & U, MatrixType & V )

Compute the (5,5)-Padé approximant to the exponential.

After exit, is the Padé approximant of around .

Definition at line 81 of file MatrixExponential.h.

References genie::units::A, b, and tmp.

Referenced by Eigen::matrix_exp_computeUV< MatrixType >::run().

82  {
83  typedef typename Eigen::NumTraits<typename Eigen::internal::traits<MatrixType>::Scalar>::Real RealScalar;
84  const RealScalar b[] = {30240.L, 15120.L, 3360.L, 420.L, 30.L, 1.L};
85  const MatrixType A2 = A * A;
86  const MatrixType A4 = A2 * A2;
87  const MatrixType tmp = b[5] * A4 + b[3] * A2 + b[1] * MatrixType::Identity(A.rows(), A.cols());
88  U.noalias() = A * tmp;
89  V = b[4] * A4 + b[2] * A2 + b[0] * MatrixType::Identity(A.rows(), A.cols());
90  }
Float_t tmp
Definition: plot.C:36
static const double A
Definition: Units.h:82
const hit & b
Definition: hits.cxx:21
template<typename MatrixType >
 void Eigen::matrix_exp_pade7 ( const MatrixType & A, MatrixType & U, MatrixType & V )

Compute the (7,7)-Padé approximant to the exponential.

After exit, is the Padé approximant of around .

Definition at line 98 of file MatrixExponential.h.

References genie::units::A, b, and tmp.

Referenced by Eigen::matrix_exp_computeUV< MatrixType >::run().

99  {
100  using Eigen::internal::traits;
101  typedef typename Eigen::NumTraits<typename traits<MatrixType>::Scalar>::Real RealScalar;
102  const RealScalar b[] = {17297280.L, 8648640.L, 1995840.L, 277200.L, 25200.L, 1512.L, 56.L, 1.L};
103  const MatrixType A2 = A * A;
104  const MatrixType A4 = A2 * A2;
105  const MatrixType A6 = A4 * A2;
106  const MatrixType tmp = b[7] * A6 + b[5] * A4 + b[3] * A2
107  + b[1] * MatrixType::Identity(A.rows(), A.cols());
108  U.noalias() = A * tmp;
109  V = b[6] * A6 + b[4] * A4 + b[2] * A2 + b[0] * MatrixType::Identity(A.rows(), A.cols());
110  }
Float_t tmp
Definition: plot.C:36
static const double A
Definition: Units.h:82
const hit & b
Definition: hits.cxx:21
template<typename MatrixType >
 void Eigen::matrix_exp_pade9 ( const MatrixType & A, MatrixType & U, MatrixType & V )

Compute the (9,9)-Padé approximant to the exponential.

After exit, is the Padé approximant of around .

Definition at line 118 of file MatrixExponential.h.

References genie::units::A, b, and tmp.

Referenced by Eigen::matrix_exp_computeUV< MatrixType >::run().

119  {
120  using Eigen::internal::traits;
121  typedef typename Eigen::NumTraits<typename traits<MatrixType>::Scalar>::Real RealScalar;
122  const RealScalar b[] = {17643225600.L, 8821612800.L, 2075673600.L, 302702400.L, 30270240.L,
123  2162160.L, 110880.L, 3960.L, 90.L, 1.L};
124  const MatrixType A2 = A * A;
125  const MatrixType A4 = A2 * A2;
126  const MatrixType A6 = A4 * A2;
127  const MatrixType A8 = A6 * A2;
128  const MatrixType tmp = b[9] * A8 + b[7] * A6 + b[5] * A4 + b[3] * A2
129  + b[1] * MatrixType::Identity(A.rows(), A.cols());
130  U.noalias() = A * tmp;
131  V = b[8] * A8 + b[6] * A6 + b[4] * A4 + b[2] * A2 + b[0] * MatrixType::Identity(A.rows(), A.cols());
132  }
Float_t tmp
Definition: plot.C:36
static const double A
Definition: Units.h:82
const hit & b
Definition: hits.cxx:21