第1章 数学の基礎知識

 ここでは,基礎知識である線形代数と解析学を解説する. 数学の教科書なら,論理的な証明で理論展開するのが通例であるが, 本テキストの説明は名称の定義と機能に限定し,理論的な証明などは省略する. 例えば,逆行列$\bf{A}^{-1}$の算出方法は説明しないが,その機能(乗じると単位行列になる)は説明する.

1.1 行列とベクトルの定義

 数を長方形に並べたものを行列という.一般には,その成分を$a_{ij}$で表して,式(\ref{Math_eq1})で定義する. つまり,$mn$個の数 $a_{ij} ( i=1,2,\cdots,m; j=1,2,\cdots,n )$ を縦$m$行,横$n$列に並べたものである.
\begin{equation} \bf{A}= \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n}\\ a_{21} & a_{22} & \cdots & a_{2n}\\ \vdots & \vdots & & \vdots\\ a_{m1} & a_{m2} & \cdots & a_{mn} \label{Math_eq1} \end{pmatrix} \end{equation}
つまり,$mn$個の数 $a_{ij} ( i=1,2,\cdots,m; j=1,2,\cdots,n )$ を縦$m$行,横$n$列に並べたものである.

これを,$\bf{m}$行$\bf{n}$列の行列$\ \bf{A}$と呼び,太い大文字で示す. 例えば,2行3列の行列を作るには,次のように書く.

>> [ 1, 2, 3; 4, 5, 6];

結果を表示したい場合は,行末のセミコロン ; を消去すれば良い.

>> [ 1, 2, 3; 4, 5, 6]

ans =
  1  2  3
  4  5  6

一方,ベクトルは太い小文字で表わすのが普通である. 1行だけの行列を行ベクトル,1列だけの行列を列ベクトルと言う. 本書では,特に断らない限りベクトルは列ベクトルであるとする. これは,多くの教科書と同様である. \begin{equation} \bf{x}=\left(\begin{array}{c} x_{1}\\ x_{2}\\ \vdots \\ x_{n} \end{array}\right) \end{equation}
列ベクトル $\bf{x}$を作るには,次のように書く.

>> x = [ 1; 2; 3];

行ベクトルを転置して列ベクトルにしても構わない.

>> x = [ 1, 2, 3].';
>> x = [ 1  2  3].';

1.2 行列の基本的演算

行列は無条件にスカラー倍することができる.
\begin{equation} p\bf{A}= \begin{pmatrix} p\ a_{11} & p\ a_{12} & \cdots & p\ a_{1n}\\ p\ a_{21} & p\ a_{22} & \cdots & p\ a_{2n}\\ \vdots & \vdots & & \vdots\\ p\ a_{m1} & p\ a_{m2} & \cdots & p\ a_{mn} \end{pmatrix} \end{equation}
行数も列数も等しいとき,行列の和は次のように計算する.
\begin{eqnarray} \left(\begin{array}{cccc} a_{11} & a_{12} & \cdots & a_{1n}\\ a_{21} & a_{22} & \cdots & a_{2n}\\ \vdots & \vdots & & \vdots\\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{array}\right) + \left(\begin{array}{cccc} b_{11} & b_{12} & \cdots & b_{1n}\\ b_{21} & b_{22} & \cdots & b_{2n}\\ \vdots & \vdots & & \vdots\\ b_{m1} & b_{m2} & \cdots & b_{mn} \end{array}\right) = \left(\begin{array}{cccc} a_{11}+b_{11} & a_{12}+b_{12} & \cdots & a_{1n}+b_{1n}\\ a_{21}+b_{21} & a_{22}+b_{22} & \cdots & a_{2n}+b_{2n}\\ \vdots & \vdots & & \vdots\\ a_{m1}+b_{m1} & a_{m2}+b_{m2} & \cdots & a_{mn}+b_{mn}\\ \end{array}\right) \end{eqnarray}
左側行列の列数と右側行列の行数が等しいとき,行列の積は次のように計算できる.
\begin{eqnarray} \left(\begin{array}{cccc} a_{11} & a_{12} & \cdots & a_{1n}\\ a_{21} & a_{22} & \cdots & a_{2n}\\ \vdots & \vdots & & \vdots\\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{array}\right) \left(\begin{array}{cccc} b_{11} & b_{12} & \cdots & b_{1N}\\ b_{21} & b_{22} & \cdots & b_{2N}\\ \vdots & \vdots & & \vdots\\ b_{n1} & b_{n2} & \cdots & b_{nN} \end{array}\right) = \left(\begin{array}{cccc} \sum_{i=1}^{n}a_{1i}b_{i1} & \sum_{i=1}^{n}a_{1i}b_{i2} & \cdots & \sum_{i=1}^{n}a_{1i}b_{iN}\\ \sum_{i=1}^{n}a_{2i}b_{i1} & \sum_{i=1}^{n}a_{2i}b_{i2} & \cdots & \sum_{i=1}^{n}a_{2i}b_{iN}\\ \vdots & \vdots & & \vdots\\ \sum_{i=1}^{n}a_{mi}b_{i1} & \sum_{i=1}^{n}a_{mi}b_{i2} & \cdots & \sum_{i=1}^{n}a_{mi}b_{iN}\\ \end{array}\right) \end{eqnarray}

