How can I use the new symbolic matrix/tensor capabilities to verify matrix identities, such as

enter image description here (1)


enter image description here (2)

Even better, how can I ask Mathematica to derive expressions for X, Y, Z, and U like the ones shown on the RHS of (2) (many equivalent forms exist) (and as a bonus, display them similarly).

  • $\begingroup$ did you try 'Solve'? $\endgroup$
    – cartonn
    Dec 9 '12 at 18:34
  • $\begingroup$ For the second part of the question (not specific to version 9), see Matrix multiplication in Block Form symbolic calculation by Mathematica $\endgroup$
    – Jens
    Dec 9 '12 at 19:51
  • $\begingroup$ A closely related question is also: Can Mathematica do symbolic linear algebra?. Your question is more specific, but the answers there provide some important information, I think. $\endgroup$
    – Jens
    Dec 9 '12 at 19:58
  • $\begingroup$ Yes, thanks, and prior to posting this question I had seen the above posts. They all predate V9.0 though. I was hoping for a few magic one-liners in V9.0 that would do the same... $\endgroup$
    – Eric
    Dec 9 '12 at 20:07
  • $\begingroup$ OK - so it looks like we'll have to keep hoping for version 10 to get this as a built-in capability, which would be really cool. $\endgroup$
    – Jens
    Dec 9 '12 at 23:39

Formulas involving inverses are special to matrices--neither vectors nor higher-rank tensors have a notion of inverse. As a result, the current framework has only limited support for identities involving inverses. It deals best with identities involving tensor products, symmetries, and contractions, which are fundamental to all tensor operations. We hope to add better support for matrices inversion in a future release.

  • $\begingroup$ How about block matrices? Can I define A, B, C, and D to be symbolic n x n, n x m, m x n, and m x m matrices and then have mathematica recognize something like E = SymbolicArrayFlatten[{{A,B},{C,D}}] as an (n+m) x (n+m) matrix? $\endgroup$
    – Eric
    Dec 9 '12 at 19:29
  • $\begingroup$ Block matrices are also not supported at this time. As you point out, we will need to add new symbols to support these, because if A,B, C and D are matrices, {{A,B},{C,D}} is a rank-3 array. $\endgroup$ Dec 13 '12 at 22:49
  • $\begingroup$ I definately would appreciate that support. Big interest :) $\endgroup$
    – Rojo
    Oct 17 '13 at 18:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.