# Verifying and deriving basic (block) matrix identities

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

(1)

or

(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).

• did you try 'Solve'? Commented Dec 9, 2012 at 18:34
• For the second part of the question (not specific to version 9), see Matrix multiplication in Block Form symbolic calculation by Mathematica
– Jens
Commented Dec 9, 2012 at 19:51
• 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.
– Jens
Commented Dec 9, 2012 at 19:58
• 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...
– Eric
Commented Dec 9, 2012 at 20:07
• 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.
– Jens
Commented Dec 9, 2012 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.

• 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?
– Eric
Commented Dec 9, 2012 at 19:29
• 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. Commented Dec 13, 2012 at 22:49
• I definately would appreciate that support. Big interest :)
– Rojo
Commented Oct 17, 2013 at 18:39