next | previous | forward | backward | up | index | toc

# diffRatFun -- derivative of a rational function in a Weyl algebra

## Synopsis

• Usage:
diffRatFun(m,f)
diffRatFun(m,g,f,a)
• Inputs:
• f, , polynomial in a Weyl algebra $D$ in $n$ variables or ratinoal function in the fraction field of a polynomial ring in $n$ variables
• g, , polynomial in a Weyl algebra $D$ in $n$ variables
• m, a list, of nonnegative integers $m = \{m_1,...,m_n\}$
• a, an integer, an integer
• Outputs:
• , the result of applying the product of the $(dx_i)^{m_i}$ to $f$
• a list, the result of applying the product of the $(dx_i)^{m_i}$ to $g/f^a$, written as (numerator,denominator,power of denominator)

## Description

Let $D$ be a Weyl algebra in the variables $x_1,..x_n$ and partials $dx_1,..,dx_n$. Let $f$ be either a polynomial or rational function in the $x_i$ and $m = (m_1,..,m_n)$ a list of nonnegative integers. The function $f$ may be given as an element of a polynomial ring in the $x_i$ or of the fraction field of that polynomial ring or of $D$. This method applies the product of the $dx_i^{m_i}$ to $f$. In the case of the input $(m,g,f,a)$, where $f \neq 0$ and $g$ are both polynomials and $a$ is a nonnegative integer, it applies the product of the $dx_i^{m_i}$ to $g/f^a$ and returns the resulting derivative as (numerator,denominator,power of denominator), not necessarily in lowest terms.

 i1 : QQ[x,y,z] o1 = QQ[x..z] o1 : PolynomialRing i2 : m = {1,1,0} o2 = {1, 1, 0} o2 : List i3 : f = x^2*y+z^5 5 2 o3 = z + x y o3 : QQ[x..z] i4 : diffRatFun(m,f) o4 = 2x o4 : QQ[x..z]
 i5 : makeWA(QQ[x,y,z]) o5 = QQ[x..z, dx, dy, dz] o5 : PolynomialRing, 3 differential variable(s) i6 : m = {1,1,0} o6 = {1, 1, 0} o6 : List i7 : f = x^2*y+z^5 5 2 o7 = z + x y o7 : QQ[x..z, dx, dy, dz] i8 : diffRatFun(m,f) o8 = 2x o8 : QQ[x..z, dx, dy, dz]
 i9 : frac(QQ[x,y]) o9 = frac(QQ[x..y]) o9 : FractionField i10 : m = {1,2} o10 = {1, 2} o10 : List i11 : f = x/y x o11 = - y o11 : frac(QQ[x..y]) i12 : diffRatFun(m,f) 2 o12 = -- 3 y o12 : frac(QQ[x..y])
 i13 : makeWA(QQ[x,y,z]) o13 = QQ[x..z, dx, dy, dz] o13 : PolynomialRing, 3 differential variable(s) i14 : m = {1,2,1} o14 = {1, 2, 1} o14 : List i15 : g = z o15 = z o15 : QQ[x..z, dx, dy, dz] i16 : f = x*y o16 = x*y o16 : QQ[x..z, dx, dy, dz] i17 : a = 3 o17 = 3 i18 : diffRatFun(m,g,f,a) 3 2 o18 = (-36x y , x*y, 7) o18 : Sequence

## Caveat

Must be over a ring of characteristic $0$.

## Ways to use diffRatFun :

• diffRatFun(List,RingElement)
• diffRatFun(List,RingElement,RingElement,ZZ)

## For the programmer

The object diffRatFun is .