On Fri, Mar 23, 2012 at 3:11 AM, Joachim Durchholz <[email protected]> wrote:
> Am 23.03.2012 01:39, schrieb Aaron Meurer:
>
>> To me, evaluation and immutability are completely separate.
>
>
> Agreed.
>
>
>> We should
>>
>> have separate subclasses to do each (UnevaluatedImmutableMatrix is
>> probably better than ImmutableMatrix(evaluate=False)).
>
>
> That will create a proliferation of classes. Mutable/Immutable and
> Evaluated/Unevaluated is already four combinations; any additional property
> would double the number of classes needed.

Yeah, I was thinking about that too.  I guess we should determine what
should be a separate class and what can just be a property of the
class.  I think immutability should definitely be a separate class,
because this is a fundamental property in Python.  I'm not sure about
evaluation.  Ronan's pointed out some of the issues that can come from
making it a property.

Also, as Matthew noted, I guess evaluation should really be a property
of the container object, not the object itself.  So we wouldn't really
need an UnevaluatedImmutibleMatrix, just an UnevaluatedMatrixMul.

By the way, I think that an unevaluated Matrix would have to be
immutable, because that's how Mul (and hence MatrixMul) works.  So
there are really only three types of classes.

Aaron Meurer

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to