1.3 行列の用語説明

正方行列,次数,対角行列,単位行列,零行列,転置行列,対称行列,交代行列,逆行列,正則行列,行列式,階数の定義を述べる.

1.3.1 正方行列

行数と列数が等しい行列.

1.3.2 次数

正方行列の行数あるいは列数.

1.3.3 対角行列

行番号と列番号が等しい成分は零でなく,それ以外は全て零の正方行列.
\begin{equation} \left(\begin{array}{cccc} 9 & 0 & 0\\ 0 & 2 & 0\\ 0 & 0 & -5 \end{array}\right)\notag \end{equation}

1.3.4 単位行列

対角成分が1である対角行列.通常$\bf{I}$で表わす.任意の行列$\bf{A}$に対し$\bf{AI}=\bf{IA}=\bf{A}$である.
\begin{equation} \left(\begin{array}{cccc} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{array}\right)\notag \end{equation}

1.3.5 零行列

全ての成分が零の行列.通常$\bf{0}$で表す.
\begin{equation} \left(\begin{array}{cccc} 0 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 0 \end{array}\right)\notag \end{equation}

1.3.6 転置行列

各成分の行番号と列番号を入れ替えた行列.$\bf{A}^{\rm{T}}$あるいは$^{t}\bf{A}$で表わす.
\begin{equation} \left(\begin{array}{cccc} 1 & 2 & 3\\ 4 & 5 & 6\\ 7 & 8 & 9 \end{array}\right)^{\rm{T}}= \left(\begin{array}{cccc} 1 & 4 & 7\\ 2 & 5 & 8\\ 3 & 6 & 9 \end{array}\right)\notag \end{equation}
なお,積の転置は次のようになる.$(\bf{AB})^{\rm{T}}=\bf{B}^{\rm{T}}\bf{A}^{\rm{T}}$

1.3.7 対称行列

転置しても等しい行列.
\begin{equation} \left(\begin{array}{cccc} 1 & 2 & 3\\ 2 & 5 & 4\\ 3 & 4 & 9 \end{array}\right)^{\rm{T}}= \left(\begin{array}{cccc} 1 & 2 & 3\\ 2 & 5 & 4\\ 3 & 4 & 9 \end{array}\right)\notag \end{equation}

1.3.8 交代行列

転置した行列と符号反転した行列が等しい行列.対角成分は全て零になる.
\begin{equation} \left(\begin{array}{ccc} 0 & -2 & -3\\ 2 & 0 & -4\\ 3 & 4 & 0 \end{array}\right)^{\rm{T}}= \left(\begin{array}{ccc} 0 & 2 & 3\\ -2 & 0 & 4\\ -3 & -4 & 0 \end{array}\right),\ \ \ \ \\ -\left(\begin{array}{ccc} 0 & -2 & -3\\ 2 & 0 & -4\\ 3 & 4 & 0 \end{array}\right)= \left(\begin{array}{ccc} 0 & 2 & 3\\ -2 & 0 & 4\\ -3 & -4 & 0 \end{array}\right)\notag \end{equation}
なお,全ての正方行列は対称行列と交代行列の和として一意に表わせる. 何故なら,$\bf{A}$は対称行列$\bf{B}=(\bf{A}+\bf{A}^{\rm{T}})/2$と 交代行列$\bf{C}=(\bf{A}-\bf{A}^{\rm{T}})/2$の和だからである.

1.3.9 逆行列(inv)

$\bf{A}$の左右どちらから乗じても単位行列にできる行列$\bf{AA}^{\rm{T}}=\bf{A}^{\rm{T}}\bf{A}$. $\bf{A}^{-1}$で表わす.
matlabでは,次のように使う.

>> A = [ 1, -2, 0; -1, 3, 2; 1, -1, 4]
A =
   1  -2  0
  -1   3  2
   1  -1  4

>> inv(A)
ans =
   7.00000  4.00000  -2.00000
   3.00000  2.00000  -1.00000
  -1.00000  -0.50000   0.50000

