• Tidak ada hasil yang ditemukan

線形代数 - 東京理科大学

N/A
N/A
Protected

Academic year: 2024

Membagikan "線形代数 - 東京理科大学"

Copied!
6
0
0

Teks penuh

(1)

線形代数

行列

Mathematicaにおいて,行列はリストのリストで表される.例えば,行列

1 2 3

4 5 6

7 8 9

にaと名前を付けるには次のようにする.

a 1,2,3,4,5,6,7,8,9 (1)

何度も括弧を入力するのが面倒ならば,Partitionを用いる手もある.これは,指定された個数ごとにリスト を分割する関数である.以下は,各自好きな方で行列を定義されたい.

aPartition1,2,3,4,5,6,7,8,9,3

1,2,3,4,5,6,7,8,9 (2)

通常の行列の形で表示するにはMatrixFormを用いる.また,行列式はDetで求められる.

MatrixForma

1 2 3 4 5 6 7 8 9

Deta 0

(3)

もう一つの行列bを定義し,和と積を求める.逆行列はInverseで求められる.

b 1,2,3,2,4,5,3,5,6

ab

2,4,6,6,9,11,10,13,15

a.b

14,25,31,32,58,73,50,91,115

Inverseb

1, 3,2, 3,3, 1,2, 1,0

(4)

(2)

連立一次方程式

行列aの行列式は0なので,連立一次方程式a.x=0すなわち

1 2 3

4 5 6

7 8 9

x y z

0 0 0

は自明でない解を持つ.次により,解空間は1, 2, 1で張られる一次元空間であることが確かめられる.一方,

bの行列式は0でないので,b.x=0は自明な解しか持たない.

NullSpacea 1, 2,1

Detb 1

NullSpaceb

(5)

c 1, 0, 2とおき,連立方程式b.x=cおよびa.x=cを解く.ベクトルは(リストのリストではなく)単なる

リストでよく,必要に応じて行ベクトルもしくは列ベクトルと解釈してくれる.

c 1,0,2

LinearSolveb,c 5, 5,2

LinearSolvea,c

LinearSolve :: nosol : 解の存在しない線形方程式が見付かりました. 詳細 LinearSolve1,2,3,4,5,6,7,8,9,1,0,2

(6)

解が存在しなければ,このようにエラーメッセージが出る.LinearSolveのもう一つの欠点は,解を一つし か返してくれないことである.次の命令は,連立方程式

1 2 3

4 5 6

7 8 9

x y z

1 2 5

を解かせている.

LinearSolvea,1,2,5

3, 2,0 (7)

一つの解としてx, y, z 3, 2, 0を与えているが,もちろんこれで全てではない.一つの解決法としては,関 数RowReduceを用いることである.この関数は,行列を基本変形により標準形に直してくれる.上の連立方 程式の拡大係数行列を標準形に直そう.

(3)

RowReduce1,2,3,1,4,5,6,2,7,8,9,5

1,0, 1,3,0,1,2, 2,0,0,0,0 (8)

これはつまり,上の連立方程式が

x z3, y2z 2

と同等であることを表しているから,一般解はx, y, z 3, 2, 0 t3, 2, 1であることが分かる.余裕があれ ば,連立方程式(の係数行列)を入力すれば,一般解が出力されるような関数を定義してみよ.

練習問題1

次の連立方程式を解け.

(i)

xy 2z 4, 2x yz5, 3x2y z 1.

