Learn R Programming

ERP (version 2.2)

ifa: 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

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).

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.

References

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

See Also

emfa, isqrtfa

Examples

Run this code
# NOT RUN {
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))
# }

Run the code above in your browser using DataLab