가우스 소거법

testwiki
둘러보기로 이동 검색으로 이동

틀:위키데이터 속성 추적 선형대수학에서 가우스 소거법(Gauß消去法, 틀:Llang)이란, 연립일차방정식을 풀이하는 알고리즘이다. 풀이 과정에서, 일부 미지수가 차츰 소거되어 결국 남은 미지수에 대한 선형 결합으로 표현되면서 풀이가 완성된다. 가우스 소거법은 보통 행렬을 사용하며, 첨가 행렬을 그와 풀이가 같은 더 간단한 행렬로 변환하여 풀이를 완성한다. 가우스 소거법은 행렬식역행렬의 계산에도 응용된다.

정의

K에 대하여, n개의 미지수에 대한 m개의 방정식으로 구성된 연립일차방정식

Mx=0

이 주어졌다고 하자. 여기서

M=(M11M12M1,n+1M21M22M2,n+1Mm1Mm2Mm,n+1)

은 주어진 m×(n+1) 행렬이고,

x=(x1x2xn1)

n개의 미지수를 포함하는 열벡터이다. 즉, 이는 풀어서 쓰면 다음과 같다.

M11x1+M12x2++M1,nxn+M1,n+1=0
M21x1+M22x2++M2,nxn+M2,n+1=0
Mm1x1+Mm2x2++Mm,nxn+Mm,n+1=0

기본 행 연산

틀:본문 이 경우, 이 연립방정식에 다음과 같은 세 가지 연산을 가할 수 있다. 이들을 기본 행 연산(基本行演算, 틀:Llang)이라고 한다.

  • (행의 치환) Mi번째 행과 j번째 행을 서로 바꾼다.
(M11M12M1,n+1Mi1Mi2Mi,n+1Mj1Mj2Mj,n+1Mm1Mm2Mm,n+1)x=0(M11M12M1,n+1Mj1Mj2Mj,n+1Mi1Mi2Mi,n+1Mm1Mm2Mm,n+1)x=0
  • (행의 상수곱) i번째 행을 0이 아닌 임의의 상수 aK{0}으로 곱한다.
(M11M12M1,n+1Mi1Mi2Mi,n+1Mm1Mm2Mm,n+1)x=0(M11M12M1,n+1aMi1aMi2aMi,n+1Mm1Mm2Mm,n+1)x=0
  • (행의 합) 임의의 상수 aK에 대하여, i번째 행의 a배를 j번째 행에 더한다.
(M11M12M1,n+1Mi1Mi2Mi,n+1Mj1Mj2Mj,n+1Mm1Mm2Mm,n+1)x=0(M11M12M1,n+1Mi1Mi2Mi,n+1aMi1+Mj1aMi2+Mj2aMi,n+1+Mj,n+1Mm1Mm2Mm,n+1)x=0

행사다리꼴행렬

일반적으로 사다리꼴행렬(Echelon matrix,에쉴론 메트릭스, 또는 행사다리꼴행렬)은,

m×(n+1) 행렬 M에 대하여, j0(i)=min{jn:Mij0}이라고 하면, Mi,j0(i)i번째 행의 선행 계수(先行係數, 틀:Llang)라고 한다. 선행 계수는 존재하지 않을 수 있다.

m×(n+1) 행렬 M이 다음 조건을 만족시키면, M행사다리꼴행렬(사다리꼴行列, 틀:Llang)이라고 한다.

  • 만약 0=Mi1==Min이라면, 모든 ii에 대하여 0=Mi1==Min이다.
  • 만약 i<i이며 j0(i)j0(i)가 존재한다면, j0(i)<j0(i)이다.

m×(n+1) 행렬 M이 다음 조건을 만족시키면, M기약행사다리꼴행렬(旣約行사다리꼴行列, 틀:Llang)이라고 한다.

  • M은 행사다리꼴행렬이다.
  • j0(i)가 존재한다면, Mi,j0(i)=1이며, 모든 ii에 대하여 Mi,j0(i)=0이다.

즉, 행사다리꼴행렬은 행렬의 항들이 대략 위에는 사다리꼴, 밑에는 0인 형태의 행렬이다. 기약행사다리꼴행렬 조건은 행사다리꼴행렬 조건보다 더 강한 조건이다.

예를 들어, 다음과 같은 행렬은 행사다리꼴행렬이다.

(1a0a1a2a3002a4a50001a6)

다음과 같은 행렬은 기약행사다리꼴행렬이다.

(10a10a201a30a40001a5)

가우스 소거법

