선형대수 ( Linear Algebra )
공학에서 선형성이라는 단어는 참 많이나온다. 컴퓨터 공학에서도 물론 등장하거니와 암호학을 공부하다보면 비선형함수를 선형화시키는 공격이 나오기도 한다.
선형대수를 공부하는 이유는, 선형함수를 가우스소거법이나 adjoint matrix, rank어쩌구, eigenvalue 등을 이용해 문제를 단순 연립방정식 노가다 대비 쉽게 해결할 수 있기 때문이다. 이런저런 방법을 코딩에 적용하면 연산을 효율적으로 수행할 수 있다.
- 스칼라, 스칼라 함수는 소문자로 표현
- 벡터는 소문자 bold로 표현
- 행렬은 대문자 bold로 표현
Linearity, 선형성
선형성이란 직선 그래프로 표현될 수 있는 수학적 성질을 의미한다. 직선 그래프로 표현될 수 있다는 것은 두 변수가 정비례(directly proportion) 관계이며 예측가능성을 가진다는 것을 의미한다.
In mathematics
함수 f(x)가 다음 두 성질을 만족할 때 f(x)는 선형성을 가진다고 말한다.
- Additivity : \(f(x + y) = f(x)+f(y)\)
- Homogeneity of degree 1 : \(f(\alpha x) = \alpha f(x)\) for all α
* Homogeneity of degree r은 r차 동차함수를 의미한다. 이 경우는 1차 동차함수. \(f(\lambda v) = \lambda^r f(v)\) 이 두 성질을 합쳐서 superposition principle ( 중첩 원리 ) 라고 부른다.
Linear polynomials
보통 우리가 선형방정식을 얘기할 때는 이런 직선 형태의 함수를 말하는데, \(f(x) = mx + b\) 위의 formal한 정의와는 다른 의미로 쓰였다. b ≠ 0이면 중첩 원리를 만족하지 못하기 때문. 그래서b ≠ 0인 이런 함수를affine transformation ( affine function ) 이라고 부른다.
* 이 밖에도 물리학, 전자기학 등에서 많은 선형성에 대한 정의가 있지만 가장 formal한 정의는 이것이고, superpositon principle, 특히 정비례와 예측가능성 이 선형성의 핵심이므로 타 학문에서의 정의도 크게 벗어나지 않는다.
affine transformation
affine transformation은 간단히 말하면 공선점을 보존하는 점대응 변환이다. 아핀 공간은 유클리드 공간(일반적으로 사용하는 그 3차원 공간, 직교 좌표계라고 생각하면 된다)에서 다음 성질을 추가한 공간이라고 생각하면 된다.
- 원점이 없다.
- 원점이 없으므로 점과 점을 더할 수는 없다. ( 원점 기준으로 사다리꼴 만들어 더하는게 벡터 덧셈이니까 )
- 점에서 점을 빼서 벡터를 얻을 수 있다.
- 점에 벡터를 더해 다른 점을 얻을 수 있다. 쉽게 말해 부분공간이 원점을 지날 필요가 없다는 뜻이다.
Differential
선형성을 가지는 함수는 딱 봐도 풀기 쉽다는걸 알 수 있다. 그러나 대부분의 함수는 비선형이고, 비선형함수를 푸는데 선형성을 이용하는 방법은 보통 미분 이다.
미분 방정식이 선형이면
선형대수
를 이용해 해를 구하는 것이 가능하다.
중첩 원리를 이용해 방정식을 작은 단위의 요소로 분할한 다음 각각의 해를 구해서 더하는 식으로 해결한다.
이를 배우는게 선형대수인데 너무 대충들었다…
* 미분방정식이 선형이라는 것은 독립 변수인 y나 그 도함수의 차수가 모두 1차임을 의미한다.
transpose
행렬곱은 교환법칙이 성립하지 않기 때문에 자리를 바꾸려면 transpose 해야한다.
echelon
에셜론은 사다리꼴이라는 뜻으로, 행렬에 가우시안 소거법을 적용해 에셜론 폼을 만들 수 있다. row에 적용하면 row echelon form, column에 적용하면 column echelon form인데 보통 row에 적용한다. (아래 그림 참조)
reduced row echelon form은 leading coefficient가 1이어야 하며 그 column의 유일한 nonzero entry여야 한다. (아래와 같이)
왜 에셜론 폼이 중요한가? triangular matrix 형태로 정리가 되는데 이렇게 만들어야 컴퓨터 계산이 용이하기 때문이다. 보통 upper triangular matrix(U) 형태로 정리한다.