|
|
◆ MMReadInfo()
| Sub MMReadInfo |
( |
Fname As |
String, |
|
|
Nrow As |
Long, |
|
|
Ncol As |
Long, |
|
|
Nnz As |
Long, |
|
|
DataType As |
Long, |
|
|
MatShape As |
Long, |
|
|
MatForm As |
Long, |
|
|
Optional Info As |
Long |
|
) |
| |
Matrix Market形式ファイルから行列情報を読み出す
- 目的
- 本ルーチンはMatrix Market形式ファイルから行列の形式およびサイズを読み出す.
- 引数
-
| [in] | Fname | 入力ファイル名. |
| [out] | Nrow | 行列の行数. |
| [out] | Ncol | 行列の列数. |
| [out] | Nnz | 行列の非ゼロ要素数. |
| [out] | DataType | 行列のデータ型.
= 0: 実数.
= 1: 複素数
= 2: パターン.
= 3: 整数. |
| [out] | MatShape | 行列の形状.
= 0: 一般行列.
= 1: 対称行列.
= 2: 歪対称(交代)行列.
= 3: エルミート行列. |
| [out] | MatForm | 行列の格納形式.
= 0: 疎行列.
= 1: 密行列. |
| [out] | Info | (省略可)
= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= 1: ファイルがオープンできなかった.
= 3: ファイル読み出しエラー.
= 4: タイプ指定の誤り. |
- 使用例
- 次の Matrix Market 形式ファイル (Test_MMWrite.mtx) の行列情報を読み出す.
%%MatrixMarket matrix coordinate real general
3 3 9
1 1 2.000000000000000e-01
1 2 -1.100000000000000e-01
1 3 -9.300000000000000e-01
2 1 -3.200000000000000e-01
2 2 8.100000000000001e-01
2 3 3.700000000000000e-01
3 1 -8.000000000000000e-01
3 2 -9.200000000000000e-01
3 3 -2.900000000000000e-01
Sub Ex_MMReadInfo()
Dim M As Long, N As Long, Nnz As Long, DataType As Long, MatShape As Long, MatForm As Long
Dim Info As Long
Call MMReadInfo("Test_MMWrite.mtx", M, N, Nnz, DataType, MatShape, MatForm, Info)
Debug.Print "M =" + Str(M) + ", N =" + Str(N) + ", Nnz =" + Str(Nnz)
Debug.Print "DataType =" + Str(DataType) + ", MatShape =" + Str(MatShape) + ", MatForm =" + Str(MatForm)
End Sub
Sub MMReadInfo(Fname As String, Nrow As Long, Ncol As Long, Nnz As Long, DataType As Long, MatShape As Long, MatForm As Long, Optional Info As Long) Matrix Market形式ファイルから行列情報を読み出す
- 実行結果
M = 3, N = 3, Nnz = 9
DataType = 0, MatShape = 0, MatForm = 0
|