|
|
◆ HBReadInfo1()
| Sub HBReadInfo1 |
( |
Fname As |
String, |
|
|
Title As |
String, |
|
|
Key As |
String, |
|
|
Nrow As |
Long, |
|
|
Ncol As |
Long, |
|
|
Nnz As |
Long, |
|
|
DataType As |
Long, |
|
|
MatShape As |
Long, |
|
|
MatForm As |
Long, |
|
|
Optional Info As |
Long, |
|
|
Optional Nrhs As |
Long |
|
) |
| |
Harwell-Boeing形式ファイルから行列情報を読み出す(シンプルドライバ)
- 目的
- Harwell-Boeing形式ファイルから疎行列の形式およびサイズを読み出す.
右辺行列(初期推定ベクトル, 解ベクトルを含む)に関する情報は返さない. ただし, Nrhs の値は省略可能パラメータに返す.
- 引数
-
| [in] | Fname | 入力ファイル名. |
| [out] | Title | Title 文字列. |
| [out] | Key | Key 文字列. |
| [out] | Nrow | 行列の行数. |
| [out] | Ncol | 行列の列数. |
| [out] | Nnz | 非ゼロ要素数. |
| [out] | DataType | 行列のデータ型.
= 0: 実数.
= 1: 複素数.
= 2: パターン. |
| [out] | MatShape | 行列の形状.
= 0: 非対称行列.
= 1: 対称行列.
= 2: 歪対称(交代)行列.
= 3: エルミート行列.
= 4: 長方形行列. |
| [out] | MatForm | 行列の格納形式.
= 0: 疎行列. |
| [out] | Info | (省略可)
= 0: 正常終了.
=i < 0: (-i)番目の入力パラメータの誤り.
= 1: ファイルがオープンできなかった.
= 3: ファイル読み出しエラー.
= 4: 読み出しフォーマットの誤り. |
| [out] | Nrhs | (省略可)
右辺行列の列数. |
- 使用例
- 次の Harwell-Boeing 形式ファイル (Test_HBWrite1.rua) の行列情報を読み出す.
6 1 2 3 0
RUA 3 3 9 0
(8I10) (8I10) (3D23.15) (3D23.15)
1 4 7 10
1 2 3 1 2 3 1 2
3
2.000000000000000e-01 -3.200000000000000e-01 -8.000000000000000e-01
-1.100000000000000e-01 8.100000000000001e-01 -9.200000000000000e-01
-9.300000000000000e-01 3.700000000000000e-01 -2.900000000000000e-01
Sub HBWrite1(Fname As String, ByVal Title As String, Key As String, Nrow As Long, Ncol As Long, Nnz As Long, Val() As Double, Ptr() As Long, Ind() As Long, DataType As Long, MatShape As Long, MatForm As Long, Optional Info As Long, Optional Fchk As Long=0, Optional Base As Long=-1, Optional Format As Long=0) Harwell-Boeing形式ファイルへの書き込み (シンプルドライバ)
Sub Ex_HBReadInfo1()
Dim Title As String, Key As String
Dim M As Long, N As Long, Nnz As Long, DataType As Long, MatShape As Long, MatForm As Long
Dim Info As Long
Call HBReadInfo1("Test_HBWrite1.rua", Title, Key, M, N, Nnz, DataType, MatShape, MatForm, Info)
Debug.Print "Title = """ + Title + """, Key = """ + Key + """, M =" + Str(M) + ", N =" + Str(N) + ", Nnz =" + Str(Nnz)
Debug.Print "DataType =" + Str(DataType) + ", MatShape =" + Str(MatShape) + ", MatForm =" + Str(MatForm)
End Sub
Sub HBReadInfo1(Fname As String, Title As String, Key As String, Nrow As Long, Ncol As Long, Nnz As Long, DataType As Long, MatShape As Long, MatForm As Long, Optional Info As Long, Optional Nrhs As Long) Harwell-Boeing形式ファイルから行列情報を読み出す(シンプルドライバ)
- 実行結果
Title = "Test HBWrite1", Key = "Key", M = 3, N = 3, Nnz = 9
DataType = 0, MatShape = 0, MatForm = 0
|