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

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.