가우스 소거법m×n 행렬 M을 기본행연산을 가하여 행사다리꼴행렬로 만드는 알고리즘이며, 다음과 같다. 먼저 첫번째 행을 다음과 같이 처리한다.

  1. 선행 계수가 위치하는 가장 작은 열수 j1n을 찾는다.
  2. M1j1=0이라면, 첫번째 행을 Mi1j10인 어떤 i1>1번째 행과 치환한다.
  3. 모든 i>1번째 행에 첫번째 행의 Mij1/M1j1배를 더해, M1j1 밑의 항들을 0으로 만든다.

그 뒤, 두번째 행을 다음과 같이 처리한다.

  1. 어떤 i2번째 행의 선행 계수가 위치하는 가장 작은 열수 j2n을 찾는다.
  2. M2j2=0이라면, 두번째 행을 Mi2j20인 어떤 i2>2번째 행과 치환한다.
  3. 모든 i>2번째 행에 두번째 행의 Mij2/M2j2배를 더해, M2j2 밑의 항들을 0으로 만든다.

뒤에 오는 다른 행에 대하여, 순차적으로 위와 같이 처리한다. 일반적으로, k번째 행은 다음과 같이 처리한다.

  1. 어떤 ik번째 행의 선행 계수가 위치하는 가장 작은 열수 jkn을 찾는다.
  2. Mkjk=0이라면, k번째 행을 Mikjk0인 어떤 ik>k번째 행과 치환한다.
  3. 모든 i>k번째 행에 k번째 행의 Mijk/Mkjk배를 더해, Mkjk 밑의 항들을 0으로 만든다.틀:Sfn

만약 어떤 jr+1n가 존재하지 않는다면, r번째 행에서 멈춘다. 만약 항상 jkn를 찾을 수 있다면, 모든 k=1,2,,m번째 행에 대하여 순차적으로 위와 같이 처리하며, r=n으로 둔다. 기약행사다리꼴행렬을 원한다면, 찾았던 모든 jk=jr,jr2,,j1에 대하여 순차적으로 다음과 같은 단계를 추가로 거친다.

  1. k번째 행에 1/Mkjk를 곱해, Mkjk를 1로 만든다.
  2. 모든 i<k번째 행에 k번째 행의 Mijk배를 더해, Mkjk 위의 항들을 0으로 만든다.

여기서 rm이며 rn인 데 주의하자. 사실, 이는 행렬의 계수이다.

  • 기약행사다리꼴행렬의 과정을 특히 조단이 제시한 "가우스 조단 소거법"으로 부른다.

성질

기본행연산

세 가지 기본행연산은 모두 가역 연산이다.

  • 행의 치환의 역연산은, 자기 자신이다.
  • 행의 상수곱의 역연산은, 그 행에 그 상수 대신 역수를 곱하는 것이다.
  • 어떤 행에 다른 행의 배수를 더하는 것의 역연산은, 더하는 대신 빼는 것이다.

두 연립일차방정식의 첨가 행렬이 하나에 기본행연산을 가하여 다른 하나를 얻을 수 있다면, 행동치라고 한다. 첨가 행렬이 행동치라면, 연립방정식의 풀이는 서로 같다.

기본 행렬단위 행렬에 기본행연산을 한 번 가하여 얻는 행렬이다. 이에 따라, 세 가지 기본행연산은 기본 행렬 곱셈과 같다.

행사다리꼴행렬

가우스 소거법 알고리즘에서 알 수 있듯, 모든 연립일차방정식의 첨가 행렬은 그와 같은 해를 갖는 행사다리꼴행렬 및 기약행사다리꼴행렬로 변환할 수 있다. 따라서, 연립일차방정식의 풀이는 행사다리꼴행렬 및 기약행사다리꼴에 대한 풀이로 귀결된다.

m×(n+1) 행사다리꼴행렬 R에 대한 연립일차방정식 Rx=0에 대하여, 다음 두 조건이 서로 동치이다.

  • 해가 존재한다.
  • 상수항이 0이 아닌 행이 존재하지 않는다. (상수항은 n+1번째 열의 항, 0행은 선행 계수가 없는 행을 뜻한다.)

해가 존재하는 Rx=0의 경우, 다음 두 조건이 서로 동치이다.

  • 해가 유일하다.
  • r=n. 즉, 0행이 아닌 행의 개수는 미지수의 개수와 같다. 즉, 선행 계수가 없는 열이 계수 행렬에 존재하지 않는다.

