역행렬
- 실제로는 A의 역행렬 자체가 아니라 '어느 벡터 y에 대한 A의 역행렬 곱하기 y'를 구한다.
- 이는 연립일차방정식 Ax = y 를 푼 것으로 해석된다.
3.8.1. 정렬이 필요한 상황
- 대각 성분 중 0인 값이 존재하는 경우 A = LU로 분석하는 것이 불가능하다.
이론
- 대각성분에서 0을 만나게 되면 나머지 행 중에 0이 아닌 것과 교체한다.
구현
- 행의 값을 실제로 교체하는 것은 비효율적이므로 간접 참조하도록 한다.
- 컴퓨터에서는 0도 근사값을 반올림하여 표시할 뿐이다. 따라서 '절댓값이 최대인 것을 고른다'는 방식을 취한다.
3.8.2. 정렬해도 앞이 막혀버리는 상황
피보팅(행의 교체)만으로 해결되지 않는 경우
- 열까지도 교체하여 분해를 시도할 수 있다.
정사각인데도 도중에 막히는 경우는 어차피 정칙이 아니다.
- 따라서 행렬식 det A에 대해서 도중에 막히면 det A = 0이다.
- 연립일차방정식 Ax = y에 대해 도중에 막히는 경우 성질이 나쁜 경우라고 볼 수 있다.
출처: 히라오카 카즈유키, 호리 겐, 『프로그래머를 위한 선형대수』, 이창신, 길벗, 2017.
'프로그래머를 위한 선형대수 > 3장' 카테고리의 다른 글
3.4. LU 분해의 순서 (1) 보통의 경우 / 3.5. 행렬식을 LU 분해로 구하다 / 3.6. 일차방정식을 LU 분해로 풀다 (0) | 2022.09.12 |
---|---|
3.3. LU 분해 (0) | 2022.09.12 |
3.1. 서론 3.2. 준비 운동: 덧셈, 뺄셈, 곱셈, 나눗셈 (0) | 2022.09.12 |