unique minimal presentation matrix of a QQ-module

8 views
Skip to first unread message

René Birkner

unread,
Nov 20, 2009, 8:01:46 AM11/20/09
to Macaulay2
Is there a way to get a unique presentation of a QQ-module?

I have a QQ module given by a matrix, i.e. the columns of that matrix
are my generators. Now I want a function that gives me a unique matrix
representing this module, whatever generating matrix of the module I
put into that function. Example:

If I take

i71 : M1=map(QQ^2,QQ^2,1)

o71 = | 1 0 |
| 0 1 |

2 2
o71 : Matrix QQ <--- QQ

i72 : N1=matrix{{1_QQ,2},{2,1}}

o72 = | 1 2 |
| 2 1 |

2 2
o72 : Matrix QQ <--- QQ

i73 : M1=image M1

o73 = image | 1 0 |
| 0 1 |

2
o73 : QQ-module, submodule of QQ

i74 : N1=image N1

o74 = image | 1 2 |
| 2 1 |

2
o74 : QQ-module, submodule of QQ


These are both the same module:

i75 : N1 == M1

o75 = true


But mingens for example does not return the same matrix!

i76 : mingens M1

o76 = | 1 0 |
| 0 1 |

2 2
o76 : Matrix QQ <--- QQ

i77 : mingens N1

o77 = | 1 1/2 |
| 0 1 |

2 2
o77 : Matrix QQ <--- QQ

Dan Grayson

unread,
Nov 20, 2009, 2:17:02 PM11/20/09
to Macaulay2
I was going to suggest using "gens gb M", where M is the module, but
it doesn't work, and that seems to be a bug. Meanwhile, one way to
work around it would be to use the polynomial ring QQ[ ] instead, as
in the code below.

i91 : gens gb matrix {{1/1,2},{2,1}}

o91 = | 1 1/2 |
| 0 1 |

2 2
o91 : Matrix QQ <--- QQ

i92 : gens gb matrix {{1/1,0},{0,1}}

o92 = | 1 0 |
| 0 1 |

2 2
o92 : Matrix QQ <--- QQ

i93 : R = QQ[];

i94 : gens gb matrix {{1_R,2},{2,1}}

o94 = | 1 0 |
| 0 1 |

2 2
o94 : Matrix R <--- R

i95 : gens gb matrix {{1_R,0},{0,1}}

o95 = | 1 0 |
| 0 1 |

2 2
o95 : Matrix R <--- R
Reply all
Reply to author
Forward
0 new messages