Borrar filtros
Borrar filtros

invers from covariance of a matrix*matrix'

4 visualizaciones (últimos 30 días)
eri
eri el 2 de En. de 2012
given a is a matrix, is the matrix of covariance of (a*a') is always singular?
  2 comentarios
the cyclist
the cyclist el 2 de En. de 2012
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 el 3 de En. de 2012
cov(b) for b=a*a'

Iniciar sesión para comentar.

Respuesta aceptada

Teja Muppirala
Teja Muppirala el 4 de En. de 2012
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

Más respuestas (1)

the cyclist
the cyclist el 2 de En. de 2012
a = [1 0; 0 1]
is an example of a matrix for which (a*a') is not singular.
Did you mean non-singular?
  8 comentarios
Walter Roberson
Walter Roberson el 3 de En. de 2012
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 el 3 de En. de 2012
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.

Iniciar sesión para comentar.

Categorías

Más información sobre Descriptive Statistics en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by