sparseQR-class {Matrix} | R Documentation |
Objects of this class represent a QR decomposition of a sparse rectangular matrix.
Objects can be created by calls of the form new("sparseQR", ...)
but are more commonly created by function qr
applied
to a sparse matrix such as a matrix of class
dgCMatrix
.
V
:"dgCMatrix"
. The columns of
V
are the vectors that generate the Householder
transformations of which the matrix Q is composed.beta
:"numeric"
, the normalizing
factors for the Householder transformations.p
:"integer"
: Permutation
(of 0:(n-1)
) applied to the rows of the original matrix.R
:"dgCMatrix"
An upper
triangular matrix of dimension q
:"integer"
: Permutation
applied from the right. Can be of length 0 which implies no
permutation.signature(qr = "sparseQR")
: ... signature(qr = "sparseQR", y = "dgeMatrix")
: ... signature(qr = "sparseQR", y = "matrix")
: ... signature(qr = "sparseQR", y = "numeric")
: ... signature(qr = "sparseQR", y = "dgeMatrix")
: ... signature(qr = "sparseQR", y = "matrix")
: ... signature(qr = "sparseQR", y = "numeric")
: ... signature(qr = "sparseQR", y = "dgeMatrix")
: ... signature(qr = "sparseQR", y = "matrix")
: ... signature(qr = "sparseQR", y = "numeric")
: ... signature(qr = "sparseQR", y = "dgeMatrix")
: ... signature(qr = "sparseQR", y = "matrix")
: ... signature(qr = "sparseQR", y = "numeric")
: ... signature(qr = "sparseQR", y = "dgeMatrix")
: ... signature(qr = "sparseQR", y = "matrix")
: ... signature(qr = "sparseQR", y = "numeric")
: ... signature(a = "sparseQR", b = "ANY")
: simply
uses qr.coef(a,b)
.
The decomposition is of the form A[p+1,] == Q %*% R
, if
the q
slot if of length 0 or A[p+1,q+1] == Q %*% R
where A is a sparse m by n matrix (m >= n),
R is an m by n matrix that is zero below the
main diagonal. The p
slot is a 0-based permutation of
1:m
applied to the rows of the original matrix. If the q
slot has length n
it is a 0-based permutation of 1:n
applied to the columns of the original matrix to reduce the amount
of "fill-in" in the matrix R.
The matrix Q is a "virtual matrix". It is the product of
n Householder transformations. The information to generate
these Householder transformations is stored in the V
and
beta
slots.
The "sparseQR"
methods for the qr.*
functions return
objects of class "dgeMatrix"
(see
dgeMatrix
). Results from qr.coef
,
qr.resid
and qr.fitted
(when k == ncol(R)
) are
well-defined and should match those from the corresponding dense matrix
calculations. However, because the matrix Q
is not uniquely
defined, the results of qr.qy
and qr.qty
do not
necessarily match those from the corresponding dense matrix
calculations.
Also, the results of qr.qy
and qr.qty
apply to the
permuted column order when the q
slot has length n
.
qr
, qr.Q
,
qr.R
, qr.fitted
,
qr.resid
, qr.coef
,
qr.qty
, qr.qy
,
dgCMatrix
, dgeMatrix
.
data(KNex); mm <- KNex$mm str(mmQR <- qr(mm))