이번에 포스팅할 내용은 미분방정식(Differential equation)을 선형대수를 이용하여 푸는 방법이다. 이번 포스팅의 내용을 이해하기 위해선 고유값/고유벡터 강의와 대각화(Diagonalization)내용을 먼저 학습하고 오는 것을 추천한다. 특히 지난 강의 Lecture 22에서 다루었던 대각화와 행렬의 거듭제곱, 그리고 차분방정식(Difference equation)과 관련이 깊기 때문에 이를 확실하게 이해한 뒤 이번 강좌를 보는 것이 좋다. 본격적인 내용을 학습하기전에 미분방정식이란 무엇이며, 이번 강의에 필요한 관련 내용들에 대해서 간략히 살펴보고 가도록 하자. 

 

 

1. 미분방정식의 개요(Introduction to Differential equation)

 

- What is a differential equation?

 

미분방정식(Differential equation)이란 어떤 방정식(equation)에 도함수, 즉 미분(derivative)이 포함된 것이다. 이는 물리학에서의 운동방정식, 가령 스프링에 매달린 추의 운동 분석에 대한 방정식 등을 세우는데에 사용되기도 하고 그밖에 경제학, 생물학 등 다양한 분야에 걸쳐 사용될 수 있는 수학적 방법이다. 미분방정식은 일반적인 방정식보다 식을 세우고 이해하거나 해(solution)를 구하기가 굉장히 까다롭다. 미분방정식에 대해서 본격적으로 알아보기 전에 다른 형태의 방정식들은 어떤 것들이 있는지 살펴보자. 아래는 미분방정식이 아닌 일반적인 형태의 방정식들을 나열해논 것이다. 

 

 

식 (1.1)부터 차례로 선형(일차) 방정식(Linear equation), 이차 방정식(Quadratic equation), 삼차 방정식(Cubic equation)을 각각 나타내며, 최고차항에 따라 구분되는 형태이다. 이들 방정식은 미지수(unknown)와 그들의 앞에 곱해져있는 상수인 계수(coefficient)로 구성되어 있으며, 덧셈, 뺄셈 연산을 통한 조합으로 구성되어 있다. 이와 같이 어떤 미지수의 거듭제곱과 계수들의 조합으로 구성되어있는 식을 대수방정식(algebraic equation)이라고 한다. 미지수의 최고차항에 따라 식을 구분할 때 차수가 일차인 식을 특히 선형방정식이라고 하는데, 이는 식 자체가 선형성(Linearity)을 가지기 때문이다. 2차식부터는 비선형성(non-linearity)을 가진다. 

 

사실 엄밀히 따지면 식 (1.1)은 대수방정식은 아닌데, 미지수가 x와 y 두 개로 구성되어있기 때문이다. (1.1)처럼 미지수가 한 개 이상으로 구성되어 있는 경우 이들을 다항방정식(polynomial equation)이라고 하며 종종 다항식(polynomial)이라고 쓰인다. 다항방정식은 대수방정식을 포괄하기 때문에 보통 대수방정식이라는 말 보다는 다항식이라는 용어를 사용한다. 

 

 

이제 미분방정식이 어떤 형태인지 살펴보자. 미분방정식의 형태는 식 (1)의 다항식(polynomial)형태의 식에 미분(derivative)의 개념이 더해진 식이기 때문에 훨씬 복잡해진다. 아래의 식을 보자. 

 

 

 

식 (2)는 하나의 미분방정식을 여러 가지 형태로 표현한 것이다. 식 (2.1)은 derivative form이고, y의 미분식을 prime을 이용하여 표현하였다. prime하나당 한 번의 미분을 나타내며, 이차미분은 y의 double prime으로 표현한다. 

 

