Bidiagonal
Bidiagonal
65
Yu. Hakopian
DOI: https://doi.org/10.18523/2617-70802201911-23
0 ? ? ?
? ? ? ?
? ? ? ?
? ? ?
0 ? ? ?
0 ? ?
? ? ?
0 ? ? ?
? ? ? ?
? 0
B1
B1+
B2
B2+
A= · A+ =
·
· ·
·
·
Bp Bp+
case 1 case 1
0
B1
B1+
B2
B2+
A= 0 · A+ =
·
· ·
·
·
Bp
Bp+
case 2 case 2
B1
B2
B1+
A= ·
·
·
B2+
Bp A+ = 0
·
0 ·
·
case 3 Bp+
B1 case 3
B2 0 0
A= 0 · B1+
·
·
B2+
Bp A+ = 0
·
0 0 ·
·
case 4 Bp+
case 4
Accordingly, the Moore-Penrose inverse also Figure 2.6. The structure of the Moore-Penrose
has a block structure, as shown in Fig. 2.6. inverse.
Yu. Hakopian. Computing the Moore-Penrose inverse for bidiagonal matrices 15
+
Summarizing the previous reasoning, we con- Proposition 1. The entries of the matrix B =
clude that our task is to find the Moore-Penrose = [zij ]m×m are as follows: for the indices i =
inverses for blocks of the following three types: = 1, 2, . . . , m we have
type 1 : bidiagonal block of a size m × m; i−1
1 Y
type 2 : bidiagonal block of a size m − 1 × m; zij = (−1)i+j rs , j = 1, 2, . . . , i − 1;
di s=j
type 3 : bidiagonal block of a size m × m − 1.
In Fig. 2.7 we schematically give the types of di- zii = d1i ;
agonal blocks (the mark ? stands for a nonzero zij = 0, j = i + 1, i + 2, . . . , m,
entry). (2.4)
where
?
? ? bs
rs ≡ , s = 1, 2, . . . , m − 1. (2.5)
? ? ds
.. .. Based on the formulas (2.4) we can write the
. .
following simple procedure to calculate the entries
? ? of the matrix B + .
type 1 Algorithm (B ⇒ B+ )/type 1
1. Compute the quantities rs defined in (2.5).
? ? 2. Compute the lower triangular part of the
? ? matrix B + . For indices i = 1, 2, . . . , m:
.. .. 1
. . zii = ; zij = −rj zi j+1 , j = i − 1, i − 2, . . . , 1.
? ? di
End algorithm
type 2
It can be readily seen that Algorithm
(B ⇒ B+ )/type 1 requires
?
1 2
? ? A(1)
ops = m + O(m) (2.6)
.. 2
? . arithmetical operations.
.. Next, we will focus our attention on computing
. ?
? the Moore-Penrose inverse for the blocks of type 2
and 3.
type 3
A way of computing the Moore-Penrose
Figure 2.7. The types of diagonal blockfs. inverse
It is necessary to pay attention to the follow- To solve the problem, in this section we outline
ing circumstance. As follows from the process of an approach based upon the well-known equality
partitioning the initial matrix (2.1) into blocks, in
each of the Cases 1-4 we have at most two rect- A+ = lim (AT A + εI)−1 AT , (3.1)
ε→+0
angular blocks (of size m − 1 × m or m × m − 1).
The remaining blocks are square lower bidiagonal where I is the identity matrix, which holds true
matrices. As an illustration, see Fig. 2.5. for any real matrix (see [1; 4], for instance). Here
we present the main ideas to compute the Moore-
Computing the Moore-Penrose inverse for a
Penrose inverse for a block of the type 2. For a
block of the type 1 is not difficult. Consider a
block of the type 3, as will be seen below, the
square matrix
problem is reduced to the case under considera-
tion. Note that, as in the previous case, it is con-
d1
b1 venient to introduce new notation for the entries
d2
B=
.. .. ,
(2.3) of the block.
. . Let us have an m − 1 × m bidiagonal matrix
bm−1 dm
d1 b1
d2 b2
where di 6= 0, i = 1, 2, . . . , m and bi 6= 0, i =
.. ..
B= ,
= 1, 2, . . . , m−1 (we choose new notation for block . .
entries). Since the matrix (2.3) is nonsingular then dm−2 bm−2
B + = B −1 (see [1], for instance). This inverse can dm−1 bm−1
be easily found. (3.2)
16 ISSN 2617-7080. Могилянський математичний журнал. 2019. Том 2
µj dj + µj+1 bj = (γj dj + γj+1 bj )ε + O(ε2 ). (4.22) Summarizing the above considerations, on the ba-
sis of the obtained equalities (4.26) and (4.27), we
Substituting the expression (4.22) as well as the can state that the quantities uj satisfy the follow-
representations (4.12) and (4.17) of the quantities ing relations:
νi and t, respectively, into the right hand side of
1
the equality (4.21) yields um−1 = − ,
bm−1
◦ ◦
ν i (γj dj + γj+1 bj ) + O(ε) dj+1 uj+1 + µj+1 (4.28)
yij (ε) = ◦ . uj = − ,
µ1 +d1 (γ1 d1 + γ2 b1 ) + O(ε) bj
j = m − 2, m − 3, . . . , 1 .
By taking limit in the previous equality, according
to (4.19) we find The quantities uj can be represented in closed
◦
form as well. Namely, the following statement
ν i (γj dj + γj+1 bj ) holds.
zij = ◦ , i = 1, 2, . . . , j .
µ1 +d1 (γ1 d1 + γ2 b1 ) Lemma 8. The quantities uj are written as
m−j m−k m−1
!
Further, let us introduce the notation (−1)m−j X Y 1 Y
uj = rs ,
dj r
s=j s
uj ≡ γj dj + γj+1 bj , j = 1, 2, . . . , m − 1 . (4.23) k=1 s=m−k+1
m−j
! 1
X m−k Y 1 m−1
Y um−1 = − ;
(−1) i+j rs bm−1
r
s=j s
k=1 s=m−k+1 ◦
zij = i−1 ! !; dj+1 uj+1 + µj+1
m m−k
Y 1 m−1 uj = − ,
bj
Y X Y
rs · dj rs
s=1
r
s=1 s j = m − 2, m − 3, . . . , 1 .
k=1 s=m−k+1
(4.41)
5. Compute the quantities wj (see (4.38)):
2) for indices j = 1, 2, . . . , m − 1 and i = j +
+ 1, j + 2, . . . , m: 1
w1 = − ;
d1
j j−1
m−1
! k−1
! !
i+j+1
Y X Y 1 Y ◦
(−1) rs rs bj−1 wj−1 + ν j
s=i s=1
rs wj = − ,
k=1 s=k dj
zij = m m−k
! m−1
! ,
X Y 1 Y j = 2, 3, . . . , m − 1 .
dj rs
s=1
rs 6. Compute the quantity q (see (4.25)):
k=1 s=m−k+1
(4.42) ◦
where the quantities rs are defined in (4.9). q =µ1 +d1 u1 .
Below is an example to illustrate Theorem 4.1.
7. Compute the upper triangular part of the
Example 1. Consider m − 1 × m bidiagonal matrix
matrix B + (see (4.24)):
1 1 ◦
ν i uj
B=
.. .. .
zij = , i = 1, 2, . . . , j ; j = 1, 2, . . . , m − 1 .
. . q
1 1
8. Compute the lower triangular part of the
matrix B + (see (4.35)):
Calculations by the formulas (4.41) and (4.42) give
the following result: ◦
µi wj
zij = ,
j
q
i+j
(−1) 1 − , i = 1, 2, . . . , j ,
m i = j + 1, j + 2, . . . , m ;
zij = ,
(−1)i+j+1 j , i = j + 1, j + 2, . . . , m j = 1, 2, . . . , m − 1 .
m End algorithm
j = 1, 2, . . . , m − 1 . Note that the numerical implementation of the
Algorithm (B ⇒ B+ )/type 2 requires
Thus in Theorem 4.1 we give formulas for the
A(2) 2
ops = m + O(m) (4.43)
entries of the Moore-Penrose inverse of a block of
the type 2. In addition, based on the expressions arithmetical operations.
and recurrence relations obtained in this section, Next consider a block of type 3. Let an m ×
we suggest a numerical algorithm to compute the × m − 1 bidiagonal matrix
entries of the matrix B + = [zij ]m×m−1 .
Algorithm (B ⇒ B+ )/type 2 d1
b1 d2
1. Compute the quantities rs (see (4.9)):
..
b2 .
bs B= (4.44)
rs = , s = 1, 2, . . . , m − 1 ; r0 = rm = 1 . . .. d
ds
m−2
bm−2 dm−1
◦ bm−1
2. Compute the quantities µi (see (4.7),(4.11)):
◦ ◦ ◦
be given, where bi , di 6= 0, i = 1, 2, . . . , m − 1 and
µm = 1 ; µi = −ri µi+1 , i = m − 1, m − 2, . . . , 1 . m ≥ 2. The problem of finding the Moore-Penrose
22 ISSN 2617-7080. Могилянський математичний журнал. 2019. Том 2
0.0796 −0.0206
0.1682 0.0082
0.0721 −0.1393
0.1667 0.0000 0.0000
+ −0.3333 0.5000 0.0000
A = .
1.6667 −2.5000 −1.0000
0.2500
0.2006 0.1996 −0.1331 0.0499
0.0506 −0.0337 −0.1442 0.0541
0.0125 −0.0083 0.0055 0.1229
Conclusion
References
1. A. Ben-Israel and T. N. E. Greville, Generalized In- position and Least Squares Solutions”. Numer. Math.
verses. Theory and Applications, 2nd ed. (Springer, 14, 403–420, (1970).
New York, 2003). 4. G. H. Golub and Ch. F. van Loan, Matrix Compu-
2. G. H. Golub and W. Kahan., “Calculating the Sin- tations, 3rd ed. (The John Hopkins University Press,
gular Values and Pseudo-Inverse of a Matrix”. SIAM 1996.)
J. Num. Anal., 2, 205–224. (1965) 5. J. W. Lewis, “Invertion of tridiagonal matrices”. Numer.
3. G. H. Golub and C. Reinsch, “Singular Value Decom- Math., 38, 333–345 (1982).
Акопян Ю. Р.