代数幾何 I 古津先生 (2008/06/19) 行列 # いままで、3 行 3 列までだったが、今日から、一般の m 行 n 列の行列を扱う [定義] (m,n) 行列 1 列 n 列 a_11 a_12 ... a_1n 1 行 A = ( a_21 a_22 ... a_2n ) a_m1 a_m2 ... a_mn m 行 a_ij \in \C # 要素は、実数の場合と複素数の場合がある # 一般には、複素数の場合を扱うが、特に実数に限定する場合は、断ってから扱う。 これを、 A = ( a_ij ) と記述することがある。 # これは、あくまでも省略形であり、1 行 1 列の行列を表すわけではない(注意) [定義] 行列 A と B が等しいとは A, B が同じ で、 a_ij = b_ji ( \for i, j ) の場合。 この時、 A = B と書く。 行列の特別な形 [定義] (m,1) 型 m 項(列/縦)ベクトル [定義] (1,n) 型 n 項(行/横)ベクトル # 片方が 1 の場合は特別な場合 [定義] (n,n) 型 n 次(正方)行列 # 縦と横が同じ場合も特別 # これまでは n が 2 と 3 の場合 # これから、行列を色々扱いたいので、行列の演算を决める(定義する)必要があるので、それを行う。 [定義] (A, B の和) # 和は、二つの行列が同じ型の場合だけ定義される A = (a_ij) : (m,n) 型 B = (b_ij) : (m,n) 型 に対して、 A と B の和 A+B は A+B = ( a_ij + b_ij ) で定義する。 # これまでと同じ [定義] (スカラー倍) # これまでは、スカラーは、実数しか考えてこなかったが、今回から # は、成分が複素数になったので、スカラー倍のスカラーも複素数の # 場合を考える A = (a_ij) : (m,n) 型, c \in \C に対して、 A の c 倍 cA は、 cA = ( c a_ij ) で定義する。 # これまでと同じ # 殆どは、これまでと同じなので、できれば、「全部同じ」で済ませ # ることができれば楽なのだが、ちょっと違う処もあるので、しょう # がないので、同じ処も違う処も、一通りやる [定義] (差) (-1)A を -A と書く A+(-B) を A-B と書く # 成分毎に足し算するので、成分の性質(結合律/交換律/分配律) などがそのまま使える [定義] (零行列) # 特別な行列。次にもう一つ出てくる 成分が全て 0 であるような (m,n) 行列を 「(m,n) 型零行列」といい O_mn または O で表す。 [定理] A + O = A A - A = O [定理] (A+B)+C = A+(B+C) A+B=B+A c(A+B) = cA + cB (c+d)A = cA + dA (cd)A = c(dA) 1A = A 0A = O # 和とスカラー倍は、これまでと同じで、簡単 # 処が積は、これまで同様、面倒くさい # まず、形からして面倒 [定義] (A, B の積) A = ( a_ij ) : (l,m) 型 B = ( b_ij ) : (m,n) 型 # かけられる行列 A の 列とかける行列 B の行が同じである必要がある A と B の積 AB は、 AB = ( c_ij ) : (l,n) 型 で、 c_ik = \sum_{j=1}^m a_ij b_jk となる。 # c_ij は、A の i 行と B の j 列の「内積のようなもの」になる ## 「内積のようなもの」といったのは、実際には「内積ではない(これ ## は一般の内積を定義したときに解る)」からである。 ### 成分が実数の場合は、内積と同じになるのだが、ここでは複素数 ### を扱っているので、その場合は一致しない。 # 行列の積は大変だが、しょうがない。 [定理] A=(a_pq) : (k,l) 型 B=(b_qr) : (l.m) 型 C=(b_rs) : (m,n) 型 とすると (AB)C = A(BC) # これは当りまえだが、それを示すのは、それほど簡単ではない。 proof) AB = ( d_pr ) : (k,m) 型 d_pr = \sum_{q=1}^l a_pq b_qr (AB)C = ( e_ps ) : (k,s) 型 e_ps = \sum_{r=1}^m d_pr c_rs = \sum_{r=1}^m ( \sum_{q=1}^l a_pq b_qr ) c_rs # これは、有限個の和なので、交換してもよい。かけ算も交換してもよい = \sum_{r=1}^m \sum_{q=1}^l a_pq b_qr c_rs 一方、 BC = ( f_qs ) : (l,n) 型 f_qs = \sum_{r=1}^m b_qr b_rs A(BC) = ( g_pq ) : (k,n) 型 g_ps = \sum_{q=1}^l a_pq f_qs = \sum_{q=1}^l a_pq ( \sum_{r=1}^m b_qr b_rs ) = \sum_{q=1}^l \sum_{r=1}^m a_pq b_qr b_rs ここで、(AB)C と A(BC) を比較すると、 共に (k,n) 型で、型が等しい 成分 e_ps と g_ps を比較すると、これも互いに等しい よって、型も成分も等しいので (AB)C = A(BC) がいえる。 # ここで、積の定義の \sum を沢山利用した # 今後も行列の積では、この \sum が利用できないと大変 # 今回、きっちり、この \sum の利用方法を覚えておくこと [注意] A :(l,m) 型, B : (m,n) 型の時 l \ne n なら BA はない ( 定義されない ) l = n ( \ne m ) なら BA は定義されるが、一般に BA : (m,m) 型 で、AB : (l,l) 型なので、型が異なる。 l = m = n なら型も同じになるが、その場合でも AB = BA になるのは稀 [定理] A(B+C) = AB + AC # これも、さっきと同じように、\sum を利用する # ただ、今回は、かけ算が一度だけで、後は和なので少しらく (A+B)C = AC + BC # これは、左右ひっくりかえすだけ AO = O OA = O # 成分が、0 なので、積も 0 和も 0 だから全体として 0 # ただし、型は変ることに注意 [定義] (n 次単位行列) (n,n) 型の行列で、 (i,i) ( i = 1..n) の成分が 1 で 他の成分が全て 0 であるものを、 n 次単位行列といい E_n また E で表す E = ( \delta_ij ) # \delta_ij はクロネッカーのデルタとよび次のように定義される # 1 ( i = j ) # \delta_ij = { # 0 ( i \ne j ) # 三年でディラックの関数記号を学ぶとき、同じδを利用するが、そ # れまでは、δといえば、このクロネッカーの方 [定理] A : (m,n) 型の時 AE_n = E_mA = A proof) A = (a_ij) AE_n = (a'_ik) : (m,n) 型 a'_ik = \sum_{j=1}^n a_ij \delta_jk = a_jk # クロネッカーのデルタの性質から よって、 AE_n = A # 逆も同様 # 今後もややっこしい計算が沢山でるので、ここでクロネッカーのデ # ルタの使いかたもみにつけておく [定義] (列ベクトル) 行列 A : (m,n) 型 を n 個数 m 項列ベクトル a_i を並べたものと考えて、 A = ( a_1, .., a_n ) で表す。 特に、 E_n = ( e_1, .., e_n ) で、 e_1, .., e_n は「単位ベクトル」になる。 # これも、2, 3 次元の定義の一般化になっていることに注意 [定理] A : (l.m) 型 B = (b_1, .., b_n) : (m,n) 型 の時 AB = (A b_1, .., A b_n) # 証明は、計算して、左辺と右辺を比較するだけなので、省略 特に、 B = E とすると、 A = (A e_1, .., A e_n) || (a_1,..,a_n) となるので、 a_i = A e_i # つまり、A の i 列ベクトルを得るには、A に i 番目の単位ベクト # ル e_i をかけた結果を求めればよい。 [定理] x_1 x = ( x_2 ) : n 項列ベクトル .. x_n x_1 0 0 = ( 0 ) + ( x_2 ) + .. + ( 0 ) .. .. .. 0 0 x_n = x_1 e_1 + x_2 e_2 + .. + x_n e_n # 一般のベクトル x は、常に、このような単位ベクトルの線型結合で表される # 一般のベクトルをこの形で示すことも多いので覚えておく [定義] ベクトル a_1, .., a_n の n 項列ベクトルに対応して、 x_1 a_1 + .. + x_n a_n を、 a_1, .., a_n の線型(一次)結合という。 # ここまでは、これまでと同様だったが、以下は複素数の話がでるので新しい話 [定義](複素共役行列) A = (a_ij) に対して、 \bar{A} = ( \bar{a_ij} ) : 成分毎に協約複素数を取る を、 A の複素共役行列 と呼ぶ。 [定理] \bar{\bar{A}} = A \bar{(A+B)} = \bar{A} + \bar{B} \bar{cA} = \bar{c}\bar{A} \bar{AB} = \bar{A}\bar{B} [定義](転置行列) (m.n) 型行列 A = (a_ij) に対して、縦横を交換した (n,m) 型行列を 「A の転置行列」と呼び {}^tA = ( a_ji ) で表す。 [定理] {}^t({}^tA) = A # 反転を二回すると元に戻る \bar{{}^tA} = {}^t\bar{A} # 転置は場所の問題で、複素は要素の問題なので、独立(どちらを先にしてもよい) {}^t(A+B) = {}^tA + {}^tB {}^t(cA) = c{}^tA {}^t(AB) = {}^tB {}^tA # ここだけ、() をはずすと、順番が交換される ## 間違えやすいので注意 proof) A = (a_ij) : (l.m) 型 B = (b_jk) : (m,n) 型 AB = (c_ik) : (l.m) 型 {}^t(AB) = (c'_ki) : (m,l) 型 とすれば、 c_ik = c'_ki = \sum_{k=1}^m a_ij b_jk 同様に、 {}^tA = ( a'_ji ) : (m,l) 型, a'_ji = a_ij {}^tB = ( b'_kj ) : (n,m) 型, b'_kj = b_jk よって、 {}^tA{}^tB = (d_ki) : (n,l) 型 d_ki = \sum_{k=1}^m b'_kj a'_ji = \sum_{k=1}^m b_jk a_ij 以上により、型も要素も等しいので、 左辺=右辺 # ちなみに、交換しないと何がおきるかというと、 # そもそも、一般に型が合わないので、積そのものが存在しない場合もある ## 後で、これと同様に、かっこを外すと交換するものがでてくる