ベクトルと行列

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

{a,b,c}ベクトル
{{a,b},{c,d}}行列

ベクトルと行列の表記

2×2の行列を作る.
In[1]:=
Click for copyable input
Out[1]=
列1を取り出す.
In[2]:=
Click for copyable input
Out[2]=
要素 を取り出す.
In[3]:=
Click for copyable input
Out[3]=
2要素のベクトルを定義する.
In[4]:=
Click for copyable input
Out[4]=
オブジェクトはスカラーとして扱われる.
In[5]:=
Click for copyable input
Out[5]=
ベクトルは要素ごとに加算される.
In[6]:=
Click for copyable input
Out[6]=
ドット演算子でつないで,内積(スカラー積)を計算する.
In[7]:=
Click for copyable input
Out[7]=
行列にベクトルを掛けることもできる.
In[8]:=
Click for copyable input
Out[8]=
行列同士でもよい.
In[9]:=
Click for copyable input
Out[9]=
ベクトルと行列でもよい.
In[10]:=
Click for copyable input
Out[10]=
この掛け算はスカラーになる.
In[11]:=
Click for copyable input
Out[11]=

Wolfram言語においてベクトルと行列は,ともに構成上はリストなので,行ベクトルと列ベクトルを区別する必要はない.

Table[f,{i,n}]f を計算し,n 次元ベクトルを作成する
Array[a,n]要素からなる n 次元ベクトルを作成する
Range[n]リストを構成する
Range[n1,n2]リストを構成する
Range[n1,n2,dn]リストを構成する
list[[i]] または Part[list,i]listi 番目の要素を抽出する
Length[list]list のリスト長(構成成分の個数)を得る
c vベクトルをスカラー倍する
a.b2つのベクトルの内積
Cross[a,b]2つのベクトルの外積( としても入力可)
Norm[v]ベクトルのユークリッドノルム

ベクトルに関連した関数

Table[f,{i,m},{j,n}]i1mj1n の区間で f を計算し,m×n 要素の行列を作る
Array[a,{m,n}] 要素 m×n 要素の行列を作る
IdentityMatrix[n]n×n 要素の単位行列を作る
DiagonalMatrix[list]list の対角要素から正方行列(対角行列)を作る
list[[i]] または Part[list,i]行列 listi 番目の行を抽出する
list[[All,j]] または Part[list,All,j]行列 listj 番目の列を与える
list[[i,j]] または Part[list,i,j]行列 list 列の要素を抽出する
Dimensions[list]list で与えられる行列の次元数を調べる

行列に関連した関数

Column[list]list の要素を列に表示する
MatrixForm[list]行列形式で list を表示する

ベクトルと行列のフォーマットコンストラクト

要素 の3×3の行列 を作成する.
In[12]:=
Click for copyable input
Out[12]=
こうすると,を通常の二次元行列の形式で表示することができる.
In[13]:=
Click for copyable input
Out[13]//MatrixForm=
未知数要素からなるベクトルを作る.このベクトルは,ベクトル要素が何であっても有効な一般式の導出に使うことができる.
In[14]:=
Click for copyable input
Out[14]=
未知数要素を使い3×2要素の行列を作成する.「関数のリスト化」に,違った種類の要素を作るためにArrayをどのように使うかの説明がある.
In[15]:=
Click for copyable input
Out[15]=
作った行列の次元数を調べる.
In[16]:=
Click for copyable input
Out[16]=
3×3の対角行列を作成する.
In[17]:=
Click for copyable input
Out[17]=
c m行列のスカラー倍
a.b2つの行列のドット積
Inverse[m]逆行列
MatrixPower[m,n]行列の n 番目のベキ
Det[m]行列式
Tr[m]対角和(トレース)
Transpose[m]転置行列
Eigenvalues[m]固有値
Eigenvectors[m]固有ベクトル

行列を使った演算操作のいくつか

これは,前の例で定義した未知数要素からなる2×2の行列である.
In[18]:=
Click for copyable input
Out[18]=
行列式を計算する.
In[19]:=
Click for copyable input
Out[19]=
これは,の転置行列である.
In[20]:=
Click for copyable input
Out[20]=
の逆行列をシンボル的な形で求める.
In[21]:=
Click for copyable input
Out[21]=
これは,3×3の有理数行列である.
In[22]:=
Click for copyable input
Out[22]=
この行列の逆行列を求める.
In[23]:=
Click for copyable input
Out[23]=
もとの行列と逆行列の内積を取ると,単位行列が得られる.
In[24]:=
Click for copyable input
Out[24]=
3×3の行列を作る.
In[25]:=
Click for copyable input
Out[25]=
Eigenvaluesを使うと,行列の固有値を計算することができる.
In[26]:=
Click for copyable input
Out[26]=
行列の要素を数値化する.
In[27]:=
Click for copyable input
Out[27]=
固有値を数値解析的に近似する.
In[28]:=
Click for copyable input
Out[28]=

上記の関数の他に,行列演算のための組込み関数がまだいろいろあるが,それらは,Mathematica における線形代数」で説明する.