Rev 1321 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
### Coercion and Methods for Symmetric MatricessetAs("dspMatrix", "dsyMatrix",function(from) .Call("dspMatrix_as_dsyMatrix", from) )setAs("dspMatrix", "dgeMatrix",function(from) as(as(from, "dsyMatrix"), "dgeMatrix"))setAs("dspMatrix", "matrix",function(from) as(as(from, "dsyMatrix"), "matrix"))setMethod("rcond", signature(x = "dspMatrix", type = "character"),function(x, type, ...).Call("dspMatrix_rcond", x, type),valueClass = "numeric")setMethod("rcond", signature(x = "dspMatrix", type = "missing"),function(x, type, ...).Call("dspMatrix_rcond", x, "O"),valueClass = "numeric")setMethod("%*%", signature(x = "dspMatrix", y = "dgeMatrix"),function(x, y) .Call("dspMatrix_matrix_mm", x, y, TRUE),valueClass = "dgeMatrix")setMethod("%*%", signature(x = "dspMatrix", y = "matrix"),function(x, y) .Call("dspMatrix_matrix_mm", x, y, FALSE),valueClass = "dgeMatrix")##setMethod("%*%", signature(x = "dspMatrix", y = "numeric"),## function(x, y) .Call("dspMatrix_matrix_mm", x, as.matrix(y), FALSE),## valueClass = "dgeMatrix")setMethod("%*%", signature(x = "dspMatrix", y = "integer"),function(x, y) {storage.mode(y) <- "double".Call("dspMatrix_matrix_mm", x, as.matrix(y), FALSE)}, valueClass = "dgeMatrix")setMethod("solve", signature(a = "dspMatrix", b = "missing"),function(a, b, ...) .Call("dspMatrix_solve", a),valueClass = "dspMatrix")setMethod("solve", signature(a = "dspMatrix", b = "matrix"),function(a, b, ...).Call("dspMatrix_matrix_solve", a, b, FALSE),valueClass = "dgeMatrix")setMethod("solve", signature(a = "dspMatrix", b = "dgeMatrix"),function(a, b, ...).Call("dspMatrix_matrix_solve", a, as(b,"matrix"), TRUE),valueClass = "dgeMatrix")##setMethod("solve", signature(a = "dspMatrix", b = "numeric"),## function(a, b, ...)## .Call("dspMatrix_matrix_solve", a, as.matrix(b), FALSE),## valueClass = "dgeMatrix")setMethod("solve", signature(a = "dspMatrix", b = "integer"),function(a, b, ...) {storage.mode(b) <- "double".Call("dspMatrix_matrix_solve", a, as.matrix(b), FALSE)}, valueClass = "dgeMatrix")setMethod("norm", signature(x = "dspMatrix", type = "character"),function(x, type, ...) .Call("dspMatrix_norm", x, type),valueClass = "numeric")setMethod("norm", signature(x = "dspMatrix", type = "missing"),function(x, type, ...) .Call("dspMatrix_norm", x, "O"),valueClass = "numeric")setMethod("t", signature(x = "dsyMatrix"), # need a t method for dsyMatrixfunction(x) as(t(as(x, "dsyMatrix")), "dspMatrix"),valueClass = "dspMatrix")setMethod("unpack", signature(x = "dspMatrix"),function(x, ...) as(x, "dsyMatrix"),valueClass = "dsyMatrix")setIs("dspMatrix", "dppMatrix",test = function(obj)"try-error" != class(try(.Call("dppMatrix_chol", obj), TRUE)),replace = function(obj, value) {obj@uplo <- value@uploobj@rcond <- value@rcondobj@factors <- value@factorsobj@x <- value@xobj@Dim <- value@Dimobj@Dimnames <- value@Dimnamesobj})