Read matrices stored in the Harwell-Boeing or MatrixMarket formats
sparseMatrix objects to one of these
readHB(file) readMM(file) writeMM(obj, file, ...)
a real sparse matrix
optional additional arguments. Currently none are used in any methods.
readMM functions return an object that
inherits from the
"Matrix" class. Methods for the
writeMM generic functions usually return
NULL and, as a side effect, the matrix
file in the MatrixMarket format (writeMM).
The Harwell-Boeing format is older and less flexible than the
MatrixMarket format. The function
writeHB was deprecated and
has now been removed. Please use
Note that these formats do not know anything about
dimnames, hence these are dropped by
A very simple way to export small sparse matrices
S, is to use
summary(S) which returns a
j, and possibly
sparseMatrix-class, and an example below.
str(pores <- readMM(system.file("external/pores_1.mtx", package = "Matrix"))) str(utm <- readHB(system.file("external/utm300.rua", package = "Matrix"))) str(lundA <- readMM(system.file("external/lund_a.mtx", package = "Matrix"))) str(lundA <- readHB(system.file("external/lund_a.rsa", package = "Matrix"))) str(jgl009 <- ## https://math.nist.gov/MatrixMarket/data/Harwell-Boeing/counterx/counterx.html readMM(system.file("external/jgl009.mtx", package = "Matrix"))) ## Not run: ## NOTE: The following examples take quite some time ## ---- even on a fast internet connection: if(FALSE) # the URL has been corrected, but we need an un-tar step! str(sm <- readHB(gzcon(url("https://www.cise.ufl.edu/research/sparse/RB/Boeing/msc00726.tar.gz")))) ## End(Not run) data(KNex) ## Store as MatrixMarket (".mtx") file, here inside temporary dir./folder: (MMfile <- file.path(tempdir(), "mmMM.mtx")) writeMM(KNex$mm, file=MMfile) file.info(MMfile)[,c("size", "ctime")] # (some confirmation of the file's) ## very simple export - in triplet format - to text file: data(CAex) s.CA <- summary(CAex) s.CA # shows (i, j, x) [columns of a data frame] message("writing to ", outf <- tempfile()) write.table(s.CA, file = outf, row.names=FALSE) ## and read it back -- showing off sparseMatrix(): str(dd <- read.table(outf, header=TRUE)) ## has columns (i, j, x) -> we can use via do.call() as arguments to sparseMatrix(): mm <- do.call(sparseMatrix, dd) stopifnot(all.equal(mm, CAex, tolerance=1e-15))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.