next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Dmodules :: makeCyclic

makeCyclic -- finds a cyclic generator of a D-module

Synopsis

Description

It is known that every holonomic module is cyclic and there is an algorithm for computing a cyclic generator.

i1 : makeWA(QQ[x])

o1 = QQ[x, dx]

o1 : PolynomialRing, 1 differential variables
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 (QQ[x, dx])  <--- (QQ[x, dx])
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

Ways to use makeCyclic :

For the programmer

The object makeCyclic is a method function.