Lines Matching defs:degree
103 void computePade(int degree, const MatrixType& IminusT, ResultType& res) const;
162 void MatrixPowerAtomic<MatrixType>::computePade(int degree, const MatrixType& IminusT, ResultType& res) const
164 int i = 2*degree;
165 res = (m_p-degree) / (2*i-2) * IminusT;
206 int degree, degree2, numberOfSquareRoots = 0;
216 degree = getPadeDegree(normIminusT);
218 if (degree - degree2 <= 1 || hasExtraSquareRoot)
226 computePade(degree, IminusT, res);
238 const float maxNormForPade[] = { 2.8064004e-1f /* degree = 3 */ , 4.3386528e-1f };
239 int degree = 3;
240 for (; degree <= 4; ++degree)
241 if (normIminusT <= maxNormForPade[degree - 3])
243 return degree;
249 const double maxNormForPade[] = { 1.884160592658218e-2 /* degree = 3 */ , 6.038881904059573e-2, 1.239917516308172e-1,
251 int degree = 3;
252 for (; degree <= 7; ++degree)
253 if (normIminusT <= maxNormForPade[degree - 3])
255 return degree;
263 const double maxNormForPade[] = { 1.884160592658218e-2L /* degree = 3 */ , 6.038881904059573e-2L, 1.239917516308172e-1L,
267 const long double maxNormForPade[] = { 6.3854693117491799460e-3L /* degree = 3 */ , 2.6394893435456973676e-2L,
271 const double maxNormForPade[] = { 1.0007161601787493236741409687186e-4L /* degree = 3 */ ,
277 const double maxNormForPade[] = { 5.524506147036624377378713555116378e-5L /* degree = 3 */ ,
283 int degree = 3;
284 for (; degree <= maxPadeDegree; ++degree)
285 if (normIminusT <= maxNormForPade[degree - 3])
287 return degree;