polynomial

fun polynomial::roots(Coeffs: list): list[complex]

Returns the roots of the single variable polynomial \(Coeff_{0} + Coeff_{1}x + Coeff_{2}x^{2} + ...\). If the degree is less than 5, the relevant formula is used to calculate the roots, otherwise the roots are estimated using an iterative process.

polynomial::roots([2, -3, 1]) :> [1, 2]
meth (A: number) * (B: polynomial::rational): polynomial::rational

Returns A * B.

meth (A: number) * (B: polynomial): polynomial

Returns A * B.

meth (A: number) + (B: polynomial::rational): polynomial::rational

Returns A + B.

meth (A: number) + (B: polynomial): polynomial

Returns A + B.

meth (A: number) - (B: polynomial::rational): polynomial::rational

Returns A - B.

meth (A: number) - (B: polynomial): polynomial

Returns A - B.

meth (A: number) / (B: polynomial::rational): polynomial::rational

Returns A / B.

meth (A: number) / (B: polynomial): polynomial::rational

Returns A / B.

type polynomial < function

A polynomial with numeric (real or complex) coefficients. Calling a polynomial with named arguments returns the result of substituting the named variables with the corresponding values.

meth polynomial(Var: string): polynomial

Returns the polynomial corresponding to the variable Var.

let X := polynomial("x"), Y := polynomial("y") :> y
let P := (X - Y) ^ 4 :> x⁴ - 4x³y + 6x²y² - 4xy³ + y⁴
P(y is 3) :> x⁴ - 12x³ + 54x² - 108x + 81
meth (A: polynomial) != (B: polynomial): polynomial

Returns B if A != B and nil otherwise.

meth (A: polynomial) * (B: number): polynomial

Returns A * B.

meth (A: polynomial) * (B: polynomial::rational): polynomial::rational

Returns A * B.

meth (A: polynomial) * (B: polynomial): polynomial

Returns A * B.

meth (A: polynomial) + (B: number): polynomial

Returns A + B.

meth (A: polynomial) + (B: polynomial::rational): polynomial::rational

Returns A + B.

meth (A: polynomial) + (B: polynomial): polynomial

Returns A + B.

meth (A: polynomial) - (B: number): polynomial

Returns A - B.

meth (A: polynomial) - (B: polynomial::rational): polynomial::rational

Returns A - B.

meth (A: polynomial) - (B: polynomial): polynomial

Returns A - B.

meth (A: polynomial) / (B: number): polynomial

Returns A / B.

meth (A: polynomial) / (B: polynomial::rational): polynomial::rational

Returns A / B.

meth (A: polynomial) / (B: polynomial): polynomial::rational

Returns A / B.

meth (A: polynomial) = (B: polynomial): polynomial

Returns B if A = B and nil otherwise.

meth (A: polynomial) ^ (B: integer): polynomial

Returns A ^ B.

meth (Poly: polynomial):coeff(Var: string, Degree: integer): number | polynomial

Returns the coefficient of Var ^ Degree in Poly.

let X := polynomial("x")
(X ^ 2 + (3 * X) + 2):coeff("x", 1) :> 3
meth (Poly: polynomial):d(Var: string): number | polynomial

Returns the derivative of Poly w.r.t. Var.

let X := polynomial("x")
(X ^ 2 + (3 * X) + 2):d("x") :> 2x + 3
meth (Poly: polynomial):degree(Var: string): integer

Returns the highest degree of Var in Poly.

let X := polynomial("x")
(X ^ 2 + (3 * X) + 2):degree("x") :> 2
meth (Arg₁: polynomial):red(Arg₂: polynomial)

TBD

meth (Arg₁: polynomial):spol(Arg₂: polynomial)

TBD

meth (Buffer: string::buffer):append(Poly: polynomial)

Appends a representation of Poly to Buffer.

type polynomial::rational

TBD

meth (A: polynomial::rational) * (B: number): polynomial::rational

Returns A * B.

meth (A: polynomial::rational) * (B: polynomial::rational): polynomial::rational

Returns A * B.

meth (A: polynomial::rational) * (B: polynomial): polynomial::rational

Returns A * B.

meth (A: polynomial::rational) + (B: number): polynomial::rational

Returns A + B.

meth (A: polynomial::rational) + (B: polynomial::rational): polynomial::rational

Returns A + B.

meth (A: polynomial::rational) + (B: polynomial): polynomial::rational

Returns A + B.

meth (A: polynomial::rational) - (B: number): polynomial::rational

Returns A - B.

meth (A: polynomial::rational) - (B: polynomial::rational): polynomial::rational

Returns A - B.

meth (A: polynomial::rational) - (B: polynomial): polynomial::rational

Returns A - B.

meth (A: polynomial::rational) / (B: number): polynomial::rational

Returns A / B.

meth (A: polynomial::rational) / (B: polynomial::rational): polynomial::rational

Returns A / B.

meth (A: polynomial::rational) / (B: polynomial): polynomial::rational

Returns A / B.

meth (Buffer: string::buffer):append(Poly: polynomial::rational)

Appends a representation of Poly to Buffer.