Triangular Factorization and Inversion by Fast Matrix Multiplication
Triangular Factorization and Inversion by Fast Matrix Multiplication
Abstract. The fast matrix multiplication algorithm by Strassen is used to obtain the
triangular factorization of a permutation of any nonsingular matrix of ordern in <Cxnlos'7
operations, and, hence, the inverse of any nonsingular matrix in <Cürtlog'7 operations.
I Axx Ax2 An 0 / 0~
A~ =
_0 / 0 A"1 A%\ ^11 /_
-A^AnAÏÎ A-1
if Axx and A are nonsingular.
Since the algorithm is applied recursively, it will fail whenever the inversion of
a singular principal submatrix in any of the reduced matrices is required.
For example, the block LDU factorization fails to exist for a matrix as simple as
0 0 0 1
0 0 10
0 10 0
_1 0 0 0_
2. The Basic Algorithm. For simplicity, let M be of order « = 2*with det M^O-
Let M° = M. We shall construct a sequence P1, P2, ■■■ , P"'1 of permutation matrices
so that M = LUP, i.e., MP'1 = LU, where P = PlP2 ■■■ P""1 is a permutation
matrix, L= LiL2 ■■• Ln~' is unit lower triangular, U is upper triangular, and det M =
(det P) det U = ± ]I"-i «•<•Since (P*')_1= P' here,
and
\t if S 5¿ Í,
t = maxjy : y*G 5,}, s = min{j : j £ #¿ ) and r =
i ;' [t - 1 if S = f.
Then
Mir1 m;2
0
Aft.
M^r1
where Mxx'~ is a nonsingular upper triangular matrix of order / — 1, MX2~ is
(i - 1) X (n - i + 1), 0 is the (2r+1 - / + 1) X (i - 1) zero matrix, Af«'"1 is
(« - 2r+1) X (i - 1), M22i_1 is (h - i + 1) X (n - i + 1), and M'"1 is nonsingular.
Since 2r+1 — / + 1 > 0 and M'_1 is nonsingular, there exists a nonzero element
in the first row of M22*-1. Hence, there exists a permutation matrix P' such that
N{ m M'"1?', nu* ?¿ 0, and A7*can be partitioned as
t/1
É \ F
N* = G' \ H'
X' r
where [P is (i - T) X (i - T), V*is (i - 2') X (n - i + 2'), F and G* are 2' X 2*,
F' and H* are 2' X (« - i). 0 is the (2r+1 - i + T) X (i - T) zero matrix, X¿ is
(n - 2r+1) X (i - T), and Y" is (« - i - T) X (n - i + V). Further, U* and F are
nonsingular upper triangular.
LetZ¿ = G'iET1 and
/.-
/■•
L'
Z'
/„-._
X' r
At the last step, U = M" 1 is nonsingular and upper triangular.
and
-a>"§(0'<-I^G)XD-
Hence, for n = 2*, triangular factorization requires < (91/25)7* = (3.64)nlog'7
operations.
Inverting U requires < (28/15)7* operations and U~1L~1 requires
^§^-(i)^§(7)'<G2W7)'(D»(^
operations.
Hence, for n = 2", inversion requires (763/75)7* < (10.18)nlogï7 operations.
If M is a nonsingular matrix of order n, where 2* < n < 2*+1, then let 3TC=
M © I2k+,_„. We can find the triangular factorization of a permutation of 2(11,and
hence of a permutation of M, by < (91/25)7*+1 = (637/25)7* < (25.48)nlog*7opera-
tions, and the inverse of 9TC,and hence of M, by < (763/75)7*+1= (5341/75)7* <
(71.22)n'°g*7.
<(fXI)7'<*■"*-■
Now let n be arbitrary. Taking k = [log2 n — 4] and m = [w2~*]+ 1 (cf. [3]),
we have n ^ w2* and (5 + 2m)m2T < (4.7)«logl7.
Now,
and
we cannot guarantee that the elements in the reduced matrices are bounded. However,
there may be a modification of our algorithm which guarantees stability; this question
deserves further investigation.
If a fast matrix multiplication algorithm were given for multiplying two matrices
of order u in v multiplications where log„ v > 2, then algorithms similar to those in
Sections 2 and 4 could find the triangular factorization of a permutation of any
nonsingular matrix, and hence the inverse of any nonsingular matrix, in < cnlog°°
operations. The algorithms would be expressed in terms of the expansions of integers
modulo u and hold over any ring.
Similarly, given an algorithm for multiplying two n X n matrices in 0(n") opera-
tions, then algorithms similar to those in Sections 2 and 4 can find the triangular
factorization of a permutation of any n X n nonsingular matrix in 0(n") operations,
and hence the inverse of any n X n nonsingular matrix in 0(n") operations, where
2 < a g 3. Conversely, given an algorithm for calculating the inverse of an n X n
nonsingular matrix in ^cn" operations, the product of two n X n matrices A, B
can be computed in ^(3ac)na operations, since
/ A ol"1 (~7 -A AB
0 I B =0 I -B
.o o i\ Lo o /.
(Winograd [5]).
Thus, matrix multiplication, triangular factorization, and inversion are equivalent
in computational complexity.
Addendum. A. Schönhage has proposed another method for forming the inverse
of any nonsingular matrix (over the reals or complexes), based on the generalized
inverse identity M"1 = (M*M)~1M*. Since M*M is symmetric positive definite,
Strassen's inversion algorithm will not fail (but the condition number [1, pp. 20-26]
of the problem will be squared). Strassen's matrix multiplication algorithm is used
to form M*M and to multiply (M*M)~1 by M*. This gives the inverse of any non-
singular matrix in ^cnios'7 operations (but the constant c is larger than the ones
given above).