# RationalFunction R¶

Utilities that provide the same top-level manipulations on fractions than on polynomials.

coerce: R -> Fraction Polynomial R

`coerce(r)` returns `r` viewed as a rational function over `R`.

eval: (Fraction Polynomial R, Equation Fraction Polynomial R) -> Fraction Polynomial R

`eval(f, v = g)` returns `f` with `v` replaced by `g`. Error: if `v` is not a symbol.

eval: (Fraction Polynomial R, List Equation Fraction Polynomial R) -> Fraction Polynomial R

`eval(f, [v1 = g1, ..., vn = gn])` returns `f` with each `vi` replaced by `gi` in parallel, i.e. `vi``'s` appearing inside the `gi``'s` are not replaced. Error: if any `vi` is not a symbol.

eval: (Fraction Polynomial R, List Symbol, List Fraction Polynomial R) -> Fraction Polynomial R

`eval(f, [v1, ..., vn], [g1, ..., gn])` returns `f` with each `vi` replaced by `gi` in parallel, i.e. `vi``'s` appearing inside the `gi``'s` are not replaced.

eval: (Fraction Polynomial R, Symbol, Fraction Polynomial R) -> Fraction Polynomial R

`eval(f, v, g)` returns `f` with `v` replaced by `g`.

mainVariable: Fraction Polynomial R -> Union(Symbol, 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 Fraction Polynomial R, Symbol) -> Fraction Polynomial R

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

univariate: (Fraction Polynomial R, Symbol) -> Fraction SparseUnivariatePolynomial Fraction Polynomial R

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

variables: Fraction Polynomial R -> List Symbol

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