달리 말해, 해가 존재하는 Rx=0의 경우, 다음 두 조건이 서로 동치이다.

  • 해가 유일하지 않다. (체의 표수가 0이라면, 이는 해가 무한히 많은 것과 동치이다.)
  • r<n. 즉, 0행이 아닌 행의 개수는 미지수의 개수보다 적다. 즉, 선행 계수가 없는 열이 계수 행렬에 존재한다.

행렬식의 계산

가우스 소거법을 사용하여 정사각행렬행렬식을 계산할 수 있다. 이는 정사각행렬에 대하여 다음 사실들이 성립하기 때문이다.

  • 기본행연산을 가하면, 행렬식은 "상수배" 변화하며, 주어진 기본행연산이 행렬식을 변화시키는 배수는 자명하다. 즉,
    • 행을 치환하면, 행렬식은 -1배가 된다.
    • 행에 상수곱을 하면, 행렬식은 그 상수의 역수배가 된다.
    • 어떤 행에 다른 어떤 행의 상수배를 더하면, 행렬식은 변하지 않는다.
  • 가우스 소거법을 통해 행렬을 행사다리꼴행렬로 변환할 수 있다. 특히 정사각행렬이므로, 이는 0행(즉 모든 항이 0인 행)을 갖거나, 상삼각행렬이다.
  • 0행을 갖는 정사각행렬의 행렬식은 0이다.
  • 상삼각행렬의 행렬식은 모든 대각항의 곱이다.

역행렬의 계산

가우스 소거법을 사용하여 정사각행렬역행렬을 계산할 수 있다. n×n 행렬 M의 역행렬은 다음과 같이 계산한다. Mn×n 단위행렬을 추가하여 n×2n 행렬로 만든다.

(M1,1M1,n10Mn,1Mn,n01)

이 행렬에 기본행연산을 가하여

(10M~11M~1,n01M~n,1M~n,n)

로 만든다면, 행렬 M~M1과 같다.

M~=M1

계수 계산

가우스 소거법을 사용하여 행렬의 계수를 계산할 수 있다. m×n 행렬 M의 계수는 가우스 소거법을 가하여 얻는 행사다리꼴행렬에서 0이 아닌 행의 계수(즉, 선행 계수의 개수) r이다.

[13191111311535][131902280228][131902280000][102301140000]

해가 유일한 연립 선형 방정식

다음과 같은 선형 방정식이 주어졌다고 하자.

2u+v+w=54u6v=22u+7v+2w=9

첫 번째 열을 사다리꼴로 놓기 위해, 다음과 같은 기본행연산을 가한다.

  1. 첫째 식의 -2배를 둘째 식에 더한다
  2. 첫째 식의 1배를 셋째 식에 더한다.

그렇다면 다음과 같다.

2u+v+w=58v2w=128v+3w=14

두 번째 열을 사다리꼴로 놓기 위해, 다음과 같은 기본행연산을 가한다.

  • 둘째 식의 1배를 셋째 식에 더한다. 그러면 다음과 같다.
    2u+v+w=58v2w=12w=2
    이제 행렬이 사다리꼴이 되었다. 그렇다면, 이제 미지수들을 가장 밑의 행으로부터 순서대로 대입하여 계산할 수 있다. 이것을 후방대입(back substitution)이라 한다.틀:Sfn
    w=2
    8v2w=12v=1
    2u+v+w=5u=1

    해가 유일하지 않거나 없는 연립 선형 방정식

    정칙(Nonsingular) 행렬일 경우의 예

    (식 2와 3을 바꾸어 해결한다)

    • {10u+2v+1w= 273u+6v+2w= 61.5u+v+5w= 21.5
    비정칙(Singular) 행렬일 경우의 예

    (해가 없는 경우도 있다.)

    • {u+v+w= ?2u+2v+5w= ?4u+4v+8w= ?
    • {u+v+w= ?3w= ?4w= ?

    역행렬의 계산

    다음과 같은 행렬 M의 역행렬을 계산한다고 하자.

    M=(112311134)

    기본행연산을 가하면, 다음과 같다.

    ( A|I)(112311134  |  100010001)(112027022|100310101)(112027005|100310411)(112013.5001|1001.50.500.80.20.2)(110010001  |  0.60.40.41.30.20.70.80.20.2)(100010001  |  0.70.20.31.30.20.70.80.20.2)

    따라서 M1은 다음과 같다.

    M1=(0.70.20.31.30.20.70.80.20.2)

    같이 보기

    외부 링크

    각주

    틀:각주

    참고 문헌

    틀:선형대수학

    틀:전거 통제