우리가 선형대수를 공부하는 이유는 연립 일차 방정식을 풀기 위함이고
이를 위해 행렬과 벡터를 공부한다.
이때 우리가 공부하는 행렬을 선형변환이라고 부른다.
"선형"이라는 말전에 변환은 또 뭐야?
쉽게 말해서 함수라는 말이다. 우리가 벡터에 행렬을 곱하는 에서 A를 "벡터 x를 벡터y로 mapping하는 함수"라고 바라볼 수 있다.
쉽게 말해 행렬은 벡터를 변환시켜 다른 벡터를 출력해준다.
"선형 변환"은 이런 함수 중에서 아래의 조건을 만족하면 "선형변환"이라고 부른다.
임의의 벡터 u,v에 대하여 다음의 수식을 만족하면 변환행렬 A를 선형변환이라고 부른다.(alpha beta는 scalar)
정리하면 행렬은 함수다!!
우리가 행렬 곱을 다른 시각으로 행렬 A의 열벡터가 만든 vector space라고 배웠다. 맞다. 행렬 A는 input vector가 들어올 때 자신의 열벡터가 만든 vector space로 mapping 하는 함수이다.(선형변환)
고유벡터와 고윳값이 물어보는 것은 다음과 같다.
벡터 x에 어떠한 선형변환 A를 가했을 때, 그 크기만 변하고 방향은 유지되는 벡터 x는 무엇인가요?
우리가 고유벡터를 찾는 이유는 행렬을 곱해서 다른 vector space로 mapping 되었음에도 자신의 방향을 유지하는 vector를 찾기 위함이다!!
임의의 행렬 에 대하여, 0이 아닌 솔류션 벡터 가 존재한다면 숫자 는 행렬 A의 고윳값이라고 할 수 있다.
이때 를 고유벡터 를 고윳값이라고 부른다.
식에서 알 수 있듯이 벡터 에 선형변환을 가했음에도 크기만 변했지 방향은 유지하고 있다.
이것을 풀기 위해 식을 전개하면
이 된다. 그런데 scalar 자체와 행렬을 연산할 때는
로 표시한다.
만약 행렬 가 역행렬이 존재한다면 라는 유일한 해만 존재한다. (역행렬이 존재한다면 방정식의 해는 유일하다.) 일때 이 해를 trivial soulution이라고 부른다. (쉽게 말해 당연히 답이지)이다. 그런데 trivial solution은 우리가 원하는 해가 아니다. 우리는 0벡터가 아니면서 저 수식을 만족하는 고유벡터와 고윳값을 찾고 싶기 때문이다. 그러므로
는 역행렬이 존재하면 아니된다. 역행렬 존재하지 않기 위해서는 우리가 지난 시간에 배운 determinant를 이용하면 된다.
이 되면 역행렬이 존재하지 않고 이 수식을 계산하면 우리가 원하는 고윳값과 고유벡터를 얻을 수 있다.
고유벡터에 대해서 조금만 더 살펴보면
고유벡터 x는 의 nullspace에 속하는 벡터이다.
또한 고유벡터 끼리는 선형 독립이어야 한다.
일때
일때
그러므로 행렬 의 eigenvalue와 eigenvector는
이다.
Robotics 101: Computational Linear Algebra (https://github.com/michiganrobotics/rob101)
공돌이의 수학정리노트 (https://angeloyeo.github.io/2019/07/17/eigen_vector.html)
혁펜하임 선형대수 수업
(https://www.youtube.com/watch?v=xDARfmKauuA&list=PL_iJu012NOxdZDxoGsYidMf2_bERIQaP0&index=20)