12 #include "unsupported/Eigen/Polynomials"
18 class Poly2DFracResidual;
52 bool checkCoefficients(
const Eigen::MatrixXd& coefficients,
const unsigned int rows,
const unsigned int columns);
67 Eigen::MatrixXd
integrateCoeffs(
const Eigen::MatrixXd& coefficients,
const int& axis,
const int& times);
76 Eigen::MatrixXd
deriveCoeffs(
const Eigen::MatrixXd& coefficients,
const int& axis = -1,
const int& times = 1);
92 double evaluate(
const Eigen::MatrixXd& coefficients,
const double& x_in);
97 double evaluate(
const Eigen::MatrixXd& coefficients,
const double& x_in,
const double& y_in);
103 double derivative(
const Eigen::MatrixXd& coefficients,
const double& x_in,
const double& y_in,
const int& axis);
109 double integral(
const Eigen::MatrixXd& coefficients,
const double& x_in,
const double& y_in,
const int& axis);
131 Eigen::VectorXd
solve(
const Eigen::MatrixXd& coefficients,
const double& in,
const double& z_in,
const int& axis);
140 double solve_limits(
const Eigen::MatrixXd& coefficients,
const double& in,
const double& z_in,
const double& min,
const double& max,
149 double solve_guess(
const Eigen::MatrixXd& coefficients,
const double& in,
const double& z_in,
const double& guess,
const int& axis);
164 double baseHorner(
const std::vector<double>& coefficients,
double x);
204 double call(
double target);
205 double deriv(
double target);
254 Eigen::MatrixXd
deriveCoeffs(
const Eigen::MatrixXd& coefficients,
const int& axis,
const int& times,
const int& firstExponent);
272 double evaluate(
const Eigen::MatrixXd& coefficients,
const double& x_in,
const int& firstExponent = 0,
const double& x_base = 0.0);
281 double evaluate(
const Eigen::MatrixXd& coefficients,
const double& x_in,
const double& y_in,
const int& x_exp,
const int& y_exp,
282 const double& x_base = 0.0,
const double& y_base = 0.0);
292 double derivative(
const Eigen::MatrixXd& coefficients,
const double& x_in,
const double& y_in,
const int& axis,
const int& x_exp,
293 const int& y_exp,
const double& x_base = 0.0,
const double& y_base = 0.0);
304 double integral(
const Eigen::MatrixXd& coefficients,
const double& x_in,
const double& y_in,
const int& axis,
const int& x_exp,
const int& y_exp,
305 const double& x_base = 0.0,
const double& y_base = 0.0,
const double& ax_val = 0.0);
317 Eigen::VectorXd
solve(
const Eigen::MatrixXd& coefficients,
const double& in,
const double& z_in,
const int& axis,
const int& x_exp,
318 const int& y_exp,
const double& x_base = 0.0,
const double& y_base = 0.0);
331 double solve_limits(
const Eigen::MatrixXd& coefficients,
const double& in,
const double& z_in,
const double& min,
const double& max,
332 const int& axis,
const int& x_exp,
const int& y_exp,
const double& x_base = 0.0,
const double& y_base = 0.0);
344 double solve_guess(
const Eigen::MatrixXd& coefficients,
const double& in,
const double& z_in,
const double& guess,
const int& axis,
345 const int& x_exp,
const int& y_exp,
const double& x_base = 0.0,
const double& y_base = 0.0);
359 double solve_limitsInt(
const Eigen::MatrixXd& coefficients,
const double& in,
const double& z_in,
const double& min,
const double& max,
360 const int& axis,
const int& x_exp,
const int& y_exp,
const double& x_base = 0.0,
const double& y_base = 0.0,
361 const int& int_axis = 0);
374 double solve_guessInt(
const Eigen::MatrixXd& coefficients,
const double& in,
const double& z_in,
const double& guess,
const int& axis,
375 const int& x_exp,
const int& y_exp,
const double& x_base = 0.0,
const double& y_base = 0.0,
const int& int_axis = 0);
383 double binom(
const int& nValue,
const int& nValue2);
395 double fracIntCentral(
const Eigen::MatrixXd& coefficients,
const double& x_in,
const double& x_base);
423 double call(
double target);
424 double deriv(
double target);
449 double call(
double target);
450 double deriv(
double target);