본문으로 건너뛰기
293 / SCIENTIFIC COMPUTING LAB
먼저 알아두면 좋아요 · 연결된 선수 단원의 미적분·선형대수·수치 해법 기초
단원 목록 (600) · 다중격자 Smoothing·Coarse Correction
이해하는 속도로 읽으세요.개념도이론실험확인 문제
BUILD YOUR INTUITION

먼저 그림으로 이해하기

한 번에 한 단계씩 살펴보세요.

실제 두 격자 cycle로 고주파·저주파 오차를 나누어 줄입니다.

Actual two-level error equation for 1D Dirichlet Poisson with zero exact solution. Each cycle applies weighted Jacobi pre-smoothing, full-weighting R=P^T/2, linear interpolation P, an exactly solved Galerkin coarse system R*A*P, then post-smoothing. Initial error is sin(m*pi*x). Blue final error, orange initial error. Coarse correction resolves representable smooth error; smoothing damps oscillatory components. This finite two-level example is not a proof of mesh-independent complexity or physical homogenization.

011.050
가로 x · 파랑 cycle 뒤 오차 · 주황 초기 오차 · 경계는 0
cycleweighted L2 errorweighted L2 residualerror after pre-smoothing
00.7076.9560.707
10.0060.6930.689
21.270e-40.0140.006

fine unknowns = 15

고정 기준 예제의 그림과 수치입니다. 각 단계에서 같은 그림의 의미를 차례로 살펴보세요. 고정된 기준 예제이며 아래 실험의 설정과 독립적입니다.
1 / 4

오차 방정식

정확해 0에 대한 실제 오차를 갱신합니다.

r=-A e

실험에서 확인하기 →
이 단원 목차

미세 격자에서 느린 오차가 남는 이유

반복 선형 해법에서 오차의 크기만이 아니라 공간 모양이 수렴 속도를 좌우합니다. 이웃을 평균내는 relaxation은 급격히 교대하는 성분을 빠르게 줄이지만 천천히 변하는 성분에는 거의 손대지 못할 수 있습니다. 다중격자는 미세 격자에서 매끄러운 오차를 더 거친 격자에서 저렴하게 표현해 보정합니다.

현재 정확해는 0이며 초기 오차 e(x)=sin(mπx)를 둡니다. 따라서 별도의 정확한 PDE solver를 참값으로 삼지 않아도 오차 자체를 알 수 있습니다. 파랑은 실제 cycle 뒤의 오차이고 주황은 초기 오차입니다. 표에는 h가중 L2 오차와 잔차를 따로 기록합니다.

Smoothing과 잔차 방정식

Dirichlet Poisson의 A는 대각 2/h², 이웃 -1/h²입니다. Weighted Jacobi는 다음과 같습니다.

e←e−ωD−1Ae,r=−Ae.e\leftarrow e-\omega D^{-1}Ae,\qquad r=-Ae.

저주파 sine의 고유값은 작아 한 번의 갱신이 조금만 바뀝니다. 고주파에서는 더 큰 보정이 생기며 weight를 적절히 골라야 합니다. 가장 큰 weight가 항상 가장 좋은 smoothing을 의미하지 않습니다. 여기서는 전후 smoothing 횟수를 똑같이 설정합니다.

실제 Coarse Operator 조립

P는 coarse 절점 사이를 선형 보간하고 R=Pᵀ/2는 full weighting입니다. Coarse 행렬을 임의의 다른 stencil로 대체하지 않고 현재 A와 transfer로 계산합니다.

AH=RAhP,AHeH=Rr,e←e+PeH.A_H=RA_hP,\qquad A_H e_H=Rr,\qquad e\leftarrow e+Pe_H.

Coarse 식은 pivoting을 사용하는 작은 직접 해법으로 풉니다. 이어 post-smoothing을 적용하며 cycle 수만큼 실제 반복합니다. Restriction과 prolongation의 차원, 경계 0의 처리, 잔차 부호가 모두 중요합니다. 잘못된 부호는 오차를 제거하는 대신 더합니다.

손계산과 직접 풀기

m=1인 매끄러운 sine와 m=7인 진동 sine를 같은 fine 격자에서 비교해 보세요. Jacobi의 mode multiplier는 1-ω(1-cos(mπh))입니다. 작은 mπh에서는 거의 1이라 변화가 느리고, 선택된 큰 주파수에서는 절댓값이 작아질 수 있습니다. Coarse correction은 smoothing이 남긴 매끄러운 부분을 주로 줄입니다.

직접 풀기: fine 오차가 정확히 Pz 형태이고 smoothing이 없으면 한 coarse correction 뒤 어떻게 되나요? 풀이: r=-APz, e_H=(RAP)^{-1}R(-APz)=-z이므로 e+Pe_H=0입니다. 반대로 coarse 공간에 없는 모든 성분까지 한 번에 사라진다는 결론은 낼 수 없습니다.

다중스케일과 AI 연결

Mesh 기반 network의 pooling·upsampling이 multigrid와 시각적으로 비슷하더라도 같은 잔차 방정식을 푼다는 뜻은 아닙니다. 어떤 operator와 norm을 보정하는지 확인해야 합니다. 물리 homogenization은 또 다른 문제로, 작은 구조의 유효 계수를 얻으려면 scale separation, cell problem 등의 가정이 필요합니다. 여기서는 실제 두 수준 선형 보정까지만 계산하며 물리적 coarse-graining 전체를 구현했다고 주장하지 않습니다.

검증에서는 Galerkin 항등식, coarse 공간 제거, 여러 격자의 오차 감소와 실제 작업량을 함께 봅니다. 한 격자의 작은 잔차만으로 격자 독립 수렴이나 O(N) 복잡도를 증명하지 않습니다.

참고: MIT 수치 PDE 강의.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. 작은 잔차만으로 모든 격자에서 같은 비용 수렴을 증명하나요?
2. 이 예제의 coarse 행렬은 R A P로 조립하나요?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.