• 検索結果がありません。

ーチン

フ 行列 線形方程式

一般行列 分解 解法 逆行列

実行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_gen 1-4 複素行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_gen (複素数) 1-11 正定値行列 分解 解法 逆行列

実行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_posdef 1-16 複素行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_posdef (複素数) 1-20

帯行列 線形方程式

帯行列 分解 解法

実行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_gen_band 1-24 複素行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_gen_band (複素数) 1-28 正定値対称行列 分解 解法

実行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_posdef_band 1-32 複素行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_posdef_band (複素数) 1-36

一般疎行列 線形方程式

疎行列 分解 解法 I

実行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_gen_coordinate 1-40 複素行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_gen_coordinate (複素数) 1-49

疎行列 分解 解法 II

実行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ superlu 1-55 複素行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ superlu (複素数) 1-65

疎行列 OpenMP並列 分解 解法

実行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ superlu_smp 1-76 複素行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ superlu_smp (複素数) 1-85 正定値行列 分解 解法

実行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_posdef_coordinate 1-95 複素行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_posdef_coordinate (複素数) 1-101 正定値行列 OpenMP並列 分解 解法

実行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ sparse_cholesky_smp 1-107 複素行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ sparse_cholesky_smp (複素数) 1-115 反復法

一般化最小残差法(GMRES) ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_gen_min_residual 1-123 共役勾配法 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_def_cg 1-127

フ 行列 最小二乗法

最小二乗 QR 分解

最小二乗解法, QR 分解 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_least_squares_gen 1-133 非負 最小二乗解法 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ nonneg_least_squares 1-140 線形制約 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_lsq_lin_constraints 1-145

非負 行列 分解 (NNMF)

非負行列 分解 解 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ nonneg_matrix_factorization 1-149 特異値分解 (SVD) 一般化逆行列

実行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_svd_gen 1-153 複素行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_svd_gen (複素数) 1-158 半正定値行列 分解 解法 一般化逆行列

実行列 ꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏꞏ lin_sol_nonnegdef 1-163

使用 注意

線形方程式 解法

正方線形方程式 Ax = b 形式 A 指定 n×n 行列 b 与え た右辺 n ベク

x nベク す A b 各 ン ー が指定し け ませ 全ベク

x が出力 し 返さ ます

Aが可逆 Ax = b 唯一 解が存在します Ax = b 解くた に最も一般的に使用さ 直

接法 行列A 角行列 積に分解し そ 角方程式 解 ます 線形方程式 直接法

解く関数 Ax = b 全 計算します 関数 imsl_f_superlu あ い 接頭辞

"imsl_f_lin_sol" も 関数が必須 引数 共に呼 場合 xへ インタが フ

返さ ます 行列A 角行列 積に分解す け よう 処理 キーワー 使用し 行うこ が可能 す

行列 分解

アプ ー ンによ n×n 行列A 2 角行列 積に分解したい け 場合があ ま す こ 線形方程式Ax = b 解くた 関数 呼ぶこ によ 行うこ ます 線

形方程式 Ax = b x に加え A LU 分解が必要 します 関数

imsl_f_lin_sol_gen キーワー IMSL_FACTOR 使うこ そ 分解 得 こ が ます そ 分解 けが必要 あ キーワー IMSL_FACTOR_ONLY IMSL_FACTOR 使用します 関 数 imsl_f_superlu キーワー IMSL_RETURN_SPARSE_LU_FACTOR 用い LU分解 得 こ が ます そ 分解 けが必要 あ キーワー

IMSL_RETURN_SPARSE_LU_FACTOR IMSL_FACTOR_SOLVE 値 1 使用します

LU LLT 基本的 行列分解 他に 他 行列分解が提供さ ます 実行列Aに対す QR 分 解 関数imsl_f_lin_least_squares_genによ 計算す こ が ます 行列 特異値 分解 SVD 計算す た 関数 後 節 説明します

逆行列

線形方程式 解く関数 IMSL_INVERSEキーワー 使用す こ によ n × n 非特異行列 逆行列 得 こ が ます 目的が複数 線形方程式 解くた あ 逆行列 計算す 必要

あ ませ 複数 右辺 あ も 逆行列 計算し 行列乗算 実行し 線形方程式 解くこ 次節 述べ 方法よ 通常更に時間が ます

複数 右辺

線形方程式が複数 右辺ベク 持 場合 最初に係数行列A 角行列 積に分解し 解ベク 求 こ が最も経済的 す そ 後 得 た 角方程式 各右辺に対し 解 ます A

