Block matrix pseudoinverse

Block matrix pseudoinverse

Block matrix pseudoinverse is a formula of pseudoinverse of a partitioned matrix. This is useful for decomposing or approximating many algorithms updating parameters in signal processing, which are based on least squares method.

Derivation

Consider a column-wise partitioned matrix:: [mathbf A, mathbf B] , qquad mathbf A in eals^{m imes n}, qquad mathbf B in eals^{m imes p}, qquad m geq n+p.

If the above matrix is full rank, the pseudoinverse matrices of it and its transpose are as follows.: egin{bmatrix}mathbf A, & mathbf Bend{bmatrix}^{+} = ( [mathbf A, mathbf B] ^T [mathbf A, mathbf B] )^{-1} [mathbf A, mathbf B] ^T,: egin{bmatrix}mathbf A^T \ mathbf B^T end{bmatrix}^{+} = [mathbf A, mathbf B] ( [mathbf A, mathbf B] ^T [mathbf A, mathbf B] )^{-1}. The pseudoinverse requires "(n+p)"-square matrix inversion.

To reduce complexity and introduce parallelism, we derive the following decomposed formula.From a block matrix inverse mathbf ( [mathbf A, mathbf B] ^T [mathbf A, mathbf B] )^{-1}, we can have: egin{bmatrix}mathbf A, & mathbf B end{bmatrix}^{+} = [mathbf P_B^{perp} mathbf A( mathbf A^T mathbf P_B^{perp} mathbf A)^{-1}, quad mathbf P_A^{perp} mathbf B(mathbf B^T mathbf P_A^{perp} mathbf B)^{-1}] ^T, : egin{bmatrix}mathbf A^T \ mathbf B^T end{bmatrix}^{+} = [mathbf P_B^{perp} mathbf A( mathbf A^T mathbf P_B^{perp} mathbf A)^{-1}, quad mathbf P_A^{perp} mathbf B(mathbf B^T mathbf P_A^{perp} mathbf B)^{-1}] , where orthogonal projection matrices are defined by:: mathbf P_A^{perp} = mathbf I - mathbf A (mathbf A^T mathbf A)^{-1} mathbf A^T,qquad mathbf P_B^{perp} = mathbf I - mathbf B (mathbf B^T mathbf B)^{-1} mathbf B^T .

Interestingly, from the idempotence of projection matrix, we can verify that the pseudoinverse of block matrix consists of pseudoinverse of projected matrices:: egin{bmatrix}mathbf A, & mathbf Bend{bmatrix}^{+} = egin{bmatrix}(mathbf P_B^{perp}mathbf A)^{+}\ (mathbf P_A^{perp}mathbf B)^{+} end{bmatrix}, : egin{bmatrix}mathbf A^T \ mathbf B^T end{bmatrix}^{+} = [(mathbf A^T mathbf P_B^{perp})^{+}, quad (mathbf B^T mathbf P_A^{perp})^{+} ] .

Thus, we decomposed the block matrix pseudoinverse into two submatrix pseudoinverses, which cost "n"- and "p"-square matrix inversions, respectively.

Application to least squares problems

Given the same matrices as above, we consider the following least squares problems, whichappear as multiple objective optimizations or constrained problems in signal processing.Eventually, we can implement a parallel algorithm for least squares based on the following results.

Column-wise partitioning in over-determined least squares

Suppose a solution mathbf x = egin{bmatrix}mathbf x_1 \mathbf x_2 \end{bmatrix} solves an over-determined system:: egin{bmatrix}mathbf A, & mathbf B end{bmatrix}egin{bmatrix}mathbf x_1 \mathbf x_2 \end{bmatrix}= mathbf d, qquad mathbf d in eals^{m imes 1}.

Using the block matrix pseudoinverse, we have:mathbf x= egin{bmatrix}mathbf A, & mathbf Bend{bmatrix}^{+},mathbf d= egin{bmatrix}(mathbf P_B^{perp} mathbf A)^{+}\(mathbf P_A^{perp} mathbf B)^{+} end{bmatrix}mathbf d.Therefore, we have a decomposed solution::mathbf x_1= (mathbf P_B^{perp} mathbf A)^{+},mathbf d,qquadmathbf x_2= (mathbf P_A^{perp} mathbf B)^{+} ,mathbf d.

Row-wise partitioning in under-determined least squares

Suppose a solution mathbf x solves an under-determined system:: egin{bmatrix}mathbf A^T \ mathbf B^T end{bmatrix}mathbf x = egin{bmatrix}mathbf e \ mathbf f end{bmatrix}, qquad mathbf e in eals^{n imes 1},qquad mathbf f in eals^{p imes 1}.

