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

予備知識

    • HarwellBoeing行列形式.
    • 疎な行列の交換,保管に使われる.
    • プレーンテキスト形式.
    • 標準的なテスト行列収集のHarwellBoeingファイル形式.
    • 3文字のファイル拡張子はこのファイルで表される行列の特性のコード化を示している.
    • ファイル拡張子いの最初の文字は次を示している:"r" (実数), "c"(複素数), "p" (パターン)
    • 2番目の文字は対称性に関するものである:"s"(対称), "u"(非対称),"h" (エルミート), "z" (歪対称), "r" (矩形)
    • ファイル拡張子の3文字目:"a" (assembled) または"e" (elemental unassembled)
    • 疎な表記で行列を保管する.
    • Iain Duff, Roger GrimesとJohn Lewisによって1992年に開発された.

ImportとExport

  • Import["file.rsa"]はHarwellBoeingファイルより行列をインポートする.
  • Export["file.rsa",expr]は任意の数値,あるいはパターン行列をHarwellBoeingファイルにエキスポートする.
  • Import["file.rsa"]はHarwellBoeingファイルを読み込み,疎な行列としての行列を返す.
  • Import["file.rsa",elem]はHarwellBoeingファイルより指定された要素をインポートする.
  • Import["file.rsa",{elem,suba,subb,}]はサブ要素をインポートする.
  • Import["file.rsa",{{elem1,elem2,}}]は複数の要素をインポートする.
  • インポート形式はImport["file","HarwellBoeing"]またはImport["file",{"HarwellBoeing",elem,}]として指定できる.
  • Export["file.rsa",expr,elem]expr が要素,elem を指定するものとして扱うことにより,HarwellBoeingファイルを作成する.
  • Export["file.rsa",{expr1,expr2,},{{elem1,elem2,}}]では,それぞれのexpri が対応するelemiを指定するものとして扱われる.
  • Export["file.rsa",expr,opt1->val1,]expr を特別の値を持つオプションが指定されたものとしてエキスポートする.
  • Export["file.rsa",{elem1->expr1,elem2->expr2,},"Rules"]は規則を使い,エキスポートされる要素を指定する.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "Data"疎な配列として与えられた行列データ
    "Graphics"行列要素の値を視覚的に表現
  • Importはデフォルトで"Data"要素を使う.
  • Import["file.rsa","Graphics"]MatrixPlotを使い行列の構造をグラフィックスとして描画する.
  • メタ情報要素:
  • "Key"ドキュメント識別文字列
    "Title"ドキュメントタイトル
    "MatrixStructure"行列の対称性
  • "MatrixStructure"の可能な値:
  • "Hermitian"共役転置行列が等しい行列
    "Rectangular"非正方行列(矩形)
    "SkewSymmetric"転置行列が元の行列の負と等しい
    "Symmetric"転置行列と等しい
    "Unsymmetric"転位対称性のない正方行列

例題

  (3)

HarwellBoeing行列ファイルをインポートしてグラフィックスとして描画する:

同じファイルを疎行列として読む:

疎行列をインポートして,それをGraphPlotで描画する:

これは1×2の行列をHarwellBoeing形式にエキスポートする:

先ほどの結果をインポートする: