10 #ifndef EIGEN_POLYNOMIAL_UTILS_H
11 #define EIGEN_POLYNOMIAL_UTILS_H
29 template <
typename Polynomials,
typename T>
31 T val = poly[poly.size() - 1];
46 template <
typename Polynomials,
typename T>
73 template <
typename Polynomial>
80 const Scalar inv_leading_coeff =
Scalar(1) / poly[poly.size() - 1];
84 cb +=
abs(poly[
i] * inv_leading_coeff);
95 template <
typename Polynomial>
102 while (
i < poly.size() - 1 &&
Scalar(0) == poly(
i)) {
105 if (poly.size() - 1 ==
i) {
112 cb +=
abs(poly[
j] * inv_min_coeff);
127 template <
typename RootVector,
typename Polynomial>
131 poly.setZero(rv.size() + 1);
136 poly[
j] = poly[
j - 1] - rv[
i] * poly[
j];
138 poly[0] = -rv[
i] * poly[0];
AnnoyingScalar abs(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:135
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Eigen::Triplet< double > T
Definition: EigenUnitTest.cpp:11
#define eigen_assert(x)
Definition: Macros.h:910
@ Polynomial
Definition: StatisticsPoint.h:11
SCALAR Scalar
Definition: bench_gemm.cpp:45
boost::multiprecision::number< boost::multiprecision::cpp_dec_float< 100 >, boost::multiprecision::et_on > Real
Definition: boostmultiprec.cpp:77
EIGEN_DEVICE_FUNC internal::pow_impl< ScalarX, ScalarY >::result_type pow(const ScalarX &x, const ScalarY &y)
Definition: MathFunctions.h:1161
EIGEN_DEVICE_FUNC bool abs2(bool x)
Definition: MathFunctions.h:1102
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
NumTraits< typename Polynomial::Scalar >::Real cauchy_max_bound(const Polynomial &poly)
Definition: PolynomialUtils.h:74
EIGEN_DEFAULT_DENSE_INDEX_TYPE DenseIndex
Definition: Meta.h:75
T poly_eval_horner(const Polynomials &poly, const T &x)
Definition: PolynomialUtils.h:30
NumTraits< typename Polynomial::Scalar >::Real cauchy_min_bound(const Polynomial &poly)
Definition: PolynomialUtils.h:96
T poly_eval(const Polynomials &poly, const T &x)
Definition: PolynomialUtils.h:47
void roots_to_monicPolynomial(const RootVector &rv, Polynomial &poly)
Definition: PolynomialUtils.h:128
val
Definition: calibrate.py:119
list x
Definition: plotDoE.py:28
T Real
Definition: NumTraits.h:183
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:217
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2