일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 심벌 해석
- 백준
- 적재도구loader
- 정적링크
- 코드포스
- 행렬
- 벡터
- 컴파일러
- CS정리
- 다이나믹 프로그래밍
- 알고리즘
- 스레드전용리소스
- 동적링크
- 구문트리
- 재배치
- 다익스트라
- 스레드전용저장소
- Rust
- eigenvalue
- linear algebra
- unity
- 컴퓨터밑바닥의비밀
- 선형대수학
- 대상파일
- column space
- matrix
- c++
- rust 스터디
- 링커
- vector
- Today
- Total
개발_기록용
[선형대수학 정리] 12. rank 별 해의 수 본문
1. 배경
그래픽스 공부에 들어가기 전, 근본 중에서도 근본인 선형대수학을 먼저 파야겠다고 생각했다!
Chris Ohk 님의 Game Developer Roadmap 2022를 보고 내가 부족한 부분을 채워나가기로 결심했기 때문이다.
https://github.com/utilForever/game-developer-roadmap
GitHub - utilForever/game-developer-roadmap: Roadmap to becoming a game developer in 2022
Roadmap to becoming a game developer in 2022. Contribute to utilForever/game-developer-roadmap development by creating an account on GitHub.
github.com
.
2. 정리
행렬의 rank가 어떻냐에 따라
$$Ax = b$$
을 만족하는 해의 특징을 정리해보려 한다.
먼저, full column rank 이다.
Ax = b에서 A가 10x3 이라 한다면, full column rank이므로 10차원에서 r = 3.
즉, A의 column들이 10차원 공간에서 3차원을 span하고,
이 span하는 column space를 C(A)라 하자.
A의 column들이 10차원 공간에 있듯이
b 역시 10차원 공간의 벡터이고, 다음이 성립한다.
- b가 만약 C(A) 안에서 존재하면 Ax=b를 만족하는 Ax 가 하나 존재한다.
- b가 만약 C(A) 밖에 존재하면 Ax=b를 만족하는 Ax 가 존재하지 않는다.
따라서, full column rank일 때는 해가 한 개거나 없다.
이번엔 full row rank이다.
Ax = b에서 A가 3x10이라 하면, full row rank이니 3차원에서 r=3.
즉, A의 column들이 3차원에서 3차원 공간 전체를 커버하며 span하고
b 역시 3차원 상의 벡터.
그러면 A의 column들이 존재하는 column space C(A)에 대해
b가 속해있지 않는 경우는 불가하고, 다음이 성립한다.
- C(A)에 대해, b가 속해있지 않는 경우는 불가하다.
- C(A)의 속한 Ax가 b를 만족하는 경우는 무조건 존재하며, 해는 무한하다.
Ax = b 를 만족하는 해가 존재하는 것은 이해하는데왜 그 해가 무한할까? 다음 내용을 보자.
앞서, 3x10인 A에 대해 r = 3, n = 10이므로
dim(N(A)) = 10 - 3 = 7.
그럼 이 null space 안의 임의의 벡터를 x_{n}이라 하면
당연히 다음이 성립한다.
$$Ax_{n} = 0$$
그리고 앞서 Ax = b인 해가 무조건 있다 했으니, 이 해를
particular solution이라 하고, x_{p}라 하자.
$$A(x_{n}+x_{p})=0+b=b$$
그러면 x_{n}+x_{p}는 complete solution이라 하고,
이런 x_{n}이 무한하니
$$A(x_{n}+x_{p})=b$$
를 만족하는 x_{n}도 무한하다.
그래서 Ax=b를 만족하는 해가 무한해진다.
full rank일 때는 매우 쉽다.
invertable하므로 역행렬이 있어서 x = A^{-1}b를 만족하는 해가 무조건 한 개 존재하기 때문.
- full rank는 invertable하므로 무조건 역행렬이 있으니, 해가 하나 있다.
마지막으로, rank-deficient할 때를 살펴보자.
우선, rank-deficient하므로 b는 Column space보다 더 큰 차원에 존재한다.
그러면 Column space C(A)에 대해 그 공간에 b가 포함되지 않는 경우가 생기고,이 경우 해가 없다.
반면, C(A)에 b가 포함된다면 Ax=b를 만족하는 해가 무조건 존재하고,앞서 full row rank 때와 같이 Ax_{n} = 0을 만족하는 x_{n}이 무수히 많아해가 무수히 많게 된다.
- b가 만약 C(A) 안에서 존재하면 Ax=b를 만족하는 Ax 가 무조건 존재하며, 무수히 많이 존재한다.
- b가 만약 C(A) 밖에 존재하면 Ax=b를 만족하는 Ax 가 존재하지 않는다.
이건 방금 정리한 내용 관련 문제를 푼 것이다.
- (나) 조건을 보면 해가 존재하지 않는 경우가 발생하니, full rank는 아니다.
- (가) 조건을 보면 해가 존재하는 경우가 발생하니 rank=0은 아니다.
그럼 rank는 1이거나 2인데, 이 공간이 원점과 [1 2 b]^{-1}을 지나는 것은 자명하다.
근데 이 두 점을 지나는 평면(r=2)일 경우, 움직이다가
[1 1 b]^{-1}을 무조건 지나게 되니까 불가능.
따라서, rank=1이 가능하다.
'선형대수학' 카테고리의 다른 글
[선형대수학 정리] 14. determinant (행렬식) (4) | 2024.07.22 |
---|---|
[선형대수학 정리] 13. 가우스-조던 소거법 (2) | 2024.07.22 |
[선형대수학 정리] 11. Left Null Space (0) | 2024.07.19 |
[선형대수학 정리] 10. Null space (0) | 2024.07.19 |
[선형대수학 정리] 9. 행렬의 rank (0) | 2024.07.19 |