The minimum-norm solution is given by:mathbf x= egin{bmatrix}mathbf A^T \ mathbf B^T end{bmatrix}^{+},egin{bmatrix}mathbf e \ mathbf f end{bmatrix}.

Using the block matrix pseudoinverse, we have:mathbf x= [(mathbf A^Tmathbf P_B^{perp})^{+}, quad (mathbf B^Tmathbf P_A^{perp})^{+} ] egin{bmatrix}mathbf e \ mathbf f end{bmatrix}= (mathbf A^Tmathbf P_B^{perp})^{+},mathbf e+(mathbf B^Tmathbf P_A^{perp} )^{+},mathbf f .

Comments on matrix inversion

Instead of mathbf ( [mathbf A, mathbf B] ^T [mathbf A, mathbf B] )^{-1}, we need to calculate directly or indirectly

: quad (mathbf A^T mathbf A)^{-1},quad (mathbf B^T mathbf B)^{-1},quad (mathbf A^T mathbf P_B^{perp} mathbf A)^{-1}, quad (mathbf B^T mathbf P_A^{perp} mathbf B)^{-1}.

In a dense and small system, we can use singular value decomposition, QR decomposition, or Cholesky decomposition to replace the matrix inversions with numerical routines. In a large system, we may employ iterative methods such as Krylov subspace methods.

Considering parallel algorithms, we can compute (mathbf A^T mathbf A)^{-1} and (mathbf B^T mathbf B)^{-1} in parallel. Then, we finish to compute (mathbf A^T mathbf P_B^{perp} mathbf A)^{-1} and (mathbf B^T mathbf P_A^{perp} mathbf B)^{-1} also in parallel.

Proof of block matrix inversion

