일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스레드전용저장소
- 컴퓨터밑바닥의비밀
- 구문트리
- 심벌 해석
- 코드포스
- 정적링크
- 동적링크
- 재배치
- 스레드전용리소스
- unity
- eigenvalue
- 벡터
- linear algebra
- 백준
- c++
- 알고리즘
- 선형대수학
- 다익스트라
- CS정리
- 링커
- matrix
- 행렬
- column space
- 다이나믹 프로그래밍
- vector
- Rust
- 대상파일
- rust 스터디
- 적재도구loader
- 컴파일러
- Today
- Total
개발_기록용
[선형대수학 정리] 6. Column space와 span 본문
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. 정리
Column space? Span?
앞서 행렬의 곱셈을 살펴보다가
이를 바라보는 관점 중 Column space 관점에 대해 다룬 적이 있다.
https://dev-check.tistory.com/37
[선형대수학 정리] 5. 행렬의 곱셈과 Column Space
1. 배경 그래픽스 공부에 들어가기 전, 근본 중에서도 근본인 선형대수학을 먼저 파야겠다고 생각했다! Chris Ohk 님의 Game Developer Roadmap 2022를 보고 내가 부족한 부분을 채워나가기로 결심했
dev-check.tistory.com
이 개념에 대해 조금 더 상세히 살펴보자.
Column spaces는 Column 벡터들이 Span하는 space이다.
그럼 span은 무엇일까?
Span은 어떤 벡터들의 Linear Combination으로 나타낼 수 있는 모든 벡터를 모은 집합이다.
네? Span도 모르는데 Linear Combination이요?
벡터 v1, v2, v3에 대해 각각 a1, a2, a3를 곱해서
단순히 더한 것이 선형으로 더해진 모양이라이를 Linear Combination이라 한다.
그럼, v1과 v2가 서로 orthogonal하면
a1, a2를 계속 바꾸면서 두 벡터 v1, v2가 놓인 평면을 모두 커버할 수 있다.
반면 v1, v2가 평행하다면
a1, a2를 아무리 바꾸어도 두 벡터 v1, v2가 놓인 1차원 직선만 커버.
또, v1, v2가 영벡터라면
임의의 a1, a2에 대해 그냥 한 점만 커버하게 된다.
이처럼, 어떤 벡터들을 가지고 span하느냐에 따라
커버할 수 있는 공간의 dimension도 달라진다.
방금 본 서로 orthogonal한 벡터들처럼
[더 좋은 벡터들]을 가지고 span하면 더 넓은 공간을 span한다.
여기서 [linear independent]의 개념이 등장한다.
linear independent
정확한 정의를 살펴보기 전 예시를 하나 살펴보자.
내가 스타트업 사장이라 직원들을 잘 뽑아야 한다.
*서로 직교한 애들을 뽑으면?
2차원 평면을 다 커버하니 매우 좋다.
**서로 평행한 애들을 뽑으면?
1차원 직선만 커버하니 안 좋다.
그래서 서로 평행한 벡터들만 있을 때
또 다른 방향으로의 벡터를 두면 계수를 바꿔가며
span하는 공간이 한 차원이 더 넓어진다.
이 또다른 방향으로 확장하게 해주는 게
Linear independent 이다.
참고로, 꼭 직교할 필요는 없다. 평행하지 않으면 됨.
단지 orthogonal하면 Linear independent를 만족.
(= Linear independent가 더 넓은 개념)
Linear independent의 정의
이제, 정의를 살펴보자.
a1v1 + a2v2 + a3v3 + ... = 0 (영벡터)가 되는게a1 = a2 = ... = an일 때!
이를 Linear independent라 부른다.
예를 들어 서로 평행한 두 벡터 v1, v2는
a1, a2이 0이 아니어도 a1v1 + a2v2 = 0이 가능하다.
이 둘은 평행하므로 linear independent하지 않다.
(이런 애들을 linear dependent하다고 함.)
아무튼 linear independent한게 2개면 2차원 span,
3개면 3차원 span, 100개면 100차원을 span.
basis
추가로, 어떤 공간을 이루는 필수적인 구성요소를 basis라고 한다.
linear independent한 것들은 2개면 2차원 평면을 이루니까
곧 2차원 평면의 basis가 된다.
'선형대수학' 카테고리의 다른 글
[선형대수학 정리] 8. 대각행렬과 직교행렬 (0) | 2024.07.18 |
---|---|
[선형대수학 정리] 7. 항등행렬과 역행렬 (0) | 2024.07.18 |
[선형대수학 정리] 5. 행렬의 곱셈과 Column Space (1) | 2024.07.16 |
[선형대수학 정리] 4. 벡터의 norm (0) | 2024.07.16 |
[선형대수학 정리] 3. 내적과 정사영 (0) | 2024.07.16 |