ifa {ERP}R Documentation

Inverse of a matrix based on its factor decomposition.

Description

This function is not supposed to be called directly by users. It is needed in function emfa implementing an EM algorithm for a factor model.

Usage

ifa(Psi, B)

Arguments

Psi

m-vector of specific variances, where m is the number of rows and columns of the matrix.

B

m x q matrix of loadings, where q is the number of factors

Details

If Sigma has the q-factor decomposition Sigma=diag(Psi)+BB', then Sigma^-1 has the corresponding q-factor decomposition Sigma^-1=diag(phi)(I-theta theta')diag(phi), where theta is a mxq matrix and phi the vector of inverse specific standard deviations.

Value

iS

m x m inverse of diag(Psi)+BB'.

iSB

m x q matrix (diag(Psi)+BB')^-1B.

Phi

m-vector of inverse specific standard deviations.

Theta

mxq matrix of loadings for the inverse factor model (see the details Section).

Author(s)

David Causeur, IRMAR, UMR 6625 CNRS, Agrocampus Ouest, Rennes, France.

References

Woodbury, M.A. (1949) The Stability of Out-Input Matrices. Chicago, Ill., 5 pp

See Also

emfa, isqrtfa

Examples

data(impulsivity)
erpdta = as.matrix(impulsivity[,5:505])   # erpdta contains the whole set of ERP curves     
fa = emfa(erpdta,nbf=20)          # 20-factor modelling of the ERP curves in erpdta
Sfa = diag(fa$Psi)+tcrossprod(fa$B) # Factorial estimation of the variance 
iSfa = ifa(fa$Psi,fa$B)$iS        # Matrix inversion    
max(abs(crossprod(Sfa,iSfa)-diag(ncol(erpdta)))) # Checks that Sfa x iSfa = diag(ncol(erpdta))

[Package ERP version 2.2 Index]