식 (2.2)는 differential form이고 미분을 dy/dx(delta x, delta y로 읽음)로 표현한다. 여기서 분모에 존재하는 미지수 y는 종속 변수(dependent variable)이고, 분자인 x는 독립 변수(independent variable)라고 한다. 이는 (2.2)에서 y는 x에 대한 함수이기 때문이다. 즉 y는 x가 변함에 따라 그 변화량이 얼마나 되는지를 봐야 하는 x에 종속되는 변수이고, x는 어디에도 종속되지 않는 독립적인 변수이다. 예를 들어 어떤 공장의 온도에 따른 가스의 압력에 대한 관계를 미분방정식으로 만들었다고 생각해보자. 여기서 온도를 x, 가스의 압력을 y라고 했을 때 온도의 변화에 따른 가스의 압력을 dy/dx와 같은 미분식을 넣어서 만들 수 있을 것이다. x로 표기된 온도는 독립적으로 우리가 조정하는 것이고, y로 표시된 가스의 압력은 x를 임의로 변화시킴에 따라 변화된 결과를 관찰하는 종속변수라고 이해하면 된다. 

 

마지막 (2.3)은 differential operator이고 미분을 D문자로 표기한다. 많이 사용되지는 않는 표현법이지만 이러한 표현법이 있다는 것 정도만 알아두자. 

 

이러한 미분방정식은 크게 두 가지 형태로 분류할 수 있다. 첫 번째는 ODE(Ordinary differential equation), 두 번째는 PDE(Partial differential equation)이다. 각각 한글로 상미분방정식, 편미분방정식으로 부른다. ODE는 1개 혹은 여러 개의 종속 변수(dependent variable)를 가질 수 있으나, 오직 단 한개의 독립 변수(independent variable)만을 가진다. 반면에 PDE는 ODE와 달리 여러 개의 독립 변수(independent variable)를 가질 수 있다. 단 한 개의 종속 변수를 가지느냐, 아니면 여러 개를 가질 수 있냐, 이것이 가장 큰 차이점이다. 아래 식을 보자. 

 

 

식 (3.1)은 (2.2)와 같은 식이고, 여러 개의 dependent variable을 가질 수 있으나, 오직 하나의 독립 변수(independent variable)인 dx만을 가지는 형태의 식을 ODE라고 한다. 일반적으로 미분방정식이라고 하면 상미분방정식(ODE)을 의미한다. 반면 식 (3.2)와 같이 여러 개의 독립변수를 가지는 형태를 편미분방정식이라 하며, 종속 변수를 서로 다른 독립변수로 각각 편미분하기 때문에 delta인 d대신에 round인 를 이용하여 표기한다. 식 (3.2)에선 하나의 종속 변수 u를 각각 x와 y로 2차 편미분 하였다. 이번 강의에서는 편미분방정식은 따로 다루지 않고 상미분방정식만을 다룬다. 

 

 

- Relationship between Differential equation and Exponential function

 

미분방정식(Differential equation)은 지수함수(Exponential function)와 밀접한 관련이 있다. 이번 강좌를 학습하기 위해선 이 둘의 관계를 아는 것이 좋다. 아래의 식을 보자. 

 

 

식 (4.1)은 t의 변화에 대한 y의 변화율, 즉 y를 t로 미분한것을 나타낸다. 이 변화율은 y의 값에 어떤 상수 k를 곱한 것으로 나타낼 수 있다. 이 미분방정식에서 y의 값을 구하기위해 우리는 지수함수(exponential function)를 이용할 수 있다. 식 (4.2)는 지수함수를 이용한 y의 일반해(general solution)이고, (4.2)에서 C는 y의 초기값(initial value)이며 k는 비례 상수(proportionality constant)이다. 

 

그렇다면 식 (4.2)는 어떻게 (4.1)의 일반해가 될 수 있는 것일까? (4.1)의 식을 약간만 변형시킨다면 (4.2)와 같이 만들 수 있다. 아래 식을 보도록 하자. 

 

 

 

위의 식 (5.1)은 (4.1)과 같은 식이다. 양변을 y로 나누고 dt를 곱해준 뒤, 적분(integral)을 해주면 식 (5.2)와 같이 되고, 적분을 수행한 결과가 (5.3)이다. 좌변의 적분 상수 C1을 우변으로 넘겨주고 C1+C2=C를 만든 다음 양변에 지수함수(exponential function)를 취해주면 (5.4)와 같이 된다. 지수법칙에 의해 e^c를 분리한 뒤 C로 치환해주면 식 (5.5)와 같이 정리할 수 있다. 이때 (5.4)의 y의 절대값에 의해 C는 +C와 -C의 두 가지 경우가 발생하게 되는데, C자체가 임의의 값이 될 수 있으므로 +C를 선택하여 (5.5)와 같이 정리할 수 있다. 이렇게 하여 (5.5)와 같이 미분방정식의 일반해(general solution)를 도출하였다. 

 

