|
1.8.3 ベクトルと行列
Mathematicaでは,ベクトルと行列もそれぞれ,リストおよびリストのリストで表される.

ベクトルと行列の表記
の行列を作る.
In[1]:= m = {{a, b}, {c, d}}
Out[1]= 
列1を取り出す.
In[2]:= m[[1]]
Out[2]= 
要素 を取り出す.
In[3]:= m[[1,2]]
Out[3]= 
2要素のベクトルを定義する.
In[4]:= v = {x, y}
Out[4]= 
オブジェクトp,qはスカラーとして扱われる.
In[5]:= p v + q
Out[5]= 
ベクトルは要素ごとに加算される.
In[6]:= v + {xp, yp} + {xpp, ypp}
Out[6]= 
終止符でつないで,内積(スカラー積)を計算する.
In[7]:= {x, y} . {xp, yp}
Out[7]= 
行列にベクトルを掛けることもできる.
In[8]:= m . v
Out[8]= 
行列同士でもよい.
In[9]:= m . m
Out[9]= 
ベクトルと行列でもよい.
In[10]:= v . m
Out[10]= 
この掛け算はスカラーになる.
In[11]:= v . m . v
Out[11]= 
Mathematicaにおいてベクトルと行列は,ともに構成上はリストなので,行ベクトルと列ベクトルを区別する必要はない.

ベクトルに関連した関数

行列に関連した関数
要素 を とする の行列を作成する.
In[12]:= s = Table[i+j, {i, 3}, {j, 3}]
Out[12]= 
こうすると,sを通常の2次元行列の形式で表示することができる.
In[13]:= MatrixForm[s]
Out[13]//MatrixForm= 
未知数要素からなるベクトルを作る.このベクトルは,ベクトル要素が何であっても有効な一般式の導出に使うことができる.
In[14]:= Array[a, 4]
Out[14]= 
未知数要素を使い 要素の行列を作成する.2.2.6に,違った種類の要素を作るためにArrayをどのように使うかの説明がある.
In[15]:= Array[p, {3, 2}]
Out[15]= 
作った行列の次元数を調べる.
In[16]:= Dimensions[%]
Out[16]= 
対角要素をa, b, cとする の対角行列を作成する.
In[17]:= DiagonalMatrix[{a, b, c}]
Out[17]= 

行列を使った演算操作のいくつか
これは,前の例で定義した未知数要素からなる の行列である.
In[18]:= m
Out[18]= 
行列式を計算する.
In[19]:= Det[m]
Out[19]= 
これは,mの転置行列である.
In[20]:= Transpose[m]
Out[20]= 
mの逆行列をシンボル的な形で求める.
In[21]:= Inverse[m]
Out[21]= 
これは, の有理数行列である.
In[22]:= h = Table[1/(i+j-1), {i, 3}, {j, 3}]
Out[22]= 
この行列の逆行列を求める.
In[23]:= Inverse[h]
Out[23]= 
もとの行列と逆行列の内積を取ると,単位行列が得られる.
In[24]:= % . h
Out[24]= 
の行列を作る.
In[25]:= r = Table[i+j+1, {i, 3}, {j, 3}]
Out[25]= 
Eigenvaluesを使うと,行列の固有値を計算することができる.
In[26]:= Eigenvalues[r]
Out[26]= 
行列の要素を数値化する.
In[27]:= rn = N[r]
Out[27]= 
固有値を数値解析的に近似する.
In[28]:= Eigenvalues[rn]
Out[28]= 
上記の関数の他に,行列演算のための組込み関数がまだいろいろあるが,それらは,3.7で説明する.
|