# charIdeal -- characteristic ideal of a D-module

## Synopsis

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

## Description

The characteristic ideal of M is the annihilator of gr(M) under a good filtration with respect to the order filtration. If D is the Weyl algebra C<x_1,....,x_n,d_1,...,d_n>, then the order filtration corresponds to the weight vector (0,...,0,1...,1). The characteristic ideal lives in the associated graded ring of D with respect to the order filtration, and this is a commutative polynomial ring C[x_1,....,x_n,xi_1,...,xi_n] -- here the xi's are the symbols of the d's. The zero locus of the characteristic ideal is equal to the characteristic variety of D/I, which is an invariant of a D-module.

The algorithm to compute the characteristic ideal consists of computing the initial ideal of I with respect to the weight vector (0,...,0,1...,1). See the book 'Groebner deformations of hypergeometric differential equations' by Saito-Sturmfels-Takayama (1999) for more details.

 ```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 : charIdeal I 2 o3 = ideal (Dx , x*Dx + 2y*Dy) o3 : Ideal of QQ[x, y, Dx, Dy]```

## Ways to use charIdeal :

• charIdeal(Ideal)
• charIdeal(Module)