|
|
◆ Zher2k()
| Sub Zher2k |
( |
Uplo As |
String, |
|
|
Trans As |
String, |
|
|
N As |
Long, |
|
|
K As |
Long, |
|
|
Alpha As |
Complex, |
|
|
A() As |
Complex, |
|
|
B() As |
Complex, |
|
|
Beta As |
Double, |
|
|
C() As |
Complex, |
|
|
Optional Info As |
Long |
|
) |
| |
Rank 2k 操作: C <- αABH + conjg(α)BAH + βC または C <- αAHB + conjg(α)BHA + βC (エルミート行列) (BLAS 3)
- 目的
- 本ルーチンはエルミート rank 2k 操作を行う.
C <- αAB^H + conjg(α)BA^H + βC または C <- αA^HB + conjg(α)B^HA + βC
ここで, αはスカラー, βは実数のスカラー, Cはn×nエルミート行列, また, AおよびBはn×k行列(最初の場合)またはk×n行列(2番目の場合)である.
- 引数
-
| [in] | Uplo | 配列C()の上三角部分あるいは下三角部分のどちらを参照するかを指定.
= "U": C()の上三角部分のみを参照.
= "L": C()の下三角部分のみを参照. |
| [in] | Trans | 行う操作の指定.
= "N": C <- αAB^H + conjg(α)BA^H + βC.
= "C": C <- αA^HB + conjg(α)B^HA + βC. |
| [in] | N | 行列 C の行および列数. (N >= 0) (N = 0 の場合, 処理を行わずに戻る) |
| [in] | K | 行列 A の列数 (Trans="N"の場合)、行列 A の行数 (Trans="C"の場合) (K >= 0) |
| [in] | Alpha | スカラーα. |
| [in] | A() | 配列 A(LA1 - 1, LA2 - 1) (LA1 >= N, LA2 >= K (Trans="N"の場合), LA1 >= K, LA2 >= N (その他の場合))
N×K行列 A (Trans = "N"の場合) または K×N行列 A (その他の場合). |
| [in] | B() | 配列 B(LB1 - 1, LB2 - 1) (LB1 >= N, LB2 >= K (Trans="N"の場合), LB1 >= K, LB2 >= N (その他の場合))
N×K行列 B (Trans = "N"の場合) または K×N行列 B (その他の場合). |
| [in] | Beta | スカラーβ. |
| [in,out] | C() | 配列 C(LC1 - 1, LC2 - 1) (LC1 >= N, LC2 >= N)
[in] N×Nエルミート行列 C. Uploに従い上三角部分あるいは下三角部分のみが参照される. 対角要素の虚数部は設定不要で, 0と仮定される.
[out] αAB^H + conjg(α)BA^H + βC (Trans="N"の場合) または αA^HB + conjg(α)B^HA + βC (その他の場合). Uploに従い上三角部分あるいは下三角部分のみが上書きされる. 対角要素の虚数部は0に設定される. |
| [out] | Info | (省略可)
= 0: 正常終了.
= -1: パラメータ Uplo の誤り. (Uplo <> "U"および"L")
= -2: パラメータ Trans の誤り. (Trans <> "N"および"C")
= -3: パラメータ N の誤り. (N < 0)
= -4: パラメータ K の誤り. (K < 0)
= -6: パラメータ A() の誤り.
= -7: パラメータ B() の誤り.
= -9: パラメータ C() の誤り. |
- 出典
- BLAS
|