0

行列を作成するためだけに Fortran95 で Sparse Blas を使用したいのですが、ポイント エントリ構造を使用しています。コマンドを使用してマトリックスを作成した後

duscr_begin(n,n,a,istat) を呼び出す

ここで、a は n 行 n 列の行列のハンドルです。値を挿入した後、ハンドルを使用して最終的な行列を確認するにはどうすればよいですか? 他の操作に行列を使用したいので、行列を 3 つのベクトル (スパース) 形式 (row_index、Col_index、Value) で表示したいと考えています。

この Sparse Blas の詳細は第 3 章に記載されており、ここで見ることができます。

http://www.netlib.org/blas/blast-forum/

4

1 に答える 1

0

実際に私が尋ねたのは 16 日前で、変数を画面に書き込むだけではありません。スパース行列の作成には、Sparse Blas と呼ばれるライブラリを使用していました。後でライブラリを掘り下げることで、ハンドルを使用して行、列、およびヴァルの 3 つのベクトルを取得する方法を見つけました。コマンドは次のようなものです

call accessdata_dsp(mat,a_handle,ierr)
call get_infoa(mat%INFOA,'n',nnz,ierr)
allocate(K0_row(nnz),K0_col(nnz),K0_A(nnz))
K0_row=mat%IA1; K0_col=mat%IA2; K0_A=mat%A

ここで nnz はスパース行列のゼロ以外のエントリであり、K0_row、K0_col、および K0_A は必要な 3 つのベクトルであり、さらなる計算で使用できます。

于 2012-06-15T19:05:59.400 に答える