Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기
프로그래머를 위한 선형대수/랭크, 역행렬, 일차방정식

2.2.3 역행렬의 계산

by 지식광부키우기 2019. 9. 26.

 

연립 일차방정식의 응용으로 역행렬을 구하기

 

연립 일차방정식이 풀리면 역행렬도 구할 수 있습니다.

 

n차 정방행렬정방 행렬 A의 역행렬이란 AX=I가 되는 정방 행렬 X입니다.

 

XX=(x1,...,xn)과 열 벡터로 나타내고, 이에 대응하여 단위행렬 II=(e1,...,en)로 나타냅니다.

 

eii성분만 1이고, 다른 성분은 0인 벡터가 됩니다. 

 

따라서 AX=I는 

 

A(x1,...,xn)=(Ax1,...,Axn)=(e1,...,en)

 

Ax1=e1 

              

Axn=en

 

을 만족시키는 벡터 x1,...,xn 구하여 그것을 대입하면 

 

A1=(x1,...,xn)이 얻어집니다. 

 

Axi=ei는 연립 일차방정식입니다.

 

그러나 이렇게 풀면 연립 일차방정식을 n세트나 풀어야 합니다. 

 

좀 더 시간을 절약할 수 있는 방법이 다음 내용입니다. 

 

 

블록 행렬 표기로 정리하여 풀기 

 

n세트의 연립 일차방정식 $A\mathbf {x}_{i} = \mathbf {e}_{i}(i = 1,..., n$)을 2.2.2절의 블록 행렬로 풀겠습니다.

 

(Aei)(Isi) 

                             

(Aen)(Isn)

 

와 같이 변형하면 si가 해 xi라는 이야기입니다.. 

 

결국 AI로 변형하는 것이므로 변형 순서는 같습니다. n번 다시 할 필요가 없습니다. 

 

정리하면

 

(Ae1,...,en)(Is1,...,sn)

 

이라 변형하면 편리합니다. 게다가 (e1,...,en)I이고, X(s1,...,sn)은 최종 결과 그 자체입니다.

 

결국 (AI)(IX)

 

로 변형하면 XA1이 나타납니다.

 

순서를 정리해서 써보면

 

A의 우측에 단위행렬 I를 써둡니다.

 

연립 일차방정식의 손 계산 방법(2.2.2절)에서 변형하여 좌측(처음 A였던 부분)이 I가 되도록 합니다.

 

그렇게 되면 우측(처음 I였던 부분)에는 A1이 나타납니다.

 

이것이 역행렬의 '손 계산 방법'입니다.

 

2019/09/24 - [선형대수/랭크, 역행렬, 일차방정식] - 2.2.2 연립일차방식의 해법(정칙인 경우) - 가우스 요르단 소거법

 

 

블록 행렬 표기로 정리해서 풀기 예시 

 

A=(233342223)의 역행렬 A1을 구해봅니다.

 

(AI)

= (233|100|342|010|223|001) 

 

1행을 1/2배하여 선두에 1을 만듭니다. 

 

-> (13232|1200|342|010|223|001)

 

1행을 (-3) 배하여 2행에 더해 선두를 0으로 만듭니다.

1행을 2배하여 3행에 더해 선두를 0으로 만듭니다.

이것으로 1열을 완성합니다.

 

-> (13232|1200|01252|3210|016|101)

 

2행을 (-2) 배하여 2열(대각성분)에 1을 만듭니다.

 

-> (13232|1200|015|320|016|101) 

 

2행을 (-3/2) 배하여 1행에 더해 2열을 0으로 만듭니다.

2행을 (-1) 배하여 3행에 더해 2열을 0으로 만듭니다.

이것으로 2 열도 완성됩니다. 

 

-> (106|430|015|320|001|221) 

 

이것으로 3 열도 완성됩니다. 

 

-> (100|16156|010|13125|001|221)

 

= (IA1)

 

이 되어,

 

A1=(1615613125221)

 

을 구했습니다.  A에 곱해보면 단위행렬 I가 됩니다.