I represent a graph as an adjacency matrix of class "dgCMatrix" (from the Matrix package).
> xx 5 x 5 sparse Matrix of class "dgCMatrix" a b c d e a . 1 1 . . b 1 . 1 . . c 1 1 . 1 1 d . . 1 . 1 e . . 1 1 . To check if the matrix defines and undirected graph, I have made the following functions/methods: is.UG <- function (object) { UseMethod("is.UG") } is.UG.dgCMatrix <- function (object) { is.adjMAT(object) && (max(abs(t(object) - object)) == 0) } Note: 1) is.adjMAT is homegrown and 2) I know there is an "isSymmetric" method, but I can't get that to work either. These functions are in a package and when I load the package I get: > is.UG(xx) Error in t.default(object) : argument is not a matrix > is.UG.dgCMatrix(xx) Error in t.default(object) : argument is not a matrix Interestingly, if I copy and past the definitions above into an R-session things do work: > is.UG <- function (object) { + UseMethod("is.UG") + } > is.UG.dgCMatrix <- function (object) { + is.adjMAT(object) && (max(abs(t(object) - object)) == 0) + } > > is.UG(xx) [1] TRUE > is.UG.dgCMatrix(xx) [1] TRUE Can anyone help here? Best regards Søren xx <- new("dgCMatrix" , i = c(1L, 2L, 0L, 2L, 0L, 1L, 3L, 4L, 2L, 4L, 2L, 3L) , p = c(0L, 2L, 4L, 8L, 10L, 12L) , Dim = c(5L, 5L) , Dimnames = list(c("a", "b", "c", "d", "e"), c("a", "b", "c", "d", "e")) , x = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) , factors = list() ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.