next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Dmodules :: makeCyclic(Matrix)

makeCyclic(Matrix) -- finds a cyclic generator of a D-module

Synopsis

Description

It is proven that every holonomic module is cyclic and there is an algorithm for computing a cyclic generator.
i1 : W = QQ[x, dx, WeylAlgebra => {x=>dx}]

o1 = W

o1 : PolynomialRing
i2 : M = matrix {{dx,0,0},{0,dx,0},{0,0,dx}} -- coker M = QQ[x]^3 

o2 = | dx 0  0  |
     | 0  dx 0  |
     | 0  0  dx |

             3       3
o2 : Matrix W  <--- W
i3 : h = makeCyclic M

                               3
o3 = HashTable{AnnG => ideal(dx ) }
               Generator => | x2 |
                            | x  |
                            | 1  |

o3 : HashTable

Caveat

The module M must be holonomic.

See also