35 xDerivatives_m(0), sDerivatives_m(0){
36 std::vector<int> temp;
43 const std::size_t &sDerivatives):
44 xDerivatives_m(xDerivatives), sDerivatives_m(sDerivatives) {
53 polynomials_m(doperator.polynomials_m),
54 xDerivatives_m(doperator.xDerivatives_m),
55 sDerivatives_m(doperator.sDerivatives_m) {
74 for (std::size_t i = oldxDerivatives + 1; i <=
xDerivatives_m; i++) {
120 const std::size_t &x,
121 const std::size_t &s) {
135 if ((i != 0 || j != 0) &&
140 std::cout <<
")" <<
"(d/dx)^" << i <<
"(d/ds)^" << j;
162 const std::size_t &s)
const {
180 const std::size_t &xDerivative,
181 const std::size_t &sDerivative)
const {
185 return polynomials_m[xDerivative][sDerivative].evaluatePolynomial(x);
Inform & endl(Inform &inf)
DifferentialOperator & operator=(const DifferentialOperator &doperator)
std::size_t sDerivatives_m
void printOperator() const
bool isPolynomialZero(const std::size_t &x, const std::size_t &s) const
double evaluatePolynomial(const double &x, const std::size_t &xDerivative, const std::size_t &sDerivative) const
void truncate(const std::size_t &truncateOrder)
void multiplyPolynomial(const Polynomial &poly)
void resizeX(const std::size_t &xDerivatives)
std::vector< std::vector< Polynomial > > polynomials_m
void doubleDifferentiateS()
void setPolynomial(const std::vector< int > &poly, const std::size_t &x, const std::size_t &s)
void addOperator(const DifferentialOperator &doperator)
std::size_t xDerivatives_m
void resizeS(const std::size_t &sDerivatives)