1. 개요[편집]
| 최적화 슈바르츠 방법 Optimized Schwarz Method (OSM) | |
|---|---|
| 바꾸는 것 | 계면 전송조건: 디리클레 $u$ → 로빈 $(\partial_n + p)u$ |
| 기원 | P.-L. Lions (1990) — 겹침 없는 슈바르츠용 로빈 조건 |
| 이론 정비 | M. J. Gander, SIAM J. Numer. Anal. 44(2) (2006) |
| "최적화"의 뜻 | $\min_p \max_k \lvert \rho(k;p) \rvert$ — 푸리에 모드별 수렴계수의 min-max |
| 최적 vs 최적화 | optimal = 비국소 DtN 연산자(2회 수렴) · optimized = 그 국소 근사 |
| 겹침 | 불필요 — 겹침 0에서도 수렴 |
| 필수인 곳 | 헬름홀츠 방정식 (고전 슈바르츠는 수렴하지 않음) |
최적화 슈바르츠 방법(optimized Schwarz method)은 영역 분할법의 부분영역 계면에서 주고받는 전송조건(transmission condition)을 디리클레 대신 로빈형 로 바꾸고, 그 파라미터 를 수렴이 가장 빨라지도록 최적화하는 방법론이다. 고전 슈바르츠 교대법이 겹침 폭에 목을 매고 저주파에서 기어가는 문제를, 알고리즘 구조가 아니라 경계에서 무슨 값을 넘길 것인가를 바꿔 해결한다.
한 문장으로 요약하면 이렇다. 고전 슈바르츠는 계면에서 이웃이 계산한 값을 그대로 믿고, 최적화 슈바르츠는 값과 플럭스를 섞은 임피던스를 넘긴다. 그 섞는 비율 를 푸리에 해석으로 정한다는 것이 “최적화”의 정확한 의미다.
영역 분할의 일반론(중첩형/비중첩형 분류, 조대 공간, FETI·BDDC, 소프트웨어)은 영역 분할법 문서에 있으므로 여기서 반복하지 않는다. 이 문서는 전송조건 하나에 집중한다.
2. 고전 슈바르츠는 왜 느린가[편집]
모형 문제를 잡자. 전체 평면에서
로 두 부분영역이 폭 만큼 겹친다. 슈바르츠 교대법은 을 풀어 에서의 값을 의 경계조건으로 넘기고, 그 역도 한다.
오차 방정식을 방향으로 푸리에 변환하면(주파수 ), 각 모드는 상수계수 상미분방정식이 되어 꼴로 감쇠한다. 여기서
이다. 두 번의 교대(한 사이클)를 거친 뒤 오차가 줄어드는 비율, 즉 수렴계수는
로 딱 떨어진다. 이 한 줄에 고전 슈바르츠의 모든 성질이 들어 있다.
- 겹침이 없으면 수렴하지 않는다. 이면 이다. 정보가 오갈 통로 자체가 없다.
- 고주파는 잘 죽고 저주파는 안 죽는다. 가 크면 가 커서 지수적으로 감쇠하지만, 에서는 로 1에 붙는다. 격자 정도의 겹침()을 쓰면 최악 수렴계수는 — 격자를 조이면 조일수록 나빠진다. 고전 슈바르츠가 단독 반복법으로는 못 쓰이고 다중격자법의 완화자나 크리로프 부분공간법의 전처리기로만 쓰이는 이유다.
3. 로빈 전송조건[편집]
리옹(P.-L. Lions)이 1990년 슈바르츠 교대법에 관한 세 번째 논문에서 제안한 처방은 단순하다. 계면에서 값 대신 값과 법선도함수의 결합을 넘긴다.
(반대쪽도 대칭으로.) 이것이 로빈 조건이고, 이면 각 국소 문제는 여전히 잘 놓인(well-posed) 문제다. 같은 푸리에 계산을 다시 하면 수렴계수가
로 바뀐다. 고전 슈바르츠에 분수 인자 하나가 곱해진 형태이며, 이 인자가 모든 것을 바꾼다.
- (겹침 없음)이어도 인 한 이다. 겹침 없이 수렴한다. 비중첩 분할에서 국소 문제 크기와 통신량을 최소로 유지할 수 있다는 뜻이다.
- 저주파를 죽이는 것이 더 이상 지수 감쇠에 의존하지 않는다. 분수 인자를 로 조절해 원하는 주파수 대역을 골라 때릴 수 있다.
물리적으로 읽으면, 로빈 조건은 계면을 부분적으로 투명하게 만드는 임피던스 조건이다. 디리클레 계면은 파동·확산 성분을 전부 반사해 되돌리지만, 임피던스가 맞으면 통과시킨다. 계면을 인공 경계로 보고 흡수 경계조건을 다는 것과 정확히 같은 발상이다.
4. 푸리에 수렴계수와 min-max 문제[편집]
이제 “최적화”의 의미가 드러난다. 를 보면 를 와 같게 놓는 순간 그 모드는 한 번에 죽는다. 그런데 는 에 의존하므로, 모든 에 대해 동시에 맞추려면 가 상수일 수 없다.
이산화된 문제에서 실제로 존재하는 주파수 대역은 유한하다. 부분영역의 계면 길이가 이고 격자가 이면
정도다. 그러니 이 유한 대역에서 최악의 모드를 최선으로 만드는 를 고르면 된다.
이것이 최적화 슈바르츠의 min-max 문제다. 체비쇼프 근사와 같은 종류의 문제이며, 해는 대개 등진동(equioscillation) 조건, 즉 최악값이 대역의 양 끝(혹은 내부 임계점)에서 같아지는 지점에서 나온다.
겹침이 없는 경우()는 손으로 풀린다. 를 풀면
최적 가 대역 양 끝의 기하평균이라는 것이 이 결과의 기억할 만한 지점이다. 를 대입하면 이 나온다. 겹침 를 주면 지수가 더 좋아져 이 된다.
비교표로 보면 차이가 분명하다(같은 모형 문제, 겹침을 격자 크기로 잡았을 때의 최악 수렴계수).
| 전송조건 | 겹침 없음 | 겹침 |
|---|---|---|
| 디리클레 (고전 슈바르츠) | 수렴하지 않음 | |
| 최적화 로빈 (OO0) | ||
| 최적화 2계 (OO2) | 더 개선됨 | 더 개선됨 |
와 의 차이는 반복수로 치면 대 이다. 를 100배 조이면 고전은 반복이 100배 늘고 최적화 로빈은 약 4.6배 는다. 전송조건 한 줄 바꿔서 얻는 이득치고는 과분하다.
5. 최적(optimal)과 최적화(optimized)는 다른 말이다[편집]
이 분야 용어에서 제일 자주 헷갈리는 지점이라 절을 따로 둔다.
를 상수로 제한하지 않고 연산자로 허용하면, 라는 선택이 가능하다. 이것을 물리 공간으로 되돌리면 디리클레-노이만 사상(Dirichlet-to-Neumann, DtN) 연산자이며, 잘라 낸 바깥 영역의 정확한 응답을 계면에 압축해 담은 것이다. 이 선택에서는
이 되어 부분영역 두 개 문제가 2회 반복으로 정확히 수렴한다. 이것을 최적 전송조건(optimal, 혹은 정확·투명 전송조건)이라 부른다.
문제는 가 의 제곱근이라는 것이다. 물리 공간에서 이것은 계면을 따라가는 라플라스-벨트라미 연산자의 제곱근 — 비국소 연산자다. 행렬로 만들면 계면 자유도에 대해 꽉 찬(dense) 블록이 되고, 계수가 변하거나 계면이 구부러지면 명시적 표현도 없다. 실용성이 없다.
그래서 국소 연산자로 근사한다. 상수 는 0계 근사이고, 꼴은 2계 근사이며, 유리함수 근사로 가면 더 정확해진다. 이 근사를 “테일러 전개로” 하는 대신 min-max 문제를 풀어 결정하는 것이 최적화(optimized)다. 이름이 붙은 이유가 여기 있다.
optimal = 정확한 비국소 DtN. 2회 수렴. 못 쓴다. optimized = 국소 근사 중에서 min-max 의미로 최선. 쓸 수 있다.
논문 제목에 “optimal”이 붙었는지 “optimized”가 붙었는지로 그 논문이 무엇을 하는지 절반은 알 수 있다.1
덧붙이면, 테일러 전개로 근사한 조건(저주파 근처에서 를 다항식으로 전개)도 오래전부터 쓰였지만 최적화된 조건보다 확실히 나쁘다. 테일러는 한 점 근처에서 잘 맞추는 근사이고, 우리가 원하는 것은 대역 전체에서 최악을 줄이는 근사이기 때문이다. 이 대비는 보간과 근사에서 테일러 전개와 체비쇼프 근사의 관계와 정확히 같다.
6. 2계 전송조건 (OO2)[편집]
를 상수에서 계면 접선방향 2계 미분을 포함한 연산자로 넓히면
가 된다. 푸리에 상징이 이므로 를 두 개의 파라미터로 근사하는 셈이고, 당연히 상수 하나보다 잘 맞는다. 이 계열을 OO2(optimized order 2), 또는 벤첼(Ventcell) 전송조건이라 부른다. 자페(Japhet)가 대류-확산 문제에 대해 도입하고 나타프(Nataf) 등과 함께 정리했다.
구현 비용은 생각보다 싸다. 는 계면 자유도끼리의 삼중대각 결합이라, 국소 문제의 강성행렬에 계면 줄만 조금 바뀔 뿐 희소성이 유지된다. 비국소 DtN이 만드는 꽉 찬 블록과는 차원이 다른 이야기다. min-max 문제는 파라미터가 둘이라 손으로 풀기가 까다로워지지만 점근적 최적해의 닫힌 형태가 알려져 있다.
같은 논리를 더 밀면 좌우에서 서로 다른 를 쓰는 양측(two-sided) 로빈, 유리함수 근사, 계면마다 계수를 다르게 두는 판본 등으로 이어진다. 전부 ” 를 어떤 국소 연산자족으로 어떻게 근사할 것인가”의 변주다.
7. 헬름홀츠 — 선택이 아니라 필수[편집]
지금까지는 “고전 슈바르츠보다 빠르다”였다. 헬름홀츠 방정식에서는 “고전 슈바르츠는 아예 안 된다” 로 격이 올라간다.
에 같은 푸리에 해석을 하면
인데, 인 전파 모드에서 이 값이 순허수가 된다. 그러면 고전 슈바르츠의 수렴계수는
이다. 전파 모드는 겹침이 아무리 넓어도 전혀 감쇠하지 않는다. 물리적으로 당연하다 — 이 모드들은 감쇠하지 않고 진동하며 계면을 왔다 갔다 하고, 디리클레 계면은 그것을 완전 반사한다. 부분영역 사이에 갇힌 파동이 영원히 튕겨 다니는 셈이다. 이산화된 실제 계산에서는 여기에 국소 문제의 특이성(부분영역이 공진 주파수에 걸림)까지 겹쳐 반복이 발산하기도 한다.
해법은 계면에서 나가는 파동은 내보내고 들어오는 파동만 받는 조건, 즉 흡수형·임피던스형 조건이다. 데프레(1990)의 처방이 그것으로, 를 쓴다.
이렇게 하면 전파 모드에서 이 되어 수렴이 보장된다. 다만 전파 모드는 죽여도 감쇠 모드() 는 로 잘 처리되지 않아 수렴이 느리다. 그래서 헬름홀츠의 최적화 슈바르츠는 복소수 를 두 영역(전파·감쇠) 모두에서 좋게 나오도록 min-max로 고르는 문제가 된다. 실수부는 감쇠 모드를, 허수부는 전파 모드를 담당한다고 읽으면 대략 맞다. 완전정합층(PML)을 계면에 얇게 붙여 전송조건으로 쓰는 변형도 같은 아이디어의 다른 구현이다.
고파수 헬름홀츠 문제에서 최적화 슈바르츠가 사실상 유일한 실용 경로가 되는 이유이며, 스위핑 전처리기·소스 전달 계열도 결국 “계면에서 흡수 조건을 쓴다”는 같은 통찰 위에 서 있다.
8. 전처리기로 쓰기, 그리고 남는 문제들[편집]
최적화 슈바르츠 반복은 계면 미지수(전송되는 로빈 자료)에 대한 고정점 반복
로 쓸 수 있다. 그러면 리처드슨 반복 대신 GMRES 같은 크리로프 부분공간법을 에 돌리는 것이 자연스럽다. 실무에서는 거의 항상 이렇게 쓴다.
여기에 미묘한 이론적 틈이 있다. min-max로 고른 는 반복 연산자의 수축률을 최소화한 것이지, 크릴로프 수렴을 지배하는 스펙트럼의 뭉침을 최적화한 것이 아니다. 엄밀히 말해 크릴로프 가속과 결합했을 때의 최적 파라미터는 다를 수 있다. 다행히 실측에서는 최적화된 가 크릴로프와도 잘 맞고, 스펙트럼이 원점에서 멀어지도록 밀어 주는 효과가 그대로 작동해서, 사람들은 대체로 같은 를 쓴다.
남는 실무 이슈도 적어 둔다.
- 교차점(cross point). 세 개 이상의 부분영역이 한 점에서 만나면 두 부분영역 푸리에 해석의 전제가 깨진다. 교차점에서 로빈 자료를 어떻게 일관되게 정의할 것인가가 별도의 연구 주제이고, 잘못 다루면 수렴이 눈에 띄게 나빠진다.
- 조대 공간은 여전히 필요하다. OSM은 이웃 간 정보 교환의 품질을 올리지만, 부분영역 수가 많아지면 정보가 영역 끝에서 끝까지 가는 데 걸리는 반복수 문제는 그대로다. 확장성을 위해서는 영역 분할법에서 다룬 조대 보정을 얹어야 한다.
- 파라미터를 어떻게 얻는가. 위 공식들은 반평면·상수계수·직선 계면이라는 이상화에서 나온다. 실제 형상에서는 (가) 국소적으로 그 이상화가 맞다고 보고 공식을 쓰거나, (나) 이산 문제에서 직접 min-max를 수치적으로 풀거나, (다) 계수 불연속·이방성을 반영한 변형 공식을 쓴다. 이론이 준 가 실제 최적에서 상당히 벗어나 있어도 수렴계수 곡선이 에 대해 평평한 편이라 크게 손해 보지 않는다는 점은 다행이다.2
- 시간 방향으로. 시간 의존 문제에 같은 아이디어를 쓰면 각 부분영역에서 시간 구간 전체를 풀고 계면에서 시간 이력을 교환하는 슈바르츠 파형 완화가 되고, 여기에도 최적화된 로빈 조건이 그대로 적용된다. 이때 는 시간 주파수까지 포함한 상징이 되어 min-max 문제가 2차원이 된다.
9. 관련 문서[편집]
- 영역 분할법 · 전처리기 · 크리로프 부분공간법 · GMRES
- 헬름홀츠 방정식 · 완전정합층 · 흡수 경계조건
- 푸리에 변환 · 보간과 근사 · 조건수 · 반복법
- 라플라스 방정식 · 대류-확산 방정식 · 편미분방정식
- 다중격자법 · 유한요소법 · 병렬 컴퓨팅 · 슈바르츠 파형 완화
10. Footnotes[편집]
-
이름 이야기. 이 계열 논문 제목에 붙는 “optimized”를 보고 “형상 최적화 같은 걸 돌린다는 건가” 하고 오해하는 사람이 꽤 있는데, 최적화되는 대상은 설계변수가 아니라 경계조건의 계수 한두 개다. 최적화 문제의 크기가 변수 1~2개짜리 min-max라 노트북은커녕 종이로 푸는 경우도 많다. 이 바닥에서 제일 가성비 좋은 “최적화”일 것이다. ↩
-
이게 실무에서 은근히 중요한 성질이다. 를 에 대해 그려 보면 최적점 부근이 상당히 납작해서, 의 2배나 절반을 써도 반복수가 몇 회 늘어나는 정도로 끝난다. “이론값을 정확히 못 구해도 자릿수만 맞으면 된다”는 것이라, 완화계수를 손으로 더듬어 맞추는 데 익숙한 사람에게는 오히려 친숙한 감각. 반대로 자릿수를 틀리면(예: 계수 스케일링을 빼먹으면) 고전 슈바르츠보다 나빠질 수도 있으니 스케일 확인은 하고 넘어가야 한다. ↩