Computing the Moore-Penrose Inverse for Bidiagonal Matrices
Total Page:16
File Type:pdf, Size:1020Kb
УДК 519.65 Yu. Hakopian DOI: https://doi.org/10.18523/2617-70802201911-23 COMPUTING THE MOORE-PENROSE INVERSE FOR BIDIAGONAL MATRICES The Moore-Penrose inverse is the most popular type of matrix generalized inverses which has many applications both in matrix theory and numerical linear algebra. It is well known that the Moore-Penrose inverse can be found via singular value decomposition. In this regard, there is the most effective algo- rithm which consists of two stages. In the first stage, through the use of the Householder reflections, an initial matrix is reduced to the upper bidiagonal form (the Golub-Kahan bidiagonalization algorithm). The second stage is known in scientific literature as the Golub-Reinsch algorithm. This is an itera- tive procedure which with the help of the Givens rotations generates a sequence of bidiagonal matrices converging to a diagonal form. This allows to obtain an iterative approximation to the singular value decomposition of the bidiagonal matrix. The principal intention of the present paper is to develop a method which can be considered as an alternative to the Golub-Reinsch iterative algorithm. Realizing the approach proposed in the study, the following two main results have been achieved. First, we obtain explicit expressions for the entries of the Moore-Penrose inverse of bidigonal matrices. Secondly, based on the closed form formulas, we get a finite recursive numerical algorithm of optimal computational complexity. Thus, we can compute the Moore-Penrose inverse of bidiagonal matrices without using the singular value decomposition. Keywords: Moor-Penrose inverse, bidiagonal matrix, inversion formula, finite recursive algorithm. Introduction The most effective procedure to compute the Moore-Penrose inverse involves two main stages As is known, for a real m × n matrix A the [4]. Moore-Penrose inverse A+ is the unique matrix Stage 1. Matrix reduction to the bidiagonal that satisfies the following four properties [1]: form. At this stage an m × n matrix, where m ≥ n, + + + + AA A = A;A AA = A ; by means of the Householder reflections is trans- formed to upper bidiagonal form (A+A)T = A+A; (AA+)T = AA+ : 2 a a 0 ::: 0 3 If A is a square nonsingular matrix, then A+ = 11 12 6 0 a22 a23 ::: 0 7 = A−1. Thus the Moore-Penrose inverse general- 6 7 6 . .. .. .. 7 izes the ordinary matrix inversion. 6 . 7 6 7 : There is well-known formula for the Moore- 6 0 ::: 0 an−1 n−1 an−1 n 7 6 7 Penrose inverse which is obtained by the singular 6 0 ::: 0 0 ann 7 6 7 value decomposition (abbreviated SVD) of the ma- 4 5 trix (see [1; 4], for instance). 0 The singular value decomposition of an m × n (1:3) matrix A with rank r is its factorization of the form The computational process is known as Golub- Kahan bidiagonalization [2]. Thereby the problem T A = UΛV ; (1:1) is reduces to the Moore-Penrose inversion of the bidiagonal matrix (1.3). where U is an m × m orthogonal matrix, Λ = Stage 2. Golub-Reinsch SVD iterative algo- = diag [σ ; σ ; : : : ; σ ] is an m×n diagonal matrix, 1 2 r rithm. and V is an n×n orthogonal matrix. The diagonal Once the bidiagonalization of the initial ma- entries σ ≥ σ ≥ ::: ≥ σ > 0 of Λ are known as 1 2 r trix has been achieved, the next task is to zero the singular values of the matrix A. Having the fac- superdiagonal entries in the matrix (1.3). With torization (1.1), the Moore-Penrose inverse can be this purpose the Golub-Reinsch algorithm is im- written as plemented [3]. The algorithm, with the help of the A+ = V Λ+U T ; (1:2) Givens rotations generates a sequence of bidiago- + −1 −1 −1 where Λ = diag [σ1 ; σ2 ; : : : ; σr ] is n × m di- nal matrices that converge to a diagonal form. As agonal matrix. a result, at a certain step of the iterative process we c Yu. Hakopian, 2019 12 ISSN 2617-7080. Могилянський математичний журнал. 2019. Том 2 get an approximation to the SVD of the bidiagonal Case 1: a11 6= 0; ann 6= 0. matrix (1.3). Having the SVD, the Moore-Penrose Let zero diagonal entries of the matrix A are inverse of the matrix is computed (see [1; 4], for ai1 i1 ; ai2 i2 ; : : : ; aip−1 ip−1 , where 1 < i1 < i2 < instance). < ··· < ip−1 < n and p > 1. We split the matrix The objective of the present work is to de- into blocks drawing dividing lines after the rows velop a method which allows to deduce formulas i1 − 1; i2 − 1; : : : ; ip−1 − 1 and after the columns for the entries of the Moore-Penrose inverse of i1; i2; : : : ; ip−1. As a result, the matrix (2.1) takes upper bidiagonal matrices. The obtained closed a block diagonal form. The first and the last diag- form solution to the Moore-Penrose inversion may onal blocks are rectangular bidiagonal matrices of be considered as an alternative to sufficiently the sizes (i1 −1)×i1 and (n−ip−1 +1)×(n−ip−1), labour-consuming Golub-Reinsch iterative proce- respectively, while the remaining blocks are square dure briefly described in the Stage 2 of this sec- lower bidiagonal matrices. As an illustration, a tion. Moreover, explicit expressions for the entries pattern of the matrix (for n = 10), the partition- of the Moore-Penrose inverse lead to fairly simple ing procedure and resulting block diagonal struc- finite numerical algorithm with optimal volume of ture are shown in Fig. 2.1 (stars represent nonzero computational expenditures. entries). Partition of a bidiagonal matrix into blocks ?? ?? Let us consider a real n × n upper bidiagonal ?? matrix 0 ? 2 3 a11 a12 0 ? 6 a22 a23 0 7 ?? 6 7 ?? A = 6 .. .. 7 : 6 . 7 0 ? 6 7 4 0 an−1 n−1 an−1 n 5 ?? ann ? (2:1) Note that it suffices to consider square upper bidi- ?? agonal matrices since for rectangular upper bidi- ?? agonal matrices the problem can be easily reduced ?? to our case. Indeed, if m > n then according to ? (1.3) we have the block structure ? ?? A ; ?? 0 ? where A is a square upper bidiagonal matrix of the ?? ? form (2.1). It can be seen that in this case + Figure 2.1. Partition of the matrix (case 1). A = A+ 0T : 0 Case 2: a11 = 0; ann 6= 0. We allocate the first column of the matrix We assume that the matrix A is singular, i.e. A, as a separate zero block of the size n × a11a22 : : : ann = 0. Next, we assume that × 1. Next, we partition the remaining subma- trix into diagonal blocks as follows. If there are ai i+1 6= 0; i = 1; 2; : : : ; n − 1: (2:2) other zero diagonal entries of the matrix A, say Otherwise, if some of superdiagonal entries of the ai1 i1 ; ai2 i2 ; : : : ; aip−1 ip−1 , where 1 < i1 < i2 < matrix A are equal to zero, the problem of comput- < ··· < ip−1 < n and p > 1, then the subma- ing the Moore-Penrose inverse is decomposed into trix is subdivided according to the rule drscribed several similar problems for bidiagonal matrices of in the Case 1. As an illustration, see a pattern lower order. of the matrix given in Fig. 2.2 . The last diagonal To compute the Moore-Penrose inverse of the block of the submatrix is rectangular bidiagonal matrix A, we apply a special partition of this ma- matrix of the size (n − ip−1 + 1) × (n − ip−1); the trix into blocks. The partitioning procedure uses remaining diagonal blocks are square lower bidiag- the arrangement of zeros on the main diagonal onal matrices. If there are no other zero diagonal of the matrix. We distinguish the following four entries, except the first one, then the submatrix is cases. not subdivided. Yu. Hakopian. Computing the Moore-Penrose inverse for bidiagonal matrices 13 0 ? ?? ?? ?? ?? ?? ?? ? 0 ? ?? 0 ? ? ?? ? 0 ? ?? ?? ?? ? 0 ? Figure 2.3. Partition of the matrix (case 3). ?? ?? ?? Case 4: a11 = 0; ann = 0. ? The allocation of the first column and the last 0 ? row of the matrix A gives us three zero blocks of ?? the sizes (n − 1) × 1, 1 × (n − 1) and 1 × 1 (see ? Fig. 2.4). Then we partition the remaining subma- ?? trix. If there are other zero diagonal entries of the ? matrix A, say ai1 i1 ; ai2 i2 ; : : : ; aip−1 ip−1 , where 1 < < i1 < i2 < ··· < ip−1 < n and p > 1, then the submatrix is subdivided by the rule drscribed in the Case 1. The diagonal blocks of this subdivi- Figure 2.2. Partition of the matrix (case 2). sion are square lower bidiagonal matrices. If there are no other zero diagonal entries except the first and last, then the submatrix is not subdivided. Case 3: a11 6= 0; ann = 0. First, we allocate the last row of the matrix A, as a separate zero block of the size 1 × n. 0 ? Next, we partition the remaining submatrix into ?? diagonal blocks using the same idea. If there are 0 ? other zero diagonal entries of the matrix A, say ?? ?? ai i ; ai i ; : : : ; ai i , where 1 < i1 < i2 < 1 1 2 2 p−1 p−1 0 ? < ··· < i < n and p > 1, then the submatrix p−1 0 ? is subdivided by the rule drscribed in the Case 1 ?? (see a pattern of the matrix given in Fig. 2.3). The ?? first diagonal block of the submatrix is rectangu- 0 lar bidiagonal matrix of the size (i1 − 1) × i1; the remaining diagonal blocks are square lower bidiag- ? onal matrices.