Hi,

Just a quick note that could be relevant to the discussion:
check also out

http://code.google.com/p/sympycore/wiki/MatrixSupportIdeas

that contains ideas how to deal with mutable matrices in
operations where they should be immutable, all in a very efficient
way.
The idea is based on using views of matrices.

Pearu

On Jun 7, 7:52 pm, "Ondrej Certik" <[EMAIL PROTECTED]> wrote:
> Let's clean this up. I sent an email to the numpy-list asking for an advice:
>
> http://projects.scipy.org/pipermail/numpy-discussion/2008-June/034801...
>
> The ultimate reason that Matrix is not a subclass of a Basic is that
> it is mutable, while SymPy objects need to be immutable, so that when
> you have an expression, like (1+x)**2, you can be sure that all the
> instances (like "x") doesn't change in the middle of a calculation.
>
> Q: Why is a Matrix mutable?
> A: Because we want to play with matrices using the natural syntax:
> A[0,0] = x**2, etc.
>
> Q: Do we want to use Matrices in expressions?
> A: I think it could be very useful. Currently we can use Symbol("A",
> commutative=False), but it'd be nice to have an option to "attach"
> some matrix for it, that represents it. Also it will make the whole
> SymPy cleaner, if we adapt for example this approach:
>
> Make Matrix immutable, while introducing an Array class, that will
> behave like numpy array, be mutable etc., and a 2D array could be
> converted to Matrix (and back of course), thus Matrices would become
> regular SymPy objects.
>
> Disadvantage -- if one needs to set entries of a Matrix using the
> syntax "A[1, 2] = y" not only at the beginning of the calculaton, but
> also in the middle, then he would have to do: A = Matrix(Array(A)[1,2]
> = y). Of course A[1,2] = y would create an exception saying: "use the
> A = Matrix(Array(A)[1,2] = y)" syntax.
>
> What do you think?
>
> Ondrej
--~--~---------~--~----~------------~-------~--~----~
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