『行列計算アルゴリズム』
https://gyazo.com/f16a0ec951f333226cdb606ba3a0e91d
『行列計算アルゴリズム 基本から機械学習への応用まで』(今倉 暁)|講談社
https://github.com/akira-imakura/mca
第1部 導入
第1章 行列計算入門
1.1 記号および基本演算の定義
1.1.1ベクトルおよび行列の表記
1.1.2 基本演算
1.1.3 特別な行列
1.1.4 行列の基本変形
1.1.5 疎行列の扱い
1.1.6 その他の記号の定義
1.2 行列計算の誤差
1.2.1 浮動小数点数
1.2.2 浮動小数点数計算による誤差
1.2.3 アルゴリズムによる誤差の違い
1.2.4 誤差の評価.
1.3 行列計算の計算時間
1.3.1 計算量
1.3.2 実行効率
第2章 Julia入門
2.1 Juliaのインストールと実行
2.1.1 インストール方法
2.1.2 実行方法
2.2 Juliaプログラミング
2.2.1 基本の基本
2.2.2 関数の定義
2.2.3 パッケージのインストールと利用
2.2.4 計算時間の計測
2.3 ベクトルと行列の定義と計算
2.3.1 ベクトルと行列の定義
2.3.2 特別な行列の定義
2.3.3 ベクトルと行列の計算
2.3.4 疎行列の扱い
2.3.5 配列の各要素に対する演算
2.4 可視化
第2部 行列計算アルゴリズム
第3章 行列分解
3.1 LU分解
3.1.1 LU分解のアルゴリズム.
3.1.2 【発展】ピボット選択
3.1.3 コレスキー分解
3.1.4 特別な構造をもつ行列に対するLU分解
3.1.5 Juliaの関数
3.2 QR分解
3.2.1 QR分解アルゴリズムの分類
3.2.2 グラム・シュミットの直交化法
3.2.3 コレスキーQR分解
3.2.4 ハウスホルダーQR分解
3.2.5 ギブンスQR分解
3.2.6 性能比較
3.2.7.Juliaの関数
3.3 固有値および固有ベクトルに関連する行列分解
3.3.1 ジョルダン分解
3.3.2 固有値分解
3.3.3 シューア分解
3.3.4 特異値分解
第4章 線形方程式
4.1 線形方程式の概要
4.1.1 数学的性質
4.1.2 計算アルゴリズムの分類
4.2 直接法
4.2.1 ガウスの消去法
4.2.2 LU分解に基づく計算法
4.2.3 Juliaの関数
4.2.4 関連技術
4.3 定常反復法
4.3.1 一般形
4.3.2 ヤコビ法,ガウス・ザイデル法,SOR法
4.3.3 性能比較
4.4 共役勾配法
4.4.1 導出
4.4.2 理論的性質
4.4.3 【発展】理論的性質に関する証明
4.4.4 具体的な実装法
4.4.5 【発展】前処理
4.5 【発展】クリロフ部分空間法
4.5.1 クリロフ部分空間の基本性質
4.5.2 クリロフ部分空間の基底ベクトル
4.5.3 基盤解法
4.5.4 前処理
4.5.5 Juliaの関数
第5章 固有値問題
5.1 固有値問題の概要
5.1.1数学的性質
5.1.2 相似変換
5.1.3 計算アルゴリズムの分類
5.2 相似変換に基づく計算法
5.2.1 ヤコビ法
5.2.2 QR法
5.2.3 Juliaの関数
5.3 部分空間に基づく計算法
5.3.1 べき乗法
5.3.2 シフト逆反復法
5.3.3 部分空間反復法
5.3.4 【発展】アーノルディ法
5.3.5 性能比較
5.4 一般化固有値問題
5.4.1 数学的性質
5.4.2 計算アルゴリズムの分類
5.4.3 Juliaの関数
5.5 特異値問題
5.5.1 数学的性質
5.5.2 計算アルゴリズムの概要
5.5.3 二重対角QR法
5.5.4 【発展】ガラブ・カハン・ランチョス二重対角化法
5.5.5 【発展】dqds法
第6章 最小二乗問題
6.1 最小二乗問題の概要
6.1.1 数学的性質
6.1.2 ムーア・ペンローズ型一般逆行列
6.1.3 計算アルゴリズムの分類
6.2 直接法
6.2.1 列フルランクである場合
6.2.2 ランク落ちである場合
6.2.3 Juliaの関数
6.3 反復法
6.3.1 定常反復法
6.3.2 共役配法に基づく計算法
6.3.3 性能比較
第7章 非線形問題
7.1 非線形問題の概要
7.1.1 非線形方程式の概要
7.1.2 非線形最適化問題の概要
7.2 非線形方程式に対する計算法
7.2.1 代数方程式に対する固有値計算に基づく計算法
7.2.2 ニュートン法
7.3 非線形最適化問題に対する計算法
7.3.1 ニュートン法
7.3.2 【発展】準ニュートン法
7.3.3 【発展】非線形共役勾配法
7.3.4 性能比較
第8章 行列関数
8.1 行列関数の概要
8.1.1 行列関数の定義
8.1.2 数学的性質
8.2 行列関数f(A)の計算法
8.2.1 ニュートン法
8.2.2 テイラー展開に基づく計算法
8.2.3 シューア分解に基づく計算法
8.2.4 Juliaの関数
8.3 【発展】行列関数ベクトル積f(A)bの計算法
8.3.1 コーシー積分に基づく計算法
8.3.2 アーノルディ法
第3部 応用
第9章 関数の補間と近似・画像圧縮
9.1 行列計算の応用としての関数の補間と近似
9.1.1 線形方程式を利用したラグランジュ補間
9.1.2 線形方程式を利用したエルミート補間
9.1.3 最小二乗問題を利用した関数近似(最小二乗法)
9.2 行列計算の応用としての画像圧縮
9.2.1 特異値分解を利用した画像圧縮
9.2.2 データ圧縮率による画像の変化
第10章 微分方程式
10.1 行列計算の応用としての常微分方程式
10.1.1 線形方程式を利用した常微分方程式の求解
10.1.2 行列関数を利用した斉次方程式の求解
10.1.3 固有値問題を利用した連成振動問題の求解
10.2 行列計算の応用としての偏微分方程式
10.2.1 線形方程式を利用した拡散方程式の求解
10.2.2 線形方程式を利用した波動方程式の求解
10.2.3 線形方程式を利用したポアソン方程式の求解
10.2.4 固有値問題を利用したシュレーディンガー方程式の求解
第11章 機械学習
11.1 行列計算の応用としての教師あり機械学習
11.1.1 最小二乗問題を利用したリッジ回帰
11.1.2 非線形最適化問題を利用したロジスティック回帰
11.2 行列計算の応用としての教師なし機械学習
11.2.1 固有値問題を利用したスペクトラルクラスタリング
11.2.2 特異値分解を利用した主成分分析