Implements a polynomial of degree n.
The functor class with type "polynomial3"
returns
\[
f(x) = a_n x^n + \dots + a_1 x + a_0
\]
with coefficients provided in the order \( [a_n, \dots, a_1, a_0] \) (consistent with MATLAB and NumPy conventions). Note that Cantera 3.1 reversed the coefficient order with respect to its earlier definition. A deprecation cycle is skipped as the functor class is not expected to be widely used; the transitional name Poly13 ensures that changed behavior does not go unnoticed. The class name will revert to Poly1 after Cantera 3.1.
- Since
- Changed in Cantera 3.1.
- Todo:
- Rename to Poly1 after Cantera 3.1
Definition at line 724 of file Func1.h.
|
| Poly13 (size_t n, const double *c) |
|
| Poly13 (const vector< double > ¶ms) |
| Constructor uses \( n + 1 \) parameters in the following order: \( [a_n, \dots, a_1, a_0] \).
|
|
string | type () const override |
| Returns a string describing the type of the function.
|
|
bool | isIdentical (shared_ptr< Func1 > other) const override |
| Routine to determine if two functions are the same.
|
|
double | eval (double t) const override |
| Evaluate the function.
|
|
string | write (const string &arg) const override |
| Write LaTeX string describing function.
|
|
| Func1 (shared_ptr< Func1 > f1, shared_ptr< Func1 > f2) |
|
| Func1 (shared_ptr< Func1 > f1, double A) |
|
Func1 & | operator= (const Func1 &right)=delete |
|
virtual string | type () const |
| Returns a string describing the type of the function.
|
|
string | typeName () const |
| Returns a string with the class name of the functor.
|
|
double | operator() (double t) const |
| Calls method eval to evaluate the function.
|
|
virtual double | eval (double t) const |
| Evaluate the function.
|
|
virtual shared_ptr< Func1 > | derivative () const |
| Creates a derivative to the current function.
|
|
virtual bool | isIdentical (shared_ptr< Func1 > other) const |
| Routine to determine if two functions are the same.
|
|
virtual bool | isIdentical (Func1 &other) const |
| Routine to determine if two functions are the same.
|
|
virtual double | isProportional (TimesConstant1 &other) |
|
virtual double | isProportional (Func1 &other) |
|
virtual string | write (const string &arg) const |
| Write LaTeX string describing function.
|
|
double | c () const |
| Accessor function for the stored constant m_c.
|
|
shared_ptr< Func1 > | func1_shared () const |
| Accessor function for m_f1.
|
|
shared_ptr< Func1 > | func2_shared () const |
| Accessor function for m_f2.
|
|
virtual int | order () const |
| Return the order of the function, if it makes sense.
|
|
bool isIdentical |
( |
shared_ptr< Func1 > |
other | ) |
const |
|
inlineoverridevirtual |
Routine to determine if two functions are the same.
Two functions are the same if they are the same function. For example, either ID and stored constant are the same, or the m_f1 and m_f2 are identical if they are non-null. Functors of the base class Func1 are by default not identical, as they are used by callback functions that cannot be differentiated. In instances where exact comparisons are not implemented, false
is returned to prevent false positives that could lead to incorrect simplifications of compound functors.
Reimplemented from Func1.
Definition at line 740 of file Func1.h.