Decomposing a positive semi-definite matrix

In summary, if M is a dxd positive semi-definite matrix, then it can be shown that it is equal to the product of an upper-triangular matrix U and its transpose, U'. This can be obtained using the Cholesky factorization algorithm. For a psd matrix M with dimensions rxd, one can use this algorithm to find a matrix L with dimensions rxd such that M = L'L, where L is an rxd matrix. This can be done in MATLAB using the Cholesky function. However, in some cases, some rows of U may be all zeros, in which case they can be dropped to obtain a new matrix V. The algorithm for Cholesky factorization is fairly simple and can
  • #1
xponential
9
0

Homework Statement



if M is dxd positive semi-definite matrix, then:

M = L'(or L transpose) * L

where L is a matrix of dimensions rxd

How can I get L given M and the number of rows, r?

for example,

if M is 800x800 p.s.d, I want L such that it is a 30x800 matrix and so
M (800x800) = L' (800x30) * L (30x800)

If you know a MATLAB function that can do just that, it would be perfect!
 
Physics news on Phys.org
  • #2
xponential said:

Homework Statement



if M is dxd positive semi-definite matrix, then:

M = L'(or L transpose) * L

where L is a matrix of dimensions rxd

How can I get L given M and the number of rows, r?

for example,

if M is 800x800 p.s.d, I want L such that it is a 30x800 matrix and so
M (800x800) = L' (800x30) * L (30x800)

If you know a MATLAB function that can do just that, it would be perfect!

If M is an nxn positive semi-definite matrix, then one can show that there exist an upper-triangular matrix U such that M = UT U. One obtains U by the algorithm for Cholesky factorization. Although many discussions of that algorithm assume M is positive-definite, if one is careful to put the argument in the correct form one can prove that it also applies to the positive-semidefnite case, with very slight modifications. I don't have access to Matlab, but the latest versions of Maple can do Cholesky factorization for positive-semidefinite matrices. Basically, the algorithm for a psd matrix M = (mij) is:
(1) If m11 = 0, all elements in row 1 and column 1 must also be zero (otherwise, M could not be psd). If that holds, ignore row and column 1 and start again. Therefore, we may as well assume m11 > 0. Set
[tex] u_{11}= \sqrt{m_{11}} \text{ and } u_{1j} = \frac{m_{1j}}{u_{11}},\; j=2,\ldots, n[/tex]
(2) For i ≥ 2: let
[tex] u_{ii}^2 = m_{ii} - \sum_{p=1}^{i-1} u_{pi}^2.[/tex] If ##u_{ii}^2 = 0## we must have ##m_{ij} - \sum_{p=1}^{i-1} u_{pi} u_{pj} = 0 \; \forall j > i.## In that case, set uij = 0 for all j ≥ i. Otherwise, set
[tex] u_{ii} = \sqrt{u_{ii}^2}, \; u_{ij} = \frac{m_{ij} -
\sum_{p=1}^{i-1} u_{pi} u_{pj}}{u_{ii}} \; \forall j > i.[/tex]

So, in the psd case some rows of U will be all zeros (unlike in the pd case); we can omit the zero rows of U to get a new matrix V which is no longer upper-triangular, but still gives
M = VT V.

This algorithm is so simple that I used to have it programmed into an HP hand-held calculator; it could decompose matrices up to about 10x10.

RGV
 
Last edited:
  • #3
Thanks Ray .. I actually know about using Cholesky's in MATLAB .. however .. as in the example I provided .. I am required to find L such that it is (30x800) matrix instead of (800x800).
 
  • #4
Have you TRIED cholesky? Perhaps U has 770 zero rows, which can be dropped. (I don't know if this is true; you would need to try it to see.)

Anyway, does your course notes or textbook say nothing about this?

RGV
 

What is a positive semi-definite matrix?

A positive semi-definite matrix is a square matrix where all of its eigenvalues are non-negative. This means that when the matrix is multiplied by any non-zero vector, the resulting vector will have a non-negative dot product with itself.

Why is decomposing a positive semi-definite matrix important?

Decomposing a positive semi-definite matrix allows us to break it down into simpler components, making it easier to analyze and manipulate. This is especially useful in applications such as data analysis and machine learning.

What are the different ways to decompose a positive semi-definite matrix?

The most commonly used methods for decomposing a positive semi-definite matrix are the Cholesky decomposition, the spectral decomposition, and the singular value decomposition.

Can a positive semi-definite matrix always be decomposed?

Yes, every positive semi-definite matrix can be decomposed using one of the methods mentioned above. However, the decomposition may not always be unique.

What are some applications of decomposing a positive semi-definite matrix?

Decomposing a positive semi-definite matrix is used in various fields such as statistics, engineering, and computer science. It is commonly used in data analysis, image processing, and signal processing to extract meaningful information from a complex matrix.

Similar threads

  • Calculus and Beyond Homework Help
Replies
4
Views
834
  • Calculus and Beyond Homework Help
Replies
3
Views
811
  • Calculus and Beyond Homework Help
Replies
11
Views
2K
  • Linear and Abstract Algebra
Replies
1
Views
596
  • Programming and Computer Science
Replies
3
Views
2K
  • Calculus and Beyond Homework Help
Replies
2
Views
1K
  • Calculus and Beyond Homework Help
Replies
4
Views
1K
  • Calculus and Beyond Homework Help
Replies
1
Views
1K
Replies
4
Views
2K
  • Calculus and Beyond Homework Help
Replies
3
Views
3K
Back
Top