
Last chance! 50% off unlimited learning
Sale ends in
Read matrices stored in the Harwell-Boeing or MatrixMarket formats
or write sparseMatrix
objects to one of these
formats.
readHB(file)
readMM(file)
writeMM(obj, file, ...)
The readHB
and 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 obj
is
written to file
in the MatrixMarket format (writeMM).
a real sparse matrix
for writeMM
- the name of the file to be written.
For readHB
and readMM
the name of the file to read, as
a character scalar. The names of files storing matrices in the
Harwell-Boeing format usually end in ".rua"
or ".rsa"
.
Those storing matrices in the MatrixMarket format usually end in
".mtx"
.
Alternatively, readHB
and readMM
accept connection objects.
optional additional arguments. Currently none are used in any methods.
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")))
if (FALSE) {
## 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"))))
}
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))
Run the code above in your browser using DataLab