View source: R/HelperFunctions.R
invert | R Documentation |
Attempts matrix inversion using multiple methods, falling back to more robust approaches if standard inversion fails.
invert(mat, include_warnings = FALSE)
mat |
Square matrix to invert |
include_warnings |
Logical; default FALSE for current implementation. |
Tries methods in order:
1. Direct inversion using armaInv()
2. Generalized inverse using eigendecomposition
3. Returns identity matrix with warning if both fail
For eigendecomposition, uses a small ridge penalty (1e-16
) for stability and
zeroes eigenvalues below machine precision.
Inverted matrix or identity matrix if all methods fail
## Well-conditioned matrix
A <- matrix(c(4,2,2,4), 2, 2)
invert(A) %**% A
## Singular matrix falls back to M.P. generalized inverse
B <- matrix(c(1,1,1,1), 2, 2)
invert(B) %**% B
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.