# symbolic 2x2 block matrix inversion

Is it possible in SAGE to get the 2x2 block matrix inversion described in Wikipedia?

I looked at this question about the determinant of block matrices, and at this question about symbolic matrices, and tried the following code on the cloud:

A = matrix(SR, 2, 2, 'a1 a2 a3 a4'.split(' '))

B = matrix(SR, 2, 2, 'b1 b2 b3 b4'.split(' '))

C = matrix(SR, 2, 2, 'c1 c2 c3 c4'.split(' '))

D = matrix(SR, 2, 2, 'd1 d2 d3 d4'.split(' '))

M = block_matrix(SR, 2, 2, [A, B, C, D])

Mi = M.inverse()

Mi.simplify_rational()


But it doesn't seem to be able to exactly reproduce the Wikipedia formula (it returns a horrible formula full of a1, a2, etc). Any idea?

edit retag close merge delete

Sort by » oldest newest most voted

I think the whole point is that you are asking for a full inverse. So Sage is trying to invert all the individual A, B, etc. Sage's block matrices don't behave differently from regular matrices in this regard, presumably. Perhaps someone else will have other ideas, though.

more