線形代数×Python ~基礎編~
連立一次方程式
問題の整理
変数の導入とそれに課される制約条件
定式化
数学的手続き
変数の個数を減らす;定数倍、定数加算、代入 → 掃き出し法
Gauss-Jordanの消去法 完全前進消去 Gaussの方法で代入しないもの
Gaussの消去法 前進消去+後退代入 慣れ親しんだもの
方程式の数と未知数の数が異なるなら、 その方程式系は自由度(自由パラメタ)を持つ
連立一次方程式の分類
解が一意に存在する
解が無限に存在する
解が存在しない
幾何学的解釈
グラフが交点を持つ
グラフが一致している
グラフが平行である
type関数で変数の型が分かる
pythonでは虚数単位はj 虚部が1なら1jと記載
ベクトルや行列はNumPyで扱う
ベクトルはarray関数で生成
range関数と組み合わせると良い
行列もarray関数で生成, 行ごとにで括る
要素へのアクセスに際して、pythonのインデックスは0から始まるので、
行と列のインデックスの値をそれぞれ-1する
スカラー積 *
ベクトル和 +
連立方程式を行列表示する際にベクトルを列で表すと計算の仕方上見やすい
ベクトルを行で表すと係数行列の転置を取る必要があり複雑になる
行列の積はdotメソッドを使う
行を置換する基本行列
P_3(1,2)=作用させると作用先の1行目と2行目を置換する行列
=単位行列の1行目と2行目が入れ替わった行列
右から作用させると列の入れ替えになる
なぜ行列の積の定義はややこしいのか?連立一次方程式を簡潔に表すため
数学的にはベクトルを列として扱うが、python上では行として扱う。
つまり、行ベクトル列ベクトルの区別がない
単位行列はnp.identity()で生成
np.array()とnp.array([])は演算できない。の数を揃えること。
包含関係はややこしい
論理包含
食べたらうんこする
食べた、うんこする 真
食べた、うんこしない 偽
食べない、うんこしない 真
食べない、うんこしない 真
包含関係のベン図
写像:一意的な対応関係
全射:(終域=値域)
単射:(写した先が重複しない)
2項演算:f:XX -> X
2項関係:f:XX -> {True,Fauls}
同値類:同じ同値関係を持つ要素の集合
商集合:同値類を要素とする集合
群の定義
行列による群
n次正則行列を考える。これはn次元ベクトル空間上の変換である。
行列積を群が持つ演算とする。単位元は単位行列。逆元は逆行列。
一般線形群 GL_n(R);実数, GL_n(C);複素数