라플라스 방정식을 컴퓨터로 풀기

라플라스 방정식은 아주 유명한 2차 편미분 방정식 중의 하나이다. 라플라시안 연산자는 n차원 공간에서 잘 정의된 어떤 함수 f를, x로 두번, y로 두번, … 등등 같은 방향으로만 2번 미분하여 그 편도함수들을 모두 더한 함수로 보내는 연산자이다.

라플라시안 연산자를 L이라고 하자. 그럼 L[f] = 0 을 만족하는 함수 f를 찾는 것이 라플라스 방정식을 푸는 방법이다. 만약 1차원 라플라스 방정식이라면, 이 문제는 2번 미분해서 0이 되는 함수이므로 직선의 방정식을 찾으면 되고, 직선을 유일하게 결정하기 위해서 이 직선이 지나는 점 2개를 결정하면 된다는 사실을 알 수 있다.

2차원 라플라스 방정식이라면, 이제 문제가 심각해 진다. 가장자리가 점이 아니라 곡선이 된다. 심지어 n차원 라플라스 방정식이라면 n-1차원의 초곡면이 가장자리를 이루게 된다. 이것을 어떻게 풀 것인가?

일단, 적어도 하나의 해가 있다고 가정하자. 그냥 있다고 치자. 그럼, 만약 어떤 라플라스 방정식에 대해서 2개의 해를 찾을 수 있을까? 가령 f와 g가 둘 다 라플라스 방정식의 해라고 하자. 그럼 L[f]=0이고 L[g]=0이다. 라플라시안 연산자는 선형 연산자이므로 당연히 L[f-g]=0이 성립한다. 그런데 f-g=h라고 가정해보자. f와 g는 완전히 임의의 함수이므로 경계를 포함한 모든 점에서 h=0일 수밖에 없다. 따라서 f=g이다. 우리가 해를 여러가지 방법으로 찾아도, 주어진 경계조건을 만족하는 해는 하나밖에 없다는 걸 알 수 있다. 다시 말해서, 수단과 방법을 가리지 않고 하나를 찾으면 그게 바로 정답이라는 것이 확실하다. 이에 대한 엄밀한 증명은 생략한다.

그렇다면, 이것을 어떻게 컴퓨터로 풀 것인가?

이에 대해서 Relaxation method라는 것이 있다. 라플라스 방정식을 통째로 가우스 적분 하게 되면, 그 내부에서의 함수값이 그 주변에서의 함수값들의 평균값과 같아지는 성질을 이용한 것이다. 즉, 모든 점에서 라플라스 방정식이 만족될 때 까지 계속해서 평균을 내면서 진행하는 것이다.

가령, 격자를 9칸으로 잘라서

123

456

789

라고 해 보자. 그럼, 5번에 해당하는 값 f[5] 는 모르니까 처음에 0이라고 하자. f[2]=1, f[4]=5, f[6]=3, f[8]3이라고 해 보자. 그럼, 만약 저 9칸의 공간에 주어진 함수 f가 라플라스 방정식을 만족한다면, f[5]=3이어야만 한다. 그리고 그렇게 찾아낸 f[x]는 반드시 그 라플라스 방정식의 해이다. 수단과 방법을 가리지 않고 어떻게든 찾아내기만 하면 되니까. 이 방법을 더 큰 공간으로 확장해서 풀게 되면 문제를 잘 풀 수 있게 된다. 이 방법을 반복적으로 적용해서, 경계조건으로 주어진(=정해진) 값들은 계속 고정시켜 놓고서, 나머지 부분의 값들을 계속해서 평균을 내면서 바꿔가다보면, 경계조건의 값이 사방으로 퍼져 나간다. 하지만 충분히 여러번 반복하다보면, 거의 값이 바뀌지 않는 정도로 수렴하게 되는데, 이때가 바로 “답”이 된 상태이다. 이제 함수값들을 잘 읽어다가 “정답”이라고 생각하면 된다. 모든 점에서 “근처값들의 평균과 그 안에 있는 함수값이 같은” 상태가 되었기 때문에, 이 상태는 라플라스 방정식을 만족하는 상태이다.

그리고 앞에서 말했듯이, 아무튼 답을 찾기만 하면 그 답이 정답이 맞다.


http://tutorial.math.lamar.edu/Classes/DE/LaplacesEqn.aspx



http://rugth30.phys.rug.nl/potentiaal_eng/relaxatiemethode_hoe.htm

답을 찾기 위해 수단과 방법을 가리지 않는 것이 바로 수학의 정신이랄까.


게시됨

카테고리

작성자

태그:

댓글

“라플라스 방정식을 컴퓨터로 풀기”에 대한 9개의 응답

  1. 
                  snowall
                  아바타

    일기를 같이 쓰는 사람도 있군요! 처음 들었어요.

    수학이랑 국어 공부중에서, 국어를 더 열심히 하세요. ㅎㅎ

    국어를 잘해야 수학도 잘해요.

  2. 
                이하윤
                아바타
    이하윤

    안녕하세요.저는 김주현양의 쌍둥이 친구입니다.잘 부탁드려요.저는 주현이랑 같이 일기장을 쓰고 수학도 국어도 같이 풀니다.지금부터 이하윤양 이었습니다.

  3. 
                  snowall
                  아바타

    당연히 열심히 공부해야죠.

    끝까지 포기하지 않으면 수학이 앞으로 살아가는데 있어서 여러모로 도움이 될 거예요

  4. 
                김주현
                아바타
    김주현

    수학 열심히 공부할게요.화이팅

  5. 
                  snowall
                  아바타

    저도 수학을 좋아해요.

    수학 열심히 공부하세요~

  6. 
                김주현
                아바타
    김주현

    저는 수학을 참 좋아합니다.그리고 1학년입니다.그렇지만 수학을 잘 모릅니다.저는 아직 어려도 수학을 잘 몰라도 끝가지 수학을 하고 싶습니다.

  7. 
                  snowall
                  아바타

    http://rugth30.phys.rug.nl/potentiaal_eng/relaxatiemethode_waarom_goede_potentiaal.htm

    어디서 봤는지 잘 기억이 안나서 다시 검색했습니다.

    조화 함수의 성질을 이용하네요.

    http://rugth30.phys.rug.nl/potentiaal_eng/harmfctie.htm

  8. 
                dddd
                아바타
    dddd

    글 잘읽었습니다. 보통 이 방법은 수치해석책에서 2계 편도함수들의 근사식을 이용해서 설명하는데 가우스 적분으로 어떻게 저 방법이 유도되는지 궁금합니다. 인터넷 링크나 참고문헌 정보 알려주시면 감사하겠습니다.

  9. 
                 goldenbug
                 아바타

    옛날 같으면 열심히 읽었을텐데, 이젠 집중하는 거 자체가 귀찮네요. ㅜㅜ

    암튼 글 잘 읽었어요.

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.