8 std::vector<double> coefficients;
9 void removeLeadingZeros();
16 double getCoeff(
int i)
const;
17 void setCoeff(
int i,
double val);
18 int getDegree()
const;
24 std::pair<Polynomial, Polynomial> divide(
const Polynomial& divisor)
const;
30 std::vector<std::complex<double>> roots()
const;
33 double evaluate(
double x)
const;
34 std::complex<double> evaluate(std::complex<double> x)
const;
37 std::vector<Polynomial> factor()
const;
40 std::string toString()
const;
43 static Polynomial lagrangeInterpolation(
const std::vector<double>& x,
const std::vector<double>& y);
44 static Polynomial newtonInterpolation(
const std::vector<double>& x,
const std::vector<double>& y);