Also, Mateusz's MatrixExpr should be renamed to ImmutableMatrix. Aaron Meurer
On Fri, Jul 29, 2011 at 11:27 PM, Aaron Meurer <[email protected]> wrote: > I think your implementations are completely different, though perhaps > they could be merged. Mateusz's implementation is more about allowing > unevaluated functions on Matrices, whereas Matthews is more about > expressions where the variables are to be understood as matrices (I > use this instead of the ambiguous "symbolic matrices"). > > Both have their advantages. For example, the laplace_expand() from > Mateusz's version doesn't make sense in Matthew's version. On the > other hand, Matthew's version truly lets you manipulate undefined > matrices, and can be a more efficient way of manipulating defined ones > (e.g., Identity(100000) vs. eye(100000)). > > But other than some functions like laplace_expand() only making sense > for one, I don't see any reason why these two approaches can't or > shouldn't be merged. Actually, this is basically what was being > suggested when people said subs should work on symbolic matrices (a la > Matthew). > > Aaron Meurer > > On Fri, Jul 29, 2011 at 7:54 PM, Matthew Rocklin <[email protected]> wrote: >> I like your use of the phrase "interpretation of Matrix Expressions." It >> makes it clear that we all probably have very different ideas for what >> Matrix Expressions should be. Hopefully there is a system which can handle a >> wide variety of needs. >> My current branch is here >> https://github.com/mrocklin/sympy/tree/matrix_expr >> The main difference between our two interpretations is that I think of >> MatrixExpr's as being built up mainly of MatrixSymbol's rather than Matrix >> objects. Probably there is a nice way to make both feasible. For my GSOC >> project I needed Block Matrices so those are better developed. There is a >> blogpost demonstrating them here. >> >> >> On Fri, Jul 29, 2011 at 7:49 PM, Mateusz Paprocki <[email protected]> wrote: >>> >>> Hi, >>> >>> On 16 July 2011 00:12, Ondrej Certik <[email protected]> wrote: >>>> >>>> On Fri, Jul 15, 2011 at 9:17 AM, Andy Ray Terrel <[email protected]> >>>> wrote: >>>> > My suggestion would be to continue with the matrixify solution and >>>> > write functions to fix up the expression tree as need be. The whole >>>> > issue of making Add/Mul/Pow extensible is separate but the logic can >>>> > be transferred pretty easily. >>>> >>>> Exactly. Just get the job done, implement the necessary code, and >>>> whether or not Add/Mul/Pow classes can be extended is a separate >>>> issue, and I would suggest not to, to keep things simple in the core, >>>> so that we can refactor once we finish the assumptions refactoring. >>> >>> btw. Here is my interpretation of matrix >>> expressions: https://github.com/mattpap/sympy/tree/matrix_expr. Currently it >>> doesn't implement matrix expression arithmetic, but most certainly I'm not >>> going to allow a*M or A + B to "doit" by default, rather I will implement >>> this within expand() framework. What I need are semi evaluated matrix >>> expressions, so det(A^T) can be rewritten to det(A), but a*M must remain >>> unevaluated. This branch is very preliminary, there are no tests for the new >>> stuff and I didn't run tests so a few things may be broken >>> >>>> >>>> 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. >>>> >>> >>> Mateusz >>> >>> -- >>> 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. >> >> -- >> 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. >> > -- 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.