이해를 돕기위해 아래의 연습문제를 풀어보도록 하자. 

 

Ex) 당신은 연이율 2.4% 복리의 거치식 적금에 가입하였고 100만원을 예금하였다. 이 적금이 10년후, 50년 후엔 각각 얼마가 되어있을까? 

 

식 (5.5)에 이 문제를 적용하면 각 변수는 다음과 같이 설정할 수 있다. 우선 예금금 100만원은 초기값으로 C=100만원이 되고, 연이율 2.4%는 비례 상수(proportionality constant)가 되어 k=0.024가 된다. 문제에서 나타난 수치들을 식 (5.5)의 수식으로 만들어보면 다음과 같다. 

 

 

식 (6.1)은 연습 문제의 내용을 식 (4.1)의 미분방정식의 형태로 나타낸 것이다. 해(t)가 지날 때마다 내가 저축한 원금(y)이 얼마만큼씩 변하는지가 (6.1)의 좌변이 나타내는 것이고, 이 변화율은 현재의 시간 t에서의 원금 y에 이율 2.4%를 곱한 것과 같다는 것이 우변이 의미하는 것이다. 문제의 내용을 미분방정식의 형태로 정리하긴 했는데, 이를 어떻게 풀지가 막막할 것이다. 이때 활용할 수 있는 것이 식 (5.5)의 일반해(general solution)이다. 식 (6.2)는 (6.1)의 미분방정식을 일반해로 나타내어 푼 것이다. 

 

계산 결과 10년 후에는 약 127만원, 50년 후에는 약 332만원이 통장에 남게된다. 이 값은 근사값(approximate value)으로 실제 값과는 약간 차이가 있으나 거의 근접한 값을 구할 수 있다. 그러나 t가 커질 수록 오차는 벌어지게 된다. 이와 같이 미분방정식(differential equation)은 지수함수(exponential function)가 포함된 일반해(general solution)의 형태로 표현할 수 있으며 이를 통해 미분방정식의 해(solution)를 구할 수 있다. 이 관계를 잘 숙지하도록 하자. 

 

 

 

2. 미분방정식과 선형대수

 

- Differential equations and Linear algebra

 

미분방정식은 식 자체가 굉장히 복잡한 만큼 여러 가지 풀이 방법이 존재한다. 이번 챕터에서 배울 내용은 이러한 미분방정식을 선형대수의 행렬을 이용해서 푸는 방법이다. 이곳에서 다룰 내용은 상미분방정식(ODE)만 해당한다. 우선 아래의 두 개의 선형미분방정식(Linear Differential Equation)을 살펴보자. 

 

 

식 (7)은 u1과 u2에 대한 선형미분방정식을 differential form으로 각각 나타낸 것이다. 이 표기법이 익숙치 않다면 u1, u2를 x, y로 각각 생각하면 된다. u1과 u2의 미분값은 각각 서로를 포함하고 있기 때문에 이 둘은 서로 관계가 있고 따라서 하나의 벡터로 만들어서 행렬을 이용해 함께 풀어낼 수 있다. 행렬을 이용하여 풀기 위해 이들을 벡터로 정의하면 아래와 같다.  

 

 

여기서 우리가 구하고자 하는 것은 식 (7)의 두 개의 미분방정식을 행렬을 이용하여 1차 식으로 만들어 푸는 것이다. 이를 위해 u1과 u2를 원소(component)로 하는 벡터 u(t)를 식 (8.1)과 같이 정의할 수 있다. (8.2)는 u를 미분한 du/dt를 나타낸 것이고, (8.3)은  t=0일때의 초기 조건(initial condition)에서의 값을 의미한다. 

 

u와 u'을 정의했으니 이제 남은 행렬 A를 정의하면 우리가 구하고자 하는 미분방정식의 행렬 형태를 정의할 수 있다. A는 어떻게 정할 수 있을까? 이를 위해 먼저 아래와 같이 식을 나열해보자. 

 

 

