A simple function to demonstrate calculating the power of a square symmetric matrix in terms of its eigenvalues and eigenvectors.
Usage
mpower(A, p, tol = sqrt(.Machine$double.eps))Details
The matrix power p can be a fraction or other non-integer.  For example, p=1/2 and
     p=1/3 give a square-root and cube-root of the matrix.
Negative powers are also allowed. For example, p=-1 gives the inverse and p=-1/2
     gives the inverse square-root.
Examples
C <- matrix(c(1,2,3,2,5,6,3,6,10), 3, 3) # nonsingular, symmetric
C
#>      [,1] [,2] [,3]
#> [1,]    1    2    3
#> [2,]    2    5    6
#> [3,]    3    6   10
mpower(C, 2)
#>      [,1] [,2] [,3]
#> [1,]   14   30   45
#> [2,]   30   65   96
#> [3,]   45   96  145
zapsmall(mpower(C, -1))
#>      [,1] [,2] [,3]
#> [1,]   14   -2   -3
#> [2,]   -2    1    0
#> [3,]   -3    0    1
solve(C)    # check
#>      [,1] [,2] [,3]
#> [1,]   14   -2   -3
#> [2,]   -2    1    0
#> [3,]   -3    0    1
