Solve and Inverse with Hermitian Eigenvalue Decomposition

DESCRIPTION:

Given the eigenvalue decomposition of a real symmetric or complex Hermitian matrix, either solves a system of linear equations with that matrix as coefficient matrix or else computes the inverse of the matrix. .LB Matrix

USAGE:

solve.eigen.Hermitian(a, b, tol=0) 

REQUIRED ARGUMENTS:

a
An object of class eigen.Hermitian , representing the symmetric indefinite decomposition of a real symmetric or complex Hermitian matrix.

OPTIONAL ARGUMENTS:

b
A real or complex matrix or vector. The number of rows in b must equal the dimension of the matrix underlying a .
tol
Tolerance for reciprocal condition number. Eigenvalues are considered nonzero only if their ratio with the largest singular value exceeds tol . By default, tol = 0.

VALUE:

If A is the matrix whose eigenvalue decomposition is represented by a , an object of class "Matrix" is returned that is the solution x to the system of equations A %*% x = b If b is not supplied, the inverse of A is returned. The minimum least-squares solution or pseudo-inverse are returned if A is rank deficient. Attributes include a copy of the call to solve .

DETAILS:

Can be used for matrices that are rank-deficient, i.e., whose rank is less than their minimum dimension.

REFERENCES:

Golub, G. H., and C. F. Van Loan (1989), Matrix Computations, 2nd edition, Johns Hopkins, Baltimore.

SEE ALSO:

, , , .

EXAMPLES:

 n <- 5 
 a <- Matrix( rnorm(n*n), nrow = n, ncol = n) 
 a[row(a) > col(a)] <- t(a)[row(a) > col(a)]  # construct symmetric matrix 
 class(a) <- Matrix.class(x) 
 b <- rnorm(n) 
 z <- eigen(a)                                # eigenvalue decomposition 
 a %*% solve(a,b) - b                         # residual 
(solve(a) %*% b) - solve(a,b)