なお,正方行列だからと言って,必ずしも逆行列があるとは限らないので注意.

1.3.10 正則行列

逆行列が存在する正方行列.

1.3.11 行列式(det)

逆行列の計算や固有値解析に用いる.数式では$|\bf{A}|$で表わす. 線形代数では重要なものだが実務上は知らなくても良い. なお,行列式に数値を代入したものはスカラーであることを覚えておこう. また,行列式のある行列は正方行列で,この値が零だと逆行列は存在しない. 逆行列の存在を確認するときに用いる場合がある. 先ほどの行列$\bf{A}$の行列式をmatlabで求める.

>> det(A)
ans = 2.

1.3.12 階数(rank)

係数行列が拘束する自由度.連立一次方程式の可解性を確認する時に用いる. 係数行列$\bf{A}$の階数(\texttt{rank(A)})が 未知ベクトルの次数より小さいときは,未知数の自由度が零にならないので, 不定(解が一意に定まらない)である. 先ほどの行列$\bf{A}$の階数をmatlabで求める.

>> rank(A)
ans = 3.

1.4 連立1次方程式

逆行列の重要な機能は,連立1次方程式を解くことである. 例として,次の連立1次方程式を解く.

\begin{eqnarray} x_{1}-2x_{2}\hspace{9mm}=1 \\ \notag -x_{1}+3x_{2}+2x_{3}=2 \\ \label{Math_eq6} \ x_{1}\ -x_{2}+4x_{3}=4 \notag \end{eqnarray} 行列を用いて表わせば,
\begin{equation} \left(\begin{array}{ccc} 1 & -2 & 0\\ -1 & 3 & 2\\ 1 & -1 & 4 \end{array}\right) \left(\begin{array}{c} x_{1}\\ x_{2}\\ x_{3} \end{array}\right)= \left(\begin{array}{c} 1\\ 2\\ 4 \end{array}\right)\label{Math_eq7} \end{equation}
係数行列の逆行列を左から掛ければ未知変数ベクトル$\bf{x}$の解が得られる.

\begin{equation} \left(\begin{array}{c} x_{1}\\ x_{2}\\ x_{3} \end{array}\right)= \left(\begin{array}{ccc} 1 & -2 & 0\\ -1 & 3 & 2\\ 1 & -1 & 4 \end{array}\right)^{-1} \left(\begin{array}{c} 1\\ 2\\ 4 \end{array}\right)= \left(\begin{array}{c} 7\\ 3\\ 0 \end{array}\right)\label{Math_eq8} \end{equation}
ところで,次のような方程式があったとする.
\begin{eqnarray} a_{1}x_{1}^{3}+a_{2}x_{1}^{2}+a_{3}x_{1}=1 \notag \\ a_{1}x_{2}^{3}+a_{2}x_{2}^{2}+a_{3}x_{2}=2 \notag \\ a_{1}x_{3}^{3}+a_{2}x_{3}^{2}+a_{3}x_{3}=3 \notag \end{eqnarray}
このとき,この方程式は「連立3次方程式だから逆行列で解けない」と思っていないか? もし,$x_{1},x_{2},x_{3}$が未知変数で,$a_{1},a_{2},a_{3}$が既知なら,3つの独立な3次方程式である. しかし,$a_{1},a_{2},a_{3}$が未知変数で,$x_{1},x_{2},x_{3}$が既知なら連立1次方程式であるから, 逆行列で解ける.

子供の頃からの慣れで,「$x$は未知数である」という思い込みに陥りやすいので注意されたい.

1.5 固有値解析

$n$次の正方行列$\bf{A}$の固有値解析を行うと$n$本の固有ベクトル群である固有行列$\bf{X}$, 対角成分が固有値である固有値行列$\Lambda$が得られ,次式の関係が成り立つ.
\begin{equation} \bf{AX}=\bf{X \Lambda}\label{Math_eq9} \end{equation} これは,式(\ref{Math_eq10})の固有方程式を解くことによって得られる. \begin{equation} |\bf{A}-\Lambda|=0 \label{Math_eq10} \end{equation}
実際に,matlabを使って固有値解析をしてみる.

>> A = [ 4 3; -2 -1]
A =
   4   3
  -2  -1

次の関数で,固有値解析をする.

>> [ X, D ] = eig(A);

ちゃんと固有値解析が行われているか?確認する.

>> A*X - X*D
ans =
-4.4409e-16  2.2204e-16
2.2204e-16  -1.1102e-16

ところで,固有値解析は何に役立つのだろうか?

固有値解析は,行列を対角行列に変換する\textbf{対角化}に使う. 対角化できれば,行列の式は,複数の独立したスカラー変数の式に変換され, 大変見通しが良くなり,扱いやすくなる.本書では,振動解析のところで使う.

