不动点迭代之安德森加速
在数学中,函数的不动点(Fixed point, or shortened to fixpoint, also knowns as invariant point),指的是在函数定义域内的某一个值,经过函数映射后的值还是其本身。在科学和工程领域中,很多问题可以归结为不动点问题,如下:
这里 和 是一个映射(是复数空间)。 (1)可以使用不动点迭代方法求解,如下
此迭代格式若收敛,需要满足一定的收敛条件。在收敛性满足条件下,为了加速不动点跌倒的收敛速度,最初的想法是在迭代格式(2)后引入一个松弛迭代,进行外推加速。如下:
这里(一般选为实数,也可以是一个复数)是一个松弛因子。最终的迭代格式等价于 。借鉴这个思想,求解不动点问题(1)的安德森加速方法如下:
更一般地,可以将 表示如下:
这里 是一个松弛参数。安德森加速的伪代码如下(形式和前面叙述一致,这里为了自己理解):
安德森方法的一些小注记:(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:此为本人的一点笔记,不尽完善,欢迎讨论。
不动点迭代之安德森加速相关推荐
- 论文解读|算子分裂算法中的安德森加速法
作者:陈宇文,赵田田,胡明杰,史铭伟 编者按 本文考虑用I型安德森加速算法 (type-I Anderson acceleration) 来求解一般的非光滑不动点问题.对于非扩张的不动点映射(non- ...
- 最优化方法 26:不动点迭代
前面讲了很多具体的算法,比如梯度.次梯度.近似点梯度.加速近似点梯度.PPA.DR方法.ADMM.ALM等,对这些方法的迭代过程有了一些了解.这一节则主要是针对算法的收敛性进行分析,试图从一个更加抽象 ...
- 数值分析——求方程解的不动点迭代法和斯特芬森法(Python实现)
一.不动点迭代法求方程的解 import sympy #迭代的方程为 f(x)=pow(x,3)-x-1 def psi(x):return pow(x+1,1/3)def dif(x0): #求导函 ...
- 不动点迭代 开平方 Excel演示
不动点迭代的精髓在于可以从任意值收敛. 难点在于配这个方程.详细技巧请参阅 数值分析 内容. X 代表初始值
- 非线性方程(组):一维非线性方程(一)二分法、不动点迭代、牛顿法 [MATLAB]...
1. 二分法(Bisection) 1) 原理 [介值定理] 对于连续的一元非线性函数,若其在两个点的取值异号,则在两点间必定存在零点. [迭代流程] 若左右两端取值不同,则取其中点,求其函数值,取中 ...
- 不动点迭代(Fixed Point Iteration)
题目:不动点迭代(Fixed Point Iteration) 本篇介绍不动点迭代(Fixed Point Iteration).之所以学习不动点迭代是由于近来看到了FPC算法,即Fixed Poin ...
- 不动点迭代以及其收敛性
不动点迭代以及其收敛性 对于迭代的理解 不动点迭代 迭代的收敛性 区间收敛 局部收敛 对于迭代的理解 所谓迭代就是反复使用执行某一个过程,并且用本次执行该过程的结果作为下一次执行的起点,不断推进, ...
- 不动点迭代求解方程数值解
求解方程 2x−x3=0 解:可以采用不动点迭代的方式求出数值解. 其不动点是 x=3log2x ,故可以采用下式进行不动点迭代: xn+1=3log2xn 初始值为 x0=2 ,迭代终止条件是 |x ...
- matlab不动点迭代代码
%不动点迭代function [xc,k] = fpi(g,x0,tol,N) x1=g(x0); k=1; while abs(x1-x0) > tolx0 =x1;x1=g(x0);if k ...
最新文章
- python 多线程ping测试_从线程ping多个ip时Python ICMP ping实现?
- 【深度学习问题整理】
- php mysql update语句_mysql SELECT FOR UPDATE 语句
- python中list,tuple,str相互转换
- 共享经济模式下的边缘计算——PPIO边缘云 laaS技术实践分享
- (原创)JS点击事件——Uncaught TypeError: Cannot set property 'onclick' of null
- Sublime Text如何安装和卸载插件
- 程序员面试金典 - 面试题 17.23. 最大黑方阵(DP)
- 迭代器 iterator
- AVRNET 学习笔记UDP部分
- 正则表达式30分钟入门教程[轉]
- 中控考勤软件sqlserver数据库建立办法
- mybatis(12) mybatis-plus源码分析之sql注入器
- Ignite学习日志1——入门example
- 通过命令行更换windows 10 激活码
- c语言fprintf报错,C语言中printf,sprintf和fprintf的区别是什么
- CS5211AN可兼容CH7511B,是一款EDP到LVDS的转换器
- 使用ffmpeg做直播推流例子
- 实用Internet Download Manager(IDM)破解技巧,全版本通用!
- 【BZOJ1645】[Usaco2007 Open]City Horizon 城市地平线 离散化+线段树