QR.Auxiliaries {base} R Documentation

## Reconstruct the Q, R, or X Matrices from a QR Object

### Description

Returns the original matrix from which the object was constructed or the components of the decomposition.

### Usage

```qr.X(qr, complete = FALSE, ncol =)
qr.Q(qr, complete = FALSE, Dvec =)
qr.R(qr, complete = FALSE)
```

### Arguments

 `qr` object representing a QR decomposition. This will typically have come from a previous call to `qr` or `lsfit`. `complete` logical expression of length 1. Indicates whether an arbitrary orthogonal completion of the Q or X matrices is to be made, or whether the R matrix is to be completed by binding zero-value rows beneath the square upper triangle. `ncol` integer in the range `1:nrow(qr\$qr)`. The number of columns to be in the reconstructed X. The default when `complete` is `FALSE` is the first `min(ncol(X), nrow(X))` columns of the original X from which the qr object was constructed. The default when `complete` is `TRUE` is a square matrix with the original X in the first `ncol(X)` columns and an arbitrary orthogonal completion (unitary completion in the complex case) in the remaining columns. `Dvec` vector (not matrix) of diagonal values. Each column of the returned Q will be multiplied by the corresponding diagonal value. Defaults to all `1`s.

### Value

`qr.X` returns X, the original matrix from which the qr object was constructed, provided `ncol(X) <= nrow(X)`. If `complete` is `TRUE` or the argument `ncol` is greater than `ncol(X)`, additional columns from an arbitrary orthogonal (unitary) completion of `X` are returned.
`qr.Q` returns part or all of Q, the order-nrow(X) orthogonal (unitary) transformation represented by `qr`. If `complete` is `TRUE`, Q has `nrow(X)` columns. If `complete` is `FALSE`, Q has `ncol(X)` columns. When `Dvec` is specified, each column of Q is multiplied by the corresponding value in `Dvec`.
`qr.R` returns R, the upper triangular matrix such that `X == Q %*% R`. The number of rows of R is `nrow(X)` or `ncol(X)`, depending on whether `complete` is `TRUE` or `FALSE`.

`qr`, `qr.qy`.

### Examples

```p <- ncol(x <- LifeCycleSavings[,-1]) # not the 'sr'
qrstr <- qr(x)   # dim(x) == c(n,p)
qrstr \$ rank # = 4 = p
Q <- qr.Q(qrstr) # dim(Q) == dim(x)
R <- qr.R(qrstr) # dim(R) == ncol(x)
X <- qr.X(qrstr) # X == x
range(X - as.matrix(x))# ~ < 6e-12
## X == Q %*% R :
Q %*% R
```

[Package base version 2.1.0 Index]