엄범


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

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


선형대수를 공부하면 장점이 뭐냐면, 선형함수를 가우스소거법이나 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{array}{ccccc}
1 & a_0 & a_1 & a_2 & a_3 \\
0 & 0 & 2 & a_4 & a_5 \\
0 & 0 & 0 & 1 & a_6
\end{array} \right]

이런식으로 생긴게 row echelon form이다.


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

\left[{\begin{array}{ccccc}1&0&a_{1}&0&b_{1}\\0&1&a_{2}&0&b_{2}\\0&0&0&1&b_{3}\end{array}}\right]

이런식으로.


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

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



https://en.wikipedia.org/wiki/Linear_cryptanalysis

http://blog.minitab.com/blog/adventures-in-statistics/what-is-the-difference-between-linear-and-nonlinear-equations-in-regression-analysis

http://www.aistudy.co.kr/physics/chaos/nonlinear.htm