식 (9)의 u1'은 (7.1)의 좌변에 표현된 u1의 미분값에 해당한다. 이 u1'이 되기 위해선 우변의 u1과 u2에 각각 얼마씩이 곱해져야하는지를 생각해보면 A의 row1을 알 수 있다. -1과 2를 각각 u1과 u2에 곱하면 u1'이 된다. 따라서 A의 row1은 -1, 2가 되고, 마찬가지로 식 (7.2)를 참고하여 row2를 구해보면 1, -2가 되는 것을 알 수 있다. 

이렇게 하여 식 (9)를 다시 써보면 아래와 같다. 

 

 

위와 같이 식 (7)의 두 개의 미분방정식을 행렬에 대한 식으로 표현하였다. 이 식을 통해 두 미분방정식에 대하여 무엇을 알 수 있을까? 우리는 식 (7)에 표현된 u1과 u2에 대한 미분방정식이 시간이 지남에 따라 어떻게 변하는지를 식 (9)를 통해 알 수 있다. A의 고유값(eigenvalue)과 고유벡터(eigenvector)를 통해서 말이다. A의 고유값과 고유벡터를 구해보자. 

 

 

식 (10.1)을 통해 행렬 A의 고유값이 각각 0과 -3임을 알았다. A가 2x2이면서 특이행렬(singular matrix)이기 때문에 두 개의 고유값중 하나가 0이 나오는 것이다. 이 특성을 알고 2x2행렬에선 trace가 모든 고유값들의 합과 같다는 성질을 이용하여 계산과정 없이 고유값을 빠르게 구할 수도 있다. 다음으로 고유벡터를 구하기 위해 (A-λI)x=0 의 해인 null space를 구해야 한다. 이때의 행렬이 특이 행렬이므로 x2가 free variable이다. 이 free variable을 1로 설정한 뒤 나머지 해를 구하면 (10.2)와 (10.3)과 같이 고유벡터를 구할 수 있다. 

 

 

- General Solution

 

식 (9)의 행렬 A에 대한 고유값(eigenvalue)과 고유벡터(eigenvector)를 구했으니 이제 이들을 활용하여 u(t)에 대한 해를 구해보도록 하자. A는 2x2크기의 행렬이므로 두 개의 고유값과 고유벡터를 가진다. 따라서 u(t)에 대한 일반해(general solution)는 두 개의 special solution, 즉 두 개의 exponential solution의 조합으로 표현할 수 있다. 아래의 식을 보자. 

 

 

식 (11)은 (9)에 나타난 u(t)의 일반해(general solution)를 나타낸 것이다. 식 (5)에서 보인것과 같이 미분방정식의 일반해를 exponential solution의 형태로 보이긴 했는데, 과연 이들이 미분방정식의 해의 형태가 될 수 있는가에 대한 의문이 생길 수 있다. 우리가 최종적으로 구하고자 하는 du/dt = Au에 exponential solution을 대입해서 이를 확인해보도록 하자. 

 

 

(12.1)에서와 같이 초기값을 고려하지 않은 순수 지수함수(pure exponential)를 u로 여겨 원래의 식에 대입하여 정리하면 (12.2)와 같이 정리할 수 있다. 좌변은 u의 pure exponential을 t로 미분한 결과이며, 따라서 exponential의 지수부인 람다(λ)가 앞으로 나와 계수로 곱해진 것이다. (12.2)의 양변을 지수함수로 나누어주면 결과적으로 (12.3)과 같이 정리할 수 있으며, 이는 앞서 공부했던 고유값/고유벡터의 정의와 같은 것을 볼 수 있다. 마찬가지로 λ2에 대한 pure exponential을 대입 해도 해를 구할 수 있다. 이를 통해 우리가 구하고자 하는 (12.1)의 행렬로 정의된 미분방정식의 해를 지수함수(exponential function)를 통해 구할 수 있음을 증명한 셈이다. 

 

