# MPolyCatRationalFunctionFactorizer(E, OV, R, PRF)ΒΆ

allfact.spad line 51 [edit on github]

OV: OrderedSet with

convert: % -> Symbol

PRF: PolynomialCategory(Fraction Polynomial R, E, OV)

This package exports a factor operation for multivariate polynomials with coefficients which are rational functions over some ring `R`

over which we can factor. It is used internally by packages such as primary decomposition which need to work with polynomials with rational function coefficients, i.e. themselves fractions of polynomials.

- factor: PRF -> Factored PRF
`factor(prf)`

factors a polynomial with rational function coefficients.

- pushdown: (PRF, OV) -> PRF
`pushdown(prf, var)`

pushes all top level occurrences of the variable var into the coefficient domain for the polynomial`prf`

.

- pushdterm: (SparseUnivariatePolynomial PRF, OV) -> PRF
`pushdterm(monom, var)`

pushes all top level occurrences of the variable var into the coefficient domain for the monomial`monom`

.

- pushucoef: (SparseUnivariatePolynomial Polynomial R, OV) -> PRF
`pushucoef(upoly, var)`

converts the anonymous univariate polynomial`upoly`

to a polynomial in var over rational functions.

- pushuconst: (Fraction Polynomial R, OV) -> PRF
`pushuconst(r, var)`

takes a rational function and raises all occurrences of the variable var to the polynomial level.

- pushup: (PRF, OV) -> PRF
`pushup(prf, var)`

raises all occurrences of the variable var in the coefficients of the polynomial`prf`

back to the polynomial level.

- totalfract: PRF -> Record(sup: Polynomial R, inf: Polynomial R)
`totalfract(prf)`

takes a polynomial whose coefficients are themselves fractions of polynomials and returns a record containing the numerator and denominator resulting from putting`prf`

over a common denominator.