(ii

x2y3z3, xyz2, x5y9z6.

(1)

(iii

2x3y z2, x y3z1, x4y 4z4.

(iv)

x 2yw0, 2x4y zw0, x 2yz 2w0.

(2)

階数

行列の階数を求める関数を自分で定義してみよう.次が一つの答えである.

rankx Dimensionsx2 LengthNullSpacex (9)

少し長い定義である.少しずつ解説しよう.このようなプログラムの意味を理解するには,実際何が行われるの か実験するのがよい.まず,行列dを定義しよう.実はこの行列の階数は2であることが標準形に直してみれ ば分かる.

d 1,1,3,2,2,0,5,4,1,3,4,2

MatrixFormd

1 1 3 2

2 0 5 4

1 3 4 2

RowReduced 1,0,5

2, 2,0,1, 1

2,0,0,0,0,0 rankd

2

(10)

Dimensionsは行列の次元(すなわち行の個数と列の個数)をリスト形式で出力する.また,リストLに対し,

L[[n]]はLのn番目のオブジェクトを出力する.すなわち,(9)の前半部分は行列の列の個数を表しているの である.

(4)

Dimensionsd 3,4

%2 4

(11)

後半部分についてであるが,NullSpaceは零空間の基底をリスト形式で出力するのであるから,その長さとは つまり,零空間の次元である.

NullSpaced

2,0,0,1, 5,1,2,0

Length% 2

(12)

これでなぜ,rankで階数を求めることができるか分かったであろう.

(蛇足) 線形代数の知識が足りないために,まだよく分からないという学生のために,ややいい加減な説明を試 みる.分かっている者は読み飛ばしてよい.イメージしやすいように,行列dを連立方程式d.x=0と対応させ て考えよ.すると,階数とは,連立方程式の「本質的な」式の個数のことである.d.x=0では「見た目の」式

の個数は3,変数の個数は4であるから,零空間の次元は1だと期待される.しかし,実際の次元は2である.

それは,「本質的な」式の個数が2だからである.一般に,変数の個数から零空間の次元を引けば,本質的な式 の個数を得られるのである.

なお,Mathematicaのversion 5からは,行列の階数を求める関数MatrixRankが用意されている.

対角化

次の行列を対角化してみよう.

m 1,0,0,1,2,2,0,0,1 (13)

まず,特性方程式xE m 0を解いて固有値を求めよう.ここに,IdentityMatrix[3]は三次単位行列で ある.

SolveDetx IdentityMatrix3 m 0,x

x1,x1,x2 (14)

固有値は1 (重根)と2であることが分かった.次に,対応する固有空間を求めよう.

(5)

NullSpaceIdentityMatrix3 m 2,0,1,1,1,0

NullSpace2 IdentityMatrix3 m 0,1,0

(15)

重根1に対応する固有空間の次元が2であるから,めでたく対角化可能である.そこで,対角化する行列pを 定義する.ここに,Joinはリストを結合する関数,Transposeは転置行列を与える関数である.

Join%%,%

2,0,1,1,1,0,0,1,0

pTranspose%

2,1,0,0,1,1,1,0,0

(16)

p 1mpを計算すると,確かに対角成分が固有値である対角行列になっている(理論的に当然である).

Inversep.m.p

1,0,0,0,1,0,0,0,2 (17)

実は,固有値や固有ベクトルを求める関数はMathematicaに標準で用意されている.

Eigenvaluesm 2,1,1

Eigenvectorsm

0,1,0,2,0,1,1,1,0

(18)

(独り言) 諸君は,線形代数の授業で,上の計算を苦労して手計算でやってきたであろう.それが,計算機が一

瞬で計算してしまうのを見てしまい,自分の苦労が何だったのか,と思うかもしれない.しかし,計算練習は計 算結果を出すのが目的ではなくて,むしろどのように計算すればよいのか,その意義は何なのか,ということを 理解する方が大事なのである.そこを理解せずに計算機に頼りっ放しになると,ひどいしっぺ返しをくらうで あろう.所詮計算機は命令されたことしかできないのであるから,判断して命令を下すべきは人間なのである.

昨今,計算は電卓にさせればよいから難しい計算の練習は必要ない,と考える風潮があるが,それは考え違いで あろう.計算機は確かに便利ではあるが,万能ではないのだから,補助のために用いる,という考え方が正しい と思う.

(6)

課題

次の行列を可能ならば対角化し,対角化する行列と対角化された行列を求めよ(Eigenvaluesなどを用い てもよいが,確かめの計算をすること).

(i)

9 0 4

1 5 1

4 0 1

, (ii)

3 0 4

3 2 6

2 0 3

.

メールに次の2点を記入せよ.

上の問いの答えを記入せよ(行列はMathematica式に書けばよい).

今日の内容について何か感想を述べよ(一言でもよい).

メールのSubjectは「学籍番号+math4」とせよ.例えば,学籍番号が6101999ならば,6101999+math4と

なる.署名を付け,math4.nbを添付し,今日中にj-goto宛に送ること.

Referensi

Dokumen terkait

n次実対称行列全体を W1,n次実交代行列の全体を W2 とするとき,これ らは Mn,Rの部分ベクトル空間であり,Mn,R =W1⊕W2 となること を示せ. 2... 前問で得られた正規直交系を e1, e2, e3 とする.これらで張られたR4 の部分 ベクトル空間の直交補空間を求めよ.

擬似乱数のメリット: • 漸化式と初期シードを記録しておけば、 誰でも同じ数列を再現できる • 高速で低コスト 問題点:「乱数と呼んでいいのか」...⇐(実用的)定義の不在 疑似乱数の創始者von Neumann 「漸化式で乱数を作るのは ある種の罪」 “Anyone who considers arithmetical methods of

線形空間 線形空間 ベクトル空間ともいうとは、体上の加法とスカラー積を持つ集合のことで ある。体とは、加減乗除を持つ代数系のことであり、有理数体 Q、実数体R や複素数体 C などがその例である。有理整数環Zは除法を持たないので1÷2 = 12 6∈Z、体ではな い。他の例は、「代数学 A」等で学ぶ。本講義では、Q・R・C と思えばよい。補足に体

提言 懸命に人材を教育しても、日本のバイオ産業に受け皿がないのでは、実に虚しい話 である。行くところがない若い優秀な人材にも、非常に気の毒な話でもある。そこで最 後に、将来、日本のバイオビジネスが、既に差を付けられた欧米の巨大バイオ産業 に太刀打ちするにはどうしたらよいのか、私の意見を述べてみたい。

1[1996 東京大]まさか、東大でこれが出題されるとは を正の整数とし, 個のボールを つの箱に分けて入れる問題を考える.ただし, 個のボールも入らない箱があってもよいものとする.次に述べる つの場合につい て,それぞれ相異なる入れ方の総数を求めたい. から まで異なる番号のついた 個のボールを, , , と区別された つの

T2と同値な条件 S,Oを位相空間とする.S,OがT2を満たすことと以下のT2′を満たすことは 同値である. T2′ ∀x∈Sに対してその閉近傍全体の集合をVcx とおいたとき, ∩ A∈Vcx A ={x} が成り立つ. ここで,x∈Sに対してその閉近傍とはxの近傍であり,かつ閉集合であるような集合の

証明の検証が高速 • STARK ; 信頼のおける第三者機関が不要 • Bulletproof ; ECDLP に基づいた方式 • ブロックチェーンの秘匿系プロジェクトで注目度が高い • 例 : 範囲証明, 𝑎 ∈ [0,2𝑛であることを示す ZKP 証明系の比較 Proof system Σ-protocol zk-SNARK STARK

添数集合と元の族 数列の拡張として元の列というものを導入した.特に,元の列はN から集合Aへの 写像から定まるものであったが,定義域がNである必要はあるのだろうか?答えはNoで ある. 元の族 ΛとAを集合,f : Λ→ Aを写像とする.このような写像を元の族ともいう.λ ∈Λ に対して aλ :=fλ とおき,元の族のことをaλλ∈Λと表記する.