# AlgebraicManipulations(R, F)ΒΆ

AlgebraicManipulations provides functions to simplify and expand expressions involving algebraic operators.

ratDenom: (F, F) -> F

`ratDenom(f, a)` removes `a` from the denominators in `f` if `a` is an algebraic kernel.

ratDenom: (F, List F) -> F

`ratDenom(f, [a1, ..., an])` removes the `ai``'s` which are algebraic kernels from the denominators in `f`.

ratDenom: (F, List Kernel F) -> F

`ratDenom(f, [a1, ..., an])` removes the `ai``'s` which are algebraic from the denominators in `f`.

ratDenom: F -> F

`ratDenom(f)` rationalizes the denominators appearing in `f` by moving all the algebraic quantities into the numerators.

ratPoly: F -> SparseUnivariatePolynomial F

`ratPoly(f)` returns a polynomial `p` such that `p` has no algebraic coefficients, and `p(f) = 0`.

rootFactor: F -> F if R has GcdDomain and F has FunctionSpace R and R has UniqueFactorizationDomain and R has Comparable and R has RetractableTo Integer

`rootFactor(f)` transforms every radical of the form `(a1*...*am)^(1/n)` appearing in `f` into `a^(1/n)*...*am^(1/n)`. This transformation is not in general valid for all complex numbers `a` and `b`.

rootKerSimp: (BasicOperator, F, NonNegativeInteger) -> F if R has GcdDomain and R has Comparable and R has RetractableTo Integer and F has FunctionSpace R

`rootKerSimp(op, f, n)` should be local but conditional.

rootPower: F -> F if R has GcdDomain and R has Comparable and R has RetractableTo Integer and F has FunctionSpace R

`rootPower(f)` transforms every radical power of the form `(a^(1/n))^m` into a simpler form if `m` and `n` have a common factor.

rootProduct: F -> F if R has GcdDomain and R has Comparable and R has RetractableTo Integer and F has FunctionSpace R

`rootProduct(f)` combines every product of the form `(a^(1/n))^m * (a^(1/s))^t` into a single power of a root of `a`, and transforms every radical power of the form `(a^(1/n))^m` into a simpler form.

rootSimp: F -> F if R has GcdDomain and R has Comparable and R has RetractableTo Integer and F has FunctionSpace R

`rootSimp(f)` transforms every radical of the form `(a * b^(q*n+r))^(1/n)` appearing in `f` into `b^q * (a * b^r)^(1/n)`. This transformation is not in general valid for all complex numbers `b`.

rootSplit: F -> F

`rootSplit(f)` transforms every radical of the form `(a/b)^(1/n)` appearing in `f` into `a^(1/n) / b^(1/n)`. This transformation is not in general valid for all complex numbers `a` and `b`.