# holonomicRank -- rank of a D-module

## Synopsis

• Usage:
holonomicRank M, holonomicRank I
• Inputs:
• M, , over the Weyl algebra D
• I, an ideal, which represents the module M = D/I
• Outputs:

## Description

The rank of a D-module M = D^r/N provides analytic information about the system of PDE's given by N. In particular, a theorem of Cauchy states that the dimension of holomorphic solutions to N in a neighborhood of a nonsinugular point is equal to the rank.

The rank of a D-module is defined algebraically as follows. Let D denote the Weyl algebra C<x_1,....,x_n,d_1,...,d_n> and let R denote the ring of differential operators C(x_1,...,x_n)<d_1,...,d_n> with rational function coefficients. Then the rank of M = D^r/N is equal to the dimension of R^r/RN as a vector space over C(x_1,...,x_n).

See the book 'Groebner deformations of hypergeometric differential equations' by Saito-Sturmfels-Takayama (1999) for more details of the algorithm.

 ```i1 : W = QQ[x,y,Dx,Dy, WeylAlgebra => {x=>Dx,y=>Dy}] o1 = W o1 : PolynomialRing``` ```i2 : I = ideal (x*Dx+2*y*Dy-3, Dx^2-Dy) 2 o2 = ideal (x*Dx + 2y*Dy - 3, Dx - Dy) o2 : Ideal of W``` ```i3 : holonomicRank I o3 = 2```