식 (11)에 정의된 지수함수(exponential function)로 정의된 미분방정식의 일반해는 지난 강의(Lecture 22)에서 배웠던 대각화(diagonalization)에서의 일반해와 같은 꼴로 생각할 수 있다. 단지 t로 정의된 연속적인(continuous) 개념인지, k로 정의된 이산적인(discrete) 개념인지가 다르다. 아래의 두 식은 2x2크기 행렬의 미분방정식(differential equation)과 차분방정식(difference equation)의 일반해를 각각 나타낸다.  

 

 

이제 지수함수와 벡터는 알겠는데, 각 항의 앞에 곱해진 상수 c1과 c2는 어떻게 알 수 있을까? 이들 상수는 초기 조건(initial condition)으로부터 계산할 수 있다. 이는 앞부분에 미분방정식의 개념을 설명할 때 배웠던 식 (4)의 일반해의 초기값(initial value) C에 해당하는 값이다. 식 (8.3)의 초기값으로부터 c1과 c2를 구해보도록 하자.  

 

 

우선 (14.1)은 앞서 구한 고유값과 고유벡터를 대입하여 일반해의 식을 정리한 것이다. 고유값이 각각 λ1=0, λ2=-3이므로 첫 번째 지수 함수는 1이 되고, 두 번째 지수함수의 지수부는 -3t가 되어 (14.1)과 같이 정리할 수 있다. 이때 t=0일 때의 초기값 u가 u(0)=[1 0]T이므로 t에 0을 대입하여 정리하면 (14.2)와 같이 정리할 수 있다. c1과 c2는 각각 column vector에 곱해진 계수가 되기 때문에 이 column vector(고유 벡터들)들을 행렬로 정리하면 (14.3)과 같이 나타낼 수 있으며, 이때의 행렬을 고유벡터 행렬(eigenvector matrix) S라고 한다. S를 가우스 소거(Gauss elimination)를 통해 c1과 c2를 계산하면 각각 c1=1/3과 c2=-1/3이 된다. (가우스 소거법은 Lecture 2참조)

 

고유벡터 행렬 S를 통해 우리는 해(solution)의 계수(coefficient) c1, c2, ...를 구할 수 있으며, 이 계수들은 해에서 각 순수 지수함수(pure exponential)들이 얼마만큼인지를 나타낸다. 이 계수들은 t=0일 때의 u인 u(0)로부터 구할 수 있으며, 이렇게 구한 계수들은 t가 무한대로 갔을 때 경우에 따라 극한값이 되기도 한다. 

 

c1과 c2를 구했으니 이들을 일반해 식에 대입하여 정리하면 아래와 같다. 

 

 

식 (15)가 (9)의 미분방정식의 일반해(general solution)이다. 일반해를 도출하기까지의 과정을 살펴보면 먼저 미분방정식을 행렬의 형태로 만든 다음, 초기 조건(initial condition)에 따른 초기 값을 구하고 행렬의 고유값과 고유벡터를 구한 뒤, 고유벡터행렬을 통해 각 term의 계수값들(c1, c2, ...)을 구한다. 행렬 A의 고유값, 고유벡터, 계수 등 모든 값들을 구하여 일반해 형태의 식에 대입하고 정리하여 최종적인 해를 구할 수 있다. 

 

식 (15)와 같이 일반해를 구했기 때문에 시간이 지남에 따라 미분방정식의 값이 어떻게 변하는지를 쉽게 알아낼 수 있다. 시간에 대한 변수인 t값만 대입해주면 해당 시간에서의 값을 알 수 있다. 그런데 우리가 세운 미분방정식이 만약 어떤 기계의 진동에 따른 기계 수명 예측과 같은 문제라고 한다면, 경영진 입장에서는 당연히 아주 오랜 시간이 지났을 경우 기계의 기대 수명이 궁금할 것이다. 즉 우리가 여기서 알고자 하는 것은 시간이 무한대로 지났을 때 미분방정식의 값이다. 이는 앞서 구했던 미분방정식 행렬의 고유값과 관련이 깊다. 다음 파트에서 고유값과 미분방정식의 무한대 시간에서의 해(infinite solution)의 관계에 대해 알아보자. 

 

 

- Stability

 

