Compute the Power of a Real Symmetric Matrix
mpower
computes m^alpha, i.e.
the alpha
-th power of the real symmetric
matrix m
.
mpower(m, alpha, pseudo=FALSE, tol)
m |
a real-valued symmetric matrix. |
alpha |
exponent. |
pseudo |
if |
tol |
tolerance - eigenvalues with absolute value smaller or equal
to |
The matrix power of m
is obtained by first computing the spectral
decomposition of m
, and subsequent modification of the resulting eigenvalues.
Note that m
is assumed to by symmetric, and only
its lower triangle (diagonal included) is used in eigen
.
For computing the matrix power of cor.shrink
use
the vastly more efficient function powcor.shrink
.
mpower
returns
a matrix of the same dimensions as m
.
Korbinian Strimmer (https://strimmerlab.github.io).
# load corpcor library library("corpcor") # generate symmetric matrix p = 10 n = 20 X = matrix(rnorm(n*p), nrow = n, ncol = p) m = cor(X) m %*% m mpower(m, 2) solve(m) mpower(m, -1) msq = mpower(m, 0.5) msq %*% msq m mpower(m, 1.234)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.