1 | initial version |

Dou you need your matrix `M`

to stay in the `Integer Ring`

? If not, you could try to work on the `Rational Field`

:

```
sage: M = M.change_ring(QQ)
sage: M.echelonize()
```

or even on the the `Real Double Field`

(which will do some roundings, but may save more space and time):

```
sage: M = M.change_ring(RDF)
sage: M.echelonize()
```

No idea whether it will solve your problem.

2 | No.2 Revision |

Dou you need your matrix `M`

to stay in the `Integer Ring`

? If not, you could try to work on the `Rational Field`

~~:~~ (Sage will use an algotithm that allow division):

```
sage: M = M.change_ring(QQ)
sage: M.echelonize()
```

or even on the the `Real Double Field`

(which will do some roundings, but may save more space and time):

```
sage: M = M.change_ring(RDF)
sage: M.echelonize()
```

No idea whether it will solve your problem.

3 | No.3 Revision |

Dou you need your matrix `M`

to stay in the `Integer Ring`

? If not, you could try to work on the `Rational Field`

~~(Sage ~~(so that Sage will be allowed to use an algotithm that ~~allow ~~uses division):

```
sage: M = M.change_ring(QQ)
sage: M.echelonize()
```

or even on the the `Real Double Field`

(which will do some roundings, but may save more space and time):

```
sage: M = M.change_ring(RDF)
sage: M.echelonize()
```

No idea whether it will solve your problem.

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.