0回目:イントロダクション
線形代数学,特に行列理論における最初の応用は,連立1次方程式を解くことである.まずはその方法について復習する.$k$を$\mathbb{Q}$ (有理数全体の集合),$\mathbb{R}$(実数全体の集合)または$\mathbb{C}$(複素数全体の集合)とする(より一般に$k$は体として考えても良い). $k$上の連立1次方程式 \[ \begin{cases} a_{11} x_1 + a_{12} x_2 + \cdots + a_{1n} x_n=b_1 \\ a_{21} x_1 + a_{22} x_2 + \cdots + a_{2n} x_n=b_2\\ \cdots \\ a_{m1} x_1 + a_{m2} x_2 + \cdots + a_{mn} x_n=b_m \end{cases} \] は,行列を用いて表すと \[ \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n}\\ a_{21} & a_{22} & \cdots & a_{2n}\\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix} = \begin{pmatrix} b_1 \\ b_2 \\ \vdots \\ b_m \end{pmatrix} \] と書ける.この式に対応して,$A \mathbf{x} = \mathbf{b} $と書くことにする.このときの$A$をこの連立1次方程式の係数行列という.さらに$A$に$\mathbf{b}$をくっつけた行列,$(A \mid \mathbf{b})$を拡大係数行列という. 連立1次方程式の一般解は拡大係数行列に対して,ガウスの消去法(掃き出し法)を行うことで得られるのであった.例を見て確認する.
例 0.1
連立1次方程式として
\[
\begin{pmatrix}
1 & 2 & -2 \\
1 & -1 & 3 \\
2 & 3 & -5
\end{pmatrix}
\begin{pmatrix}
x \\ y \\ z
\end{pmatrix}
=\begin{pmatrix}
3 \\ 4 \\ 1
\end{pmatrix}
\]
を解く.
拡大係数行列は行基本変形によって
\[
\left(
\begin{array}{ccc|c}
1 &2 & -2 & 3\\
1 & -1 & 3 & 4 \\
2 & 3 & -5 & 1
\end{array}
\right)
\rightarrow
\left(
\begin{array}{ccc|c}
1 & 2 & -2 & 3\\
0 & -3 & 5 & 1 \\
0 & 0 & 1 & 2
\end{array}
\right)
\]
と変形できる.
3行目は$z=2$を意味しており,これと2行目から$y=3$が得られ,最終的に1行目から$x=1$
が得られる.
したがって
この連立方程式の解は
\[
(x,y,z)=(1,3,2)
\]
となる.
このように,連立1次方程式の場合,行基本変形を繰り返し,階段行列に変形することで文字を消去し,変数の少ない方程式を新たに見つけることで,連立方程式を解くことが可能である.特に,この変形はどんな連立1次方程式に対しても有限回の操作で終了する.したがって簡単なプログラミングにより連立1次方程式は計算機を使って必ず解くことが可能である.それでは,もう少し複雑な連立方程式の場合はどうか.
例えば,1次とは限らない連立方程式,
\[
\begin{cases}
xy+z^2-2=0 \\
x^2-yz=0\\
xz-y^2=0
\end{cases}
\]
を機械的に解くことは可能だろうか.
実はこの連立方程式で$x$と$y$をうまく消去すれば
\[z^4-3z^2+2=(z-1)(z+1)(z^2-2)=0 \]
という新しい式が得られ,解を求めることができる.それではこの式をどうやって見つければいいのだろうか.
本講義では,一般の計算処理ソフトウェアにも導入されているグレブナー基底を使った一般の多項式の連立方程式を解くアルゴリズムを理解することを目標とする.