からっぽのしょこ

読んだら書く!書いたら読む!同じ事は二度調べ(たく)ない

Pythonによる『スタンフォード ベクトル・行列からはじめる最適化数学』のノート:記事一覧

はじめに

 『スタンフォード ベクトル・行列からはじめる最適化数学』(原題:Introduction to Applied Linear Algebra: Vectors, Matrices, and Least Squares)の学習ノートです。
 本の内容に関して「Pythonを使って再現」や「数式の行間埋め」によって理解を目指します。本と一緒に読んでください。

 この記事はまとめページです(私の進捗に合わせて記事が生えます)。

【目次】

記事一覧

第Ⅰ部

第1章 ベクトル

1.1 ベクトル

 ベクトルによる表現について確認します。

www.anarchive-beta.com

 矢印(ベクトル)を描画する関数Axes.quiver()の使い方についてもこの記事を参照してください。

1.2 ベクトルの和

 2点間の移動について確認します。

www.anarchive-beta.com

www.anarchive-beta.com


1.3 ベクトルのスカラー積

 向きはそのままでの移動量の変化を確認します。

www.anarchive-beta.com


 「ベクトルの和や差」と「ベクトルの定数倍」を組み合わせた計算である線形結合について確認します。

www.anarchive-beta.com

www.anarchive-beta.com

www.anarchive-beta.com


1.4 内積

www.anarchive-beta.com


第2章 線形関数

 後々の章との兼ね合いで必要になったら書きます。

第3章 ノルムと距離

3.1 ノルム

 ユークリッドノルムの定義と計算を確認します。

www.anarchive-beta.com

www.anarchive-beta.com


3.2 距離

 ユークリッドノルムによる2点間の距離の定義と計算を確認します。

www.anarchive-beta.com

www.anarchive-beta.com


 ユークリッド距離の利用例を確認します。

www.anarchive-beta.com


3.3 標準偏差

 標準偏差の定義と計算を確認します。

www.anarchive-beta.com

www.anarchive-beta.com


3.4 角度

 なす角の定義と計算を確認します。

www.anarchive-beta.com

www.anarchive-beta.com

www.anarchive-beta.com


 相関係数の定義と計算を確認します。

www.anarchive-beta.com

www.anarchive-beta.com


 なす角と相関係数の関係を確認します。

www.anarchive-beta.com


第4章 クラスタリング

4.3 k平均法

 k平均法によりクラスタリングします。

www.anarchive-beta.com

www.anarchive-beta.com


第5章 線形独立

5.1 線形従属

 線形従属と線形独立の定義と関係を確認します。

www.anarchive-beta.com

www.anarchive-beta.com

 基底についても一言だけ触れています。

5.3 線形直交ベクトル

 正射影ベクトルの定義と計算を確認します。

www.anarchive-beta.com

www.anarchive-beta.com


5.4 グラム・シュミット法

 ベクトルの正規直交化の計算を確認します。

www.anarchive-beta.com

www.anarchive-beta.com


第Ⅱ部

第6章 行列

6.1 行列

 行列の定義と特徴的な行列の例を確認します。NumPyでの扱い方も確認します。

www.anarchive-beta.com

www.anarchive-beta.com


6.3 転置, 和, ノルム

 行列に関する計算を確認します。NumPyでの扱い方も確認します。

www.anarchive-beta.com

www.anarchive-beta.com

www.anarchive-beta.com

www.anarchive-beta.com


6.4 行列ベクトル積

 行列とベクトルに関する計算を確認します。NumPyでの扱い方も確認します。

www.anarchive-beta.com

www.anarchive-beta.com

www.anarchive-beta.com


第7章 行列の例

7.1 幾何変換

 行列との積によりベクトルをスケーリングします。

www.anarchive-beta.com

www.anarchive-beta.com


 行列との積によりベクトルを回転します。

www.anarchive-beta.com


 行列との積により直線に対してベクトルを変換します。

www.anarchive-beta.com

www.anarchive-beta.com


 ぼちぼち進めます…

補助用の記事

 話が本筋から逸れないように作図などの解説は別記事で行っています。適宜リンクを張っているので必要に応じて読んでください。

ベクトルの可視化

 矢印プロットでベクトルを可視化します。矢印の描画に使うMatplotlibのquiver関数についての記事です。

 その内書き直します。

www.anarchive-beta.com


・2次元版

www.anarchive-beta.com

www.anarchive-beta.com


・3次元版

www.anarchive-beta.com

www.anarchive-beta.com


グリッド線の可視化

 ベクトルの座標を示す際に格子状の線を用います。格子の作図についての記事です。

・2次元版

www.anarchive-beta.com

www.anarchive-beta.com


・3次元版

www.anarchive-beta.com

www.anarchive-beta.com


ラジアン軸の可視化

 ベクトルのなす角や変換においてラジアン(角度)が登場します。度数法と弧度法の角度の関係や、角度と座標の関係についての記事です。

・2次元版

www.anarchive-beta.com


・3次元版

www.anarchive-beta.com


なす角の可視化

 ベクトルのなす角を示す際にベクトル間を結ぶ曲線を用います。曲線(角マーク)の作図についての記事です。

・2次元版

今書いてます。


・3次元版

www.anarchive-beta.com


参考書籍

  • Stephen Boyd・Lieven Vandenberghe(著),玉木 徹(訳)『スタンフォード ベクトル・行列からはじめる最適化数学』講談社サイエンティク,2021年.

おわりに

  • 2023.03.20

 もう線形代数なんて恐くないぞと思うようになった今日この頃、kindleセールだったので買いました。セール本を買う(積む)のも3冊目でして、安くても積んでりゃ意味ないよねということで、この本を読み始めました。
 もっと難しい本の印象でしたが、具体例が豊富で読みやすそうですね(今のところ)。

 内容に関してはつつがなく読めているのですが(今のところ)、この本の略称で微妙に悩んでいます。
 この本らしい文字列は「スタンフォード」ですが本質的ではないし、「最適化数学」まで進むか分からないし、、、原題を訳す(機械翻訳する)と「応用線形代数入門」だったので、色々間を取って「スタンフォード線形代数入門」としました。次点で「スタンフォードベクトル・行列入門」と考えてます。通称があれば教えてください。

 このブログではRまたはRとPythonの両方を使うことが多いのですが、今回は3DでプロットしたいのでPythonでやっていきます。
 またこのシリーズでは、話が迷子にならないように意識的に内容を小分けにして別記事にしています。可視化編であれば、1テーマを2次元版と3次元版で1記事です。内容を細分化して構成を統一したことで、数学的にも作図処理的にも徐々にレベルが上がっていくので、サクサク書けています(3章現在)。おそらく読むのもサクサク進むと思います。
 ただその代わりに、個々の記事だけを読むと内容に欠けや抜けがあるように感じてしまいます。極力リンクを張るようにするので、その記事も読んでもらえれば分かりやすいと思います。ただしリンク先は、その記事以前の記事だけでなく以降の記事の場合もあります。

 この本を読み切れたら丸善出版の黄色い上下本を読みたいな。

  • 2023.07.13

 4月の後半から5月の頭にかけて5章の最後を書き切れていないままアップして、気持ち的に第1部完となって放置してしまいました。
 いくつか書き直したいところを未だ手を付けられていませんが、6章を書き始めました。そんな感じでヌルっと第2部をやっていきます。