1 | initial version |

One problem might be that you aren't working over the fraction field. Are you *sure* you want Hermite form and not a different echelon? Note that this is even partly documented - if you add the line `M = M.change_ring(R.fraction_field())`

as suggested in http://doc.sagemath.org/html/en/reference/matrices/sage/matrix/matrix2.html (search for "hermite_form") it still does the same thing.

On the other hand, `M.echelon_form()`

does what you (apparently) want.

```
R.<x> = QQ[];
@interact
def _(form=['Hermite','Echelon']):
M = matrix(2,2, [x,x, 0,x]);
M = M.change_ring(R.fraction_field())
if form=='Hermite':
show(M.hermite_form())
else:
show(M.echelon_form())
```

I don't know enough about the Hermite form to say more, but this is often what the issue is for other users in a similar situation. If this is wrong, then this is probably a bug, as opposed to inadequate documentation.

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.