I think it would be enough to move the _mutability = Mutability(False)
statement from the _copy_() method to the _new_c() method.

On 11.01.2013 00:20, Johannes wrote:
> But in the _copy_() method _mutability is set to a value. Even if I
> think this should be done in _new_c().
> 
> By the way, this bug also appears for x + y and x - y.
> 
> greatz Johannes
> 
> On 10.01.2013 23:34, Nils Bruin wrote:
>> On Jan 10, 12:55 pm, Johannes <dajo.m...@web.de> wrote:
>>> hey list,
>>>
>>> If you look at the code, there is a function called _new_c() which is
>>> used in the multiplication algorithm.
>>
>> See
>>
>> http://trac.sagemath.org/sage_trac/ticket/8294
>>
>> Looks like a little more is broken than just __copy__.
>>
>> Normally, _mutability gets set in matrix0's Matrix.__init__.
>>
>> Matrix_integer_dense gets that by explicitly calling a superclass
>> __init__ in its __cinit__. I guess 2x2 tries to avoid that for
>> efficiency reasons, but it suggests that its __cinit__ (or at least
>> its _new_c) should then set the _mutability attribute. Is this class
>> intentionally producing maimed instances for efficiency reasons
>> perhaps?
>>
> 

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To post to this group, send email to sage-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-devel+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.


Reply via email to