本文是书籍 Spectral Method in MATLAB 第二章 Unbounded Grids: the Semidiscrete Fourier Transform 无界网格:半离散 Fourier 变换 笔记。
我们现在导出第一个谱方法,就是第一章的两边无限的矩阵。这种方法适用于离散的、无界的区域,因此不是一种实用的方法。但是,它确实介绍了推导和分析实用方法所需的数学思想。
半离散 Fourier 变换 无限网格用 表示,节点 ,其中 , 是所有整数的集合。
根据半离散傅里叶变换和有限带宽 函数插值的基本思想去推导 (1.4) 两边无限的矩阵。函数 ( ) 的 Fourier 变换后的函数 定义为
可以解释为 在波数 时的振幅,将一个函数分解为其组成波的过程称为 Fourier 分析。相反地,我们可以从 通过 逆 Fourier 变换重构 :
这是傅里叶合成。变量 是物理变量, 是 Fourier 变量或波数。
现在考虑 在 上的值而不是 。在这种情况下, Fourier 变换及其逆的精确变换是存在的。关键点在于,由于空间域是离散的,波数 将不覆盖R的所有范围。相反,波数域是长度为 的有界区间,一个适当的选择是 。记住 是有界的,因为 是离散的:
产生这些联系的原因是一种称为混叠的现象。当 ,两个复指数函数 与 在 上是不相等的。如果我们限制 和 到 ,取 和 ,如果 是 的整数倍,对每一个 有 。因此,对于任何复指数 在网格 上有无限多的其他复指数( 的“混叠” )与之匹配。因此,在 长度的间隔内计算网格的波数就足够了,并且出于对称性的原因,我们选择了间隔 。
下图说明了函数 和 相互“混叠”。网格节点的表示限制到了 ,其中这两个函数是相同的。
“混叠”也出现在非数学生活中,例如西方电影中的“马车轮效应”。如果说照相机的快门每秒发出 24 次咔哒声,货车车轮上的辐条每秒通过垂直方向 20 次,然后车轮看起来好像以每秒 -4 辐条的速度旋转,即向后旋转。同一现象的更高频率“混叠”是频闪显微镜科学的基础,而空间而非时间的混叠会导致云纹。
对于函数 定义在 上节点 值为 ,半离散 Fourier 变换的定义如下
半离散 Fourier 逆变换为
半离散 Fourier 变换 (2.3) 通过梯形公式逼近 Fourier 变换 (2.1),半离散 Fourier 逆变换 (2.4)逼近 (2.2) 则是通过截断 到 。当 ,两对公式收敛。
如果“半离散 Fourier 变换”这个表达式不熟悉,那可能是因为我们给一个旧概念取了一个新名字。Fourier 级数表示有界区间上的函数,它是离散波数上复指数的和,如 (2.3)。我们用半离散 Fourier 变换来强调我们在这里关心的是逆问题:空间变量是离散的,Fourier 变量是连续的,属于有界区间 。从数学上讲,这与 Fourier 级数理论没有区别,Fourier 级数在许多书中都有介绍,是数学中应用最广泛的分支之一。
对于谱微分,我们需要一个插值函数,而反变换 上式 (2.4) 将给出一个插值函数。我们所要做的只是计算 的相同公式,而不仅仅是 。也就是说,在确定 之后,我们定义插值函数
这是一个关于 的解析函数,并且对每个 都有 。而且通过推导,Fourier 变换 通过 (2.1) 定义为
关于解析:函数 在点 处是解析的,如果它在 附近的复数意义上是可微的,或者如果它的 Taylor 级数收敛到 。
因此,p在 具有紧支集。我们说 是 的带限插值,这并不意味着 有紧支集,但该支集包含在特定区间 , 中。虽然对于任何网格函数都有一定数量的可能插值,但在这个意义上只有一个带限插值。这个结果被称为抽样定理,与Whittaker、Shannon 和 Nyquist 的名字有关。
我们准备给出在 上定义的函数 的谱微分的前两个描述。下面是一个
给定 ,通过 (2.5) 确定其带限插值 ,
设 .
另一个在 Fourier 空间中同样可以得到。如果可微函 有 Fourier 变换 ,则 的 Fourier 变换是 :
这个结果可以通过对 (2.2) 或 (2.5) 关于 微分得到,因此我们有一个等价的谱微分过程:
给定 ,通过 (2.3) 计算其半离散 Fourier 变换.
定义 .
利用 通过 (2.4) 计算 .
这两种谱微分的描述在数学上都是完整的,但是我们还没有导出矩阵 (1.4) 的系数,为此,我们可以使用傅里叶变换回代并对带限插值 有更全面的了解。令 为克罗内克(Kronecker delta)函数,
通过 (2.3), 的半离散 Fourier 变换是一个常数: 对于所有的 。通过 (2.5), 的带限插值是
( 处的值为 1)。这个著名又漂亮的函数称为 函数,
Sir Edmund Whittaker 称 “···尊贵血统在整个家族中的一种函数,其独特的属性使其与资产阶级的兄弟分离。
既然我们知道如何插值 函数,我们可以插值任何函数。对于任意 ,带限插值是一个平移不变的过程, 的带限插值是 。一般网格函数 可以写成
因此,根据半离散 Fourier 变换的线性性质, 的带限插值是转换 函数的线性组合:
相应的导数
现在让我们导出 (1.4) 两边无限 Toeplitz 矩阵 的元素。上式(2.11) 可以导出 (1.5) 的矩阵方程,我们可以看出向量 是矩阵 的列 ,其他列通过适当地上下移动该列而获得。公式 (1.4) 的项是由微分练习 (2.8) 决定的
Program 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 h = 1 ; xmax = 10 ; clf x = -xmax:h:xmax; xx = -xmax-h/20 :h/10 :xmax+h/20 ; for plt = 1 :3 subplot(4 ,1 ,plt) switch plt case 1 , v = (x==0 ); case 2 , v = (abs (x)<=3 ); case 3 , v = max (0 ,1 -abs (x)/3 ); end plot (x,v,'.' ,'markersize' ,14 ), grid on p = zeros (size (xx)); for i = 1 :length (x), p = p + v(i )*sin (pi *(xx-x(i ))/h)./(pi *(xx-x(i ))/h); end line(xx,p), axis([-xmax xmax -.5 1.5 ]) set(gca,'xtick' ,[]), set(gca,'ytick' ,[0 1 ]) end
类似的模式适用于所有的谱配置方法。谱微分矩阵的第 列包含值 ,其中 是通过在 的离散 函数的全局插值。
Program 3 通过绘制定义在 (即 )上的三个离散函数及其带限插值。从输出结果的三个图中的第一个图可以清楚地看出, 函数是平滑的。第二个图描绘了离散方波的插值,显示了 插值对于逼近非光滑函数不是特别好。当 时,不连续处附近的振荡幅度不会减小,甚至在空间上也没有很好的局部化。这种在间断附近产生的振荡称为吉布斯现象 。第三幅图显示了离散三角波或“hat函数”及其插值。这里的插值比较好,但仍然不令人印象深刻。实际上,正如我们将在第4章中详细解释的那样,插值的精度取决于 的光滑性,并且这些例子不是很平滑。每一个 的导数都提高了 1 阶精度。
为了找到高阶谱导数,我们可以多次对 微分。例如
结果告诉我们对称双无穷 Toeplitz 矩阵 的每一列的项对应的二阶导数是
本章小结 在 网格上的函数 有一个唯一的插值 ,它的频带仅限于 区间内的波数。我们可以通过计算 的半离散 Fourier 逆变换来计算网格上的 ,或者作为 函数平移的导数的线性组合。