Polynomial

class Polynomial

Polynomial function of decision variables.

A polynomial function of arbitrary degree with terms of the form \(c \cdot x_1^{a_1} \cdot x_2^{a_2} \cdots\) where \(x_i\) are decision variables and \(c\) is a coefficient.

Examples

Create via DecisionVariable operations:

>>> x = DecisionVariable.integer(1)
>>> y = DecisionVariable.integer(2)
>>> p = x * x * y + x * y * y + 1  # Cubic polynomial

Note that ==, <=, >= create Constraint objects:

>>> constraint = p == 0  # Returns Constraint
__add__(rhs: int | float | DecisionVariable | Parameter | Linear | Quadratic | Polynomial) Polynomial
__copy__() Polynomial
__deepcopy__(_memo: Any) Polynomial
__eq__(other: ToFunction) Constraint

Create an equality constraint: self == other → Constraint with EqualToZero

__ge__(other: ToFunction) Constraint

Create a greater-than-or-equal constraint: self >= other → Constraint

__iadd__(rhs: Polynomial) Polynomial
__le__(other: ToFunction) Constraint

Create a less-than-or-equal constraint: self <= other → Constraint

__mul__(rhs: int | float | DecisionVariable | Parameter | Linear | Quadratic | Polynomial) Polynomial
__neg__() Polynomial

Negation operator

__new__(terms: Mapping[Sequence[int], float]) Polynomial
__radd__(lhs: int | float | DecisionVariable | Parameter | Linear | Quadratic | Polynomial) Polynomial
__repr__() str
__rmul__(lhs: int | float | DecisionVariable | Parameter | Linear | Quadratic | Polynomial) Polynomial
__rsub__(lhs: int | float | DecisionVariable | Parameter | Linear | Quadratic | Polynomial) Polynomial
__sub__(rhs: int | float | DecisionVariable | Parameter | Linear | Quadratic | Polynomial) Polynomial
add_assign(rhs: Polynomial) None
add_linear(linear: Linear) Polynomial
add_quadratic(quadratic: Quadratic) Polynomial
add_scalar(scalar: float) Polynomial
almost_equal(other: Polynomial, atol: float = 1e-06) bool
evaluate(state: ToState, atol: Optional[float] = None) float
from_bytes(bytes: bytes) Polynomial
mul_linear(linear: Linear) Polynomial
mul_quadratic(quadratic: Quadratic) Polynomial
mul_scalar(scalar: float) Polynomial
partial_evaluate(state: ToState, atol: Optional[float] = None) Polynomial
random(rng: Rng, num_terms: int = 5, max_degree: int = 3, max_id: int = 10) Polynomial
terms() dict
to_bytes() bytes