|このページについて|

''概要'':このページでは、数学ソフトMathematicaで線形代数学する方法を解説します。ベクトル,行列演算についての解説です.

''親ページ'':このページの親ページは[[Mathematica]]です。

|目次|
#contents
----

*ベクトル [#tc0dff88]

 a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

とすれば,aの中にベクトルを格納できます.

 a*2

とすれば,ベクトルaを2倍してくれます.

 b = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

と定義しておき,

 a + b
とかやれば,


 {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}

と返します.

 a.b

とすれば,ベクトルの内積

 55

が求まりまります.


ベクトルaの長さは,

 Sqrt[a.a]

で求めることが出来るし,
ベクトルaとベクトルbの距離は,

 Sqrt[(a - b).(a - b)]

で求めることが出来ます.

ここでいったん,
 Clear[a, b]
で,定義しておいたオブジェクトを消去しておきます.
 

1次独立(線形独立)か1次従属(線形従属)かを調べることも出来ます.
例えば,


 a = {3, 7, 3, 2}
 b = {2, -4, -1, 4}
 c = {2, 5, 6, 3}

が1次独立かどうか調べよう.

 Solve[{k1*a + k2 *b + k3*c == 0}, {k1, k2, k3}]

の解が(k1,k2,k3)=(0,0,0)のみならば線形独立である.実際に計算してみると,

 {{k1 -> 0, k2 -> 0, k3 -> 0}}

となるので,線形独立である.

ふたたび

 Clear[a, b, c]

でa,b,cというオブジェクトをクリアしておく.もう一つの例.

 a = {2, -5, 2, 4}
 b = {1, -1, 1, 2}
 c = {5, 2, -1, 7}
 d = {4, 1, 4, 8}

と定義し,このベクトルが線形独立かどうか調べよう.


 Solve[{k1*a + k2 *b + k3*c + k4*d == 0}, {k1, k2, k3, k4}]

とすれば,(k1,k2,k3,k4)=(0,0,0,0)以外の解が無数にあることが分かるので,線形従属である.



*行列 [#a0aa62fa]

Mathematicaでは,行列はリストのリストとして扱われる.例えば,

 A = {{1, 2}, {3, 4}}

などで,行列Aが定義される.
行列形式で表示させたい場合,

 MatrixForm[A]

とする.

 Dimensions[A]

で行列Aの次元を教えてくれる.
行列の足し算は,ベクトルのそれと基本的に同じ.

 5*A

とかすれば5倍してくれる.

 B = {{10, 20}, {30, 40}}

と定義しておいて,

 A * B
とすれば,それぞれの成分同士を掛け合わせる.

行列の掛け算は,

 A.B

とやる.


4次元の単位行列は,

 I1 = IdentityMatrix[4]

とすれば作れる.

(1,2,3,4)を対角成分にもち,その他がすべて0の行列は,

 DiagonalMatrix[{1, 2, 3, 4, 5}]

で作れる.

転置行列は

 Transpose[A]

などとする.

トレースは,

 Tr[A]

などとする.

行列式は

 Det[A]

とする.


逆行列は

 Inverse[A]
とする.

固有値は,

 Eigenvalues[A]

固有ベクトルは,

 Eigenvectors[A]

で計算する.

ランクは,

 MatrixRank[A]

とする.

さきほどの,線形従属だったベクトル



 a = {2, -5, 2, 4}
 b = {1, -1, 1, 2}
 c = {5, 2, -1, 7}
 d = {4, 1, 4, 8}

を再度定義しよう.

 Amat = {a, b, c, d}

と定義して,Amatのランクを調べると,

 MatrixRank[Amat]

とすると,

 3

と返ってくる.線形従属なので,ショートランクになっていることが確認された.



*Reference [#k9c3d123]
**参考書籍 [#w3dd5531]
-宮岡悦良(2000),『Mathematica数学の道具箱〈上〉』,ブレーン出版 
-宮岡悦良(2000),『Mathematica数学の道具箱〈下〉』,ブレーン出版

**リンク [#lc6c8710]

-[[神戸大学 Mathematica ホームページ:http://bach.istc.kobe-u.ac.jp/mma/]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS