gramSchmidt {pracma} | R Documentation |
Gram-Schmidt
Description
Modified Gram-Schmidt Process
Usage
gramSchmidt(A, tol = .Machine$double.eps^0.5)
Arguments
A |
numeric matrix with |
tol |
numerical tolerance for being equal to zero. |
Details
The modified Gram-Schmidt process uses the classical orthogonalization process to generate step by step an orthonoral basis of a vector space. The modified Gram-Schmidt iteration uses orthogonal projectors in order ro make the process numerically more stable.
Value
List with two matrices Q
and R
, Q
orthonormal and
R
upper triangular, such that A=Q%*%R
.
References
Trefethen, L. N., and D. Bau III. (1997). Numerical Linear Algebra. SIAM, Society for Industrial and Applied Mathematics, Philadelphia.
See Also
Examples
## QR decomposition
A <- matrix(c(0,-4,2, 6,-3,-2, 8,1,-1), 3, 3, byrow=TRUE)
gs <- gramSchmidt(A)
(Q <- gs$Q); (R <- gs$R)
Q %*% R # = A
[Package pracma version 2.4.4 Index]