FiniteFieldRationalPolynomial

FiniteFieldRationalPolynomial

FiniteFieldRationalPolynomial()

A Symbolica rational polynomial.

Methods

Name Description
__add__ Add two rational polynomials self and rhs, returning the result.
__copy__ Copy the rational polynomial.
__eq__ Check if two polynomials are equal.
__mul__ Multiply two rational polynomials self and rhs, returning the result.
__ne__ Check if two polynomials are not equal.
__neg__ Negate the rational polynomial.
__new__ Create a new rational polynomial from a numerator and denominator polynomial.
__str__ Print the rational polynomial in a human-readable format.
__sub__ Subtract rational polynomials rhs from self, returning the result.
__truediv__ Divide the rational polynomial self by rhs if possible, returning the result.
apart Compute the partial fraction decomposition in x
derivative Take a derivative in x.
gcd Compute the greatest common divisor (GCD) of two rational polynomials.
get_modulus Get the modulus of the finite field.
get_variables Get the list of variables in the internal ordering of the polynomial.
parse Parse a rational polynomial from a string
to_latex Convert the rational polynomial into a LaTeX string.

__add__

FiniteFieldRationalPolynomial.__add__(rhs: FiniteFieldRationalPolynomial) -> FiniteFieldRationalPolynomial

Add two rational polynomials self and rhs, returning the result.

__copy__

FiniteFieldRationalPolynomial.__copy__() -> FiniteFieldRationalPolynomial

Copy the rational polynomial.

__eq__

FiniteFieldRationalPolynomial.__eq__(rhs: Polynomial | int) -> bool

Check if two polynomials are equal.

__mul__

FiniteFieldRationalPolynomial.__mul__(rhs: FiniteFieldRationalPolynomial) -> FiniteFieldRationalPolynomial

Multiply two rational polynomials self and rhs, returning the result.

__ne__

FiniteFieldRationalPolynomial.__ne__(rhs: Polynomial | int) -> bool

Check if two polynomials are not equal.

__neg__

FiniteFieldRationalPolynomial.__neg__() -> FiniteFieldRationalPolynomial

Negate the rational polynomial.

__new__

FiniteFieldRationalPolynomial.__new__(
    num: FiniteFieldPolynomial,
    den: FiniteFieldPolynomial,
) -> FiniteFieldRationalPolynomial

Create a new rational polynomial from a numerator and denominator polynomial.

__str__

FiniteFieldRationalPolynomial.__str__() -> str

Print the rational polynomial in a human-readable format.

__sub__

FiniteFieldRationalPolynomial.__sub__(rhs: FiniteFieldRationalPolynomial) -> FiniteFieldRationalPolynomial

Subtract rational polynomials rhs from self, returning the result.

__truediv__

FiniteFieldRationalPolynomial.__truediv__(rhs: FiniteFieldRationalPolynomial) -> FiniteFieldRationalPolynomial

Divide the rational polynomial self by rhs if possible, returning the result.

apart

FiniteFieldRationalPolynomial.apart(x: Optional[Expression] = None) -> List[FiniteFieldRationalPolynomial]

Compute the partial fraction decomposition in x.

If None is passed, the expression will be decomposed in all variables which involves a potentially expensive Groebner basis computation.

Examples

from symbolica import *
x = S('x')
p = E('1/((x+y)*(x^2+x*y+1)(x+1))').to_rational_polynomial()
for pp in p.apart(x):
    print(pp)

derivative

FiniteFieldRationalPolynomial.derivative(x: Expression) -> RationalPolynomial

Take a derivative in x.

Examples

from symbolica import *
x = S('x')
p = E('1/((x+y)*(x^2+x*y+1)(x+1))').to_rational_polynomial()
print(p.derivative(x))

gcd

FiniteFieldRationalPolynomial.gcd(rhs: FiniteFieldRationalPolynomial) -> FiniteFieldRationalPolynomial

Compute the greatest common divisor (GCD) of two rational polynomials.

get_modulus

FiniteFieldRationalPolynomial.get_modulus() -> int

Get the modulus of the finite field.

get_variables

FiniteFieldRationalPolynomial.get_variables() -> Sequence[Expression]

Get the list of variables in the internal ordering of the polynomial.

parse

FiniteFieldRationalPolynomial.parse(
    input: str,
    vars: Sequence[str],
    prime: int,
    default_namespace: str | None = None,
) -> FiniteFieldRationalPolynomial

Parse a rational polynomial from a string. The list of all the variables must be provided.

If this requirements is too strict, use Expression.to_polynomial() instead.

Examples

e = FiniteFieldRationalPolynomial.parse('3*x^2+y+y*4', ['x', 'y'], 17)

Raises

  • ValueError: If the input is not a valid Symbolica rational polynomial.

to_latex

FiniteFieldRationalPolynomial.to_latex() -> str

Convert the rational polynomial into a LaTeX string.