Scientific Computing · 交互式可视化
科学计算可视化实验室
从偏微分方程到高精度算术,8 个数值方法核心模块的交互式可视化。调节参数、观察稳定性与收敛性,直观理解数值算法的权衡与加速原理。
模块 8风格 Linear Dark依赖 零渲染 SVG / Canvas
01偏微分方程数值解 · 热传导方程
显式 FTCS 格式求解 ∂u/∂t = α ∂²u/∂x²。稳定性条件 r = α·Δt/Δx² ≤ 0.5,超过即数值发散。调节 r 观察稳定与失稳。
r = αΔt/Δx²
0.25
稳定
r ≤ 0.5 时显式格式稳定;r > 0.5 时高频误差指数增长,解迅速发散。隐式格式无条件稳定但需解线性方程组。
02矩阵特征值算法
Power Method 迭代收敛到主特征值;Rayleigh 商给出高精度估计。右图为特征值估计随迭代的变化。
迭代0
估计 λ—
Power Method 每步 v ← Av/‖Av‖,Rayleigh 商 λ ≈ vᵀAv。收敛速度取决于 |λ₂/λ₁|。
03稀疏矩阵求解 · 共轭梯度法
1D Laplacian (三对角稀疏阵) 求解 Ax=b。CG 迭代法利用 Krylov 子空间,残差快速下降;直接法 (Cholesky) 需 O(n³)。
规模 n
30
迭代次数0
左:稀疏结构 (spy plot),仅三对角非零。右:残差 ‖rₖ‖ 半对数下降。CG 理论上 n 步内精确收敛,实际远更快。
04蒙特卡洛积分 · 估算 π
向单位正方形投点,落入 1/4 圆内比例 × 4 ≈ π。对比朴素采样与分层采样 (方差缩减) 的收敛速度。
每次投点
500
总计0
π 估计—
蒙特卡洛误差 O(1/√N) 与维度无关。分层/重要性采样可显著降低方差。
05快速多极子法 (FMM) · N-body 加速
N 体问题直接计算 O(N²)。FMM 用层次多极展开,远场聚合、近场直接算,复杂度降至 O(N)。切换观察交互模式。
直接法绘制所有 N(N-1)/2 条相互作用;FMM 用四叉树划分空间,仅近邻直接算,远场用多极展开合并。
06自适应网格细化 (AMR)
在解变化剧烈处加密网格。下方函数含尖峰,自适应策略对高梯度区域递归细化,平衡精度与计算量。
当前层级0
单元数8
阈值 = |f''| > ε 的单元被标记细化。蓝深 = 层级越高。对比均匀网格,AMR 用更少单元达到同等分辨率。
07并行数值算法 · 区域分解
将计算域分给 P 个进程,边界需 halo (幽灵单元) 交换。切换通信模式:环形 (点对点) vs 树形 (聚合广播)。
环形通信每步仅与左右邻居交换,延迟 O(P);树形 (递归倍增) 延迟 O(log P),适合全局归约。
08高精度计算 · 任意精度算术
用 BigInt 实现 π 的无界水龙头算法 (spigot),可计算任意位数。Ball Arithmetic 用区间 [c−r, c+r] 保证结果包含真值。