UTL_NLA
パッケージは、VARRAY
として表されるベクトルおよびマトリックスに対するBLAS演算およびLAPACK(バージョン3.0)演算のサブセットを表示します。
この章では、次の項目について説明します。
概要
ルールおよび制限
セキュリティ・モデル
BLASレベル1(ベクトル-ベクトル演算)サブプログラム
BLASレベル2(マトリックス-ベクトル演算)サブプログラム
BLASレベル3(マトリックス-マトリックス演算)サブプログラム
LAPACKドライバ・ルーチン(一次方程式)サブプログラム
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム
この項では、UTL_NLA
パッケージの使用に関連する項目について説明します。
UTL_NLA
パッケージは、VARRAY
として表されるベクトルおよびマトリックスに対するBLAS(基本線形代数サブプログラム)演算およびLAPACK(線形代数パッケージ) (バージョン3.0)演算のサブセットを表示します。
標準
BLASおよびLAPACK標準の詳細は、次の場所を参照してください。
http://www.netlib.org/blas/
http://www.netlib.org/lapack/
必要な知識
このパッケージを使用するユーザーは、一般的な線形代数、特にBLASライブラリとLAPACKライブラリについて十分に理解している必要があります。
実装
BLASおよびLAPACKのプロシージャとこれらに対応するPL/SQLコールとの間のマッピングは、1対1です。
すべてのBLASファンクションに、BLAS_
接頭辞が付いています(BLAS_ASUMファンクションなど)。BLASのサブルーチンおよびファンクションは、PL/SQLのプロシージャおよびファンクションにそれぞれマッピングされます。
すべてのLAPACKファンクションに、LAPACK_
接頭辞が付いています(LAPACK_GBSVプロシージャなど)。LAPACKのサブルーチンは、PL/SQLプロシージャにマッピングされます。同じ演算を実行し、引数のデータ・タイプのみが異なるプロシージャは、同一の多重定義名になります。
BLASとLAPACKのプロシージャのパラメータとこれらに対応するPL/SQLサブプログラムのパラメータとの間のマッピングは、ほぼ1対1です。
また、LAPACKのPL/SQLインタフェースでは、すべての/work/
引数が削除されています。UTL_NLA
パッケージでは、ライブラリで必要なすべての作業領域の割当ておよび割当て解除を管理します。
各LAPACKプロシージャの最後に、マトリックスの線形演算が行優先または列優先(デフォルト)の形式で行われているかどうかを指定する新しいオプションのパラメータpack
が追加されています。
表259-2 BLASレベル2(マトリックス-ベクトル演算)サブプログラム
サブプログラム | 説明 |
---|---|
|
マトリックス-ベクトル演算 |
|
マトリックス-ベクトル演算 |
|
ランク1演算 |
|
マトリックス-ベクトル演算 |
|
マトリックス-ベクトル演算 |
|
対称ランク1演算 |
|
対称ランク2演算 |
|
マトリックス-ベクトル演算 |
|
マトリックス-ベクトル演算 |
|
対称ランク1演算 |
|
対称ランク2演算 |
|
マトリックス-ベクトル演算 |
|
連立方程式 |
|
マトリックス-ベクトル演算 |
|
連立方程式 |
|
マトリックス-ベクトル演算 |
|
連立方程式 |
表259-3 BLASレベル3(マトリックス-マトリックス演算)サブプログラム
サブプログラム | 説明 |
---|---|
|
マトリックス-ベクトル演算の1つ |
|
マトリックス-ベクトル演算 |
|
対称ランク2 k演算 |
|
対称ランク |
|
マトリックス-ベクトル演算 |
|
マトリックス-ベクトル演算 |
表259-4 LAPACKドライバ・ルーチン(一次方程式)サブプログラム
サブプログラム | 説明 |
---|---|
|
実連立一次方程式 |
|
実連立一次方程式 |
|
方程式 |
|
実連立一次方程式 |
|
実連立一次方程式 |
|
実連立一次方程式 |
|
実連立一次方程式 |
|
実連立一次方程式 |
|
実連立一次方程式 |
表259-5 LAPACKドライバ・ルーチン(LLSおよび固有値問題)
サブプログラム | 説明 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
すべての固有値を計算します。また、オプションで実対称バンド・マトリックス |
|
すべての固有値を計算します。また、オプションで実対称マトリックス |
|
すべての固有値を計算します。また、オプションで、パックされた形式で格納されている実対称マトリックス |
|
すべての固有値を計算します。また、オプションで、パックされた形式で格納されている実対称マトリックス |
|
すべての固有値を計算します。また、オプションで実対称三重対角マトリックス |
|
すべての固有値を計算します。また、オプションで実対称三重対角マトリックス |
|
すべての固有値を計算します。また、オプションで実対称マトリックス |
|
すべての固有値を計算します。また、オプションで実対称マトリックス |
表259-6 UTL_NLAパッケージのサブプログラム
サブプログラム | 説明 | グループ |
---|---|---|
|
ベクトル・コンポーネントの絶対値の合計を計算します。 |
|
|
|
|
|
ベクトル |
|
|
2つのベクトル |
|
|
マトリックス-ベクトル演算 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
いずれかのマトリックス-ベクトル演算を実行します。ここで、 |
BLASレベル3(マトリックス-マトリックス演算)サブプログラム |
|
マトリックス-ベクトル演算 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
ランク1演算 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
最大絶対値を持つベクトルの最初の要素のインデックスを計算します。 |
|
|
ベクトル2ノルム(ユークリッド・ノルム)を計算します。 |
|
|
点の面回転を戻します。 |
|
|
点のギブンス回転を戻します。 |
|
|
マトリックス-ベクトル演算 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
ベクトルのスケールを定数で変更します。 |
|
|
マトリックス-ベクトル演算 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
対称ランク1演算 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
対称ランク2演算を実行します。ここで、 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
サイズがnの2つのベクトルの内容を交換します。 |
|
|
いずれかのマトリックス-ベクトル演算を実行します。ここで、 |
BLASレベル3(マトリックス-マトリックス演算)サブプログラム |
|
マトリックス-ベクトル演算を実行します。ここで、 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
対称ランク1演算を実行します。ここで、 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
対称ランク2演算を実行します。ここで、 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
いずれかの対称ランク2 k演算を実行します。ここで、 |
BLASレベル3(マトリックス-マトリックス演算)サブプログラム |
|
いずれかの対称ランク |
BLASレベル3(マトリックス-マトリックス演算)サブプログラム |
|
マトリックス-ベクトル演算を実行します。ここで、 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
いずれかの連立方程式の解を求めます。ここで、 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
マトリックス-ベクトル演算を実行します。ここで、 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
いずれかの連立方程式の解を求めます。ここで、 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
いずれかのマトリックス-ベクトル演算を実行します。ここで、 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
マトリックス-ベクトル演算を実行します。ここで、 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
マトリックス-ベクトル演算 |
BLASレベル3(マトリックス-マトリックス演算)サブプログラム |
|
いずれかの連立方程式の解を求めます。ここで、 |
BLASレベル2(マトリックス-ベクトル演算)サブプログラム |
|
実連立一次方程式 |
|
|
|
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム |
|
|
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム |
|
|
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム |
|
|
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム |
|
実連立一次方程式 |
|
|
|
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム |
|
方程式 |
|
|
実連立一次方程式 |
|
|
実連立一次方程式 |
|
|
実連立一次方程式 |
|
|
実連立一次方程式 |
|
|
すべての固有値を計算します。また、オプションで実対称バンド・マトリックス |
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム |
|
すべての固有値を計算します。また、オプションで実対称マトリックス |
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム |
|
すべての固有値を計算します。また、オプションで、パックされた形式で格納されている実対称マトリックス |
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム |
|
すべての固有値を計算します。また、オプションで、パックされた形式で格納されている実対称マトリックス |
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム |
|
実連立一次方程式 |
|
|
すべての固有値を計算します。また、オプションで実対称三重対角マトリックス |
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム |
|
すべての固有値を計算します。また、オプションで実対称三重対角マトリックス |
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム |
|
すべての固有値を計算します。また、オプションで実対称マトリックス |
LAPACKドライバ・ルーチン(LLSおよび固有値問題)サブプログラム |
|
実連立一次方程式 |
|
このプロシージャは、ベクトル・コンポーネントの絶対値の合計を計算します。
このプロシージャは、alpha
*X
+ Y
をベクトルY
にコピーします。
構文
UTL_NLA.BLAS_AXPY ( n IN POSITIVEN, alpha IN SCALAR_DOUBLE, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN);
UTL_NLA.BLAS_AXPY ( n IN POSITIVEN, alpha IN SCALAR_DOUBLE, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN);
パラメータ
表259-8 BLAS_AXPYプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ベクトル |
|
スカラーalphaを指定します。 |
|
少なくとも次の
( 1 + ( n - 1 )*abs( |
|
|
|
少なくとも次の ( 1 + ( n - 1 )*abs( incy) ) |
|
|
このプロシージャは、ベクトルX
の内容をベクトルY
にコピーします。
構文
UTL_NLA.BLAS_COPY ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN);
UTL_NLA.BLAS_COPY ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN);
パラメータ
表259-9 BLAS_COPYプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ベクトル |
|
少なくとも次の ( 1 + ( n - 1 )*abs( incx ) ) |
|
|
|
少なくとも次の次元を持つ ( 1 + ( n - 1 )*abs( incy) ) |
|
|
このファンクションは、2つのベクトルX
とY
の内積(スカラ積)を戻します。
構文
UTL_NLA.BLAS_DOT ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_DBL, incy IN POSITIVEN) RETURN BINARY_DOUBLE;
UTL_NLA.BLAS_DOT ( n IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_FLT, incy IN POSITIVEN) RETURN BINARY_FLOAT;
パラメータ
表259-10 BLAS_DOTファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
ベクトル |
|
少なくとも次の次元を持つ ( 1 + ( n - 1 )*abs( incx ) ) |
|
|
|
少なくとも次の次元を持つ ( 1 + ( n - 1 )*abs( incy) ) |
|
|
このプロシージャは、次のいずれかのマトリックス-ベクトル演算を実行します。
y := alpha*A*x + beta*y
または
y := alpha*A'*x + beta*y
ここで、alpha
およびbeta
はスカラー、x
およびy
はベクトル、A
はkl
個の下対角とku
個の上対角を持つm
行n
列のバンド・マトリックスです。
構文
UTL_NLA.BLAS_GEMV ( trans IN flag, m IN POSITIVEN, n IN POSITIVEN, kl IN NATURALN, ku IN NATURALN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, beta IN SCALAR_DOUBLE, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_GEMV ( trans IN flag, m IN POSITIVEN, n IN POSITIVEN, kl IN NATURALN, ku IN NATURALN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, beta IN SCALAR_FLOAT, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-11 BLAS_GBMVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
実行する演算を指定します。
|
|
マトリックスAの行数を指定します。 |
|
マトリックスAの列数を指定します。 |
|
マトリックス |
ku |
マトリックス |
|
|
|
次元 入力する前に、配列 バンド・マトリックス(左上の |
|
コール元の(サブ)プログラムで宣言されているように、 |
|
少なくとも次の次元を持つ ( 1 + ( n - 1 )*abs( incx ) )
( 1 + ( m - 1 )*abs( incx ) ) それ以外の場合。入力する前に、増分された配列 |
|
|
|
|
|
少なくとも次の ( 1 + ( m - 1 )*abs( incy ) )
(1+(n-1)*abs(incy)) それ以外の場合。 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のマトリックス-マトリックス演算を実行します。
C := alpha*op( A )*op( B ) + beta*C
op(X)
は次のいずれかです。
op(X) = X
または
op(X) = X'
ここで、alpha
およびbeta
はスカラー、A
、B
およびC
はマトリックス、op(A)
はm
行k
列のマトリックス、op(B)
はk
行n
列のマトリックスおよびC
はm
行n
列のマトリックスです。
構文
UTL_NLA.BLAS_GEMM ( transa IN flag, transb IN flag, m IN POSITIVEN, n IN POSITIVEN, k IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, beta IN SCALAR_DOUBLE, c IN OUT UTL_NLA_ARRAY_DBL, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_GEMM ( transa IN flag, transb IN flag, m IN POSITIVEN, n IN POSITIVEN, k IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, beta IN SCALAR_FLOAT, c IN OUT UTL_NLA_ARRAY_FLT, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-12 BLAS_GEMMプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックス乗算で使用する
|
|
マトリックス乗算で使用する
|
|
マトリックス |
|
マトリックス |
k |
マトリックス |
|
|
|
次元 |
|
コール元の(サブ)プログラムで宣言されているように、 |
|
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
|
c |
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のいずれかのマトリックス-ベクトル演算を実行します。
y := alpha*A*x + beta*y
または
y := alpha*A'*x + beta*y
ここで、alpha
およびbeta
はスカラー、x
およびy
はベクトル、A
はm
行n
列のマトリックスです。
構文
UTL_NLA.BLAS_GEMV ( trans IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, beta IN SCALAR_DOUBLE, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_GEMV ( trans IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, beta IN SCALAR_FLOAT, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-13 BLAS_GEMVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
実行する演算を指定します。
|
|
マトリックスAの行数を指定します。 |
|
マトリックスAの列数を指定します。 |
|
|
|
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
少なくとも次の次元を持つ
( 1 + (
(1+(m-1)*abs(incx)) それ以外の場合。入力する前に、増分された配列 |
|
|
|
|
|
少なくとも次の次元を持つ ( 1 + ( m - 1 )*abs( incy ) )
( 1 + ( n - 1 )*abs( incy ) ) それ以外の場合。 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のランク1演算を実行します。
A := alpha*x*y' + A
ここで、alpha
はスカラー、x
はm
要素のベクトル、y
はn要素のベクトル、A
はm
行n
列のマトリックスです。
構文
UTL_NLA.BLAS_GER ( m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_DBL, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_GER ( m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_FLT, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-14 BLAS_GERプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックス |
|
マトリックス |
|
スカラーalphaを指定します。 |
|
少なくとも次の次元を持つ ( 1 + ( m - 1 )*abs( incx ) ) 入力する前に、増分された配列 |
|
|
|
少なくとも次の次元を持つ ( 1 + ( n - 1 )*abs( incy ) ) 入力する前に、増分された配列 |
|
|
|
入力する前に、配列 |
|
コール元の(サブ)プログラムで宣言されているように、
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このファンクションは、最大絶対値を持つベクトルの最初の要素のインデックスを計算します。
このファンクションは、ベクトル2ノルム(ユークリッド・ノルム)を計算します。
このプロシージャは、点の面回転を戻します。
構文
UTL_NLA.BLAS_ROT ( n IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, c IN SCALAR_DOUBLE, s IN SCALAR_DOUBLE);
UTL_NLA.BLAS_ROT ( n IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, c IN SCALAR_DOUBLE, s IN SCALAR_DOUBLE);
パラメータ
表259-17 BLAS_ROTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ベクトル |
|
少なくとも次の次元を持つ (1+(n-1)* abs(incx)) |
|
|
|
少なくとも次の (1+(n-1)*abs(incy)) |
|
|
|
|
|
|
このプロシージャは、点のギブンス回転を戻します。
このプロシージャは、ベクトルのスケールを定数で変更します。
このプロシージャは、次のマトリックス-ベクトル演算を実行します。
y := alpha*A*x + beta*y
ここで、alpha
およびbeta
はスカラー、x
およびy
はn要素のベクトル、A
はパックされた形式のn
行n
列の対称マトリックスです。
構文
UTL_NLA.BLAS_SPMV ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_DOUBLE, ap IN UTL_NLA_ARRAY_DBL, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, beta IN SCALAR_DOUBLE, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SPMV ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_FLOAT, ap IN UTL_NLA_ARRAY_FLT, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, beta IN SCALAR_FLOAT, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-20 BLAS_SPMVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックスAの上三角または下三角部分が、パックされた配列
|
|
マトリックス |
|
|
|
少なくとも次の次元を持つ ((n*(n+1))/2)
|
|
少なくとも次の次元を持つ (1+(n-1)*abs(incx)) 入力する前に、増分された配列 |
|
|
|
|
|
少なくとも次の次元を持つ
(1+(
入力する前に、増分された配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のランク1演算を実行します。
A := alpha*x*x' + A
ここで、alpha
は実スカラー、x
はn
要素のベクトル、A
はパックされた形式のn
行n
列の対称マトリックスです。
構文
UTL_NLA.BLAS_SPR ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_DBL, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_DBL, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SPR ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_FLT, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_FLT, pack IN flag DEFAULT 'C');
パラメータ
表259-21 BLAS_SPRプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックス
|
|
マトリックス |
|
スカラーalphaを指定します。 |
|
少なくとも次の次元を持つ (1+(n-1)*abs(incx)) 入力する前に、増分された配列 |
|
|
|
少なくとも次の次元を持つ ((n*(n +1))/2)
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のランク2演算を実行します。
A := alpha*x*y' + alpha*y*x' +A
ここで、alpha
はスカラー、x
およびy
はn
要素のベクトル、A
はパックされた形式のn
行n
列の対称マトリックスです。
構文
UTL_NLA.BLAS_SPR2 ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_DBL, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SPR2 ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_FLT, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-22 BLAS_SPR2プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックス
|
|
マトリックス |
|
スカラーalphaを指定します。 |
|
少なくとも次の次元を持つ (1+(n-1)*abs(incx)) 入力する前に、増分された配列 |
|
|
|
少なくとも次の次元を持つ (1+(n-1)*abs(incy)) 入力する前に、増分された配列 |
|
|
|
少なくとも次の次元を持つ ((n*(n+1))/2)
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のマトリックス-ベクトル演算を実行します。
y := alpha*A*x + beta*y
ここで、alpha
およびbeta
はスカラー、x
およびy
はn要素のベクトル、A
はk
個の上対角を持つn
行n
列の対称バンド・マトリックスです。
構文
UTL_NLA.BLAS_SBMV ( uplo IN flag, n IN POSITIVEN, k IN NATURALN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, beta IN SCALAR_DOUBLE, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SBMV ( uplo IN flag, n IN POSITIVEN, k IN NATURALN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, beta IN SCALAR_FLOAT, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-23 BLAS_SBMVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
バンド・マトリックス
|
|
マトリックス |
|
マトリックス |
|
|
|
次元
終了時に変更されません。 |
|
コール元の(サブ)プログラムで宣言されているように、 |
|
少なくとも次の次元を持つ (1+(n-1)*abs(incx)) 入力する前に、増分された配列 |
|
|
|
|
|
少なくとも次の次元を持つ (1+(n-1)*abs(incy)) 入力する前に、増分された配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、サイズがnの2つのベクトルの内容を交換します。
このプロシージャは、次のマトリックス-マトリックス演算を実行します。
C := alpha*A*B + beta*C
または
C := alpha*B*A + beta*C
ここで、alpha
およびbeta
はスカラー、A
は対称マトリックス、B
およびC
はm
行n
列のマトリックスです。
構文
UTL_NLA.BLAS_SYMM ( side IN flag, uplo IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, beta IN SCALAR_DOUBLE, c IN OUT UTL_NLA_ARRAY_DBL, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SYMM ( side IN flag, uplo IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, beta IN SCALAR_FLOAT, c IN OUT UTL_NLA_ARRAY_FLT, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-25 BLAS_SYMMプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
対称マトリックス
|
|
配列
|
|
マトリックス |
|
マトリックス |
|
|
|
次元
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
次元 入力する前に、配列 |
|
コール元の(サブ)プログラムで宣言されているように、 |
|
|
c |
次元 |
|
コール元の(サブ)プログラムで宣言されているように、 |
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のマトリックス-ベクトル演算を実行します。
y := alpha*A*x + beta*y
ここで、alpha
およびbeta
はスカラー、x
およびy
はn
要素のベクトル、A
はn
行n
列の対称マトリックスです。
構文
UTL_NLA.BLAS_SYMV ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, beta IN SCALAR_DOUBLE, y IN OUT UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SYMV ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, beta IN SCALAR_FLOAT, y IN OUT UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-26 BLAS_SYMVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
配列
|
|
マトリックス |
|
|
|
次元
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
少なくとも次の次元を持つ (1+(n-1)*abs(incx)) 入力する前に、増分された配列 |
|
|
|
|
|
少なくとも次の次元を持つ (1+(n-1)*abs(incy)) 入力する前に、増分された配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のランク1演算を実行します。
A := alpha*x*x' + A
ここで、alpha
は実スカラー、x
はn
要素のベクトル、A
はn
行n
列の対称マトリックスです。
構文
UTL_NLA.BLAS_SYR ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_DBL, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SYR ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_FLT, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-27 BLAS_SYRプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
配列
|
|
マトリックス |
|
スカラーalphaを指定します。 |
|
少なくとも次の次元を持つ (1+(n-1)*abs(incx)) 入力する前に、増分された配列 |
|
|
|
|
|
コール元の(サブ)プログラムで宣言されているように、
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のランク2演算を実行します。
A := alpha*x*y' + alpha*y*x' + A
ここで、alpha
はスカラー、x
およびy
はn
要素のベクトル、A
はn
行n
列の対称マトリックスです。
構文
UTL_NLA.BLAS_SYR2 ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_DBL, x IN UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_DBL, incy IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SYR2 ( uplo IN flag, n IN POSITIVEN, alpha IN SCALAR_FLT, x IN UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, y IN UTL_NLA_ARRAY_FLT, incy IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-28 BLAS_SYR2プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
配列
|
|
マトリックス |
|
スカラーalphaを指定します。 |
|
少なくとも次の次元を持つ ( 1 + ( n - 1 )*abs( incx ) ) 入力する前に、増分された配列 |
|
|
|
少なくとも次の次元を持つ ( 1 + ( n - 1 )*abs( incy ) ) 入力する前に、増分された配列 |
|
|
|
|
|
コール元の(サブ)プログラムで宣言されているように、
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のいずれかの対称ランク2 k演算を実行します。
C := alpha*A*B' + alpha*B*A' + beta*C
または
C := alpha*A'*B + alpha*B'*A + beta*C
ここで、alpha
およびbeta
はスカラー、C
はn
行n
列の対称マトリックス、A
およびB
は1番目のケースではn
行k
列のマトリックス、2番目のケースではk
行n
列のマトリックスです。
構文
UTL_NLA.BLAS_SYR2K ( uplo IN flag, trans IN flag, n IN POSITIVEN, k IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, beta IN SCALAR_DOUBLE, c IN OUT UTL_NLA_ARRAY_DBL, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SYR2K ( uplo IN flag, trans IN flag, n IN POSITIVEN, k IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, beta IN SCALAR_FLOAT, c IN OUT UTL_NLA_ARRAY_FLT, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-29 BLAS_SYR2Kプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
配列
|
|
実行する演算を指定します。
|
|
マトリックス |
|
|
|
|
|
次元
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
次元
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
|
c |
次元
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のいずれかの対称ランクk演算を実行します。
C := alpha*A*A' + beta*C
または
C := alpha*A'*A + beta*C
ここで、alpha
およびbeta
はスカラー、C
はn
行n
列の対称マトリックス、A
は1番目のケースではn
行k
列のマトリックス、2番目のケースではk
行n
列のマトリックスです。
構文
UTL_NLA.BLAS_SYRK ( uplo IN flag, trans IN flag, n IN POSITIVEN, k IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, beta IN SCALAR_DOUBLE, c IN OUT UTL_NLA_ARRAY_DBL, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_SYRK ( uplo IN flag, trans IN flag, n IN POSITIVEN, k IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, beta IN SCALAR_FLOAT, c IN OUT UTL_NLA_ARRAY_DBL, ldc IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-30 BLAS_SYRKプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
配列
|
|
実行する演算を指定します。
|
|
マトリックス |
|
|
|
|
|
次元
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
|
c |
次元
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のマトリックス-ベクトル演算を実行します。
x := A*x
または
x := A'*x
ここで、x
はn
要素のベクトル、A
は(k+1)
個の対角を持つn
行n
列の単位または単位以外の上三角または下三角バンド・マトリックスです。
構文
UTL_NLA.BLAS_TBMV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, k IN NATURALN, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TBMV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, k IN NATURALN, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-31 BLAS_TBMVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックスが上三角マトリックスまたは下三角マトリックスのいずれであるかを指定します。
|
|
実行する演算を指定します。
|
|
|
|
マトリックス |
|
Kは、 |
|
次元(
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
少なくとも次元 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のいずれかの連立方程式の解を求めます。
A*x = b
または
A'*x = b
ここで、b
およびx
はn
要素のベクトル、A
は(k+1)
個の対角を持つn
行n列の単位または単位以外の上三角または下三角バンド・マトリックスです。
構文
UTL_NLA.BLAS_TBSV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, k IN NATURALN, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_STBSV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, k IN NATURALN, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-32 BLAS_TBSVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックスが上三角マトリックスまたは下三角マトリックスのいずれであるかを指定します。
|
|
解を求める方程式を指定します。
|
|
|
|
マトリックス |
|
Kは、 |
|
次元
|
|
入力時に、 |
|
少なくとも次の次元を持つ ( 1 + ( 入力する前に、増分された配列 終了時、 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のマトリックス-ベクトル演算を実行します。
x := A*x
または
x := A'*x
ここで、x
はn
要素のベクトル、A
はパックされた形式のn
行n
列の単位または単位以外の上三角または下三角マトリックスです。
構文
UTL_NLA.BLAS_TPMV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, ap IN UTL_NLA_ARRAY_DBL, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TBMV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, ap IN UTL_NLA_ARRAY_FLT, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-33 BLAS_TPMVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックスが上三角マトリックスまたは下三角マトリックスのいずれであるかを指定します。
|
|
実行する演算を指定します。
|
|
|
|
マトリックス |
|
次元
|
|
少なくとも次元 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のいずれかの連立方程式の解を求めます。
A*x = b
または
A'*x = b
ここで、b
およびx
はn
要素のベクトル、A
はパックされた形式のn
行n列の単位または単位以外の上三角または下三角マトリックスです。
構文
UTL_NLA.BLAS_TPSV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, ap IN UTL_NLA_ARRAY_DBL, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TPSV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, ap IN UTL_NLA_ARRAY_FLT, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-34 BLAS_TPSVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックスが上三角マトリックスまたは下三角マトリックスのいずれであるかを指定します。
|
|
実行する演算を指定します。
|
|
|
|
マトリックス |
|
少なくとも次の次元を持つ ((n*(n+1))/2)
|
|
少なくとも次の次元を持つ
( 1 + (
入力する前に、増分された配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のマトリックス-マトリックス演算を実行します。
B := alpha*op( A )*B
または
B := alpha*B*op( A )
ここで、alpha
はスカラー、B
はm
行n
列のマトリックス、A
は単位または単位以外の上三角または下三角マトリックス、op(A)
は次のいずれかです。
op( A ) = A
または
op( A ) = A'
構文
UTL_NLA.BLAS_TRMM ( side IN flag, uplo IN flag, transa IN flag, diag IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TRMM ( side IN flag, uplo IN flag, transa IN flag, diag IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-35 BLAS_TRMMプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
対称マトリックス
|
|
配列
|
|
マトリックス乗算で使用する
|
|
|
|
|
|
|
|
|
|
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
次元 入力する前に、配列 |
|
コール元の(サブ)プログラムで宣言されているように、 |
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のマトリックス-ベクトル演算を実行します。
x := A*x
または
x := A'*x
ここで、x
はn
要素のベクトル、A
はn
行n
列の単位または単位以外の上三角または下三角マトリックスです。
構文
UTL_NLA.BLAS_TRMV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TRMV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-36 BLAS_TRMVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックスが上三角マトリックスまたは下三角マトリックスのいずれであるかを指定します。
|
|
実行する演算を指定します。
|
|
|
|
マトリックス |
|
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
少なくとも次元 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のマトリックス-マトリックス演算を実行します。
op( A )*X = alpha*B
または
X*op( A ) = alpha*B
ここで、alpha
はスカラー、X
およびB
はm
行n
列のマトリックス、A
は単位または単位以外の上三角または下三角マトリックス、op(A)
は次のいずれかです。
op( A ) = A
または
op( A ) = A'
マトリックスX
は、B
に上書きされます。
構文
UTL_NLA.BLAS_TRSM ( side IN flag, uplo IN flag, transa IN flag, diag IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_DOUBLE, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TRSM ( side IN flag, uplo IN flag, transa IN flag, diag IN flag, m IN POSITIVEN, n IN POSITIVEN, alpha IN SCALAR_FLOAT, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-37 BLAS_TRSMプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
対称マトリックス
|
|
配列
|
|
マトリックス乗算で使用する
|
|
|
|
|
|
|
|
|
|
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
入力する前に、配列 |
|
コール元の(サブ)プログラムで宣言されているように、 |
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、次のいずれかの連立方程式の解を求めます。
A*x = b
または
A'*x = b
ここで、b
およびx
はn
要素のベクトル、A
はn行n
列の単位または単位以外の上三角または下三角マトリックスです。
構文
UTL_NLA.BLAS_TRSV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, a IN UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_DBL, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
UTL_NLA.BLAS_TRSV ( uplo IN flag, trans IN flag, diag IN flag, n IN POSITIVEN, a IN UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, x IN OUT UTL_NLA_ARRAY_FLT, incx IN POSITIVEN, pack IN flag DEFAULT 'C');
パラメータ
表259-38 BLAS_TRSVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックスが上三角マトリックスまたは下三角マトリックスのいずれであるかを指定します。
|
|
実行する演算を指定します。
|
|
|
|
マトリックス |
|
|
|
コール元の(サブ)プログラムで宣言されているように、 |
|
少なくとも次の次元を持つ (1 + (n - 1) * abs (incx)) 入力する前に、増分された配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、実連立一次方程式の解を求めます。
a * x = b
ここで、a
はkl
個の下対角およびku
個の上対角を持つn
位のバンド・マトリックス、x
およびb
はn
行nrhs
列のマトリックスです。
A
の分解には、部分ピボットおよび行交換を使用したLU
分解が次のように使用されます。
a = L * U
ここで、Lは順列とkl個の下対角を持つ単位下三角マトリックスの積、U
はkl+ku
個の上対角を持つ上三角マトリックスです。a
の分解された形式を使用して、連立方程式の解が求められます。
a * x = b
構文
UTL_NLA.LAPACK_GBSV ( n IN POSITIVEN, kl IN NATURALN, ku IN NATURALN, nrhs IN POSITIVEN, ab IN OUT UTL_NLA_ARRAY_DBL, ldab IN POSITIVEN, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GBSV ( n IN POSITIVEN, kl IN NATURALN, ku IN NATURALN, nrhs IN POSITIVEN, ab IN OUT UTL_NLA_ARRAY_FLT, ldab IN POSITIVEN, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-39 LAPACK_GBSVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
一次方程式の数(マトリックス |
|
aのバンド内の下対角の数。 |
|
|
|
右辺の数(マトリックス |
|
入力時は、バンド・ストレージの行
終了時は、分解の詳細です。
|
|
配列abの先頭の次元。
|
|
次元 順列マトリックス |
|
次元 入力時は、右辺マトリックス 終了時、 |
|
配列bの先頭の次元。
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、n
行n
列の実非対称マトリックスA
、固有値、実Schur形式T
およびオプションでSchurベクトルのマトリックスZ
を計算します。これによって、Schur分解A = Z*T*(Z**T)
が実行されます。
マトリックスは、1
行1
列および2
行2
列のブロックを持つ上準三角の場合は実Schur形式になります。2
行2
列のブロックは、次の形式で標準化されます。
[ a b ]
[ c a ]
ここで、b*c < 0
です。このようなブロックの固有値は、a +- sqrt(bc)
です。
構文
UTL_NLA.LAPACK_GEES ( jobvs IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, wr IN OUT UTL_NLA_ARRAY_DBL, wi IN OUT UTL_NLA_ARRAY_DBL, vs IN OUT UTL_NLA_ARRAY_DBL, ldvs IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GEES ( jobvs IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, wr IN OUT UTL_NLA_ARRAY_FLT, wi IN OUT UTL_NLA_ARRAY_FLT, vs IN OUT UTL_NLA_ARRAY_FLT, ldvs IN POSITIVEN, info OUT integer, pack IN flag DEFAULT 'C');
パラメータ
表259-40 LAPACK_GEESプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
マトリックス |
a |
次元
|
|
配列 |
|
次元
|
|
次元
|
|
次元
|
|
配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、A
のQR
またはLQ
分解を使用して、m
行n
列マトリックスA
、またはこのマトリックスの転置マトリックスが含まれる過剰決定または過小決定の実連立一次方程式の解を求めます。A
に最大階数が含まれていることを前提とします。
次のオプションがあります。
TRANS = 'N'
およびm >= n
の場合は、過剰決定連立方程式の最小二乗解を求めます。つまり、最小二乗問題を解きます。
minimize || B - A*X ||
TRANS = 'N'
およびm < n
の場合は、過小決定連立方程式A * X = B
の最小ノルム解を求めます。
TRANS = 'T'
およびm > n
の場合は、過小決定連立方程式A**T * X = B
の最小ノルム解を求めます。
TRANS = 'T'
およびm < n
の場合は、過剰決定連立方程式の最小二乗解を求めます。つまり、最小二乗問題minimize || B - A**T * X ||
を解きます。
構文
UTL_NLA.LAPACK_GELS ( trans IN flag, m IN POSITIVEN, n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GELS ( trans IN flag, m IN POSITIVEN, n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-41 LAPACK_GELSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
マトリックス |
|
マトリックス |
|
右辺の数(マトリックス |
|
入力時は、右辺ベクトルのマトリックス 終了時、 |
|
配列 |
|
次元 入力時は、右辺ベクトルのマトリックス 終了時、
|
|
配列
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、m
行n
列の実マトリックスA
の特異値分解(SVD)を計算します。また、オプションで左右の特異ベクトルを計算します。特異ベクトルが必要な場合は、浮動小数点演算に関する緩やかな仮定を設ける分割統治法アルゴリズムを使用します。
SVDは、次のように記述されます。
A = U * SIGMA * transpose(V)
ここで、SIGMAは、m
行n
列のマトリックスで、min(m,n)
個の対角要素を除いて0 (ゼロ)です。U
はm
行m
列の直交マトリックス、V
はn
行n
列の直交マトリックスです。SIGMAの対角要素はA
の特異値です。これらは負ではない実数で、降順で戻されます。U
およびV
の最初のmin(m,n)
列は、A
の左右特異ベクトルです。
ルーチンによってV
ではなくV**T
が戻されることに注意してください。
構文
UTL_NLA.LAPACK_GESDD ( jobz IN flag, m IN POSITIVEN, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, s IN OUT UTL_NLA_ARRAY_DBL, u IN OUT UTL_NLA_ARRAY_DBL, ldu IN POSITIVEN, vt IN OUT UTL_NLA_ARRAY_DBL, ldvt IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GESDD ( jobz IN flag, m IN POSITIVEN, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, s IN OUT UTL_NLA_ARRAY_FLT, u IN OUT UTL_NLA_ARRAY_FLT, ldu IN POSITIVEN, vt IN OUT UTL_NLA_ARRAY_FLT, ldvt IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-42 LAPACK_GESDDプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックス
|
|
マトリックス |
|
マトリックス |
|
次元 入力時は、 終了時:
|
|
配列 |
|
次元
|
|
|
|
配列 |
|
次元
|
|
配列
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、実連立一次方程式の解を求めます。
a * x = b
ここで、a
はn
行n
列のマトリックス、x
およびb
はn
行nrhs
列のマトリックスです。
A
の分解には、部分ピボットおよび行交換を使用したLU
分解が次のように使用されます。
a = P * L * U
ここで、P
は順列マトリックス、L
は単位下三角マトリックス、U
は上三角マトリックスです。a
の分解された形式を使用して、連立方程式の解が求められます。
a * x = b
構文
UTL_NLA.LAPACK_GESV ( n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GESV ( n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-43 LAPACK_GESVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
一次方程式の数(マトリックス |
|
右辺の数(マトリックス |
|
入力時は、 終了時は、分解 |
|
配列aの先頭の次元。
|
|
次元 順列マトリックス |
|
次元 入力時は、右辺マトリックス 終了時、 |
|
配列
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、m
行n
列のマトリックスA
の特異値分解(SVD)を計算します。また、オプションで左または右(あるいは両方)の特異ベクトルを計算します。SVDは、次のように記述されます。
A = U * SIGMA * transpose(V)
ここで、SIGMAは、m
行n
列のマトリックスで、min(m,n)
個の対角要素を除いて0 (ゼロ)です。U
はm
行m
列の直交マトリックス、V
はn
行n
列の直交マトリックスです。SIGMAの対角要素はA
の特異値です。これらは負ではない実数で、降順で戻されます。U
およびV
の最初のmin(m,n)
列は、A
の左右特異ベクトルです。
ルーチンによってV
ではなくV**T
が戻されることに注意してください。
構文
UTL_NLA.LAPACK_GESVD ( jobu IN flag, jobvt IN flag, m IN POSITIVEN, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, s IN OUT UTL_NLA_ARRAY_DBL, u IN OUT UTL_NLA_ARRAY_DBL, ldu IN POSITIVEN, vt IN OUT UTL_NLA_ARRAY_DBL, ldvt IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GESVD ( jobu IN flag, jobvt IN flag, m IN POSITIVEN, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, s IN OUT UTL_NLA_ARRAY_FLT, u IN OUT UTL_NLA_ARRAY_FLT, ldu IN POSITIVEN, vt IN OUT UTL_NLA_ARRAY_FLT, ldvt IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-44 LAPACK_GESVDプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックス
|
|
マトリックス
|
|
マトリックス |
|
マトリックス |
|
次元 入力時は、 終了時:
|
|
配列 |
|
次元
|
|
|
|
配列 |
|
次元
|
|
配列
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、n
行n
列の実非対称マトリックスA
、固有値およびオプションで左または右(あるいは両方)の固有ベクトルを計算します。
A
の右固有ベクトルv(j)
は、A * v(j) = lambda(j) * v(j)
を満たします。ここで、lambda(j)
はその固有値です。
A
の左固有ベクトルu(j)
は、u(j)**H * A = lambda(j) * u(j)**H
を満たします。ここで、u(j)**H
は、u(j)
の共役転置マトリックスを示します。
計算された固有ベクトルは、1
に等しいユークリッド・ノルムおよび最大の実部を持つように正規化されます。
構文
UTL_NLA.LAPACK_GEEV ( jobvl IN flag, jobvr IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, wr IN OUT UTL_NLA_ARRAY_DBL, wi IN OUT UTL_NLA_ARRAY_DBL, vl IN OUT UTL_NLA_ARRAY_DBL, ldvl IN POSITIVEN, vr IN OUT UTL_NLA_ARRAY_DBL, ldvr IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GEEV ( jobvl IN flag, jobvr IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, wr IN OUT UTL_NLA_ARRAY_FLT, wi IN OUT UTL_NLA_ARRAY_FLT, vl IN OUT UTL_NLA_ARRAY_FLT, ldvl IN POSITIVEN, vr IN OUT UTL_NLA_ARRAY_FLT, ldvr IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-45 LAPACK_GEEVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
|
|
マトリックス |
|
次元
|
|
配列 |
|
次元
|
|
次元
|
|
次元
|
|
配列 |
|
次元
|
|
配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、方程式の解を求めます。
a * x = b
ここで、a
は、部分ピボットを使用したガウス消去法によるn
行n
列の三重対角マトリックスです。
方程式a'*x = b
の解は、引数du
およびdl
の順序を交換して求めることができます。
構文
UTL_NLA.LAPACK_GTSV ( n IN POSITIVEN, nrhs IN POSITIVEN, dl IN OUT UTL_NLA_ARRAY_DBL, d IN OUT UTL_NLA_ARRAY_DBL, du IN OUT UTL_NLA_ARRAY_DBL, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_GTSV ( n IN POSITIVEN, nrhs IN POSITIVEN, dl IN OUT UTL_NLA_ARRAY_FLT, d IN OUT UTL_NLA_ARRAY_FLT, du IN OUT UTL_NLA_ARRAY_FLT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-46 LAPACK_GTSVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックス |
|
右辺の数(マトリックス |
|
入力時、 終了時、 |
|
入力時、 終了時、 |
|
入力時、 終了時、 |
|
次元 入力時は、右辺マトリックス 終了時、 |
|
配列bの先頭の次元。
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、実連立一次方程式の解を求めます。
a * x = b
ここで、a
はn行n列の正定値対称バンド・マトリックス、x
およびb
はn
行nrhs
列のマトリックスです。
A
の分解には、コレスキ分解が次のように使用されます。
UPLO = 'U'
の場合は、A = U**T*U
です。
または
UPLO = 'L'
の場合は、A = L * L**T
です。
ここで、U
は上三角マトリックス、L
は下三角マトリックスです。A
の分解された形式を使用して、連立方程式A * X = B
の解が求められます。
構文
UTL_NLA.LAPACK_PBSV ( uplo IN flag, n IN POSITIVEN, kd IN NATURALN, nrhs IN POSITIVEN, ab IN OUT UTL_NLA_ARRAY_DBL, ldab IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_PBSV ( uplo IN flag, n IN POSITIVEN, kd IN NATURALN, nrhs IN POSITIVEN, ab IN OUT UTL_NLA_ARRAY_FLT, ldab IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-47 LAPACK_PBSVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
一次方程式の数(マトリックス |
|
|
|
右辺の数(マトリックス |
|
入力時は、配列の最初の
詳細は、次の説明を参照してください。終了時、 |
|
配列
|
|
次元 入力時は、右辺マトリックス 終了時、 |
|
配列
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、実連立一次方程式の解を求めます。
a * x = b
ここで、a
はn行n列の正定値対称マトリックス、x
およびb
はn
行nrhs
列のマトリックスです。
A
の分解には、コレスキ分解が次のように使用されます。
uplo = 'U'
の場合は、A = U**T* U
です。
または
UPLO = 'L'
の場合は、A = L * L**T
です。
ここで、U
は上三角マトリックス、L
は下三角マトリックスです。A
の分解された形式を使用して、連立方程式A * X = B
の解が求められます。
構文
UTL_NLA.LAPACK_POSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_POSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-48 LAPACK_POSVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
一次方程式の数(マトリックス |
|
右辺の数(マトリックス |
|
終了時、 |
|
配列aの先頭の次元。
|
|
次元 入力時は、右辺マトリックス 終了時、 |
|
配列bの先頭の次元。
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、実連立一次方程式の解を求めます。
a * x = b
ここで、a
はパックされた形式で格納されているn行n列の正定値対称マトリックス、x
およびb
はn
行nrhs
列のマトリックスです。
A
の分解には、コレスキ分解が次のように使用されます。
UPLO = 'U'
の場合は、A = U**T* U
です。
または
UPLO = 'L'
の場合は、A = L * L**T
です。
ここで、Uは上三角マトリックス、L
は下三角マトリックスです。A
の分解された形式を使用して、連立方程式A * X = B
の解が求められます。
構文
UTL_NLA.LAPACK_PPSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_DBL, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_PPSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_FLT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-49 LAPACK_PPSVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
一次方程式の数(マトリックス |
|
右辺の数(マトリックス |
|
入力時は、線形配列に列方向でパックされている、対称マトリックス
終了時、 |
|
次元 入力時は、右辺マトリックス 終了時、 |
|
配列bの先頭の次元。
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、実連立一次方程式の解を求めます。
a * x = b
ここで、a
はn行n列の正定値対称三重対角マトリックス、x
およびb
はn行nrhs
列のマトリックスです。
a
はA = L*D*L**T
として分解され、aの分解された形式を使用して、連立方程式の解が求められます。
構文
UTL_NLA.LAPACK_PTSV ( n IN POSITIVEN, nrhs IN POSITIVEN, d IN OUT UTL_NLA_ARRAY_DBL, e IN OUT UTL_NLA_ARRAY_DBL, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_PTSV ( n IN POSITIVEN, nrhs IN POSITIVEN, d IN OUT UTL_NLA_ARRAY_FLT, e IN OUT UTL_NLA_ARRAY_FLT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-50 LAPACK_PTSVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
マトリックス |
|
右辺の数(マトリックス |
|
入力時は、三重対角マトリックス 終了時は、分解 |
|
入力時は、三重対角マトリックス 終了時は、 |
|
次元 入力時は、右辺マトリックス 終了時、 |
|
配列
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、すべての固有値を計算します。また、オプションで、実対称バンド・マトリックスA
の固有ベクトルを計算します。
構文
UTL_NLA.LAPACK_SBEV ( jobz IN flag, uplo IN flag, n IN POSITIVEN, kd IN NATURALN, ab IN OUT UTL_NLA_ARRAY_DBL, ldab IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_DBL, z IN OUT UTL_NLA_ARRAY_DBL, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SBEV ( jobz IN flag, uplo IN flag, n IN POSITIVEN, kd IN NATURALN, ab IN OUT UTL_NLA_ARRAY_FLT, ldab IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_FLT, z IN OUT UTL_NLA_ARRAY_FLT, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-51 LAPACK_SBEVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
|
|
マトリックス |
|
|
|
入力時は、配列の最初の
終了時、
|
|
配列 |
|
次元
|
|
次元
|
|
配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、すべての固有値を計算します。また、オプションで実対称マトリックスA
の固有ベクトルを計算します。固有ベクトルが必要な場合は、浮動小数点演算に関する緩やかな仮定を設ける分割統治法アルゴリズムを使用します。
構文
UTL_NLA.LAPACK_SBEVD ( jobz IN flag, uplo IN flag, n IN POSITIVEN, kd IN NATURALN, ab IN OUT UTL_NLA_ARRAY_DBL, ldab IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_DBL, z IN OUT UTL_NLA_ARRAY_DBL, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SBEVD ( jobz IN flag, uplo IN flag, n IN POSITIVEN, kd IN NATURALN, ab IN OUT UTL_NLA_ARRAY_FLT, ldab IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_FLT, z IN OUT UTL_NLA_ARRAY_FLT, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-52 LAPACK_SBEVDプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
|
|
マトリックス |
|
|
|
入力時は、配列の最初の
終了時、
|
|
配列 |
|
次元
|
|
次元
|
|
配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、すべての固有値を計算します。また、オプションで、パックされて格納されている実対称マトリックスA
の固有ベクトルを計算します。
構文
UTL_NLA.LAPACK_SPEV ( jobz IN flag, uplo IN flag, n IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_DBL, w IN OUT UTL_NLA_ARRAY_DBL, z IN OUT UTL_NLA_ARRAY_DBL, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SPEV ( jobz IN flag, uplo IN flag, n IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_FLT, w IN OUT UTL_NLA_ARRAY_FLT, z IN OUT UTL_NLA_ARRAY_FLT, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-53 LAPACK_SPEVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
|
|
マトリックス |
|
入力時は、線形配列に列方向でパックされている、対称マトリックス
終了時、
|
|
次元
|
|
次元
|
|
配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、すべての固有値を計算します。また、オプションで、パックされて格納されている実対称マトリックスA
の固有ベクトルを計算します。固有ベクトルが必要な場合は、分割統治アルゴリズムが使用されます。分割統治アルゴリズムは、浮動小数点演算に関する緩やかな仮定を設けます。
構文
UTL_NLA.LAPACK_SPEVD ( jobz IN flag, uplo IN flag, n IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_DBL, w IN OUT UTL_NLA_ARRAY_DBL, z IN OUT UTL_NLA_ARRAY_DBL, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SPEVD ( jobz IN flag, uplo IN flag, n IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_FLT, w IN OUT UTL_NLA_ARRAY_FLT, z IN OUT UTL_NLA_ARRAY_FLT, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-54 LAPACK_SPEVDプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
|
|
マトリックス |
|
入力時は、線形配列に列方向でパックされている、対称マトリックス
終了時、
|
|
次元
|
|
次元
|
|
配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、実連立一次方程式の解を求めます。
a * x = b
ここで、a
はパックされた形式で格納されているn行n列の対称マトリックス、x
およびb
はn行nrhs列のマトリックスです。
A
の分解には、対角ピボット法が次のように使用されます。
UPLO = 'U'
の場合は、A = U * D * U**T
です。
または
UPLO = 'L'
の場合は、A = L * D * L**T
です。
ここで、U
(またはL
)は順列マトリックスと単位上(下)三角マトリックスの積、D
は1行1列および2行2列の対角ブロックを持つ対称ブロック対角マトリックスです。A
の分解された形式を使用して、連立方程式A * X = B
の解が求められます。
構文
UTL_NLA.LAPACK_SPSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_DBL, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SPSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, ap IN OUT UTL_NLA_ARRAY_FLT, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-55 LAPACK_SPSVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
一次方程式の数(マトリックス |
|
右辺の数(マトリックス |
|
入力時は、線形配列に列方向でパックされている、対称マトリックス
詳細は、次の説明を参照してください。 終了時は、ブロック対角マトリックス |
|
次元
|
|
次元 入力時は、 終了時、 |
|
配列
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、すべての固有値を計算します。また、オプションで、実対称三重対角マトリックスA
の固有ベクトルを計算します。
構文
UTL_NLA.LAPACK_STEV ( jobz IN flag, n IN POSITIVEN, d IN OUT UTL_NLA_ARRAY_DBL, e IN OUT UTL_NLA_ARRAY_DBL, z IN OUT UTL_NLA_ARRAY_DBL, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_STEV ( jobz IN flag, n IN POSITIVEN, d IN OUT UTL_NLA_ARRAY_FLT, e IN OUT UTL_NLA_ARRAY_FLT, z IN OUT UTL_NLA_ARRAY_FLT, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-56 LAPACK_STEVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
マトリックス |
|
次元
|
e |
次元
|
|
次元
|
|
配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、すべての固有値を計算します。また、オプションで、実対称三重対角マトリックスの固有ベクトルを計算します。固有ベクトルが必要な場合は、浮動小数点演算に関する緩やかな仮定を設ける分割統治法アルゴリズムを使用します。
構文
UTL_NLA.LAPACK_STEVD ( jobz IN flag, n IN POSITIVEN, d IN OUT UTL_NLA_ARRAY_DBL, e IN OUT UTL_NLA_ARRAY_DBL, z IN OUT UTL_NLA_ARRAY_DBL, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_STEVD( jobz IN flag, n IN POSITIVEN, d IN OUT UTL_NLA_ARRAY_FLT, e IN OUT UTL_NLA_ARRAY_FLT, z IN OUT UTL_NLA_ARRAY_FLT, ldz IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-57 LAPACK_STEVDプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
マトリックス |
|
次元
|
e |
次元
|
|
次元
|
|
配列 |
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、すべての固有値を計算します。また、オプションで、実対称マトリックスA
の固有ベクトルを計算します。
構文
UTL_NLA.LAPACK_SYEV ( jobz IN flag, uplo IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_DBL, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SYEV ( jobz IN flag, uplo IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_FLT, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-58 LAPACK_SYEVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
|
|
マトリックス |
|
入力時は、対称マトリックス
終了時:
|
|
配列 |
|
次元
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、すべての固有値を計算します。また、オプションで、実対称マトリックスA
の固有ベクトルを計算します。固有ベクトルが必要な場合は、浮動小数点演算に関する緩やかな仮定を設ける分割統治法アルゴリズムを使用します。
構文
UTL_NLA.LAPACK_SYEVD (
jobz IN flag, uplo IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_DBL, info OUT INTEGER, pack IN flag DEFAULT 'C'); UTL_NLA.LAPACK_SYEVD ( jobz IN flag, uplo IN flag, n IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, w IN OUT UTL_NLA_ARRAY_FLT, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-59 LAPACK_SYEVDプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
|
|
マトリックス |
|
入力時は、対称マトリックス
終了時:
|
|
配列 |
|
次元
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|
このプロシージャは、実連立一次方程式の解を求めます。
a * x = b
ここで、a
はn行n列の対称マトリックス、x
およびb
はn行nrhs列のマトリックスです。
A
の分解には、対角ピボット法が次のように使用されます。
UPLO = 'U'
の場合は、A = U * D * U**T
です。
または
UPLO = 'L'
の場合は、A = L * D * L**T
です。
ここで、U
(またはL
)は順列マトリックスと単位上(下)三角マトリックスの積、D
は1行1列および2行2列の対角ブロックを持つ対称ブロック対角マトリックスです。A
の分解された形式を使用して、連立方程式A * X = B
の解が求められます。
構文
UTL_NLA.LAPACK_SYSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_DBL, lda IN POSITIVEN, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_DBL, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
UTL_NLA.LAPACK_SYSV ( uplo IN flag, n IN POSITIVEN, nrhs IN POSITIVEN, a IN OUT UTL_NLA_ARRAY_FLT, lda IN POSITIVEN, ipiv IN OUT UTL_NLA_ARRAY_INT, b IN OUT UTL_NLA_ARRAY_FLT, ldb IN POSITIVEN, info OUT INTEGER, pack IN flag DEFAULT 'C');
パラメータ
表259-60 LAPACK_SYSVプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
|
|
一次方程式の数(マトリックス |
|
右辺の数(マトリックス |
|
入力時は、対称マトリックス 終了時、 |
|
配列
|
|
次元
|
|
次元 入力時は、右辺マトリックス 終了時、 |
|
配列
|
|
|
|
(オプション)マトリックスのパッキングのフラグを設定します。
|