우리는 지난 대각화 강의에서 고유값을 통해 해당 차분방정식의 특성을 파악할 수 있음을 언급했다. 마찬가지로 이번 강의에서 다뤘던 미분방정식 행렬의 경우에도 고유값을 통해서 관련 특성을 파악할 수 있다. 즉 식 (9)의 A의 고유값을 통해 우리는 행렬 A에 내포된 미분방정식들이 시간이 지남에 따라 어떻게 변하는지를 예측할 수 있다. 그리고 궁극적으로 시간이 무한대로 지났을 때 그 극값이 어떻게 되는 지를 알 수 있다. 

 

식 (10)에서 계산한 첫 번째 고유값은 0이고, 이 고유값은 식 (11)에서 일반해의 첫 번째 term인 c1*exp(0*t)*x1의 지수 함수의 지수부가 된다. 따라서 지수함수는 t가 아무리 증가해도 0의 거듭제곱 꼴이 되기때문에 항상 1이 되므로 식 (15)에서 첫 번째 term에서 지수함수 부분이 사라진 것이다. 이는 결국 미분방정식이 시간이 지날수록 정상상태(steady state)로 수렴함을 의미한다. 

 

두 번째 고유값은 -3이고 식 (11)에서 c2*exp(-3*t)*x2의 꼴이 되기 때문에 t가 커질수록 지수함수의 지수부는 작아지고 점점 작은 값이 된다. 따라서 두 번째 term의 식 자체가 시간이 증가할수록 굉장히 작은 값이 된다. 결과적으로 우리가 구한 일반해 (15)의 극한값(t가 무한대로 갔을 때의 값)은 아래와 같다. 

 

 

 

식 (16.2)가 극한 값이며, 실제 값은 [0.666... , 0.333...]T이다. 식 (7.1)의 미분방정식의 t가 무한대일때의 극한값은 0.666..., 식 (7.2)의 극한값은 0.333...이다. 이들은 2개의 미분방정식 (7.1), (7.2)가 연립된 형태인 시스템 (9)에 대한 해 벡터(solution vector)의 극한값 u(t=)=[0.666..., 0.333...]T이다. 

 

미분방정식은 대수방정식(Algebraic equation)처럼 어떤 값이나 값들의 집합의 형태로 해가 나오는 것이 아니다. 미분방정식의 해는 (15)와 같이 식의 형태로 나오며, MATLAB과 같은 프로그램을 통해 시간이 지남에 따라, 혹은 종속 변수(dependent variable)가 변함에 따라 해가 어떤 식으로 변하는지를 알 수 있다. 아래 그래프는 (15)의 해가 시간이 지남에 따라 변하는 과정을 나타낸 것이다. 

 

 

Fig. 1 미분방정식의 해가 시간이 지남에 따라 변화하는 과정

 

 

Fig. 1에서 빨간색 선과 파란색 선이 각각 일반해의 u1과 u2를 의미한다. t=0에서부터 시간이 지남에 따라 특정 값에 수렴하는 것을 볼 수 있는데, 최종적으로 수렴하는 값이 u1=0.666..., u2=0.333... 임을 알 수 있다. 이는 (16)에서 구한 극값과 일치한다. uf(first)라고 표시된 벡터는 일반해에서 첫 번째 고유값인 0이 속해있는 식을 의미한다. 녹색과 자홍색 그래프가 uf의 u1과 u2에 각각 해당하는데, 시간이 지나도 어떤 특정값에서 변화가 없음을 확인할 수 있다. 이는 고유값이 0이기 때문에 지수함수 부분이 항상 1이 되기 때문이다. 

 

us(second)라고 표기된 벡터는 일반해에서 두 번째 고유값인 -3이 속해있는 식을 의미한다. 지수부의 고유값이 음수이기 때문에 시간이 지날수록 값이 작아지는 것을 볼 수 있다. 하늘색과 검은색 그래프가 초기 값에서 시간이 지날수록 0으로 수렴하는 것을 볼 수 있다. 

 

이와 같이 미분방정식을 행렬을 이용하여 풀 때 행렬의 고유값에 의해서 우리는 연립미분방정식의 해가 시간이 지남에 따라 정상상태(steady state)수렴할 수도, 값이 0이 되어 사라질 수도 혹은 값이 무한대로 커져서 발산할수도 있다. 그렇다면 고유값이 어떤 상태일 때 발산 혹은 수렴이 될까? 아래의 정리를 살펴보자. 

 

