-
기타: 섭동론(perturbation theory)오피쓴의 음향학라이프/기타 2021. 9. 10. 17:03
섭동론(perturbation theory)은 어렵습니다.
음향학에서 섭동론은 중요하지만 어렵습니다.
하지만, 교수님께서 너무나도 쉽게 섭동론의 컨셉을 설명해 주셔서 대략적으로 이해하고 있습니다.
오늘 교수님의 설명을 그대로 옮겨보려 합니다.
(사실, 몇 번이나 설명을 들었는데 자꾸 까먹어 정리합니다.)여러분들도 이 글을 보시고 섭동론의 대략적인 느낌을 아셨으면 좋겠습니다.
그럼, 시작합니다.
교수님의 명쾌한 설명을 말씀드리기 전에, 제가 이해한 바를 살짝 적어보겠습니다.
섭동론은 해(solution)를 찾을 때, 큰 놈부터 맞추고, 조금 더 작은 놈 맞추고, 더 작은 놈 맞추고, 이를 반복하는 것입니다.
만약에 답이 1,234.5678(천이백삼십사 점 오육칠팔)이라고 합시다.
그러면 먼저, 천(10^3)의 자리부터 맞춥니다. 그러면 오차가 234.5678입니다.
그리고 백(10^2)의 자리를 맞춥니다. 이제 오차가 34.5678로 줄었습니다.
십(10^1)의 자리를 맞춥니다. 오차는 4.5678로 계속 작아집니다.
이를 반복할수록, 오차는 작아집니다.
오차가 충분히 작다고 여겨질때까지, 위 과정을 반복해주면 됩니다.
조금 느낌이 오나요?
역시 제 설명보다는 교수님의 설명을 좋을 듯합니다.
백문불여일견(百聞不如一見)이니, 섭동론으로 아래 방정식을 풀어보겠습니다.
아래 방정식에서 ε은 매우 매우 작은 값입니다.
방정식을 풀기 위해, 먼저 x를 아래와 같이 나타내 줍니다.
이게 중요한 것입니다.
x를 크기의 순서로 나타낸 것입니다.
앞의 예를 빌려오면, 1234.5678을 1000+200+30+4+0.5+0.06+0.007+0.0008 이런 식으로 풀어준 것입니다.
이 것만으로 거의 끝났습니다.
크기별로 나타낸 x를 풀고자 하는 방정식에 넣어줍니다.
x0, x1, x2, x3으로 이어지는 모든 값을 방정식에 대입해주면, 위 예와 같이 오차는 줄어들겠지만, 손으로 풀기 힘듭니다.
그래서 우리는 x1항까지만 방정식에 대입하겠습니다.
자세한 계산을 제가 아래에 해두었습니다.
참 쉽죠?
여기가 또 중요합니다.
대입한 식에서, 크기가 비슷한 놈들끼리만 분류해야 합니다.
먼저, 위 식에서 가장 큰 놈들만 따로 빼줍시다.
(아래 식에서 O(1)이 가장 큰 놈들을 의미합니다.)
그러면 아래와 같이 x0의 값이 나옵니다. 위 예와 비교해보면 천(10^3)의 자리를 알아낸 것입니다.
그리고 하나 작은 놈들끼리 또 빼줍니다. 쉽게 x1을 얻을 수 있습니다.
(위와 동일하게 O(ε)이 하나 작은 놈들입니다.)
x0와 x1을 구했습니다.
x1항까지만 보기로 했으니, 끝났습니다.
참 쉽죠?
이제, 답이 맞았는지 확인해봐야겠죠?
2차 방정식을 푸는 방법은 간단합니다.
근의 공식(quadratic formula)과 이항 정리(binomial theorem)만 살짝 써주면 됩니다.
해를 구하기 위한 모든 과정은 아래 그림에 나타내었습니다.
오호, 보이시나요?
섭동론을 이용한 것과, 근의 공식+이항 정리를 이용한 답이 같습니다.
여기까지입니다.
직접 섭동론을 이용하여 방정식을 풀어보니, 대략적인 섭동론의 컨셉이 이해가 되시나요?
"해를 크기별로 나누고, 큰 것부터 맞춘다." 그리고 "크기가 비슷한 것들끼리 분류한다"
이 정도입니다.
[출처]
1. 연세대학교 엄원석 교수님