공학에서 선형성이라는 단어는 참 많이나온다.

컴퓨터 공학에서도 물론 등장하거니와 암호학을 공부하다보면 비선형함수를 선형화시키는 공격이 나오기도 한다.

 

선형대수를 공부하는 이유는, 선형함수를 가우스소거법이나 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차원 공간, 직교 좌표계라고 생각하면 된다)에서 다음 성질을 추가한 공간이라고 생각하면 된다.
  1. 원점이 없다.
  2. 원점이 없으므로 점과 점을 더할 수는 없다. ( 원점 기준으로 사다리꼴 만들어 더하는게 벡터 덧셈이니까 )
  3. 점에서 점을 빼서 벡터를 얻을 수 있다.
  4. 점에 벡터를 더해 다른 점을 얻을 수 있다.
쉽게 말해 부분공간이 원점을 지날 필요가 없다는 뜻이다.
 

Differential

선형성을 가지는 함수는 딱 봐도 풀기 쉽다는걸 알 수 있다.

그러나 대부분의 함수는 비선형이고, 비선형함수를 푸는데 선형성을 이용하는 방법은 보통 미분이다.

미분 방정식이 선형이면 선형대수를 이용해 해를 구하는 것이 가능하다.
중첩 원리를 이용해 방정식을 작은 단위의 요소로 분할한 다음 각각의 해를 구해서 더하는 식으로 해결한다.
이를 배우는게 선형대수인데 너무 대충들었다...
 
* 미분방정식이 선형이라는 것은 독립 변수인 y나 그 도함수의 차수가 모두 1차임을 의미한다.
 

transpose

행렬곱은 교환법칙이 성립하지 않기 때문에 자리를 바꾸려면 transpose 해야한다.

 

echelon

에셜론은 사다리꼴이라는 뜻으로, 행렬에 가우시안 소거법을 적용해 에셜론 폼을 만들 수 있다.

row에 적용하면 row echelon form, column에 적용하면 column echelon form인데 보통 row에 적용한다. (아래 그림 참조)

 \left[ \begin 1 & a_0 & a_1 & a_2 & a_3 \\ 0 & 0 & 2 & a_4 & a_5 \\ 0 & 0 & 0 & 1 & a_6 \end \right]

 

reduced row echelon form은 leading coefficient가 1이어야 하며 그 column의 유일한 nonzero entry여야 한다. (아래와 같이)

\left[{\begin1&0&a_&0&b_\\0&1&a_&0&b_\\0&0&0&1&b_\end}\right]

 

왜 에셜론 폼이 중요한가? triangular matrix 형태로 정리가 되는데 이렇게 만들어야 컴퓨터 계산이 용이하기 때문이다.

보통 upper triangular matrix(U) 형태로 정리한다.

 

참고