XLPack 6.1
C/C++ API リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ _dlantr()

double _dlantr ( char  norm,
char  uplo,
char  diag,
int  m,
int  n,
int  lda,
double  a[],
double  work[] 
)

行列の1ノルム, フロベニウスノルム, 無限ノルム, または, 要素の最大絶対値 (台形または三角行列)

目的
本ルーチンは台形または三角行列Aの1ノルム, フロベニウスノルム, 無限ノルム, または, 要素の最大絶対値を返す.
戻り値
max(abs(Aij)) (norm = 'M'の場合),
norm1(A) (norm = '1'または'O'の場合),
normI(A) (norm = 'I'の場合), または
normF(A) (norm = 'F'または'E'の場合).

ここで, norm1は行列の1ノルム(列の合計の最大値), normIは行列の無限ノルム(行の合計の最大値), そして, normFは行列のフロベニウスノルム(二乗和の平方根)を表す.
max(abs(Aij))は正しくは行列のノルムではないことに注意せよ.
引数
[in]norm上に説明されているようにdlantrが返す値を指定する.
[in]uplo行列Aが上台形か下台形かを指定.
= 'U': 上台形.
= 'L': 下台形.
m = n であれば Aは台形ではなく三角行列であることに注意せよ.
[in]diag行列Aが単位対角要素を持つかどうかを指定する.
= 'N': 単位対角要素を持たない.
= 'U': 単位対角要素を持つ.
[in]m行列 A の行数. (m >= 0, uplo = 'U'の場合 m <= n)
m = 0 の場合, 0を返す.
[in]n行列 A の列数. (n >= 0, uplo = 'L'の場合 n <= m)
n = 0 の場合, 0を返す.
[in]lda二次元配列a[][]の整合寸法. (lda >= max(1, m))
[in]a[][]配列 a[la][lda] (la >= n)
台形行列 A (m = n であれば A は三角行列). uplo = 'U'の場合, 配列a[]の左上m×n上台形部分に上台形行列が入り, 対角要素を除く下三角部分は参照されない. uplo = 'L'の場合, 配列a[]の左上m×n下上台形部分に下台形行列が入り, 対角要素を除く上三角部分は参照されない. diag = 'U'の場合a[]の対角要素は参照されず1とみなされることに注意せよ.
[out]work[]配列 work[lwork] (lwork >= max(1, m) (norm = 'I'の場合), work[]は参照されない(その他の場合))
作業領域.
出典
LAPACK