(1) Stability  (2) Steady State  (3) Divergence 



 

 

미분방정식의 해는 크게 세 가지 상태가 될 수 있는데, 위의 표에 나타난 것과 같이 0으로 수렴하는 안정화 상태인 stability, 어떤 특정 값으로 수렴하는 정상 상태(steady state) 그리고 아예 값 자체가 무한정 커지는 divergence상태가 있다. 

 

만약 모든 고유값이 0보다 작다면 stability 상태가 된다. 이때는 해(solution) u(t)가 시간이 지날수록 0으로 수렴하게 되는데, 모든 고유값이 0보다 작은 음수인 경우 모든 지수함수의 값들이 점점 작아지기 때문이다. 여기서 고유값을 실수부(real part)라고 지정한 것은 해가 허수부(imaginary part)를 포함할 수도 있기 때문이다. 아래의 예를 보자. 

 

 

식 (17.1)은 허수부를 포함한 지수함수이다. 지수법칙에 의해 실수부와 허수부를 나눌 수 있는데, 이때 허수부의 크기는 오일러 공식에 의해 항상 1이 되기 때문에 t가 커진다고 해도 해에 실질적인 영향은 주지 않는다. 허수부는 오일러 공식 위키(https://en.wikipedia.org/wiki/Euler%27s_formula)에서 볼 수 있듯이 t가 증가해도 그저 복소 평면에서 단위 원(unit circle)을 반복해서 돌 뿐이다. 결국 Stability는 고유값의 실수부(real part)에 의해서만 결정된다

Stability를 만족시키는 조건은 2x2 크기의 행렬에서는 trace와 행렬식(determinant)로 쉽게 구할 수 있다. 2x2행렬에선 trace(A)=λ1+λ2, det(A)=λ1*λ2 임을 이용하여 trace < 0와 det > 0를 만족한다면 두 개의 고유값이 모두 음수이므로 Stability상태가 됨을 쉽게 알 수 있다. 

 

두 번째로 정상 상태(Steady state)의 경우는 해가 어떤 특정 값으로 수렴하는 경우를 의미하는데, (15), (16)에서 구한 해가 바로 이 경우 이다. 즉 어떤 하나의 고유값이 0이고 나머지 고유값이 0보다 작은 경우에 해당하는데, (16)의 경우에 첫 번째 고유값이 0이고, 두 번째 고유값이 0보다 작은 -3이므로 시간이 지날수록 두 번째 term은 0으로 수렴하여 사라지고 첫 번째 term의 상수인 c1=1/3과 첫 번째 고유값 x1=[2 1]T의 곱의 값으로 수렴하게 된다. Fig. 1의 빨간색과 파란색 그래프가 바로 이 특정 값으로 수렴하는 모습을 보여준다. 

 

마지막의 경우는 어떤 고유값이 하나라도 0보다 큰 경우 시간이 지날 수록 무한대로 커져서 발산하게 된다. 

 

종합해보면 복소수까지 고려했을 때 오직 실수부의 고유값만이 미분방정식의 해에 영향을 미치고, 고유값(eigenvalue)이 0보다 크고 작음, 혹은 같음에 따라 해의 상태가 결정된다. 

 

아래 그림은 Fig. 1을 plot하기 위한 MATLAB 소스코드이다. 

 

 

 

3. 마치며(continue)

 

이번 강의에선 미분방정식의 간단한 소개와 함께 선형대수를 이용하여 미분방정식을 푸는 방법을 배웠다. 기본적으로 미분방정식에 대한 식을 세운 뒤 고유값과 고유벡터를 구하여 일반해에 대한 식을 세운 다음 초기 조건으로부터 일반해의 계수를 구하는 순서로 해를 구하게 된다. 해는 지수함수의 고유값의 거듭제곱꼴로 나타나는데, 고유값이 0보다 크거나 같음 또는 작음에 따라 해의 상태가 결정됨을 배웠다. 다음 포스팅에서는 이번 강의에 이어서 미분방정식과 선형대수의 나머지 이야기를 하도록 하겠다. 

 

+ Recent posts