Oracle Developer Studio パフォーマンスライブラリには、スパース連立 1 次方程式の因子分解および求解に使用できる 2 つのソフトウェアパッケージ SPSOLVE および SuperLU があります。
SPSOLVE は、対称、構造的対称、および非対称な係数行列を、ユーザー指定の順序付けを含むいくつかの順序付け方法の 1 つを使用して解く、ルーチンのコレクションです。以前のリリースでは、SPSOLVE はスパースソルバーパッケージと呼ばれていました。これは主に Fortran で記述されており、FORTRAN 77 のみのインタフェースが含まれています。現在、Fortran 95 および C のインタフェースは提供されていません。Fortran 95 から SPSOLVE ルーチンを使用するには、FORTRAN 77 インタフェースを使用します。C から SPSOLVE を呼び出すには、ルーチン名にアンダースコアを付加し (dgssin_()、dgssor_() など)、引数を参照によって渡し、1 オリジンの配列インデックスを使用します。1 オリジンおよび 0 オリジンの配列インデックスの例については、非対称スパース行列を参照してください。
Oracle Developer Studio パフォーマンスライブラリの SuperLU パッケージは、一般非対称スパース連立方程式を解くパブリックドメインアプリケーションの逐次バージョン (バージョン 3.0) です。逐次方式でありながら、SuperLU は並列化されたレベル 2 およびレベル 3 BLAS ルーチンのいくつかを使用します。SuperLU のアルゴリズム、ルーチン、およびデータ構造の詳細なドキュメントについては、スパース BLAS およびソルバーの参考資料の項目 5、6、7 を参照してください。SuperLU は C で記述されているため、SuperLU ルーチンが Fortran ベースの SPSOLVE から呼び出されるか C ドライバプログラムから呼び出されるかにかかわらず、配列インデックスは 0 オリジンでなければなりません。詳細および例については、SuperLU インタフェースを参照してください。