선형연립방정식(Ax=b)의 해를 구하는 방법은 행렬 A가 어떤 행렬인가에 따라서 달라진다.
1) r = m = n: full rank, 선형독립인 열들로만 이루어진 정사각형 행렬, 단 한 개의 해를 갖는다.
2) r = n < m: full row rank, 위로 길쭉한 직사각형 행렬, 1개의 해 또는 해가 없다. 대부분의 경우에 없다.
3) r = m < n: full column rank, 좌우로 길쭉한 직사각형 행렬, 셀 수 없이 많은 해를 갖는다.
4) r < m, r < n: 그 외의 직사각형 행렬, 해가 없거나 셀 수 없이 많은 해를 갖는다.
여기서,
r: 행렬의 rank
m: 행렬내 행벡터의 갯수, 행렬의 세로 크기
n: 행렬내 열벡터의 갯수, 행렬의 가로 크기
을 의미한다.
기본적으로 b가 행렬 A의 column space 위에 있지 않으면 해는 존재하지 않는다. 왜냐하면 행렬A의 열벡터들의 선형 조합으로 b를 나타낼 수가 없기 때문이다.
▶ r = m = n인 경우
가장 익숙한 경우이다. 즉 미지수와 방정식의 갯수가 같고 모든 열벡터들이 선형독립인 경우다. 이런 경우를 full rank라고 부른다. 이 때 네가지 부분공간을 그려보면, nullspace와 left-nullspace는 오직 영벡터뿐이다(그림1).
그림1. r = m = n인 경우
이때는 벡터 b는 항상 행렬A의 column space 위에 존재한다. 행렬A의 열벡터들의 선형조합으로 b가 만들어진다는 것이다. 이때 열벡터들의 다양한 조합으로 b가 만들어질 수 있는 것이 아니라 단 한가지의 조합으로만 b가 만들어질 수 있다. 따라서 r = m = n의 경우 단 하나의 해를 갖는다.
▶ r = n < m인 경우
그림2. r = n < m인 경우
이때 nullspace는 오직 영벡터만을 포함한다. 이 경우에는 열벡터들이 부족하기 때문에 b가 column space위에 있을 수도 없을 수도 있다. 예를 들어,
와 같이 b가 행렬 A의 열벡터들의 선형조합으로 이뤄지는 경우에만 해를 구할 수 있다. 그러나 b가 column space위에 있는 경우는 극히 드물고, 대부분의 경우에 b가 column space 밖에 존재한다. 따라서, 해를 구할 수 없다. 이때는 b를 column space에 투영시켜서 구할 수 없는 해 대신에 최적해 를 구한다(최소자승법).
정리하자면, full row rank인 경우에 b가 C(A)에 있다면 단 한개의 해가 존재하고, C(A) 밖에 있다면 해가 존재하지 않기 때문에 대신 최소자승법을 이용해서 최적해를 구해준다.
▶ r = m < n인 경우
그림3. r = m < n인 경우
이때 left-nullspace는 오직 영벡터만을 포함한다. 열벡터들은 지금 차고 넘치기 때문에, b는 항상 C(A) 위에 존재한다. 그렇기 때문에 Ax = b의 해가 존재한다. 그런데 이때는 셀 수 없이 많은 해가 존재한다. 그 이유를 이해하려면, 우선 완전해(complete solution)는 항상 특별해(particular solution)과 null space 해의 합으로 이루어진다는 것을 알아야 한다. 우리가 구하고 있었던 해의 풀네임이 완전해이다.
...(공식1: 완전해)
이때 특별해 는 항상 row space 위에 있고, null space 해 은 이름에서 암시하듯이 null space 위에 존재한다. Ax = b를 아래와 같이 전개해보자.
보다시피 null space위에 존재하는 null space 해들은 더해져도 아무런 영향을 미치지 않는다. 따라서 null space 위에 존재하는 셀 수 없이 많은 null space 해들이 특별해에 더해질 수 있다. 위에서 살펴본 r = m = n 케이스와 r = n < m 케이스에는 null space에 영벡터밖에 없었기 때문에 특별해에 영벡터밖에 더해지지 않았던 것이다.
는 free 변수들에 모두 0을 넣어줌으로 구하고, 은 free 변수 중에 하나에만 1, 나머지에는 0을 대입해주는 식으로 구한 special 해들의 선형 조합으로 구한다.
...(공식2: null space 해)
여기서 은 임의의 상수이고, N은 free 변수의 개수다. 만약 free 변수가 2개라면 두개의 special 해, 3개라면 3개의 special 해들을 갖는다. 이 무한개이기 때문에 완전해 x도 무한개가 된다. 따라서 r = m < n인 경우에는 무한개의 해를 갖게 된다.
▶ r < m, r < n인 경우
사실 이 경우가 가장 일반적이다(그림4). 마찬가지로 벡터 b가 C(A) 위에 존재하면 해가 존재하는데 무수히 많은 해가 존재하고, 벡터 b가 C(A) 밖에 있다면 해는 존재하지 않는다. 셀 수 없이 많은 해 또는 0개의 해. 이 경우에는 의사역행렬을 이용해서 를 구하면 된다.
그림4. r < m, r < n인 경우
'Research > 선형대수학' 카테고리의 다른 글
[선형대수학] 헤시안(Hessian) 행렬과 극소점, 극대점, 안장점 (12) | 2019.12.11 |
---|---|
[선형대수학] 가우스-요르단 소거법으로 n차 정방행렬의 역행렬 구하기 (0) | 2019.06.25 |
[선형대수학] 두 행렬의 곱을 바라보는 세 가지 관점 (6) | 2019.06.24 |
[선형대수학] 행렬A의 행사다리꼴 및 기약행사다리꼴 (0) | 2018.01.16 |
[선형대수학] 의사역행렬(Pseudo inverse) (2) | 2018.01.05 |
[선형대수학] 직사각형 행렬의 대각화: 특이값 분해(Singular value decomposition, SVD) (13) | 2017.12.28 |
[선형대수학] 투영(projection)과 최소자승법(least square method) (16) | 2017.12.19 |
[선형대수학] 양의 정부호 행렬(positive definite matrix)이란? (20) | 2017.11.22 |