Rev 3495 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
#### Positive-definite Symmetric Packed Matrices -- Coercion and MethodssetAs("dppMatrix", "dpoMatrix",function(from) as(as(from, "dsyMatrix"), "dpoMatrix"))to_dpp <- function(from) as(as(from, "dpoMatrix"), "dppMatrix")setAs("Matrix", "dppMatrix", to_dpp)# some may fail, but this triessetAs("matrix", "dppMatrix", to_dpp)setMethod("chol", signature(x = "dppMatrix"),function(x, pivot, LINPACK) .Call(dppMatrix_chol, x))setMethod("rcond", signature(x = "dppMatrix", type = "character"),function(x, type, ...).Call(dppMatrix_rcond, x, type),valueClass = "numeric")setMethod("rcond", signature(x = "dppMatrix", type = "missing"),function(x, type, ...).Call(dppMatrix_rcond, x, "O"),valueClass = "numeric")setMethod("solve", signature(a = "dppMatrix", b = "missing"),function(a, b, ...).Call(dppMatrix_solve, a),valueClass = "dppMatrix")setMethod("solve", signature(a = "dppMatrix", b = "dgeMatrix"),function(a, b, ...).Call(dppMatrix_matrix_solve, a, b),valueClass = "dgeMatrix")setMethod("solve", signature(a = "dppMatrix", b = "matrix"),function(a, b, ...).Call(dppMatrix_matrix_solve, a, b),valueClass = "dgeMatrix")##setMethod("solve", signature(a = "dppMatrix", b = "numeric"),## function(a, b, ...)## .Call(dppMatrix_matrix_solve, a, as.matrix(b)),## valueClass = "dgeMatrix")setMethod("solve", signature(a = "dppMatrix", b = "integer"),function(a, b, ...) {storage.mode(b) <- "double".Call(dppMatrix_matrix_solve, a, as.matrix(b))}, valueClass = "dgeMatrix")setMethod("t", signature(x = "dppMatrix"),function(x) as(t(as(x, "dspMatrix")), "dppMatrix"),valueClass = "dppMatrix")