R: Gram-Schmidt

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 `nrow(A)>=ncol(A)`.
`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

`householder, givens`

### 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.0.4 Index]