At least some errors probably come from the file

sage/algebras/quatalg/quaternion_algebra_cython.pyx

and I think they should be easily fixable without any knowledge of what
is going on by just changing the code to make a copy of the zero matrix.

However, I really wonder whether this fix is necessary. I understand the
the bug pointed out is a bad bug, but I think that when I call
zero_matrix() I will usually quickly modify the returned matrix. Are
there many useful situations where it is important that M =
zero_matrix() return very fast and where we _aren't_ going to modify M?

On Wed, 2010-02-17 at 00:30 +0100, Florent Hivert wrote:
> Hi there,
> 
> I'm close to solve: #8276 Make the one(), identity_matrix() and zero_matrix()
> cached and immutable. Correcting MatrixSpace is easy, however there are a lot
> of place in sage where people create a matrix from the one or zero and modify
> it after that. I nearly corrected all these occurences However I'm stuck with
> those three files which are very complicated and depend one of each other:
>     sage/modular/quatalg/brandt.py
>     sage/algebras/quatalg/quaternion_algebra.py
>     sage/schemes/elliptic_curves/heegner.py
> There are a lot of error but I can't find where it's coming from.  I really
> could use the help of a specialist. The patch are on
>     http://trac.sagemath.org/sage_trac/ticket/8276
> Apply them it the following order:
>     trac_8276-MatrixSpace_one-fh.patch
>     trac_8276-fix_sagelib-fh.patch
> Thanks for any suggestion.
> 
> Cheers,
> 
> Florent
> 


-- 
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to