선형대수학 에서 가우스 소거법 (Gauß消去法, 영어 : Gaussian elimination )이란, 연립일차방정식 을 풀이하는 알고리즘 이다. 풀이 과정에서, 일부 미지수가 차츰 소거되어 결국 남은 미지수에 대한 선형 결합 으로 표현되면서 풀이가 완성된다. 가우스 소거법은 보통 행렬 을 사용하며, 첨가 행렬 을 그와 풀이가 같은 더 간단한 행렬로 변환하여 풀이를 완성한다. 가우스 소거법은 행렬식 과 역행렬 의 계산에도 응용된다.
체
K
{\displaystyle K}
에 대하여,
n
{\displaystyle n}
개의 미지수에 대한
m
{\displaystyle m}
개의 방정식으로 구성된 연립일차방정식
M
x
=
0
{\displaystyle Mx=0}
이 주어졌다고 하자. 여기서
M
=
(
M
11
M
12
⋯
M
1
,
n
+
1
M
21
M
22
⋯
M
2
,
n
+
1
⋮
⋮
⋱
⋮
M
m
1
M
m
2
⋯
M
m
,
n
+
1
)
{\displaystyle M={\begin{pmatrix}M_{11}&M_{12}&\cdots &M_{1,n+1}\\M_{21}&M_{22}&\cdots &M_{2,n+1}\\\vdots &\vdots &\ddots &\vdots \\M_{m1}&M_{m2}&\cdots &M_{m,n+1}\end{pmatrix}}}
은 주어진
m
×
(
n
+
1
)
{\displaystyle m\times (n+1)}
행렬이고,
x
=
(
x
1
x
2
⋮
x
n
1
)
{\displaystyle x={\begin{pmatrix}x_{1}\\x_{2}\\\vdots \\x_{n}\\1\end{pmatrix}}}
은
n
{\displaystyle n}
개의 미지수를 포함하는 열벡터이다. 즉, 이는 풀어서 쓰면 다음과 같다.
M
11
x
1
+
M
12
x
2
+
⋯
+
M
1
,
n
x
n
+
M
1
,
n
+
1
=
0
{\displaystyle M_{11}x_{1}+M_{12}x_{2}+\cdots +M_{1,n}x_{n}+M_{1,n+1}=0}
M
21
x
1
+
M
22
x
2
+
⋯
+
M
2
,
n
x
n
+
M
2
,
n
+
1
=
0
{\displaystyle M_{21}x_{1}+M_{22}x_{2}+\cdots +M_{2,n}x_{n}+M_{2,n+1}=0}
⋮
{\displaystyle \vdots }
M
m
1
x
1
+
M
m
2
x
2
+
⋯
+
M
m
,
n
x
n
+
M
m
,
n
+
1
=
0
{\displaystyle M_{m1}x_{1}+M_{m2}x_{2}+\cdots +M_{m,n}x_{n}+M_{m,n+1}=0}
이 경우, 이 연립방정식에 다음과 같은 세 가지 연산을 가할 수 있다. 이들을 기본 행 연산 (基本行演算, 영어 : elementary row operation )이라고 한다.
(행의 치환)
M
{\displaystyle M}
의
i
{\displaystyle i}
번째 행과
j
{\displaystyle j}
번째 행을 서로 바꾼다.
(
M
11
M
12
⋯
M
1
,
n
+
1
⋮
⋮
⋮
M
i
1
M
i
2
⋯
M
i
,
n
+
1
⋮
⋮
⋮
M
j
1
M
j
2
⋯
M
j
,
n
+
1
⋮
⋮
⋮
M
m
1
M
m
2
⋯
M
m
,
n
+
1
)
x
=
0
⟹
(
M
11
M
12
⋯
M
1
,
n
+
1
⋮
⋮
⋮
M
j
1
M
j
2
⋯
M
j
,
n
+
1
⋮
⋮
⋮
M
i
1
M
i
2
⋯
M
i
,
n
+
1
⋮
⋮
⋮
M
m
1
M
m
2
⋯
M
m
,
n
+
1
)
x
=
0
{\displaystyle {\begin{pmatrix}M_{11}&M_{12}&\cdots &M_{1,n+1}\\\vdots &\vdots &&\vdots \\M_{i1}&M_{i2}&\cdots &M_{i,n+1}\\\vdots &\vdots &&\vdots \\M_{j1}&M_{j2}&\cdots &M_{j,n+1}\\\vdots &\vdots &&\vdots \\M_{m1}&M_{m2}&\cdots &M_{m,n+1}\end{pmatrix}}x=0\implies {\begin{pmatrix}M_{11}&M_{12}&\cdots &M_{1,n+1}\\\vdots &\vdots &&\vdots \\M_{j1}&M_{j2}&\cdots &M_{j,n+1}\\\vdots &\vdots &&\vdots \\M_{i1}&M_{i2}&\cdots &M_{i,n+1}\\\vdots &\vdots &&\vdots \\M_{m1}&M_{m2}&\cdots &M_{m,n+1}\end{pmatrix}}x=0}
(행의 상수곱)
i
{\displaystyle i}
번째 행을 0이 아닌 임의의 상수
a
∈
K
∖
{
0
}
{\displaystyle a\in K\setminus \{0\}}
으로 곱한다.
(
M
11
M
12
⋯
M
1
,
n
+
1
⋮
⋮
⋮
M
i
1
M
i
2
⋯
M
i
,
n
+
1
⋮
⋮
⋮
M
m
1
M
m
2
⋯
M
m
,
n
+
1
)
x
=
0
⟹
(
M
11
M
12
⋯
M
1
,
n
+
1
⋮
⋮
⋮
a
M
i
1
a
M
i
2
⋯
a
M
i
,
n
+
1
⋮
⋮
⋮
M
m
1
M
m
2
⋯
M
m
,
n
+
1
)
x
=
0
{\displaystyle {\begin{pmatrix}M_{11}&M_{12}&\cdots &M_{1,n+1}\\\vdots &\vdots &&\vdots \\M_{i1}&M_{i2}&\cdots &M_{i,n+1}\\\vdots &\vdots &&\vdots \\M_{m1}&M_{m2}&\cdots &M_{m,n+1}\end{pmatrix}}x=0\implies {\begin{pmatrix}M_{11}&M_{12}&\cdots &M_{1,n+1}\\\vdots &\vdots &&\vdots \\aM_{i1}&aM_{i2}&\cdots &aM_{i,n+1}\\\vdots &\vdots &&\vdots \\M_{m1}&M_{m2}&\cdots &M_{m,n+1}\end{pmatrix}}x=0}
(행의 합) 임의의 상수
a
∈
K
{\displaystyle a\in K}
에 대하여,
i
{\displaystyle i}
번째 행의
a
{\displaystyle a}
배를
j
{\displaystyle j}
번째 행에 더한다.
(
M
11
M
12
⋯
M
1
,
n
+
1
⋮
⋮
⋮
M
i
1
M
i
2
⋯
M
i
,
n
+
1
⋮
⋮
⋮
M
j
1
M
j
2
⋯
M
j
,
n
+
1
⋮
⋮
⋮
M
m
1
M
m
2
⋯
M
m
,
n
+
1
)
x
=
0
⟹
(
M
11
M
12
⋯
M
1
,
n
+
1
⋮
⋮
⋮
M
i
1
M
i
2
⋯
M
i
,
n
+
1
⋮
⋮
⋮
a
M
i
1
+
M
j
1
a
M
i
2
+
M
j
2
⋯
a
M
i
,
n
+
1
+
M
j
,
n
+
1
⋮
⋮
⋮
M
m
1
M
m
2
⋯
M
m
,
n
+
1
)
x
=
0
{\displaystyle {\begin{pmatrix}M_{11}&M_{12}&\cdots &M_{1,n+1}\\\vdots &\vdots &&\vdots \\M_{i1}&M_{i2}&\cdots &M_{i,n+1}\\\vdots &\vdots &&\vdots \\M_{j1}&M_{j2}&\cdots &M_{j,n+1}\\\vdots &\vdots &&\vdots \\M_{m1}&M_{m2}&\cdots &M_{m,n+1}\end{pmatrix}}x=0\implies {\begin{pmatrix}M_{11}&M_{12}&\cdots &M_{1,n+1}\\\vdots &\vdots &&\vdots \\M_{i1}&M_{i2}&\cdots &M_{i,n+1}\\\vdots &\vdots &&\vdots \\aM_{i1}+M_{j1}&aM_{i2}+M_{j2}&\cdots &aM_{i,n+1}+M_{j,n+1}\\\vdots &\vdots &&\vdots \\M_{m1}&M_{m2}&\cdots &M_{m,n+1}\end{pmatrix}}x=0}
일반적으로 사다리꼴행렬 (Echelon matrix,에쉴론 메트릭스, 또는 행사다리꼴행렬)은,
m
×
(
n
+
1
)
{\displaystyle m\times (n+1)}
행렬
M
{\displaystyle M}
에 대하여,
j
0
(
i
)
=
min
{
j
≤
n
:
M
i
j
≠
0
}
{\displaystyle j_{0}(i)=\min\{j\leq n\colon M_{ij}\neq 0\}}
이라고 하면,
M
i
,
j
0
(
i
)
{\displaystyle M_{i,j_{0}(i)}}
를
i
{\displaystyle i}
번째 행의 선행 계수 (先行係數, 영어 : leading coefficient )라고 한다. 선행 계수는 존재하지 않을 수 있다.
m
×
(
n
+
1
)
{\displaystyle m\times (n+1)}
행렬
M
{\displaystyle M}
이 다음 조건을 만족시키면,
M
{\displaystyle M}
을 행사다리꼴행렬 (사다리꼴行列, 영어 : échelon matrix )이라고 한다.
만약
0
=
M
i
1
=
⋯
=
M
i
n
{\displaystyle 0=M_{i1}=\cdots =M_{in}}
이라면, 모든
i
≤
i
′
{\displaystyle i\leq i'}
에 대하여
0
=
M
i
′
1
=
⋯
=
M
i
′
n
{\displaystyle 0=M_{i'1}=\cdots =M_{i'n}}
이다.
만약
i
<
i
′
{\displaystyle i<i'}
이며
j
0
(
i
)
{\displaystyle j_{0}(i)}
와
j
0
(
i
′
)
{\displaystyle j_{0}(i')}
가 존재한다면,
j
0
(
i
)
<
j
0
(
i
′
)
{\displaystyle j_{0}(i)<j_{0}(i')}
이다.
m
×
(
n
+
1
)
{\displaystyle m\times (n+1)}
행렬
M
{\displaystyle M}
이 다음 조건을 만족시키면,
M
{\displaystyle M}
을 기약행사다리꼴행렬 (旣約行사다리꼴行列, 영어 : reduced-row échelon matrix )이라고 한다.
M
{\displaystyle M}
은 행사다리꼴행렬이다.
j
0
(
i
)
{\displaystyle j_{0}(i)}
가 존재한다면,
M
i
,
j
0
(
i
)
=
1
{\displaystyle M_{i,j_{0}(i)}=1}
이며, 모든
i
′
≠
i
{\displaystyle i'\neq i}
에 대하여
M
i
′
,
j
0
(
i
)
=
0
{\displaystyle M_{i',j_{0}(i)}=0}
이다.
즉, 행사다리꼴행렬은 행렬의 항들이 대략 위에는 사다리꼴, 밑에는 0인 형태의 행렬이다. 기약행사다리꼴행렬 조건은 행사다리꼴행렬 조건보다 더 강한 조건이다.
예를 들어, 다음과 같은 행렬은 행사다리꼴행렬이다.
(
1
a
0
a
1
a
2
a
3
0
0
2
a
4
a
5
0
0
0
1
a
6
)
{\displaystyle {\begin{pmatrix}1&a_{0}&a_{1}&a_{2}&a_{3}\\0&0&2&a_{4}&a_{5}\\0&0&0&1&a_{6}\end{pmatrix}}}
다음과 같은 행렬은 기약행사다리꼴행렬이다.
(
1
0
a
1
0
a
2
0
1
a
3
0
a
4
0
0
0
1
a
5
)
{\displaystyle {\begin{pmatrix}1&0&a_{1}&0&a_{2}\\0&1&a_{3}&0&a_{4}\\0&0&0&1&a_{5}\end{pmatrix}}}
가우스 소거법 은
m
×
n
{\displaystyle m\times n}
행렬
M
{\displaystyle M}
을 기본행연산을 가하여 행사다리꼴행렬로 만드는 알고리즘이며, 다음과 같다. 먼저 첫번째 행을 다음과 같이 처리한다.
선행 계수가 위치하는 가장 작은 열수
j
1
≤
n
{\displaystyle j_{1}\leq n}
을 찾는다.
M
1
j
1
=
0
{\displaystyle M_{1j_{1}}=0}
이라면, 첫번째 행을
M
i
1
j
1
≠
0
{\displaystyle M_{i_{1}j_{1}}\neq 0}
인 어떤
i
1
>
1
{\displaystyle i_{1}>1}
번째 행과 치환한다.
모든
i
>
1
{\displaystyle i>1}
번째 행에 첫번째 행의
−
M
i
j
1
/
M
1
j
1
{\displaystyle -M_{ij_{1}}/M_{1j_{1}}}
배를 더해,
M
1
j
1
{\displaystyle M_{1j_{1}}}
밑의 항들을 0으로 만든다.
그 뒤, 두번째 행을 다음과 같이 처리한다.
어떤
i
≥
2
{\displaystyle i\geq 2}
번째 행의 선행 계수가 위치하는 가장 작은 열수
j
2
≤
n
{\displaystyle j_{2}\leq n}
을 찾는다.
M
2
j
2
=
0
{\displaystyle M_{2j_{2}}=0}
이라면, 두번째 행을
M
i
2
j
2
≠
0
{\displaystyle M_{i_{2}j_{2}}\neq 0}
인 어떤
i
2
>
2
{\displaystyle i_{2}>2}
번째 행과 치환한다.
모든
i
>
2
{\displaystyle i>2}
번째 행에 두번째 행의
−
M
i
j
2
/
M
2
j
2
{\displaystyle -M_{ij_{2}}/M_{2j_{2}}}
배를 더해,
M
2
j
2
{\displaystyle M_{2j_{2}}}
밑의 항들을 0으로 만든다.
뒤에 오는 다른 행에 대하여, 순차적으로 위와 같이 처리한다. 일반적으로,
k
{\displaystyle k}
번째 행은 다음과 같이 처리한다.
어떤
i
≥
k
{\displaystyle i\geq k}
번째 행의 선행 계수가 위치하는 가장 작은 열수
j
k
≤
n
{\displaystyle j_{k}\leq n}
을 찾는다.
M
k
j
k
=
0
{\displaystyle M_{kj_{k}}=0}
이라면,
k
{\displaystyle k}
번째 행을
M
i
k
j
k
≠
0
{\displaystyle M_{i_{k}j_{k}}\neq 0}
인 어떤
i
k
>
k
{\displaystyle i_{k}>k}
번째 행과 치환한다.
모든
i
>
k
{\displaystyle i>k}
번째 행에
k
{\displaystyle k}
번째 행의
−
M
i
j
k
/
M
k
j
k
{\displaystyle -M_{ij_{k}}/M_{kj_{k}}}
배를 더해,
M
k
j
k
{\displaystyle M_{kj_{k}}}
밑의 항들을 0으로 만든다.
만약 어떤
j
r
+
1
≤
n
{\displaystyle j_{r+1}\leq n}
가 존재하지 않는다면,
r
{\displaystyle r}
번째 행에서 멈춘다. 만약 항상
j
k
≤
n
{\displaystyle j_{k}\leq n}
를 찾을 수 있다면, 모든
k
=
1
,
2
,
…
,
m
{\displaystyle k=1,2,\ldots ,m}
번째 행에 대하여 순차적으로 위와 같이 처리하며,
r
=
n
{\displaystyle r=n}
으로 둔다.
기약행사다리꼴행렬을 원한다면, 찾았던 모든
j
k
=
j
r
,
j
r
−
2
,
…
,
j
1
{\displaystyle j_{k}=j_{r},j_{r-2},\ldots ,j_{1}}
에 대하여 순차적으로 다음과 같은 단계를 추가로 거친다.
k
{\displaystyle k}
번째 행에
1
/
M
k
j
k
{\displaystyle 1/M_{kj_{k}}}
를 곱해,
M
k
j
k
{\displaystyle M_{kj_{k}}}
를 1로 만든다.
모든
i
<
k
{\displaystyle i<k}
번째 행에
k
{\displaystyle k}
번째 행의
−
M
i
j
k
{\displaystyle -M_{ij_{k}}}
배를 더해,
M
k
j
k
{\displaystyle M_{kj_{k}}}
위의 항들을 0으로 만든다.
여기서
r
≤
m
{\displaystyle r\leq m}
이며
r
≤
n
{\displaystyle r\leq n}
인 데 주의하자. 사실, 이는 행렬의 계수 이다.
기약행사다리꼴행렬의 과정을 특히 조단 이 제시한 "가우스 조단 소거법"으로 부른다.
세 가지 기본행연산은 모두 가역 연산 이다.
행의 치환의 역연산은, 자기 자신이다.
행의 상수곱의 역연산은, 그 행에 그 상수 대신 역수 를 곱하는 것이다.
어떤 행에 다른 행의 배수를 더하는 것의 역연산은, 더하는 대신 빼는 것이다.
두 연립일차방정식의 첨가 행렬 이 하나에 기본행연산을 가하여 다른 하나를 얻을 수 있다면, 행동치 라고 한다. 첨가 행렬이 행동치라면, 연립방정식의 풀이는 서로 같다.
기본 행렬 은 단위 행렬 에 기본행연산을 한 번 가하여 얻는 행렬이다. 이에 따라, 세 가지 기본행연산은 기본 행렬 곱셈과 같다.
가우스 소거법 알고리즘에서 알 수 있듯, 모든 연립일차방정식의 첨가 행렬 은 그와 같은 해를 갖는 행사다리꼴행렬 및 기약행사다리꼴행렬로 변환할 수 있다. 따라서, 연립일차방정식의 풀이는 행사다리꼴행렬 및 기약행사다리꼴에 대한 풀이로 귀결된다.
m
×
(
n
+
1
)
{\displaystyle m\times (n+1)}
행사다리꼴행렬
R
{\displaystyle R}
에 대한 연립일차방정식
R
x
=
0
{\displaystyle Rx=0}
에 대하여, 다음 두 조건이 서로 동치 이다.
해가 존재한다.
상수항이 0이 아닌 행이 존재하지 않는다. (상수항은
n
+
1
{\displaystyle n+1}
번째 열의 항, 0행은 선행 계수가 없는 행을 뜻한다.)
해가 존재하는
R
x
=
0
{\displaystyle Rx=0}
의 경우, 다음 두 조건이 서로 동치 이다.
해가 유일하다.
r
=
n
{\displaystyle r=n}
. 즉, 0행이 아닌 행의 개수는 미지수의 개수와 같다. 즉, 선행 계수가 없는 열이 계수 행렬에 존재하지 않는다.
달리 말해, 해가 존재하는
R
x
=
0
{\displaystyle Rx=0}
의 경우, 다음 두 조건이 서로 동치 이다.
해가 유일하지 않다. (체의 표수 가 0이라면, 이는 해가 무한히 많은 것과 동치이다.)
r
<
n
{\displaystyle r<n}
. 즉, 0행이 아닌 행의 개수는 미지수의 개수보다 적다. 즉, 선행 계수가 없는 열이 계수 행렬에 존재한다.
가우스 소거법을 사용하여 정사각행렬 의 행렬식 을 계산할 수 있다. 이는 정사각행렬에 대하여 다음 사실들이 성립하기 때문이다.
기본행연산을 가하면, 행렬식은 "상수배" 변화하며, 주어진 기본행연산이 행렬식을 변화시키는 배수는 자명하다. 즉,
행을 치환하면, 행렬식은 -1배가 된다.
행에 상수곱을 하면, 행렬식은 그 상수의 역수배가 된다.
어떤 행에 다른 어떤 행의 상수배를 더하면, 행렬식은 변하지 않는다.
가우스 소거법을 통해 행렬을 행사다리꼴행렬로 변환할 수 있다. 특히 정사각행렬이므로, 이는 0행(즉 모든 항이 0인 행)을 갖거나, 상삼각행렬 이다.
0행을 갖는 정사각행렬의 행렬식은 0이다.
상삼각행렬의 행렬식은 모든 대각항의 곱이다.
가우스 소거법을 사용하여 정사각행렬 의 역행렬 을 계산할 수 있다.
n
×
n
{\displaystyle n\times n}
행렬
M
{\displaystyle M}
의 역행렬은 다음과 같이 계산한다.
M
{\displaystyle M}
에
n
×
n
{\displaystyle n\times n}
단위행렬 을 추가하여
n
×
2
n
{\displaystyle n\times 2n}
행렬로 만든다.
(
M
1
,
1
⋯
M
1
,
n
1
⋯
0
⋮
⋱
⋮
⋮
⋱
⋮
M
n
,
1
⋯
M
n
,
n
0
⋯
1
)
{\displaystyle {\begin{pmatrix}M_{1,1}&\cdots &M_{1,n}&1&\cdots &0\\\vdots &\ddots &\vdots &\vdots &\ddots &\vdots \\M_{n,1}&\cdots &M_{n,n}&0&\cdots &1\end{pmatrix}}}
이 행렬에 기본행연산을 가하여
(
1
⋯
0
M
~
11
⋯
M
~
1
,
n
⋮
⋱
⋮
⋱
⋮
⋱
0
⋯
1
M
~
n
,
1
⋯
M
~
n
,
n
)
{\displaystyle {\begin{pmatrix}1&\cdots &0&{\tilde {M}}_{11}&\cdots &{\tilde {M}}_{1,n}\\\vdots &\ddots &\vdots &\ddots &\vdots &\ddots \\0&\cdots &1&{\tilde {M}}_{n,1}&\cdots &{\tilde {M}}_{n,n}\end{pmatrix}}}
로 만든다면, 행렬
M
~
{\displaystyle {\tilde {M}}}
은
M
−
1
{\displaystyle M^{-1}}
과 같다.
M
~
=
M
−
1
{\displaystyle {\tilde {M}}=M^{-1}}
가우스 소거법을 사용하여 행렬의 계수 를 계산할 수 있다.
m
×
n
{\displaystyle m\times n}
행렬
M
{\displaystyle M}
의 계수는 가우스 소거법을 가하여 얻는 행사다리꼴행렬에서 0이 아닌 행의 계수(즉, 선행 계수의 개수)
r
{\displaystyle r}
이다.
[
1
3
1
9
1
1
−
1
1
3
11
5
35
]
→
[
1
3
1
9
0
−
2
−
2
−
8
0
2
2
8
]
→
[
1
3
1
9
0
−
2
−
2
−
8
0
0
0
0
]
→
[
1
0
−
2
−
3
0
1
1
4
0
0
0
0
]
{\displaystyle \left[{\begin{array}{rrr|r}1&3&1&9\\1&1&-1&1\\3&11&5&35\end{array}}\right]\to \left[{\begin{array}{rrr|r}1&3&1&9\\0&-2&-2&-8\\0&2&2&8\end{array}}\right]\to \left[{\begin{array}{rrr|r}1&3&1&9\\0&-2&-2&-8\\0&0&0&0\end{array}}\right]\to \left[{\begin{array}{rrr|r}1&0&-2&-3\\0&1&1&4\\0&0&0&0\end{array}}\right]}
다음과 같은 선형 방정식이 주어졌다고 하자.
2
u
+
v
+
w
=
5
4
u
−
6
v
=
−
2
−
2
u
+
7
v
+
2
w
=
9
{\displaystyle {\begin{matrix}2u&+&v&+&w&=&5\\4u&-&6v&&&=&-2\\-2u&+&7v&+&2w&=&9\end{matrix}}}
첫 번째 열을 사다리꼴로 놓기 위해, 다음과 같은 기본행연산을 가한다.
첫째 식의 -2배를 둘째 식에 더한다
첫째 식의 1배를 셋째 식에 더한다.
그렇다면 다음과 같다.
2
u
+
v
+
w
=
5
−
8
v
−
2
w
=
−
12
8
v
+
3
w
=
14
{\displaystyle {\begin{matrix}2u&+&v&+&w&=&5\\&-&8v&-&2w&=&-12\\&&8v&+&3w&=&14\end{matrix}}}
두 번째 열을 사다리꼴로 놓기 위해, 다음과 같은 기본행연산을 가한다.
둘째 식의 1배를 셋째 식에 더한다.
그러면 다음과 같다.
2
u
+
v
+
w
=
5
−
8
v
−
2
w
=
−
12
w
=
2
{\displaystyle {\begin{matrix}2u&+&v&+&w&=&5\\&-&8v&-&2w&=&-12\\&&&&w&=&2\end{matrix}}}
이제 행렬이 사다리꼴이 되었다.
그렇다면, 이제 미지수들을 가장 밑의 행으로부터 순서대로 대입하여 계산할 수 있다. 이것을 후방대입 (back substitution)이라 한다.
w
=
2
{\displaystyle w=2}
−
8
v
−
2
w
=
−
12
⟹
v
=
1
{\displaystyle -8v-2w=-12\implies v=1}
2
u
+
v
+
w
=
5
⟹
u
=
1
{\displaystyle 2u+v+w=5\implies u=1}
해가 유일하지 않거나 없는 연립 선형 방정식
편집
정칙(Nonsingular) 행렬일 경우의 예
(식 2와 3을 바꾸어 해결한다)
{
10
u
+
2
v
+
−
1
w
=
27
−
3
u
+
−
6
v
+
2
w
=
−
61.5
u
+
v
+
5
w
=
−
21.5
{\displaystyle {\begin{cases}10u+2v+-1w&=\ 27\\-3u+-6v+2w&=\ -61.5\\u+v+5w&=\ -21.5\end{cases}}}
비정칙(Singular) 행렬일 경우의 예
(해가 없는 경우도 있다.)
{
u
+
v
+
w
=
?
2
u
+
2
v
+
5
w
=
?
4
u
+
4
v
+
8
w
=
?
{\displaystyle {\begin{cases}u+v+w&=\ ?\\2u+2v+5w&=\ ?\\4u+4v+8w&=\ ?\\\end{cases}}}
{
u
+
v
+
w
=
?
3
w
=
?
4
w
=
?
{\displaystyle {\begin{cases}u+v+w&=\ ?\\3w&=\ ?\\4w&=\ ?\end{cases}}}
다음과 같은 행렬
M
{\displaystyle M}
의 역행렬을 계산한다고 하자.
M
=
(
−
1
1
2
3
−
1
1
−
1
3
4
)
{\displaystyle M={\begin{pmatrix}-1&1&2\\3&-1&1\\-1&3&4\end{pmatrix}}}
기본행연산을 가하면, 다음과 같다.
(
A
|
I
)
→
(
−
1
1
2
3
−
1
1
−
1
3
4
|
1
0
0
0
1
0
0
0
1
)
→
(
−
1
1
2
0
2
7
0
2
2
|
1
0
0
3
1
0
−
1
0
1
)
→
(
−
1
1
2
0
2
7
0
0
−
5
|
1
0
0
3
1
0
−
4
−
1
1
)
→
(
1
−
1
−
2
0
1
3.5
0
0
1
|
−
1
0
0
1.5
0.5
0
0.8
0.2
−
0.2
)
→
(
1
−
1
0
0
1
0
0
0
1
|
0.6
0.4
−
0.4
−
1.3
−
0.2
0.7
0.8
0.2
−
0.2
)
→
(
1
0
0
0
1
0
0
0
1
|
−
0.7
0.2
0.3
−
1.3
−
0.2
0.7
0.8
0.2
−
0.2
)
{\displaystyle {\begin{aligned}{\begin{pmatrix}\ A&\vert &I\end{pmatrix}}&\to \left(\left.{\begin{matrix}-1&1&2\\3&-1&1\\-1&3&4\\\end{matrix}}\ \ \right|\ \ {\begin{matrix}1&0&0\\0&1&0\\0&0&1\\\end{matrix}}\right)\\&\to \left(\left.{\begin{matrix}-1&1&2\\0&2&7\\0&2&2\\\end{matrix}}\right|{\begin{matrix}1&0&0\\3&1&0\\-1&0&1\\\end{matrix}}\right)\\&\to \left(\left.{\begin{matrix}-1&1&2\\0&2&7\\0&0&-5\\\end{matrix}}\right|{\begin{matrix}1&0&0\\3&1&0\\-4&-1&1\\\end{matrix}}\right)\\&\to \left(\left.{\begin{matrix}1&-1&-2\\0&1&3.5\\0&0&1\\\end{matrix}}\right|{\begin{matrix}-1&0&0\\1.5&0.5&0\\0.8&0.2&-0.2\\\end{matrix}}\right)\\&\to \left(\left.{\begin{matrix}1&-1&0\\0&1&0\\0&0&1\\\end{matrix}}\ \ \right|\ \ {\begin{matrix}0.6&0.4&-0.4\\-1.3&-0.2&0.7\\0.8&0.2&-0.2\\\end{matrix}}\right)\\&\to \left(\left.{\begin{matrix}1&0&0\\0&1&0\\0&0&1\\\end{matrix}}\ \ \right|\ \ {\begin{matrix}-0.7&0.2&0.3\\-1.3&-0.2&0.7\\0.8&0.2&-0.2\\\end{matrix}}\right)\end{aligned}}}
따라서
M
−
1
{\displaystyle M^{-1}}
은 다음과 같다.
M
−
1
=
(
−
0.7
0.2
0.3
−
1.3
−
0.2
0.7
0.8
0.2
−
0.2
)
{\displaystyle M^{-1}={\begin{pmatrix}-0.7&0.2&0.3\\-1.3&-0.2&0.7\\0.8&0.2&-0.2\end{pmatrix}}}
Abdelwahab Kharab; Ronald B. Guenther (2013). 《An Introduction to Numerical Methods A MATLAB Approach》 [이공학도를 위한 수치해석]. 학산미디어. ISBN 978-89-966211-8-8 .