Block matrix pseudoinverse

From testwiki
Jump to navigation Jump to search

Template:Short description Template:Refimprove In mathematics, a block matrix pseudoinverse is a formula for the pseudoinverse of a partitioned matrix. This is useful for decomposing or approximating many algorithms updating parameters in signal processing, which are based on the least squares method.

Derivation

Consider a column-wise partitioned matrix:

[𝐀𝐁],π€βˆˆβ„mΓ—n,πβˆˆβ„mΓ—p,mβ‰₯n+p.

If the above matrix is full column rank, the Moore–Penrose inverse matrices of it and its transpose are

[𝐀𝐁]+=([𝐀𝐁]𝖳[𝐀𝐁])βˆ’1[𝐀𝐁]𝖳,[𝐀𝖳𝐁𝖳]+=[𝐀𝐁]([𝐀𝐁]𝖳[𝐀𝐁])βˆ’1.

This computation of the pseudoinverse requires (n + p)-square matrix inversion and does not take advantage of the block form.

To reduce computational costs to n- and p-square matrix inversions and to introduce parallelism, treating the blocks separately, one derives [1]

[𝐀𝐁]+=[𝐏BβŠ₯𝐀(𝐀𝖳𝐏BβŠ₯𝐀)βˆ’1𝐏AβŠ₯𝐁(𝐁𝖳𝐏AβŠ₯𝐁)βˆ’1]=[(𝐏BβŠ₯𝐀)+(𝐏AβŠ₯𝐁)+],[𝐀𝖳𝐁𝖳]+=[𝐏BβŠ₯𝐀(𝐀𝖳𝐏BβŠ₯𝐀)βˆ’1,𝐏AβŠ₯𝐁(𝐁𝖳𝐏AβŠ₯𝐁)βˆ’1]=[(𝐀𝖳𝐏BβŠ₯)+(𝐁𝖳𝐏AβŠ₯)+],

where orthogonal projection matrices are defined by

𝐏AβŠ₯=πˆβˆ’π€(𝐀𝖳𝐀)βˆ’1𝐀𝖳,𝐏BβŠ₯=πˆβˆ’π(𝐁𝖳𝐁)βˆ’1𝐁𝖳.

The above formulas are not necessarily valid if [𝐀𝐁] does not have full rank – for example, if 𝐀≠0, then

[𝐀𝐀]+=12[𝐀+𝐀+]β‰ [(𝐏AβŠ₯𝐀)+(𝐏AβŠ₯𝐀)+]=0

Application to least squares problems

Given the same matrices as above, we consider the following least squares problems, which appear 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 𝐱=[𝐱1𝐱2] solves an over-determined system:

[𝐀,𝐁][𝐱1𝐱2]=𝐝,πβˆˆβ„mΓ—1.

Using the block matrix pseudoinverse, we have

𝐱=[𝐀,𝐁]+𝐝=[(𝐏BβŠ₯𝐀)+(𝐏AβŠ₯𝐁)+]𝐝.

Therefore, we have a decomposed solution:

𝐱1=(𝐏BβŠ₯𝐀)+𝐝,𝐱2=(𝐏AβŠ₯𝐁)+𝐝.

Row-wise partitioning in under-determined least squares

Suppose a solution 𝐱 solves an under-determined system:

[𝐀𝖳𝐁𝖳]𝐱=[𝐞𝐟],πžβˆˆβ„nΓ—1,πŸβˆˆβ„pΓ—1.

The minimum-norm solution is given by

𝐱=[𝐀𝖳𝐁𝖳]+[𝐞𝐟].

Using the block matrix pseudoinverse, we have

𝐱=[(𝐀𝖳𝐏BβŠ₯)+(𝐁𝖳𝐏AβŠ₯)+][𝐞𝐟]=(𝐀𝖳𝐏BβŠ₯)+𝐞+(𝐁𝖳𝐏AβŠ₯)+𝐟.

Comments on matrix inversion

Instead of ([𝐀𝐁]𝖳[𝐀𝐁])βˆ’1, we need to calculate directly or indirectlyTemplate:Citation neededTemplate:Original research?

(𝐀𝖳𝐀)βˆ’1,(𝐁𝖳𝐁)βˆ’1,(𝐀𝖳𝐏BβŠ₯𝐀)βˆ’1,(𝐁𝖳𝐏AβŠ₯𝐁)βˆ’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 (𝐀𝖳𝐀)βˆ’1 and (𝐁𝖳𝐁)βˆ’1 in parallel. Then, we finish to compute (𝐀𝖳𝐏BβŠ₯𝐀)βˆ’1 and (𝐁𝖳𝐏AβŠ₯𝐁)βˆ’1 also in parallel.

See also

References

Template:Reflist

Template:Numerical linear algebra