复杂系统中的计算方法¶
Quote
When the present determines the future, but the approximate present does not approximately determine the future.
— Edward Lorenz
从线性到非线性¶
混沌 vs. 随机过程
- 真随机过程:完全不可预测,可能可以得到概率分布,但无法判断系统演化中特定时间的单次结果
- 混沌:确定的过程,但由于精确解析解无法求得/计算过程的误差急剧放大,导致无法预测未来状态
线性¶
- 叠加性 \(f(x+y) = f(x) + f(y)\)
- 齐次性 \(f(ax) = af(x)\)
即
动力学系统分类¶
- 迭代映射
- 微分方程
- 1963:Lorenz
- 1970s:分形
- 1980 - :广泛应用于流体力学、非线性光学、大气科学等
离散的迭代映射¶
不动点
可以用来描述系统的平衡和稳定。
- 经济学博弈理论:Nash 均衡
- 物理学相变理论
在不动点附近做小扰动 \(x_n = x^* + \eta_n\),得到
由 \(f(x^*) = x^*\) 可得
不动点的稳定性取决于 \(\lambda = f'(x^*)\) 的大小:
- \(|\lambda| < 1\):不动点稳定
- \(|\lambda| > 1\):不动点不稳定
- \(|\lambda| = 1\):不确定
Logistic 映射¶
- \(x_n \in [0, 1]\),\(r \in [0, 4]\)
- 两个不动点:\(x^* = 0\) 和 \(x^* = 1 - \frac{1}{r}\)
蛛网图:
随着迭代次数的增加,取值的变化:
结果讨论¶
- \(r < 1\):收敛到 \(x^* = 0\),灭绝
- \(1 < r < 3\):收敛到 \(x^* = 1 - \frac{1}{r}\),稳定
- \(3 < r < 3.569\):周期态
- \(3.569 < r < 3.83\):混沌
分岔图¶
二分岔¶
求解 \(f(f(x)) = x\),即
分形¶
- Cantor 集
- Koch 曲线
- Sierpinski 三角形
- Julia 集
分形的维度¶
- 对于 Koch 曲线
边长关系
当 \(n \to \infty\) 时,总长度 \(L_n \to \infty\),因此维度 \(> 1\)。
但曲线不能围成一个平面区域!维度 \(< 2\)。
维度量化
- 自相似维度
- 盒维度
- 点态维度
自相似维度¶
分形往往是自相似的
比例系数 \(r\),等分数目 \(m\),
盒维度¶
用边长很小(\(\epsilon\))的正方形格子去覆盖分形,确定总共需要的格子数 \(N(\epsilon)\),
FFT¶
Top 10 Algorithms in 20th Century
- Metropolis Algorithm for Monte Carlo
- Simplex Algorithm for Linear Programming
- Krylov Subspace Iterative Methods
- The Decompositional Approach to Matrix Computation
- The Fortran Optimizing Compiler
- QR Algorithm for Eigenvalues
- QuickSort
- Fast Fourier Transform
- Integer Relation Detection
- Fast Multipole Method
傅里叶级数¶
\(f(x)\) 定义在区间 \([0, L]\) 上,可以展开为傅里叶级数:
转化为复数形式:
其中
也可以利用正交性积分得到 \(\gamma_k\) 的表达式:
离散傅里叶变换(DFT)¶
实际问题中,对于一串实验数据,无法得到 \(f(x)\) 的解析形式或者 \(f(x)\) 过于复杂,需要离散化处理。
将区间 \([0, L]\) 等分为 \(N\) 份,得到 \(\delta = L/N\),以及数据序列 \((x_0, f_0), (x_1, f_1), \ldots, (x_N, f_N)\).