式(\ref{Math_eq9})の両辺に,左から$\bf{X}^{-1}$を掛ければ対角化する.

\begin{equation} \bf{X}^{-1}\bf{AX}=\Lambda \end{equation} 実際に,matlabを使って確かめてみる.

>> inv(X)*A*X
ans =
2.0000e+00  1.0771e-15
3.0090e-16  1.0000e+00

しかし,逆行列$\bf{X}^{-1}$を掛けなくても転置行列$\bf{X}^{\rm{T}}$で対角化できる場合がある. このような行列$\bf{A}$を正規行列と言い,$\bf{A}^{*}\bf{A}=\bf{AA}^{*}$を満足すれば正規行列である. なお,*は共役転置を意味している.行列$\bf{A}$が実数行列で, $\bf{A}^{\rm{T}}\bf{A}=\bf{AA}^{\rm{T}}$を満足すれば正規行列である. その典型例は実対称行列であり,$\bf{X}^{\rm{T}}\bf{AX}$は対角行列になる. 実際に,実対称行列$\bf{A}$をmatlabで解析してみる.

>> A = [ 1 2; 2 3]
A =
  1  2
  2  3

>> [ X, D ] = eig(A);

転置行列で対角化する.
>> X.'*A*X
ans =
-2.3607e-01  -3.4846e-16
-3.1028e-16  4.2361e+00

このとき,固有行列$\bf{X}$は直交行列である.

>> X.'*X
ans =
1.0000e+00  -1.2127e-17
-1.2127e-17  1.0000e+00

1.6 ラプラス変換

力や熱の伝達や構造振動などのように,時間によって変化する現象は 微分方程式によって表わされる.しかし,微分方程式を直接解くのは厄介である. ラプラス変換は,微分方程式を1次方程式に変換して解く方法であり,非常に便利である. その変換公式を以下に示す.
\begin{equation} F(s)=\int_{0}^{\ \infty}{e^{-st}f(t)dt} \end{equation} つまり,微分演算子$s$によって$t$の関数$f(t)$を$F(s)$に変換している. しかし,この公式を覚える必要はないだろう. 記憶する必要があるのは,1回微分の$d/dt$は$s$に,2回微分の$d^{2}/dt^{2}$は$s^{2}$に, 1回積分$\int{dt}$が$1/s$になることぐらいである.

例えば,次のような微分方程式があったとする.
\begin{equation} y(t)=\frac{d^{2}}{dt^{2}}x(t)+\frac{d}{dt}x(t)+x(t)+\int{x(t)dt} \end{equation} これをラプラス変換すれば次のようになる.
\begin{equation} Y(s)=(s^{2}+s+1+\frac{1}{s})X(s) \end{equation} 実際,ラプラス変換を日常的に使うと,微分方程式を扱っている気はしない. 最初のモデル式だけは微分方程式だが,ラプラス変換した後は有理方程式であり, 容易に理解できる.
動的問題を扱う(制御や振動の)専門家達は,ラプラス変換した後の代数方程式で問題を解く. ここで多用するのが線形代数である.だから,彼らには線形代数に詳しい人が多い.

問題1.1

 次の行列の定義を述べてください.

  1. 対角行列
  2. 単位行列
  3. 転置行列
  4. 逆行列
  5. 正則行列

問題1.2

 次の連立1次方程式を逆行列を使って解き,未知数$x_{1},x_{2},x_{3},x_{4}$を求めてください.
\begin{eqnarray} \ 8x_{1}-3x_{2}+\ 5x_{3}\ &=&43 \nonumber \\ \ x_{1}\ \ -2x_{3}+9x_{4}\ &=& 89 \nonumber \\ \ 7x_{1}-6x_{2}\ \ -x_{3}+6x_{4}\ &=& 126 \nonumber \\ \ -2x_{2}\ \ +x_{3}+5x_{4\ }&=&57 \nonumber \end{eqnarray}

問題1.3

以下に示す実対称行列$\bf{A}$を固有値解析してください. そして,実対称行列$\bf{A}$を対角行列$\bf{C}$と固有行列$\bf{X}$を用いて表現し, 最後に行列$\bf{C}$と行列$\bf{X}$を4行4列の行列で示してください.
\begin{equation} \left(\begin{array}{cccc} 16& -2& 12& 0\\ -2& 0& -8& 7\\ 12& -8& -2& 7\\ 0& 7& 7& 10\\ \end{array}\right)\notag \end{equation}

 前のページ      お問合せ     次のページ  

(2020年 2月12日 更新)
Page top icon