앤더슨 가속
Anderson acceleration수학에서 앤더슨 혼합이라고도 하는 앤더슨 가속은 고정점 반복의 수렴율 가속을 위한 방법이다.도날드 G가 소개한다.앤더슨,[1] 이 기법은 계산과학 분야에서 자주 발생하는 고정점 f )= 에 대한 해결책을 찾는 데 사용될 수 있다.
정의
감안할 때 함수 f:Rn→ Rn{\displaystyle f:\mathbb{R}^{n}\to\mathbb{R}^{n}},;[2]기 위해서는 f{\displaystyle f}의 f그 문제에 대한 클래식 접근법은 고정 소수 점 반복 계획을 쓰는 것이다())=-1{\displaystyle f())=x}. 그 방정식은 해결책은 고정된 포인트,를 발견하는 것의 문제를 고려하모자용액에 대한 초기 x {\ x_이(가) 주어진 경우, 어떤 수렴 기준을 충족할 때까지 x += (x ) 를 계산한다.그러나 그러한 체계의 정합성은 일반적으로 보장되지 않는다. 더욱이 정합화 속도는 대개 선형이기 때문에 f 의 평가가 계산적으로 비싸면 너무 느려질 수 있다.[2]앤더슨 가속은 고정점 시퀀스의 수렴을 가속화하는 방법이다.[2]
잔차 ( )= ( )- x (x ) - x을 하고 g= ( ) 를 표시한다(서 x 는 이전 단락부터 반복하는 순서다.초기 추측 및 정수 매개변수 1 1을(를) 감안할 때 방법은 다음과 같이 공식화할 수 있다.[3][note 1]
기존의 정지 기준은 방법의 반복을 끝내는 데 사용될 수 있다.예를 들어‖ + - \x_이(가)[2] 규정된 공차에 해당하거나, 잔류 ) g가 규정된 공차에 해당될 때 반복을 중지할 수 있다.
표준 고정점 반복에 관해서, 그 방법은 더 빨리 수렴하고 더 견고하며, 경우에 따라서는 고정점 순서의 차이를 피하는 것으로 밝혀졌다.[3][4]
최소화 문제 해결
알고리즘의 각 반복에서 제한적 최적화 문제 g 2 }} α Ak 의 적용을 받는 문제를 해결해야 한다.이 문제는 다음과 같은 몇 가지 등가 공식에서 다시 제기될 수 있으며,[3] 이는 보다 편리한 구현을 초래할 수 있는 다양한 해결 방법을 제시한다.
- 은 매트릭스 Gk=[gk− mk+1− gk− mk지만 gk− gk− 1]{\displaystyle{{G\mathcal}}_{k}={\begin{bmatrix}g_{k-m_{k}+1}-g_{k-m_{k}정의}&\dots &, g_{k}-g_{k-1}\end{bmatrix}}}및 Xk-경우)k− mk+1−)k− mk…)k− xk− 1. 뻗는다{)Displaystyle{{X\mathcal}}_{k}={\begin{bmatrix}x_{k-m_{k}+1}-x_{k-m_{k}}&\dots &, x_{k}-x_{k-1}\end{bmatrix}}}, γ k=argmin γ를 해결하 ∈ Rmkm그리고 4.9초 만 ‖ gk− Gkm그리고 4.9초 만 γ ‖ 2{\displaystyle \gamma_{k}=\operatorname{argmin}_{\gamma\in \mathbb{R}^{m_{k}}})g_{k}-{{G\mathcal}}_{k}\gamma)_{2}}, 세트 )k+= + -( X + ) k [3][4] ;
- solve , then set .[1]
최적화 문제는 두 선택 모두에 대해 QR 분해[3] 및 단수 값 분해와 같은 표준 방법으로 해결할 수 있는 제한되지 않은 선형 최소 제곱 문제의 형태로,[4] 최적화 문제의 순위 결함과 조건화 문제를 처리하기 위한 정규화 기법을 포함할 수 있다.보통 방정식을 풀어서 최소 제곱의 문제를 해결하는 것은 잠재적 수치 불안정성과 일반적으로 높은 계산 비용 때문에 권장되지 않는다.[4]
방법의 정체(, 한 값을 갖는 후속 반복, x + 1= 는 최소 제곱 문제의 특이성으로 인해 방법이 파괴된다.마찬가지로 근사치(+ 는 최소 제곱 문제를 악화시킨다.또한 매개변수 의 선택은 아래에서 설명하는 바와 같이 최소 제곱 문제의 조건을 결정하는 데 관련될 수 있다.[3]
이완
알고리즘은 가변 이완 파라미터(또는 혼합 파라미터) k> 을(를) 도입하여 수정할 수 있다[1][3][4]각 단계에서 다음과 같이 새로운 반복을 계산하십시오.
m의 선택
매개 변수 에 따라 이전 반복에서 얻은 정보가 새 x + 을 계산하는 데 사용되는 양이 결정된다한편, 이(가) 너무 작다고 선택되면, 너무 적은 정보를 사용하게 되고, 원치 않게 융합이 느려질 수 있다.한편, {\이 ([3]가) 너무 크면, 너무 많은 후속 반복에 대해 구 반복으로부터의 정보가 유지될 수 있으므로, 다시 융합이 느려질 수 있다.더욱이 의 선택은 최적화 문제의 크기에 영향을 미친다. 의 값이 너무 크면 최소 제곱 문제의 상태와 솔루션 비용이 악화될 수 있다.[3]일반적으로 해결해야 할 특정 문제는 매개 변수의 최선의 선택을 결정한다.[3]
k 선택
위에서 설명한 알고리즘에 관해서, 각 반복에서 의 선택을 수정할 수 있다. 가지 가능성은 각 을 (를) 하는 것이다(때로는 잘리지 않은 앤더슨 가속이라고도 함).[3]이러한 방식으로 새로운 반복 + }의모든 반복을 이전에 계산한 모든 반복을 사용하여 계산한다. 정교한 기법은 최소 사각형 문제에 대한 충분한 조건을 유지할 수 있도록 k 를 선택하는 것에 기초한다.[3]
다른 종류의 방법과의 관계
의 방법은 ( x)- = 0 의 해법에 적용하여 수렴을 갖는 f( ) 의 고정점을 계산할 수 있다.그러나 방법은 매우 비용이 많이 들 수 있는 ( x) 의 정확한 파생상품에 대한 평가를 요구한다[4]유한차이를 이용하여 파생상품에 근사치를 하는 것이 가능한 대안이지만, 각 반복마다 ( x에 대한 다중 평가가 필요한데, 이는 다시 매우 비용이 많이 들 수 있다.앤더슨 가속은 기능 ( ) 에 대한 반복당 하나의 평가만 필요하며, 파생 모델에 대한 평가는 필요하지 않다.반면에 앤더슨 가속 고정점 시퀀스의 수렴은 일반적으로 여전히 선형이다.[5]
몇몇 저자들은 앤더슨 가속도와 비선형 방정식 해법에 대한 다른 방법들 사이의 유사성을 지적했다.특히:
- Eyert와[6] Fang과 Saad는[4] 비선형 방정식 ()= 0 의 해법에 대해 잘 알려진 secant 방법을 일반화하는 준 뉴턴 및 멀티세컨트 방법의 클래스 내의 알고리즘을 해석했다 또한 이 알고리즘이 Broyden 클래스에서 하나의 방법으로 보일 수 있는 방법을 보여주었다.[7]
- 워커와 Ni[3][8]은 앤더슨 가속도가 GMRES 메서드에 선형 문제(Ax에 대한 해결책이 없다는 문제 예)){\displaystyle A\mathbf{x}=\mathbf{x}}정사각형 행렬에 대한{\displaystyle})의 같은 경우에는, 따라서 GMRES의지 않은에 대한 일반화로 볼 수 있는 동일한 것으로 나타났다.선형비슷한 결과가 와시오와 오스테리에 의해 발견되었다.[9]
더욱이, 고정점 방정식의 일반적인 방법이라기 보다는 특정한 관심 적용의 맥락에서 가장 흔히 발생하기는 하지만,[9][10][11][12][13] 몇 가지 동등하거나 거의 동등한 방법들이 다른 저자들에 의해 독립적으로 개발되었다.
MATLAB 구현 예
은 함수 ( )= ( x)+ (x )의 고정점을 찾기 위한 앤더슨 가속도 체계의 언어의 예 다음 에 유의하십시오
- the optimization problem was solved in the form using QR decomposition;
- QR 분해의 연산은 차선이다. 실제로 각 반복마다 단일 열이 G 에 추가되고 단일 열이 제거될 수 있다 이러한 사실을 이용하여 QR 분해의 연산 노력을 덜하고 효율적으로 업데이트할 수 있다.[14]
- 은 반복 {\의 전체 벡터가 필요하지 않은 경우 최근 몇 번의 반복과 잔차만 저장하여 메모리 효율을 높일 수 있다.
- 그 코드는 벡터 f( ) f의 경우에 직접적으로 일반화된다
f = @(x) 죄를 짓다(x) + 아탄(x); 고정점을 계산할 함수 비율. x0 = 1; % 초기 추측. k_max = 100; 최대 반복 횟수(%) tol_res = 1e-6; 잔차에 대한 공차 %. m = 3; % 매개 변수 m. x = [x0, f(x0)]; % 반복측정값 x. g = f(x) - x; % 잔차 벡터 G_k = g(2) - g(1); % 잔차 증분 행렬. X_k = x(2) - x(1); 백분율 증분 행렬(x) k = 2; 하는 동안에 k < k_max && 복근(g(k)) > tol_res m_k = 분(k, m); % QR 분해로 최적화 문제를 해결한다. [Q, R] = qr(G_k); 감마_k = R \ (Q' * g(k)); % 새 반복 및 새 잔차 계산 x(k + 1) = x(k) + g(k) - (X_k + G_k) * 감마_k; g(k + 1) = f(x(k + 1)) - x(k + 1); % 증분 행렬을 새 요소로 업데이트. X_k = [X_k, x(k + 1) - x(k)]; G_k = [G_k, g(k + 1) - g(k)]; n = 치수를 매기다(X_k, 2); 만일 n > m_k X_k = X_k(:, n - m_k + 1:종지부를 찍다); G_k = G_k(:, n - m_k + 1:종지부를 찍다); 종지부를 찍다 k = k + 1; 종지부를 찍다 % 출력 결과: 9회 반복 후 계산된 고정점 2.013444 인쇄물("%d 반복\n" 후 계산된 고정점 %f", x(종지부를 찍다), k);
참고 항목
메모들
참조
- ^ a b c d Anderson, Donald G. (October 1965). "Iterative Procedures for Nonlinear Integral Equations". Journal of the ACM. 12 (4): 547–560. doi:10.1145/321296.321305.
- ^ a b c d Quarteroni, Alfio; Sacco, Riccardo; Saleri, Fausto. Numerical mathematics (2nd ed.). Springer. ISBN 978-3-540-49809-4.
- ^ a b c d e f g h i j k l m n Walker, Homer F.; Ni, Peng (January 2011). "Anderson Acceleration for Fixed-Point Iterations". SIAM Journal on Numerical Analysis. 49 (4): 1715–1735. doi:10.1137/10078356X.
- ^ a b c d e f g h Fang, Haw-ren; Saad, Yousef (March 2009). "Two classes of multisecant methods for nonlinear acceleration". Numerical Linear Algebra with Applications. 16 (3): 197–221. doi:10.1002/nla.617.
- ^ Evans, Claire; Pollock, Sara; Rebholz, Leo G.; Xiao, Mengying (20 February 2020). "A Proof That Anderson Acceleration Improves the Convergence Rate in Linearly Converging Fixed-Point Methods (But Not in Those Converging Quadratically)". SIAM Journal on Numerical Analysis. 58 (1): 788–810. arXiv:1810.08455. doi:10.1137/19M1245384.
- ^ Eyert, V. (March 1996). "A Comparative Study on Methods for Convergence Acceleration of Iterative Vector Sequences". Journal of Computational Physics. 124 (2): 271–285. doi:10.1006/jcph.1996.0059.
- ^ Broyden, C. G. (1965). "A class of methods for solving nonlinear simultaneous equations". Mathematics of Computation. 19 (92): 577–577. doi:10.1090/S0025-5718-1965-0198670-6.
- ^ Ni, Peng (November 2009). Anderson Acceleration of Fixed-point Iteration with Applications to Electronic Structure Computations (PhD).
- ^ a b Oosterlee, C. W.; Washio, T. (January 2000). "Krylov Subspace Acceleration of Nonlinear Multigrid with Application to Recirculating Flows". SIAM Journal on Scientific Computing. 21 (5): 1670–1690. doi:10.1137/S1064827598338093.
- ^ Pulay, Péter (July 1980). "Convergence acceleration of iterative sequences. the case of scf iteration". Chemical Physics Letters. 73 (2): 393–398. doi:10.1016/0009-2614(80)80396-4.
- ^ Pulay, P. (1982). "ImprovedSCF convergence acceleration". Journal of Computational Chemistry. 3 (4): 556–560. doi:10.1002/jcc.540030413.
- ^ Carlson, Neil N.; Miller, Keith (May 1998). "Design and Application of a Gradient-Weighted Moving Finite Element Code I: in One Dimension". SIAM Journal on Scientific Computing. 19 (3): 728–765. doi:10.1137/S106482759426955X.
- ^ Miller, Keith (November 2005). "Nonlinear Krylov and moving nodes in the method of lines". Journal of Computational and Applied Mathematics. 183 (2): 275–287. doi:10.1016/j.cam.2004.12.032.
- ^ Daniel, J. W.; Gragg, W. B.; Kaufman, L.; Stewart, G. W. (October 1976). "Reorthogonalization and stable algorithms for updating the Gram-Schmidt $QR$ factorization". Mathematics of Computation. 30 (136): 772–772. doi:10.1090/S0025-5718-1976-0431641-8.