Skip to main content

Polynomials

The 17 definitions of the polynomials library, each with its Epsil spelling, its MathJSON name, its signature and its full description.

Each definition is listed under its Epsil spelling (the MathJSON name when it has none), with its signature in the engine's type syntax. The Standard Library page is the one-page index of every category.

Definitions​

apart​

MathJSON Apart · (value, symbol?) -> value

Alias for PartialFraction. Decompose a rational expression into partial fractions.

cancel​

MathJSON Cancel · (value, symbol?) -> value

Cancel common polynomial factors in the numerator and denominator of a rational expression. Example: Cancel((x² - 1)/(x - 1), x) → x + 1

coefficientList​

MathJSON CoefficientList · (value, symbol?) -> list<value>

Return the list of coefficients of a polynomial, from highest to lowest degree. Example: CoefficientList(x³ + 2x + 1, x) → [1, 0, 2, 1]

discriminant​

MathJSON Discriminant · (value, symbol?) -> value

Return the discriminant of a polynomial. Example: Discriminant(x² - 5x + 6, x) → 1

distribute​

MathJSON Distribute · (value) -> value

Distribute multiplication over addition

expand​

MathJSON Expand · (value) -> value

Expand out products and positive integer powers

expandAll​

MathJSON ExpandAll · (value) -> value

Recursively expand out products and positive integer powers

factor​

MathJSON Factor · (value, symbol?) -> value

Factor a polynomial expression into a product of irreducible factors. Supports perfect square trinomials, difference of squares, and quadratic factoring with rational roots. Example: Factor(x² + 5x + 6) → (x+2)(x+3), Factor(x² + 2x + 1) → (x+1)²

partialFraction​

MathJSON PartialFraction · (value, symbol?) -> value

Decompose a rational expression into partial fractions. Example: PartialFraction(1/((x+1)(x+2)), x) → 1/(x+1) - 1/(x+2)

polynomial​

MathJSON Polynomial · (list<value>, symbol) -> value

Construct a polynomial from a list of coefficients (highest to lowest degree) and a variable. Example: Polynomial([1, 0, 2, 1], x) → x³ + 2x + 1

polynomialDegree​

MathJSON PolynomialDegree · (value, symbol?) -> integer

Return the degree of a polynomial with respect to a variable. Example: PolynomialDegree(x³ + 2x + 1, x) → 3

polynomialGCD​

MathJSON PolynomialGCD · (a: value, b: value, variable: symbol?) -> value

Return the greatest common divisor of two polynomials. Example: PolynomialGCD(x² - 1, x - 1, x) → x - 1

polynomialQuotient​

MathJSON PolynomialQuotient · (dividend: value, divisor: value, variable: symbol?) -> value

Return the quotient of polynomial division of dividend by divisor. Example: PolynomialQuotient(x³ - 1, x - 1, x) → x² + x + 1

polynomialRemainder​

MathJSON PolynomialRemainder · (dividend: value, divisor: value, variable: symbol?) -> value

Return the remainder of polynomial division of dividend by divisor. Example: PolynomialRemainder(x³ + 2x + 1, x + 1, x) → -2

polynomialRoots​

MathJSON PolynomialRoots · (value, symbol?) -> set<value>

Return the roots of a polynomial expression. Example: PolynomialRoots(x² - 5x + 6, x) → {2, 3}

resultant​

MathJSON Resultant · (a: value, b: value, variable: symbol?) -> value

Return the resultant of two polynomials with respect to a variable. It is zero iff the polynomials share a common factor. Example: Resultant(x² - 1, x - 1, x) → 0

together​

MathJSON Together · (value) -> value

Combine rational expressions into a single fraction