Lines Matching refs:MatrixType
25 * \tparam MatrixType type of the argument of the exponential,
28 template <typename MatrixType>
40 MatrixExponential(const MatrixType &M);
62 void pade3(const MatrixType &A);
71 void pade5(const MatrixType &A);
80 void pade7(const MatrixType &A);
89 void pade9(const MatrixType &A);
98 void pade13(const MatrixType &A);
109 void pade17(const MatrixType &A);
138 typedef typename internal::traits<MatrixType>::Scalar Scalar;
143 typename internal::nested<MatrixType>::type m_M;
146 MatrixType m_U;
149 MatrixType m_V;
152 MatrixType m_tmp1;
155 MatrixType m_tmp2;
158 MatrixType m_Id;
167 template <typename MatrixType>
168 MatrixExponential<MatrixType>::MatrixExponential(const MatrixType &M) :
174 m_Id(MatrixType::Identity(M.rows(), M.cols())),
181 template <typename MatrixType>
183 void MatrixExponential<MatrixType>::compute(ResultType &result)
199 template <typename MatrixType>
200 EIGEN_STRONG_INLINE void MatrixExponential<MatrixType>::pade3(const MatrixType &A)
209 template <typename MatrixType>
210 EIGEN_STRONG_INLINE void MatrixExponential<MatrixType>::pade5(const MatrixType &A)
213 MatrixType A2 = A * A;
220 template <typename MatrixType>
221 EIGEN_STRONG_INLINE void MatrixExponential<MatrixType>::pade7(const MatrixType &A)
224 MatrixType A2 = A * A;
225 MatrixType A4 = A2 * A2;
232 template <typename MatrixType>
233 EIGEN_STRONG_INLINE void MatrixExponential<MatrixType>::pade9(const MatrixType &A)
237 MatrixType A2 = A * A;
238 MatrixType A4 = A2 * A2;
239 MatrixType A6 = A4 * A2;
246 template <typename MatrixType>
247 EIGEN_STRONG_INLINE void MatrixExponential<MatrixType>::pade13(const MatrixType &A)
252 MatrixType A2 = A * A;
253 MatrixType A4 = A2 * A2;
265 template <typename MatrixType>
266 EIGEN_STRONG_INLINE void MatrixExponential<MatrixType>::pade17(const MatrixType &A)
274 MatrixType A2 = A * A;
275 MatrixType A4 = A2 * A2;
276 MatrixType A6 = A4 * A2;
288 template <typename MatrixType>
289 void MatrixExponential<MatrixType>::computeUV(float)
301 MatrixType A = m_M / pow(Scalar(2), m_squarings);
306 template <typename MatrixType>
307 void MatrixExponential<MatrixType>::computeUV(double)
323 MatrixType A = m_M / pow(Scalar(2), m_squarings);
328 template <typename MatrixType>
329 void MatrixExponential<MatrixType>::computeUV(long double)
348 MatrixType A = m_M / pow(Scalar(2), m_squarings);
365 MatrixType A = m_M / pow(Scalar(2), m_squarings);
382 MatrixType A = m_M / pow(Scalar(2), m_squarings);