DGEQRF computes a QR factorization of a real M-by-N matrix A: A = Q * R.
dgeqrf( M = NULL, N = NULL, A, LDA = NULL, TAU = NULL, WORK = NULL, LWORK = NULL )
M | an integer. The number of rows of the matrix A. M >= 0. |
---|---|
N | an integer. The number of columns of the matrix A. N >= 0. |
A | the M-by-N big matrix A. |
LDA | an integer. The leading dimension of the array A. LDA >= max(1,M). |
TAU | a min(M,N) matrix. The scalar factors of the elementary reflectors. |
WORK | a (MAX(1,LWORK)) matrix. On exit, if INFO = 0, WORK(1) returns the optimal LWORK. |
LWORK | an integer. The dimension of th array WORK. |
M-by-N big matrix A. The elements on and above the diagonal of the array contain the min(M,N)-by-N upper trapezoidal matrix R (R is upper triangular if m >= n); the elements below the diagonal, with the array TAU, represent the orthogonal matrix Q as a product of min(m,n) elementary reflectors.
if (FALSE) { #' hilbert <- function(n) { i <- 1:n; 1 / outer(i - 1, i, "+") } h9 <- hilbert(9); h9 qr(h9)$rank #--> only 7 qrh9 <- qr(h9, tol = 1e-10) qrh9$rank C <- as.big.matrix(h9) dgeqrf(A=C) # The big.matrix file backings will be deleted when garbage collected. rm(C) gc() }