Let a block matrix be:egin{bmatrix}A & B \C & Dend{bmatrix}.We can get an inverse formula by combining the previous results in [ [http://ccrma.stanford.edu/~jos/lattice/Block_matrix_decompositions.html Block matrix decompositions] ] .:egin{bmatrix}A & B \C & Dend{bmatrix}^{-1}=egin{bmatrix} (A-B{D}^{-1}C)^{-1} & -A^{-1}B(D-C{A}^{-1}B)^{-1} \ -D^{-1}C(A-B{D}^{-1}C)^{-1} & (D-C{A}^{-1}B)^{-1} end{bmatrix}=egin{bmatrix} S^{-1}_{D} & -A^{-1}BS^{-1}_{A} \ -D^{-1}CS^{-1}_{D} & S^{-1}_{A} end{bmatrix},where S_{A} and S_{D}, respectively, Schur complements of Aand D, are defined by S_{A} = D-C{A}^{-1}B, and S_{D} =A-B{D}^{-1}C. This relation is derived by using Block TriangularDecomposition. It is called "simple block matrix inversion." [ [http://ieeexplore.ieee.org/xpls/abs_all.jsp?isnumber=30419&arnumber=1399280&count=249&index=181 S. Jo, S. W. Kim and T. J. Park, "Equally constrained affine projection algorithm," "in Conference Record of the Thirty-Eighth Asilomar Conference on Signals, Systems and Computers," vol. 1, pp. 955-959, Nov. 7-10, 2004.] ]

Now we can obtain the inverse of the symmetric block matrix: :egin{bmatrix}mathbf A^T mathbf A & mathbf A^T mathbf B \mathbf B^T mathbf A & mathbf B^T mathbf Bend{bmatrix}^{-1}=egin{bmatrix} (mathbf A^T mathbf A-mathbf A^T mathbf B(mathbf B^T mathbf B)^{-1}mathbf B^T mathbf A)^{-1} & -(mathbf A^T mathbf A)^{-1}mathbf A^T mathbf B(mathbf B^T mathbf B-mathbf B^T mathbf A(mathbf A^T mathbf A)^{-1}mathbf A^T mathbf B)^{-1} \ -(mathbf B^T mathbf B)^{-1}mathbf B^T mathbf A(mathbf A^T mathbf A-mathbf A^T mathbf B(mathbf B^T mathbf B)^{-1}mathbf B^T mathbf A)^{-1} & (mathbf B^T mathbf B-mathbf B^T mathbf A(mathbf A^T mathbf A)^{-1}mathbf A^T mathbf B)^{-1} end{bmatrix}:::=egin{bmatrix} (mathbf A^T mathbf P_B^{perp} mathbf A)^{-1} & -(mathbf A^T mathbf A)^{-1}mathbf A^T mathbf B(mathbf B^T mathbf P_A^{perp} mathbf B)^{-1}\ -(mathbf B^T mathbf B)^{-1}mathbf B^T mathbf A(mathbf A^T mathbf P_B^{perp} mathbf A)^{-1} & (mathbf B^T mathbf P_A^{perp} mathbf B)^{-1}end{bmatrix}Since the block matrix is symmetric, we also have:egin{bmatrix}mathbf A^T mathbf A & mathbf A^T mathbf B \mathbf B^T mathbf A & mathbf B^T mathbf Bend{bmatrix}^{-1}=egin{bmatrix} (mathbf A^T mathbf P_B^{perp} mathbf A)^{-1} & -(mathbf A^T mathbf P_B^{perp} mathbf A)^{-1} mathbf A^T mathbf B(mathbf B^T mathbf B)^{-1}\ -(mathbf B^T mathbf P_A^{perp} mathbf B)^{-1} mathbf B^T mathbf A (mathbf A^T mathbf A)^{-1} & (mathbf B^T mathbf P_A^{perp} mathbf B)^{-1}end{bmatrix}.

Then, we can see how the Schur complements are connected to the projection matrices of the symmetric, partitioned matrix.

Notes and references

External links

* [http://www.ee.ic.ac.uk/hp/staff/dmb/matrix/intro.html The Matrix Reference Manual] by [http://www.ee.ic.ac.uk/hp/staff/dmb/dmb.html Mike Brookes]
* [http://www.csit.fsu.edu/~burkardt/papers/linear_glossary.html Linear Algebra Glossary] by [http://www.csit.fsu.edu/~burkardt/ John Burkardt]
* [http://2302.dk/uni/matrixcookbook.html The Matrix Cookbook] by [http://2302.dk/uni/ Kaare Brandt Petersen]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Moore–Penrose pseudoinverse — In mathematics, and in particular linear algebra, a pseudoinverse A+ of a matrix A is a generalization of the inverse matrix.[1] The most widely known type of matrix pseudoinverse is the Moore–Penrose pseudoinverse, which was independently… …   Wikipedia

  • Moore-Penrose pseudoinverse — In mathematics, and in particular linear algebra, the pseudoinverse A^+ of an m imes n matrix A is a generalization of the inverse matrix.cite book | last=Ben Israel | first = Adi | coauthors=Thomas N.E. Greville | title=Generalized Inverses |… …   Wikipedia

  • Invertible matrix — In linear algebra an n by n (square) matrix A is called invertible (some authors use nonsingular or nondegenerate) if there exists an n by n matrix B such that where In denotes the n by n identity matrix and the multiplication used is ordinary… …   Wikipedia

  • Orthogonal matrix — In linear algebra, an orthogonal matrix (less commonly called orthonormal matrix[1]), is a square matrix with real entries whose columns and rows are orthogonal unit vectors (i.e., orthonormal vectors). Equivalently, a matrix Q is orthogonal if… …   Wikipedia

  • List of numerical analysis topics — This is a list of numerical analysis topics, by Wikipedia page. Contents 1 General 2 Error 3 Elementary and special functions 4 Numerical linear algebra …   Wikipedia

  • List of mathematics articles (B) — NOTOC B B spline B* algebra B* search algorithm B,C,K,W system BA model Ba space Babuška Lax Milgram theorem Baby Monster group Baby step giant step Babylonian mathematics Babylonian numerals Bach tensor Bach s algorithm Bachmann–Howard ordinal… …   Wikipedia

  • List of matrices — This page lists some important classes of matrices used in mathematics, science and engineering: Matrices in mathematics*(0,1) matrix a matrix with all elements either 0 or 1. Also called a binary matrix . *Adjugate matrix * Alternant matrix a… …   Wikipedia

  • List of linear algebra topics — This is a list of linear algebra topics. See also list of matrices glossary of tensor theory. Contents 1 Linear equations 2 Matrices 3 Matrix decompositions 4 …   Wikipedia

  • Linear least squares (mathematics) — This article is about the mathematics that underlie curve fitting using linear least squares. For statistical regression analysis using least squares, see linear regression. For linear regression on a single variable, see simple linear regression …   Wikipedia

  • Jacobi eigenvalue algorithm — The Jacobi eigenvalue algorithm is a numerical procedure for the calculation of all eigenvalues and eigenvectors of a real symmetric matrix. Description Let varphi in mathbb{R}, , 1 le k < l le n and let J(varphi, k, l) denote the n imes n matrix …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”