HarwellBoeing (.rsa, .rua, ...)

Harwell-Boeing matrix format.
Used for exchanging and storing sparse matrices.
Plain text format.
File format of the Harwell-Boeing collection of standard test matrices.
The three-letter file extension encodes matrix properties that are also represented in the file.
The first letter of the file extension encodes the data type: "r" (real), "c" (complex), or "p" (pattern).
The second letter denotes the symmetry property: "s" (symmetric), "u" (unsymmetric), "h" (Hermitian), "z" (skew-symmetric), or "r" (rectangular).
The third letter of the file extension is either "a" (assembled) or "e" (elemental unassembled).
Stores matrices in a sparse representation.
Developed in 1992 by Iain Duff, Roger Grimes, and John Lewis.
  • Import and Export fully support the Harwell-Boeing file format.

Import and ExportImport and Export

  • Import["file.rsa"] imports a matrix from a Harwell-Boeing file.
  • Export["file.rsa", expr] exports any numerical or pattern matrix to a Harwell-Boeing file.
  • Import["file.rsa"] reads a Harwell-Boeing file, returning the matrix it represents as a sparse array.
  • Import["file.rsa", elem] imports the specified element from a Harwell-Boeing file.
  • Import["file.rsa", {elem, suba, subb, ...}] imports a subelement.
  • Import["file.rsa", {{elem1, elem2, ...}}] imports multiple elements.
  • The import format can be specified with Import["file", "HarwellBoeing"] or Import["file", {"HarwellBoeing", elem, ...}].
  • Export["file.rsa", expr, elem] creates a Harwell-Boeing file by treating expr as specifying element elem.
  • Export["file.rsa", {expr1, expr2, ...}, {{elem1, elem2, ...}}] treats each as specifying the corresponding .
  • Export["file.rsa", expr, opt1->val1, ...] exports expr with the specified option elements taken to have the specified values.
  • Export["file.rsa", {elem1->expr1, elem2->expr2, ...}, "Rules"] uses rules to specify the elements to be exported.
  • See the reference pages for full general information on Import and Export.
  • ImportString and ExportString support the Harwell-Boeing file format.


  • General Import elements:
  • "Elements"list of elements and options available in this file
    "Rules"full list of rules for each element and option
    "Options"list of rules for options, properties and settings
  • Data representation elements:
  • "Data"matrix data given as a sparse array
    "Graphics"a visual representation of the values of the matrix elements
  • Import uses the element by default.
  • Import["file.rsa", "Graphics"] uses MatrixPlot to render the matrix structure as graphics.
  • Meta-information elements:
  • "Key"document identification string
    "Title"document title
    "MatrixStructure"symmetry properties of the matrix
  • Possible values for are:
  • "Hermitian"matrix which is equal to its own conjugate transpose
    "Rectangular"nonsquare matrix
    "SkewSymmetric"matrix whose transpose is also its negative
    "Symmetric"matrix which is equal to its transpose
    "Unsymmetric"square matrix without transposition symmetry

ExamplesExamplesopen allclose all

Basic Examples (3)Basic Examples (3)

Import a Harwell-Boeing matrix file and render it as graphics:

Click for copyable input

Read the same file as a sparse array:

Click for copyable input

Import a sparse matrix and render it as a GraphPlot:

Click for copyable input

This exports a 1-by-2 matrix to the Harwell-Boeing format:

Click for copyable input

Import the previous output:

Click for copyable input
New in 6
New to Mathematica? Find your learning path »
Have a question? Ask support »