1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
## Methods for the sparse QR decomposition
## The signature should change to y = "ddenseMatrix" later
setMethod("qr.qy", signature(qr = "sparseQR", y = "dgeMatrix"),
function(qr, y) .Call(sparseQR_qty, qr, y, FALSE),
valueClass = "dgeMatrix")
setMethod("qr.qy", signature(qr = "sparseQR", y = "matrix"),
function(qr, y) .Call(sparseQR_qty, qr, y, FALSE),
valueClass = "dgeMatrix")
setMethod("qr.qy", signature(qr = "sparseQR", y = "numeric"),
function(qr, y) .Call(sparseQR_qty, qr, y, FALSE),
valueClass = "dgeMatrix")
## The signature should change to y = "ddenseMatrix" later
setMethod("qr.qty", signature(qr = "sparseQR", y = "dgeMatrix"),
function(qr, y) .Call(sparseQR_qty, qr, y, TRUE),
valueClass = "dgeMatrix")
setMethod("qr.qty", signature(qr = "sparseQR", y = "matrix"),
function(qr, y) .Call(sparseQR_qty, qr, y, TRUE),
valueClass = "dgeMatrix")
setMethod("qr.qty", signature(qr = "sparseQR", y = "numeric"),
function(qr, y) .Call(sparseQR_qty, qr, y, TRUE),
valueClass = "dgeMatrix")
.coef.trunc <- function(qr, res) res[1:ncol(qr@R),,drop=FALSE]
## The signature should change to y = "ddenseMatrix" later
setMethod("qr.coef", signature(qr = "sparseQR", y = "dgeMatrix"),
function(qr, y)
.coef.trunc(qr, .Call(sparseQR_coef, qr, y)),
valueClass = "dgeMatrix")
setMethod("qr.coef", signature(qr = "sparseQR", y = "matrix"),
function(qr, y)
.coef.trunc(qr, .Call(sparseQR_coef, qr, y)),
valueClass = "dgeMatrix")
setMethod("qr.coef", signature(qr = "sparseQR", y = "numeric"),
function(qr, y)
.coef.trunc(qr, .Call(sparseQR_coef, qr, y)),
valueClass = "dgeMatrix")
## The signature should change to y = "ddenseMatrix" later
setMethod("qr.resid", signature(qr = "sparseQR", y = "dgeMatrix"),
function(qr, y)
.Call(sparseQR_resid_fitted, qr, y, TRUE),
valueClass = "dgeMatrix")
setMethod("qr.resid", signature(qr = "sparseQR", y = "matrix"),
function(qr, y)
.Call(sparseQR_resid_fitted, qr, y, TRUE),
valueClass = "dgeMatrix")
setMethod("qr.resid", signature(qr = "sparseQR", y = "numeric"),
function(qr, y)
.Call(sparseQR_resid_fitted, qr, y, TRUE),
valueClass = "dgeMatrix")
## The signature should change to y = "ddenseMatrix" later
setMethod("qr.fitted", signature(qr = "sparseQR", y = "dgeMatrix"),
function(qr, y, k)
.Call(sparseQR_resid_fitted, qr, y, FALSE),
valueClass = "dgeMatrix")
setMethod("qr.fitted", signature(qr = "sparseQR", y = "matrix"),
function(qr, y, k)
.Call(sparseQR_resid_fitted, qr, y, FALSE),
valueClass = "dgeMatrix")
setMethod("qr.fitted", signature(qr = "sparseQR", y = "numeric"),
function(qr, y, k)
.Call(sparseQR_resid_fitted, qr, y, FALSE),
valueClass = "dgeMatrix")
|