Documente Academic
Documente Profesional
Documente Cultură
Natal-RN, Brazil
Abstract
The inversion of extremely high order matrices has been a challenging task be-
cause of the limited processing and memory capacity of conventional computers.
In a scenario in which the data does not fit in memory, it is worth to consider
increasing iterations on the data, even if that increases processing time in or-
der to allow such computations to be completed. We propose a algorithm to
compute the inverse of block partitioned matrices as a new form of decreasing
the memory footprint. The proposed algorithm works recursively to invert one
block of a k k block matrix A, with k 2, based on the successive splitting of
A. The algorithm compute one block of the inverse at a time, in order to limit
memory usage during the entire processing.
Keywords: Block Matrices, Large matrices, Schur Complement, Recursive
inversion
1. Introduction
Corresponding author.
Email addresses: iria.cosme@ifrn.edu.br (Iria C. S. Cosme),
isaacfranco@imd.ufrn.br (Isaac F. Fernandes), carvalho.jldc@gmail.com (Joao L. de
Carvalho), samuel@dca.ufrn.b (Samuel Xavier-de-Souza )
2
and centro-Hermitian matrices. The inversion of block circulant matrices has
been extensively investigated in [11] and [12]. Also, there are research suggesting
the use block preconditioner for the block partitioned matrices [13].
Likewise, recursive algorithms have been applied in [11], [14] and [15] for
the inversion of particular cases of matrices, such as circulant-structured ma-
trices. In [14] a recursive method is proposed for the LU decomposition of a
real symmetric circulant matrix. In [11], a recursive algorithm is applied for the
determination of the first block row of the inverse of a block circulant matrix
with circulant blocks. And, finally, [15] proposed a recursive algorithm based on
the inversion of k k block matrices for cases of matrices with circulant blocks
based on previous diagonalization of each circulant block.
In [3], parts of inverse matrix, namely, the diagonal blocks of kernel matrix
of the Least Squares Support Vector Machine (LS-SVM) was used to compute
the predicted labels of the cross validation algorithms. Thus, it is not necessary
to compute and, in fact, store in memory the entire inverse kernel matrix.
In this paper, motivated by the preceding considerations, we introduce a
recursive method for the inversion of a kk block matrix A with square blocks of
order b. The basic idea of this algorithm lies on the determination of one block of
the inverse of the matrix at a time. The method is based on successive splitting
of the original matrix in 4 square matrices of the inferior order, called frames.
For this, it is considered two stages, namely the forward recursive procedure
and backward recursive procedure. The forward recursive procedure terminates
after k 2 steps, when the resulting frames have 2 2 blocks. Thereafter, in
the backward recursive procedure, for each 4 frames generated, operations are
carried out reducing them to a single block.
This paper is organized as follows. In Section 2, we introduce some notations
and summarize the main definitions about inversion of 22 block matrices using
Schur Complement. In Section 3, we present the recursive algorithm. In Section
4, we demonstrate a representative example of inverses of 44 block matrices by
recursion. Finally, in Section 5, we present some numerical results, exhibiting
the efficiency of the proposed method in terms of processing time and using of
3
computational memory.
2. Preliminaries
In this section we begin with some basic notation which is frequently used
in the sequel.
Let M be a nonsingular matrix composed of square blocks M of the same
order
M11 M1k
.. .. ..
Mmm = . , (1)
. .
Mk1 Mkk
where M designates the (, ) block. With this notation, block M has
m
dimension b b, with b = , and M = (M ) is a k by k block matrix.
k
Assume that M 1 is the inverse matrix of M . So,
N11 N1k
. .. ..
1
Mmm = .. . . . (2)
Nk1 Nkk
4
Let us remark that it is possible to define similarly the following Schur
complements
(M/B) = C DB 1 A, (6)
provided that the matrices B, C and D are nonsingular only in (6), (7) and (8),
respectively [17].
Considering the D block, if both M and D in (3) are nonsingular, then
(M/D) = A BD1 C is nonsingular, too, and M can be decomposed as
I BD1 (M/D) 0 I 0
M = , (9)
0 I 0 D D1 C I
where I is the identity matrix. In this case, the inverse of M can be written as
I 0 (M/D)1 0 I BD 1
M 1 =
D 1 C I 0 D 1 0 I
(M/D)1 (M/D)1 BD 1
= . (10)
D 1 C(M/D)1 D 1 +D 1 C(M/D)1 BD 1
The formulae in (10) is well known and has extensively been used in dealing
with inverses of block matrices [18].
It is worth noting that, according to (10), to get E just calculate the inverse
of Schur complement of D in M .
Following this premise, it was observed that to obtain N11 of inverse of the
m m blocks matrix, with m > 2, just successively split the matrix involved in
4 square matrices of the same order, called frames, following some basic rules.
5
Thereafter, for each 4 frames generated, should apply the Schur complement
in the opposite direction to the recursion, reducing them to a single frame.
Finally, N11 is obtained by calculating the inverse of Schur complement of the
last 4 frames involved in the reverse process to the recursion.
For a better understanding, the algorithm will be explained considering two
stages, namely the Forward Recursive Procedure and Backward Recursive Pro-
cedure. For this process, consider (1) as the input block matrix.
6
M11 M1(k1)
.. .. ..
M iA = . (11)
. .
M(k1)1 M(k1)(k1)
M12 M1k
.. . ..
M iB =
. .. .
M(k1)2 M(k1)k
M21 M2(k1)
.. .. ..
M iC = . .
.
Mk1 Mk(k1)
M22 M2k
.. .. ..
M iD = . .
.
Mk2 Mkk
Step 2: Exchange block rows and/or block columns until the that block M22
reaches its original place, namely, second block row and second block column.
In this case, in the Frame M iA , no exchange occurs. In M iB , it is necessary to
exchange the two leftmost block columns. In M iC , it is necessary to exchange
the two uppermost block rows. And, finally, in M iD , simply exchange the two
leftmost block columns and the two uppermost block rows. So, applying these
exchanges, we have
7
M11 M12 M1(k1)
M21 M22 M2(k1)
M iA = M31 M32 M3(k1)
.. .. ..
.
. .
M(k1)1 M(k1)2 M(k1)(k1)
M13 M12 M1k
M23 M22 M2k
M iB = M33 M32 M3k (12)
.. .. .. ..
.
. . .
M(k1)3 M(k1)2 M(k1)k
M31 M32 M3(k1)
M21 M22 M2(k1)
M iC = M41 M42 M4(k1)
.. .. .. ..
.
. . .
Mk1 Mk2 Mk(k1)
M33 M32 M3k
M23 M22 M2k
M iD = M43 M42 M4k
.. .. .. ..
. . . .
Mk3 Mk2 Mkk
8
M33 M32 M3(k1)
M23 M22 M2(k1)
M iD iA = M43 M42 M4(k1)
.. .. .. ..
.
. . .
M(k1)3 M(k1)2 M(k1)(k1)
M32 M34 M3k
M22 M24 M2k
M iD iB = M42 M44 M4k (13)
.. .. .. ..
.
. . .
M(k1)4 M(k1)2 M(k1)k
M23 M22 M2(k1)
M43 M42 M4(k1)
M iD iC = M53 M52 M5(k1)
.. .. .. ..
.
. . .
Mk3 Mk2 Mk(k1)
M22 M24 M2k
M42 M44 M4k
M iD iD = M52 M54 M5k
.. .. .. ..
. . . .
Mk2 Mk4 Mkk
mutation of block rows and/or blocks columns and then generate more four
(k i) (k i) frames, M iiA , M iiB , M iiC and M iiD , excluding one of its block
rows and one of its block columns in a manner analogous to what was done in
Step 2 to the frames resulting from Step 1. Repeat Step i until i = k 2.
The superscript number to the i symbol indicates the amount of these
9
existing symbols, including those not represented. Thus, it denotes M iyx with
y N e x {A, B, C, D}.
Step 1: For each of the resulting 2 2 frames from the Step k-2 in the For-
ward Recursive Procedure, in Subsection 3.1, M ik2
A M ik2 k2
B , M iC e M ik2
D ,
hM ik2
C and hM ik2
D , using the Equations (8), (7), (6) and (5), in that order.
The h symbol indicates that the Schur complement operation was done on the
respective frame.
k3
Step 2: Assemble hM iA i, hM ik3 k3 k3
B i, hM iC i and hM iD i, joining the
four frames that were originated by each in the Forward Recursive Procedure
previously reported in 3.1, in the following way:
hM ik3
A iA hM ik3
A iB
hM ik3
A i=
, (14)
hM ik3
A iC hM ik3
A iD
hM ik3
B iA hM ik3
B iB
hM ik3
B i=
, (15)
hM ik3
B iC hM ik3
B iD
hM ik3
C iA hM ik3
C iB
hM ik3
C i=
, (16)
hM ik3
C iC hM ik3
C iD
hM ik3
D iA hM ik3
B iB
hM ik3
D i=
. (17)
hM ik3
D iC hM ik3
D iD
Then, for each of these 2 2 block matrices, calculate the Schur complement
applying (8), (7), (6) and (5), in this order, generating the blocks: hhM ik3
A i,
hhM ik3 k3 k3
B i, hhM iC i and hhM iD i.
Step i: Considering each four branches of the recursion, repeat the previ-
ki1 i1
ous step generating frames hi M iA i , hi M iki1
B ii1 , hi M iki1
C ii1 and
hi M iki1
D ii1 , until i = k 2 and thus get hk2 M iA ik3 , hk2 M iB ik3 ,
10
hk2 M iC ik3 e hk2 M iD ik3 .
Step k-1: Assemble hk2 M ik2 from hk2 M iA ik3 , hk2 M iB ik3 , hk2 M iC ik3
e hk2 M iD ik3 , in the following way:
k2 k3 k2 k3
h M iA i h M iB i
hk2 M ik2 = . (18)
k2 k3 k2
h M iC i h M iD ik3
And, finally, calculate the Schur complement of hk2 M ik2 with respect to
hk2 M iD ik3 using Equation (8). Thus, the inverse of the matrix corresponding
to N11 corresponds to
11
blocks of order b as
M11 M12 M13 M14
M21 M22 M23 M24
M = (20)
M31 M32 M33 M34
M41 M42 M43 M44
M11 M12 M13 M13 M12 M14
M iA = M21 M22 M23 M iB = M23 M22 M24 (22)
M31 M32 M33 M33 M32 M34
M M32 M33 M M32 M34
31 33
M iC = M21 M22 M23 M iD = M23 M22 M24
M41 M42 M43 M43 M42 M44
12
M13 M12 M12 M14
M iB iA = , M iB iB = , (23)
M23 M22 M22 M24
M23 M22 M22 M24
M iB iC = , M iB iD = .
M33 M32 M32 M34
As the Step 1 of Subsection 3.2, assuming M22 as nonsingular and using the
Equations (8), (7), (6) and (5), in that order, the Schur Complement of M22 for
each of the frames in (23) are:
1
hM iB iA = (M iB iA /M22 ) = M13 M12 M22 M23 (24)
1
hM iB iB = (M iB iB /M22 ) = M14 M12 M22 M24 (25)
1
hM iB iC = (M iB iC /M22 ) = M33 M32 M22 M23 (26)
1
hM iB iD = (M iB iD /M22 ) = M34 M32 M22 M24 (27)
13
Assuming M22 and hM iA iD , hM iB iC , hM iC iB and hM iD iA as nonsingular
and using the Equations (8), (7), (6) and (5), in that order, the Schur Comple-
ment to get for each of the frames are:
= hM iA iA hM iA iB hM iA i1
D hM iA iC
= hM iB iB hM iB iA hM iB i1
C hM iB iD
= hM iC iC hM iC iD hM iC i1
B hM iC iA
= hM iD iD hM iD iC hM iD i1
A hM iD iB
So, as the Step k-1 of Subsection 3.2, let hhM ii be a block matrix generated
by matrices resulting from (32), (33), (34) and (35), as shown in Figure 2.
hhM iA i hhM iB i
hhM ii = (36)
hhM iC i hhM iD i
Thus, hhM ii is a 2 2 block matrix generated from the original 4 4 block
matrix . So, in order to get N11 , simply to get the inverse of Schur complement
of hhM iD i in hhM ii, following the same formula used to get E, shown in the
upper left-hand corner of (10), namely (M/D)1 = (A BD1 C)1 .
Applying this formula, we have
14
M
44
MiA iA MiA iB MiA iC MiA iD MiB iA MiB iB MiB iC MiB iD MiC iA MiC iB MiC iC MiC iD MiD iA MiD iB MiD iC MiD iD
22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
MiAiA MiAiB MiAiC MiAiD MiB iA MiB iB MiB iC MiB iD MiC iA MiC iB MiC iC MiC iD MiD iA MiD iB MiD iC MiD iD
22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22
hMiAiA hMiAiB hMiAiC hMiAiD hMiB iA hMiB iB hMiB iC hMiB iD hMiC iA hMiC iB hMiC iC hMiC iD hMiD iA hMiD iB hMiD iC hMiD iD
11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
hhMii
22
1
N11=(hhMii/hhMiD i)
References
References
[2] R. Byers, Solving the algebraic riccati equation with the matrix sign func-
tion, Linear Algebra and its Applications 85 (1987) 267279.
15
[4] H. Elman, V. E. Howle, J. Shadid, R. Shuttleworth, R. Tuminaro, A tax-
onomy and comparison of parallel block multi-level preconditioners for the
incompressible navierstokes equations, Journal of Computational Physics
227 (3) (2008) 17901808.
[5] F. Brezzi, M. Fortin, Mixed and hybrid finite element methods, Springer-
Verlag, New York, 1991.
[6] J. T. Betts, Practical methods for optimal control using nonlinear program-
ming, Siam, 2001.
[7] A. Bjorck, Numerical methods for least squares problems, Siam, 1996.
[10] T.-T. Lu, S.-H. Shiou, Inverses of 2 2 block matrices, Computers & Math-
ematics with Applications 43 (1) (2002) 119129.
[13] S. Karimi, B. Zali, The block preconditioned lsqr and gl-lsqr algorithms
for the block partitioned matrices, Applied Mathematics and Computation
227 (2014) 811820.
16
[15] N. L. Tsitsas, E. G. Alivizatos, G. H. Kalogeropoulos, A recursive algorithm
for the inversion of matrices with circulant blocks, Applied mathematics
and computation 188 (1) (2007) 877894.
[16] F. Zhang, The Schur complement and its applications, Vol. 4, Springer
Science & Business Media, 2005.
17