線形代数
カテゴライズしてクラウドに挙げればいいのではと思った。
ベクトル空間の定義
ベクトル和(結合法則、交換法則、零ベクトル、逆ベクトル)
ベクトルのスカラー倍(分配法則、結合法則、単位係数)
基底の定義
線形独立
完全性
座標
$$ x = c_ib_i $$= (b1 b2 ... br) (c1 c2 ... cr 列ベクトル)
cを基底bでの座標という
多項式でもベクトル空間を作れる
部分空間の合併はベクトル空間の部分空間になるとは限らない 和集合と合併の違いは?和集合はW1とW2の線形結合で作られる要素の集合 部分空間の次元の公式 dim(W1)+dim(W2)=dim(W1+W2)+dim(W1かつW2) (r+s) + (r+t) = r + (r+s+t)
〇写像 線形写像の定義 T:V->W, V,Wは任意のベクトル空間 T(x+y)=T(x)+T(y) T(ax)=aT(x) 2つを組み合わせると線形性 射影の定義 P:V->V P2=P <=> P(P(x))=P(x) 微分は線形写像
拡大縮小は線形写像 拡大縮小における合成写像は積と見做せる。 従って、拡大縮小は群を為す。 回転は線形写像 回転における合成写像は和と見做せる。 従って、回転は群を為す。
表現行列 有限次元のベクトル空間は、その次元数個の基底ベクトルで表現できた。 そして、その空間における線形写像は行列で表現できる。 V:n次元ベクトル空間, W:m次元 線形写像f:V->W 表現行列M_fの定義 (f(v1) f(v2) ... f(vn)) = (w1 w2 ... wm) M_f
線形写像F:V->Wの値域F(V)はWの線形部分空間 値域F(V)の次元をFのランクという 全単射なFを同型写像という 実ベクトル空間の同型定理 m次元実ベクトル空間Rmのn次元の部分ベクトル空間をVとする。VとRnは同型。 複素ベクトル空間でも成立。 これによって、有限次元ベクトル空間は実(複素)係数であればRn(Cn)と同一視できる。
行列の列ベクトル分解 その列ベクトルの線形結合で構成される空間 行列の列ベクトル空間はその行列で表される写像の値域に等しい 行列のランクはその像の次元に等しいと定義する
列ベクトル空間による連立1次方程式の解の存在定理 連立1次方程式の行列表示 Ax=b において、 1. bがAの値域の要素 => Ax=bを満たすVの要素xが存在する 2. rank(A)=dim(W) => Wの任意の要素bに対してAx=bを満たすVの要素xが存在する イメージ 1.どのbをとってもAの値域の中にある。Aの値域のすべての要素には辿り元が必ずある。 2.Aの値域がWと同じ
行列の核 線形写像T:V->Wの表現行列Aについて、Ax=0を満たすVの要素xの集合は、 Vの線形部分空間となる。これを行列Aの核、あるいはカーネルといい、Ker(A)と書く。 カーネルの次元を退化次数という。 ・連立一次方程式の解と核 解の存在を仮定し、x0とする。カーネルから要素yを持ってきたとき、x+yも解となる。 ・解の一意性 核がゼロベクトル空間 => 解は1つしかない
基本行列 行の入れ替え操作を表す行列=単位行列において対応する行を入れ替えた行列 行の定数倍操作を表す行列=単位行列において対応行を定数倍した行列 i行にj行のc倍を足す操作を表す行列=単位行列においてi行j列が定数の行列 基本行列は正則行列 P:自身が逆行列 Q:定数を逆数にしたものが逆行列 R:定数を-1倍したものが逆行列
拡大係数行列に基本行列を掛けてガウスの消去法(上三角行列を作る前進消去)を再現 後は方程式の形に戻して後退代入
係数行列のLU分解 係数行列Aを下三角行列Lと上三角行列Uの積で表すこと 前進消去すれば上三角は得られる。そして、その際に用いた基本行列を使って下三角を作る。 LU分解の前提条件 係数行列が正則、前進消去において行の交換が不要 LDU分解 Uの対角成分を1にするために対角行列Dを導入した 一意的である
行の入れ替え操作が必要になると、LU分解できなくなる R_4(2,1;-2)R_4(3,1;-1)R_4(4,1;1)の積の行列は、単位行列において、 (2,1)成分が-2,(3,1)成分が-1,(4,1)成分が1の行列(1列目の完成が最後になるのが良い?) 具体的には下三角行列を作れなくなる。Pによって対角成分がずらされるから。 解決策;操作の途中にPがあるとダメだった。最初にPをしておけば、PAはLU分解できる。 (AB)-1=BA 並び順が逆になる
== : 行列の成分ごとのTrue/Faulse np.allclose関数 : 2つの行列の完全一致を確認
行の入れ替えが操作の途中で明らかになるのは嫌 R3(a,b;c)をP4(2,3)で挟むと、a=2の場合はa=3となり、a=3の場合はa=4となる。それ以外の場合は不変。 PP=I これで途中にPが出てきても手戻りを回避できる。これはすごい。感動的。
np.linalg.inv関数 : 逆行列を求める