Skip to content

Commit 1f21451

Browse files
authored
Merge pull request #187 from chvmvd/update-gaussian-elimination-article
2 parents b37087f + 3091f88 commit 1f21451

File tree

1 file changed

+110
-7
lines changed
  • docs/02algorithms/10gaussian-elimination

1 file changed

+110
-7
lines changed

docs/02algorithms/10gaussian-elimination/index.mdx

Lines changed: 110 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,83 @@ Gauss の消去法は、前進消去と後退代入の二段階から成りま
8989

9090
先に線形代数の復習として、簡単に Gauss の消去法を説明しておきます。
9191

92-
次のように $n$ 個の未知数 $x_1, x_2, x_3, \dots , x_n$ に対して、$m$ 個の方程式を考えます。
92+
次のように $n$ 個の未知数 $x_1, x_2, x_3, \dots , x_n$ に対して、$n$ 個の方程式を考えます。
93+
94+
$$
95+
\left\{
96+
\begin{alignat*}{5}
97+
a_{1, 1} & x_1 + {} & a_{1, 2} & x_2 + {} & a_{1, 3} & x_3 + \dots + {} & a_{1, n} & x_n = c_1 \\
98+
a_{2, 1} & x_1 + {} & a_{2, 2} & x_2 + {} & a_{2, 3} & x_3 + \dots + {} & a_{2, n} & x_n = c_2 \\
99+
a_{3, 1} & x_1 + {} & a_{3, 2} & x_2 + {} & a_{3, 3} & x_3 + \dots + {} & a_{3, n} & x_n = c_3 \\
100+
& \cdots\cdot\cdot \\
101+
a_{n-1, 1} & x_1 + {} & a_{n-1, 2} & x_2 + {} & a_{n-1, 3} & x_3 + \dots + {} & a_{n-1, n} & x_n = c_{n-1} \\
102+
a_{n, 1} & x_1 + {} & a_{n, 2} & x_2 + {} & a_{n, 3} & x_3 + \dots + {} & a_{n, n} & x_n = c_n
103+
\end{alignat*}
104+
\right.
105+
$$
106+
107+
この方程式系に対して、以下を行ったものは元の方程式系と同値です。
108+
109+
- 二つの方程式を入れ替える
110+
- ある方程式に 0 でないスカラーを掛ける
111+
- ある方程式に他の方程式のスカラー倍を掛ける
112+
113+
ここで、この方程式系の拡大係数行列を考えます。
114+
115+
$$
116+
\tilde{A} = (A|\bm{c}) =
117+
\left(
118+
\begin{array}{ccccc|c}
119+
a_{1, 1} & a_{1, 2} & a_{1, 3} & \dots & a_{1, n} & c_1 \\
120+
a_{2, 1} & a_{2, 2} & a_{2, 3} & \dots & a_{2, n} & c_2 \\
121+
a_{3, 1} & a_{3, 2} & a_{3, 3} & \dots & a_{3, n} & c_3 \\
122+
\vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\
123+
a_{n-1, 1} & a_{n-1, 2} & a_{n-1, 3} & \dots & a_{n-1, n} & c_{n-1,n} \\
124+
a_{n, 1} & a_{n, 2} & a_{n, 3} & \dots & a_{n, n} & c_n
125+
\end{array}
126+
\right)
127+
$$
128+
129+
基本行列を次のように定義します。
130+
131+
- $i$ 行と $j$ 行を入れ替える行列を $P_{i, j}$
132+
- $i$ 行を $\lambda$ 倍する行列を $Q_{i, \lambda}$
133+
- $i$ 行に $j$ 行の $\lambda$ 倍を加える行列を $R_{i, j, \lambda}$
134+
135+
拡大係数行列に対して、基本行列を左から掛けて基本変形を繰り返すと、行階段行列 $\tilde{B}$ が作れます。
136+
137+
$$
138+
\tilde{B} = (B|\bm{d}) =
139+
\left(
140+
\begin{array}{cccccc|c}
141+
1 & b_{1,2} & b_{1,3} & \dots & b_{1,n-1} & b_{1,n} & d_1 \\
142+
& 1 & b_{2,3} & \dots & b_{2,n-1} & b_{2,n} & d_2 \\
143+
& & 1 & \dots & b_{3,n-1} & b_{3,n} & d_3 \\
144+
& & & \ddots & \vdots & \vdots & \vdots \\
145+
& & & & 1 & b_{n-1,n} & d_{n-1} \\
146+
\text{\huge{0}} & & & & & 1 & d_n
147+
\end{array}
148+
\right)
149+
$$
150+
151+
これから、作られる方程式系は次のようになりこれははじめの方程式系と同値です。
152+
153+
$$
154+
\left\{
155+
\begin{alignat*}{5}
156+
& x_1 + {} & b_{1,2} & x_2 + {} & b_{1,3} & x_3 + \dots + {} & b_{1,n-1} & x_{n-1} + {} & b_{1, n} & x_n = d_1 \\
157+
& & & x_2 + {} & b_{2,3} & x_3 + \dots + {} & b_{2,n-1} & x_{n-1} + {} & b_{2, n} & x_n = d_2 \\
158+
& & & & & x_3 + \dots + {} & b_{3,n-1} & x_{n-1} + {} & b_{3, n} & x_n = d_3 \\
159+
&\dots \\
160+
& & & & & & & x_{n-1} + {} & b_{n-1,n} & x_n = d_{n-1} \\
161+
& & & & & & & {} & & x_n = d_n \\
162+
\end{alignat*}
163+
\right.
164+
$$
165+
166+
これで $x_n$ はすぐに求めることができます。さらに、$x_n$ の解を代入すれば、$x_{n-1}$ もすぐに求まります。$x_n$ と $x_{n-1}$ の解を代入すれば、$x_{n-2}$ の解も求まります。これを繰り返していくことで、連立方程式を解くことができます。
167+
168+
<!-- 次のように $n$ 個の未知数 $x_1, x_2, x_3, \dots , x_n$ に対して、$m$ 個の方程式を考えます。
93169

94170
$$
95171
\left\{
@@ -130,7 +206,7 @@ $$
130206
- $i$ 行を $\lambda$ 倍する行列を $Q_{i, \lambda}$
131207
- $i$ 行に $j$ 行の $\lambda$ 倍を加える行列を $R_{i, j, \lambda}$
132208

133-
<!-- つまり、次のように定義します。
209+
つまり、次のように定義します。
134210

135211
$$
136212
\begin{align*}
@@ -169,7 +245,7 @@ $$
169245
& & & & & & 1 \\
170246
\end{pmatrix}
171247
\end{align*}
172-
$$ -->
248+
$$
173249

174250
拡大係数行列に対して、基本行列を左から掛けて基本変形を繰り返すと、行階段行列 $\tilde{B}$ が作れます。
175251

@@ -206,7 +282,7 @@ $$
206282
\right.
207283
$$
208284

209-
これで $x_n$ はすぐに求めることができます。さらに、$x_n$ の解を代入すれば、$x_{n-1}$ もすぐに求まります。これを繰り返していくことで、連立方程式を解くことができます。
285+
これで $x_n$ はすぐに求めることができます。さらに、$x_n$ の解を代入すれば、$x_{n-1}$ もすぐに求まります。これを繰り返していくことで、連立方程式を解くことができます。 -->
210286

211287
実際に具体的な連立方程式を解いてみましょう。
212288
Gauss の消去法を次の方程式系について行ってみます。
@@ -308,13 +384,27 @@ $$
308384
:::info
309385

310386
次のように、前進消去の段階で行簡約行列を作れば、後退代入を行う必要がなくなります。これは、Gauss-Jordan の消去法と呼ばれます。
311-
Gauss-Jordan の消去法の方が良さそうですが、実は先程のように行簡約行列まで計算しないで途中で止める Gauss の消去法の方が計算量が少し少なくなります。そのため、Gauss の消去法の方がよく使われます。
387+
Gauss-Jordan の消去法の方が良さそうですが、実は先程のように行簡約行列まで計算しないで途中で止める Gauss の消去法の方が少し計算量が少なくなります。そのため、Gauss の消去法の方がよく使われます。
312388

313389
Gauss-Jordan の消去法で先程の連立方程式を解いてみます。
314390

315391
拡大係数行列に基本変形を繰り返すと、次のような行簡約行列が得られます。
316392

317393
$$
394+
\tilde{B} = (B|\bm{d}) =
395+
\left(
396+
\begin{array}{cccccc|c}
397+
1 & & & & & \text{\huge{0}} & d_1 \\
398+
& 1 & & & & & d_2 \\
399+
& & 1 & & & & d_3 \\
400+
& & & \ddots & & & \vdots \\
401+
& & & & 1 & & d_{n-1} \\
402+
\text{\huge{0}} & & & & & 1 & d_n
403+
\end{array}
404+
\right)
405+
$$
406+
407+
<!-- $$
318408
\tilde{B} =
319409
\left(
320410
\begin{array}{cccccccc|c}
@@ -328,12 +418,25 @@ $$
328418
0 & 0 & 0 & 0 & 0 & 0 & \dots & 0 & 0
329419
\end{array}
330420
\right)
331-
$$
421+
$$ -->
332422

333423
これから、作られる方程式系は次のようになりこれは元の方程式系と同値です。
334424

335425
$$
336426
\left\{
427+
\begin{alignat*}{6}
428+
& x_1 & & & & & & & & & & = d_1 \\
429+
& & & x_2 & & & & & & & & = d_2 \\
430+
& & & & & x_3 & & & & & & = d_3 \\
431+
& \ldots \\
432+
& & & & & & & x_{n-1} & & & & = d_{n-1} \\
433+
& & & & & & & & & x_n & & = d_n \\
434+
\end{alignat*}
435+
\right.
436+
$$
437+
438+
<!-- $$
439+
\left\{
337440
\begin{alignat*}{4}
338441
& x_{j_1} + \dots + {} & 0 & x_{j_2} + \dots + {} & 0 & x_{j_3} + \dots + {} & 0 & x_n = d_1 \\
339442
0 & x_{j_1} + \dots + {} & & x_{j_2} + \dots + {} & 0 & x_{j_3} + \dots + {} & 0 & x_n = d_2 \\
@@ -345,7 +448,7 @@ $$
345448
0 & x_{j_1} + \dots + {} & 0 & x_{j_2} + \dots + {} & 0 & x_{j_3} + \dots + {} & 0 & x_n = d_m \\
346449
\end{alignat*}
347450
\right.
348-
$$
451+
$$ -->
349452

350453
これで連立方程式を解くことができました。
351454

0 commit comments

Comments
 (0)