powerIteration {EESPCA}R Documentation

Power iteration method for calculating principal eigenvector and eigenvalue.

Description

Computes the principal eigenvector and eigenvalue of the specified matrix using the power iteration method. Includes support for truncating the estimated eigenvector on each iteration to retain just the k eigenvector loadings with the largest absolute values with all other values set to 0, i.e., the the TPower method by Yuan & Zhang.

Usage

    powerIteration(X, k, v1.init, max.iter=10, lambda.diff.threshold=1e-6, trace=FALSE)

Arguments

X

Matrix for which the largest eigenvector and eigenvalue will be computed.

k

If specified, the estimated eigenvector is truncated on each iteration to retain only the k loadings with the largest absolute values, all other loadings are set to 0. Must be an integer between 1 and ncol(X).

v1.init

If specified, the power iteration calculation will be initialized using this vector, otherwise, the calculation will be initialized using a unit vector with equal values.

max.iter

Maximum number of iterations for power iteration method.

lambda.diff.threshold

Threshold for exiting the power iteration calculation. If the absolute relative difference in computed eigenvalue is less than this threshold between subsequent iterations, the power iteration method is terminated.

trace

True if debugging messages should be displayed during execution.

Value

A list with the following elements:

References

See Also

eespca

Examples

    set.seed(1)
    # Simulate 10x5 MVN data matrix
    X=matrix(rnorm(50), nrow=10)
    # Compute sample covariance matrix
    cov.X = cov(X)
    # Use power iteration to get first PC loadings using default initial vector
    powerIteration(X=cov.X)

[Package EESPCA version 0.7.0 Index]