invers from covariance of a matrix*matrix'

given a is a matrix, is the matrix of covariance of (a*a') is always singular?

댓글 수: 2

the cyclist
the cyclist 2012년 1월 2일
Can you please clarify? Are you interested in the singularity of cov(a) for arbitrary a, or of cov(b), for b = (a*a')?
eri
eri 2012년 1월 3일
cov(b) for b=a*a'

댓글을 달려면 로그인하십시오.

 채택된 답변

Teja Muppirala
Teja Muppirala 2012년 1월 4일

0 개 추천

cov(a) is ALWAYS singular for ANY square matrix a, because you subtract off the column means. This guarantees that you reduces the rank by one (unless it is already singular) before multiplying the matrix with its transpose.
a = rand(5,5); % a is an arbitrary square matrix
rank(a) %<-- is 5
a2 = bsxfun(@minus, a, mean(a));
rank(a2) %<-- is now 4
cova = a2'*a2/4 %<-- (rank 4) x (rank 4) = rank 4
cov(a) %<-- This is the same as "cova"
rank(cova) %<-- verify this is rank 4

추가 답변 (1개)

the cyclist
the cyclist 2012년 1월 2일

0 개 추천

a = [1 0; 0 1]
is an example of a matrix for which (a*a') is not singular.
Did you mean non-singular?

댓글 수: 8

Titus Edelhofer
Titus Edelhofer 2012년 1월 2일
But cov(a) is indeed singular ... The examples I tried so far have a singular covariance but I haven't found a way to prove it's always the case ...
Walter Roberson
Walter Roberson 2012년 1월 2일
We uses inverse covariance a lot in our work, and we do not find them to be singular provided that the number of rows is at least the (number of columns plus 1).
Titus Edelhofer
Titus Edelhofer 2012년 1월 2일
Interesting. I was wondering already what sense inverse covariances might have. I tried with quadratic a's only.
eri
eri 2012년 1월 3일
what i asked is cov(a*a')
cov (a) may not always singular and a*a' may also not always singular, but cov(a*a')?
Walter Roberson
Walter Roberson 2012년 1월 3일
a*a' is always square, and if my recollection is correct, cov() of a square matrix is singular.
Titus Edelhofer
Titus Edelhofer 2012년 1월 3일
@Eri: trusting Walters recollection is usually a good bet ;-)
Walter Roberson
Walter Roberson 2012년 1월 3일
Just don't ask me _why_ it is singular. I didn't figure out Why, I just made sure square matrices could not get to those routines.
Walter Roberson
Walter Roberson 2012년 1월 3일
Experimentally, if you have a matrix A which is M by N, then rank(cov(A)) is min(M-1,N), and thus would be singular for a square matrix.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

질문:

eri
2012년 1월 2일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by