不动点迭代之安德森加速

在数学中,函数的不动点(Fixed point, or shortened to fixpoint, also knowns as invariant point),指的是在函数定义域内的某一个值,经过函数映射后的值还是其本身。在科学和工程领域中,很多问题可以归结为不动点问题,如下:

x = G(x)\cdots\cdots\cdots\cdots\cdots\cdots \cdots \cdots (1)   

这里x\in \mathbb{C}^{n} 和 G: \mathbb{C}^{n}\rightarrow \mathbb{C}^{n} 是一个映射(\mathbb{C}是复数空间)。 (1)可以使用不动点迭代方法求解,如下

\textup{\textbf{Fixed-point iteration}}\\ \indent\textup{Given an initial guess}~x_0\\ \indent \text{for~k=0,1,2,}\cdots\\ \indent\indent\text{Set} ~x_{k+1}=G(x_{k})\cdots\cdots\cdots\cdots(2)\\ \indent \text{end}

此迭代格式若收敛,需要满足一定的收敛条件。在收敛性满足条件下,为了加速不动点跌倒的收敛速度,最初的想法是在迭代格式(2)后引入一个松弛迭代,进行外推加速。如下:

\left\{\begin{matrix} x^{*}_{k+1}=G(x_k)\\ x_{k+1}=\omega x^{*}_{k+1}+(1-\omega)x_k \end{matrix}\right.

这里\omega(一般选为实数,也可以是一个复数)是一个松弛因子。最终的迭代格式等价于 x_{k+1}=\omega G(x_k)+(1-\omega)x_k。借鉴这个思想,求解不动点问题(1)的安德森加速方法如下:

\noindent\textbf{Anderson~Acceleration(AA)~method}\\ \indent\textup{Given an initinal guess} ~x_{0}~ \textup{and} ~m\geqslant 1}\\ \indent\textup{Set}~x_1=G(x_0)\\ \indent \textup{for}~k=1,2,3\cdots\\ \indent\indent \textup{Set}~m_k=\min(m,k).\\ \indent\indent F_k=(f_{k-m_k},\cdots\cdots,f_k), where ~ f_i=G(x_i)-x_i.\\ \indent\indent Determine~\alpha^{(k)}=(\alpha^{(k)}_{0},\cdots\cdots,\alpha^{(k)}_{m_{k}})^T~that~solves\\ \indent\indent\indent \displaystyle\min_{\alpha=(\alpha_0,\cdots\cdots,\alpha_{mk})^T}}\|F_k\alpha\|_2~s.t.~ \sum^{m_k}_{i=0}\alpha_i=1.\\ \indent\indent\textup{Set}~x_{k+1}=\sum^{m_k}_{i=0}\alpha^{(k)}_{i}G(x_{k-m_k+i})\\ \indent \textup{end}

更一般地,可以将 x_{k+1} 表示如下:

x_{k+1}=(1-\beta_k)\sum^{m_k}_{i=0}\alpha^{(k)}_{i}x_{k-m_k+i}+\beta_k\sum^{m_k}_{i=0}\alpha^{(k)}_{i}G(x_{k-m_k+i})

这里 \beta_k是一个松弛参数。安德森加速的伪代码如下(形式和前面叙述一致,这里为了自己理解):

安德森方法的一些小注记:(1)、安德森加速方法中一定要满足加权系数的和为一。(2)、对于加权系数可以使用最小二乘法求解。

参考文献:

(1)Y. Saad, Iterative Methods for Sparse Linear Systems, 2nd ed., SIAM, Philadelphia, 2003

(2)Homer F. Walker and Peng Ni Anderson acceleration for fixed-point iterations   SIAM J. Numer. Anal., 49(4), 1715–1735

(3)Alex Toth and C. T. Kelley Convergence analysis for Anderson acceleration  SIAM J. Numer. Anal., 53(2), 805–819.

Remark:此为本人的一点笔记,不尽完善,欢迎讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值