电磁学中的快速多极子方法:插值算法、预条件器及软件实现
1. 插值算法
在多层快速多极子算法(MLFMA)中,插值步骤在远场乘法时间中占据了相当大的比例,尤其是在向下传递过程中。因此,我们需要在尽量减少插值误差的同时,尽可能提高插值速度。
1.1 问题陈述
给定单位球面上的函数 $f(\theta, \varphi)$,计算 $N_{k1} = N_{\theta1} \times N_{\varphi1}$ 个样本,并将它们存储在向量 $s_1$ 中。插值问题就是仅使用 $s_1$ 中的值,以不同的采样率 $N_{k2} = N_{\theta2} \times N_{\varphi2}$ 计算新的向量 $s_2$。这个插值可以写成矩阵 - 向量乘积的形式:
[s_2 = Ws_1]
其中,$W$ 是一个大小为 $N_{k2} \times N_{k1}$ 的插值矩阵。如果 $N_{k2} > N_{k1}$,则对 $s_1$ 进行上采样;如果 $N_{k2} < N_{k1}$,则对 $s_1$ 进行下采样。
插值方法主要分为全局插值和局部插值两类:
- 全局插值 :矩阵 $W$ 是满矩阵,$s_2$ 中的每个样本都使用 $s_1$ 中的所有样本进行计算。如果 $f(\theta, \varphi)$ 是带限的,并且采样率达到或超过奈奎斯特率,那么这种插值可以是精确的。
- 局部插值 :矩阵 $W$ 是稀疏矩阵,$s_2$ 中的每个样本仅使用 $s_1$ 的一个子集进行计算。局部插值通常不能得到精确结果,但速度往往更快,并且可
超级会员免费看
订阅专栏 解锁全文
5257

被折叠的 条评论
为什么被折叠?



