Lines Matching refs:degree
58 void computePade(MatrixType& result, const MatrixType& T, int degree);
142 int degree;
153 degree = getPadeDegree(normTminusI);
155 if ((degree - degree2 <= 1) || (numberOfExtraSquareRoots == 1))
165 computePade(result, T, degree);
169 /* \brief Get suitable degree for Pade approximation. (specialized for RealScalar = float) */
173 const float maxNormForPade[] = { 2.5111573934555054e-1 /* degree = 3 */ , 4.0535837411880493e-1,
175 for (int degree = 3; degree <= maxPadeDegree; ++degree)
176 if (normTminusI <= maxNormForPade[degree - minPadeDegree])
177 return degree;
181 /* \brief Get suitable degree for Pade approximation. (specialized for RealScalar = double) */
185 const double maxNormForPade[] = { 1.6206284795015624e-2 /* degree = 3 */ , 5.3873532631381171e-2,
187 for (int degree = 3; degree <= maxPadeDegree; ++degree)
188 if (normTminusI <= maxNormForPade[degree - minPadeDegree])
189 return degree;
193 /* \brief Get suitable degree for Pade approximation. (specialized for RealScalar = long double) */
198 const double maxNormForPade[] = { 1.6206284795015624e-2 /* degree = 3 */ , 5.3873532631381171e-2,
201 const double maxNormForPade[] = { 5.48256690357782863103e-3 /* degree = 3 */, 2.34559162387971167321e-2,
205 const double maxNormForPade[] = { 8.58970550342939562202529664318890e-5 /* degree = 3 */,
211 const double maxNormForPade[] = { 4.7419931187193005048501568167858103e-5 /* degree = 3 */,
217 for (int degree = 3; degree <= maxPadeDegree; ++degree)
218 if (normTminusI <= maxNormForPade[degree - minPadeDegree])
219 return degree;
225 void MatrixLogarithmAtomic<MatrixType>::computePade(MatrixType& result, const MatrixType& T, int degree)
227 switch (degree) {
244 const int degree = 3;
249 assert(degree <= maxPadeDegree);
252 for (int k = 0; k < degree; ++k)
260 const int degree = 4;
265 assert(degree <= maxPadeDegree);
268 for (int k = 0; k < degree; ++k)
276 const int degree = 5;
283 assert(degree <= maxPadeDegree);
286 for (int k = 0; k < degree; ++k)
294 const int degree = 6;
301 assert(degree <= maxPadeDegree);
304 for (int k = 0; k < degree; ++k)
312 const int degree = 7;
321 assert(degree <= maxPadeDegree);
324 for (int k = 0; k < degree; ++k)
332 const int degree = 8;
341 assert(degree <= maxPadeDegree);
344 for (int k = 0; k < degree; ++k)
352 const int degree = 9;
363 assert(degree <= maxPadeDegree);
366 for (int k = 0; k < degree; ++k)
374 const int degree = 10;
385 assert(degree <= maxPadeDegree);
388 for (int k = 0; k < degree; ++k)
396 const int degree = 11;
409 assert(degree <= maxPadeDegree);
412 for (int k = 0; k < degree; ++k)