PolynomialCategoryQuotientFunctions(E, V, R, P, F)

rf.spad line 1 [edit on github]

This package transforms multivariate polynomials or fractions into univariate polynomials or fractions, and back.

isExpt : F -> Union(Record(var : V, exponent : Integer), "failed")

isExpt(p) returns [x, n] if p = x^n and n ~= 0, "failed" otherwise.

isPlus : F -> Union(List(F), "failed")

isPlus(p) returns [m1, ..., mn] if p = m1 + ... + mn and n > 1, "failed" otherwise.

isPower : F -> Union(Record(val : F, exponent : Integer), "failed")

isPower(p) returns [x, n] if p = x^n and n ~= 0, "failed" otherwise.

isTimes : F -> Union(List(F), "failed")

isTimes(p) returns [a1, ..., an] if p = a1 ... an and n > 1, "failed" otherwise.

mainVariable : F -> Union(V, "failed")

mainVariable(f) returns the highest variable appearing in the numerator or the denominator of f, "failed" if f has no variables.

multivariate : (Fraction(SparseUnivariatePolynomial(F)), V) -> F

multivariate(f, v) applies both the numerator and denominator of f to v.

univariate : (F, V) -> Fraction(SparseUnivariatePolynomial(F))

univariate(f, v) returns f viewed as a univariate rational function in v.

univariate : (F, V, SparseUnivariatePolynomial(F)) -> SparseUnivariatePolynomial(F)

univariate(f, x, p) returns f viewed as a univariate polynomial in x, using the side-condition p(x) = 0.

variables : F -> List(V)

variables(f) returns the list of variables appearing in the numerator or the denominator of f.