Matrix Inversion: Partition Method

3 comments

Introduction

Today we will discuss a not-so-famous method of inverting matrices. This method is recursive in the sense that given a method to find inverse of square matrix of order n it can be applied to find the inverse of a matrix of order (n+1). This method is named Partition Method or the Escalator Method. The idea is to partition a matrix into smaller sub-matrices and then calculate the inverse from the given inverse of one of the smaller sub-matrices.

Partition Method for Matrix Inversion

Let An+1 be a matrix of order (n+1) (i.e. it has (n+1) rows and the same number of columns). We can express the matrix An+1 in block form as An+1=[a11a12a1na1(n+1)a21a22a2na2(n+1)an1an2annan(n+1)a(n+1)1a(n+1)2a(n+1)na(n+1)(n+1)]=[AnBn×1C1×nd] where An=[a11a12a1na21a22a2nan1an2ann]Bn×1=[a1(n+1)a2(n+1)an(n+1)] C1×n=[a(n+1)1a(n+1)2a(n+1)n]d=a(n+1)(n+1) The subscripts used for the matrices above denote their order. Let's now assume that An is invertible and we also know its inverse. Also let I and O denote identity and zero matrices respectively (their order will be indicated by subscripts). If An+1 is also invertible then we can write the inverse A1n+1 in the block form (in the same way as we wrote An+1) as: A1n+1=[XnYn×1Z1×nt] Now we have An+1A1n+1=In+1 so that [AnBn×1C1×nd][XnYn×1Z1×nt]=[InOn×1O1×n1] Multiplication above gives the following matrix equations: AnXn+Bn×1Z1×n=InAnYn×1+Bn×1t=On×1C1×nXn+dZ1×n=O1×nC1×nYn×1+dt=1 From (2) we get Yn×1=A1nBn×1t and putting this in (4) we get (C1×nA1nBn×1+d)t=1 or t=1dC1×nA1nBn×1 so that we have Yn×1 given by Yn×1=A1nBn×1t Again from (1) we have Xn=A1nA1nBn×1Z1×n and putting this value in (3) we get C1×nA1nC1×nA1nBn×1Z1×n+dZ1×n=O1×n so that (dC1×nA1nBn×1)Z1×n=C1×nA1n or Z1×n=C1×nA1nt and finally Xn=A1n(InBn×1Z1×n) To aid the memory it makes sense to drop subscripts and then if we have An+1=[ABCd]=[ABCd]A1n+1=[XYZt]=[XYZt] where A is invertible square matrix of order n, B,Y are matrices of order n×1, C,Z are matrices of order 1×n, d,t are numbers then t=(dCA1B)1Y=A1BtZ=CA1tX=A1(IBZ) where I is identity matrix of order n. Note that if d=CA1B then the number t is not defined. In this case it can be easily seen that the matrix An+1 is singular and hence not invertible.

Demonstration of Partition Method

We demonstrate the method by a simple example where n=2 i.e. assuming the inverse of a second order matrix we will calculate the inverse of a third order matrix. Let us then apply this method on the following matrix
A3=[123014560]=[123014560]=[ABCd] Here we have A=[1201]B=[34]C=[56]d=0 Clearly A is invertible as its determinant is 1 and the inverse is easily found by the adjoint method as A1=[1201] We now have t=(dCA1B)1=(0[56][1201][34])1=([54][34])1=(1)1=1Y=A1Bt=[1201][34]=[1201][34]=[54]Z=CA1t=[56][1201]=[54]X=A1(IBZ)=[1201]([1001][34][54])=[1201]([1001][15122016])=[1201][16122015]=[24182015] The final inverse is given by A13=[XYZt]=[2418520154541]=[2418520154541] From the above demonstration it should be clear that the above process is not very straightforward nor very efficient. However it is interesting to learn that using this method matrix inversion can be performed by partitioning the given matrix into smaller blocks and this can be suitably programmed for parallel computation.

Print/PDF Version

3 comments :: Matrix Inversion: Partition Method

Post a Comment

  1. From Karan (comment on http://paramanands.wordpress.com/2012/08/19/matrix-inversion-partition-method/):
    ------------

    Sir, I would really appreciate your demonstrating the solution of a 5*5 matrix by this method. Are we supposed to use the inverse of the 3*3 matrix to find inverse of the 4*4 matrix which could be further used for finding the inverse of 5*5 matrix? How is that done? When we put the matrix 'X' so as to find inv(5*5), we're required to calculate the inverse of 'X', right?

    My Reply:
    ---------

    Hello Karan,
    If you observe the example carefully you will see that we have started with the inverse of 2x2 matrix and then using this found inverse of 3x3 matrix. Now repeating the same procedure we can find inverse of 4x4 matrix using the already obtained inverse of 3x3 matrix. Repeating further we can get the inverse of 5x5 matrix.

    I can not provide all the calculations, as it will be lengthy but I will provide a sample example:

    Let A5=[abcdefghijklmnopqrstuvwxy]

    Then we first find the inverse of
    A2=[abfg]
    Next we find inverse of
    A3=[abcfghklm]
    Then we find inverse of
    A4=[abcdfghiklmnpqrs]
    and then finally the inverse of A5.

    In each step the inverse calculated from previous step is used.

  2. There's another description here (using different symbols):
    Partition method (Escalator Method) of finding the inverse of a Matrix
    http://mathumatiks.com/index.php?module=subpage&nid=268

  3. Really helpful.
    Thanks for sharing sirji :)