が実数 一般行列 あ A LU 分解 関数 imsl_f_lin_sol_gen キーワー

IMSL_FACTOR IMSL_FACTOR_ONLY 使用す こ 計算さ ます k番目 右辺ベク

bkに対す 解 xk 2 角方程式 Lyk

= b

k Uxk

= y

k 解くこ によ 得 ます 関

数imsl_f_lin_sol_gen キーワー IMSL_SOLVE_ONLY 各右辺 解く に使用さ ます こ 引数 線形方程式 解く他 関数にもあ ます 関数 imsl_f_superlu に対し キーワー IMSL_RETURN_SPARSE_LU_FACTOR IMSL_FACTOR_SOLVE 値 1 用い LU 分 解 行 い そ キーワー IMSL_FACTOR_SOLVE 値 2 異 右辺に対す 解 得 こ

が ます

最小二乗解 QR 分解

最小二乗解 通常 m > n あ 線形方程式Am x n

x = b

過剰決定 計算 います 最

小二乗 解x 残差ベク r = Ax -

b

ーク 最小にします Aがフ ンク

持 関数imsl_f_lin_least_squares_gen 最小二乗法 一意的 解 計算します A が ンク 足 場合 ,いく 変数に対す 基本解が計算さ ます こ 変数 交換 後 列 構成さ ます 列交換 あ い ッ 交換 QR分解 AP = QR し 計算さ ます ここ Q 直交行列 R そ 対角要素が大 さ 非減少 形行列 P ッ 交換によ 決定さ 置換行列 す 基本解xB 基本変数に対し R(PT

)x = Q

Tb 解くこ によ

ます 詳細 関数 imsl_f_lin_least_squares_gen 説明 参照し く さい ー 指定 P AP = QR 行列 A QR 分解 キーワー 使用し 計算す こ が ます 線形制約 よび一 右辺 あ 線形最小二乗問題:

A

m×n

x = b

解くこ が ます ここ 制約条件 境界

b

l

C xb

u

x

l

xx

u

A 係数行列 b 右辺ベク C 制約 係数行列 ベク bl

, b

u

, x

l

, x

u 制約 変数

境界 す こ 問題 imsl_f_lin_lsq_oin_constraints 解くこ が ます

特に非負 制約 x ≥ 0 場合 imsl_f_nonneg_lieast_squares 解くこ が ます

非負 行列 分解

行列が Am × n

≥ 0

2 行列 積に分解 ます: Am × n

= F

m × k

G

k × n

行列 F G 共に非負 k ≤ min(m, n) 分解 残差行列 E = A - FG が最小 二乗和 持 ように計算さ ます imsl_f_nonneg_matrix_factorization キ ン

Fm × k

Gk × n 正規化が説明さ います

特異値分解 一般化逆行列

m × n 行列A SVD 特異値分解 : Singular Value Decomposition 行列分解A = USV T q =

min(m n) 因子Um x q Vn x q 直交行列 Sq x q 非増加 対角項 持 非負 対角行列 す

関数imsl_f_lin_svd_gen フ A 特異値 計算します キーワー 使用す

こ 一部 又 全 U V行列 A 階数 推定 A 一般化逆行列 計算す こ が ます

悪条件 特異性

Ax = 0 満たすx ≠ 0があ 場合 m × n 行列A 数学的に特異 す こ 場合 線形方程式Ax

= b

一意的 解 ませ 一方 行列Aが数学的に特異 行列に 近い 場合 行列A 数 値的に特異 す そ よう 問題 悪条件 呼 ます 悪条件問題 数値結果が受け入

い場合 可能 あ float doubleに え よ 良い精度 使用す もしく そ 方程式 近似解 得 こ が ます 近似 一 形式 A SVD 使用し 得 こ が可能 す q = min(m,n) また

Asi,i

i1

q uiviT

す 近似解 次によ 与え ます:

x

k

t

i,i

i1

k

( b

T

u

i

) v

i

t i,i 次式 定義さ ます:

,1 ,

, if 0

0 otherwise

i i i i

i i

s s tol

t

 

 



tol 値 指定します こ 値 与え た行列が特異行列に く い 近い 決定します 更に合計 項 数に制限 k ≤ q が適用さ 場合もあ ます

例え |(bT ui )| i > k が右辺 b 平均 確定よ 小さく よう k ≤ q があ

す こ こ ロに置 換え こ 意味す b 問題 確定

範囲内にあ ベク 置 え ます