拟谱法(Pseudo-spectral methods)也称为离散变数表示(discrete variable representation、DVR)法,是在应用数学及计算科学中求解偏微分方程用的数值分析方法。拟谱法和谱方法(英语:spectral method)有密切关系,但在谱方法中基底函数中使用了拟谱的基底函数,也就是可以在分割网格上表示的函数。此作法简化一些运算子的计算,在使用快速算法(例如快速傅里叶变换)时可以加速计算速度。
考虑以下的初值问题
有周期性条件。这个例子是势能为之粒子的薛定谔方程,不过其结构可适用到其他应用。在许多实务上的偏微分方程中,其中有一项是和导数(例如是动能相关的量)有关,另一项则是和另一个函数(此处为势能)的乘积。
在谱方法中,其解会展开为一组适合基底函数的组合,例如平面波。
将解代入,并且计算系数的方程,可以得到系数的常微分方程
而其元素可以透过显式的傅立叶转换求得
若将基底函数的展开到一定项次后截断,并且找的解,就可以得到偏微分方程的解。一般而言会用数值方法(英语:Numerical methods for ordinary differential equations)进行,例如龙格-库塔法。为了数值解,常微分方程的右侧需重复计算在许多不同时间间隔下的值。此时,谱方法有个和势能项有关的主要问题。
在谱方法下,和势能函数的相乘会转换为向量和矩阵的乘法,其复杂度是,而且在求解系数的微分方程时,需要另外去计算矩阵元素,这也需要时间。
在拟谱法中,会用不同的方式来计算。给定系数,会用反离散傅立叶转换来计算函数在离散格点下的值。在格点上,计算函数的乘积 ,再用傅立叶转换转换回来,可以得到一组新的系数,来代替矩阵乘积运算。
可以证明二个方法有类似的精准度,而且拟谱法可以使用快速傅立叶转换,其时间复杂度为,理论上比矩阵乘法要快很多。而且,可以直接计算函数,不用再经过额外的积分运算。
若用比较抽象的方式来描述,拟谱法是处理在偏微分方程中二个函数和的乘积。为了简化表示式,省略掉函数中时间的自变数。在概念上,拟谱法包括三个步骤:
函数和可以用一组有限基底的函数来扩展:
为了简化起见,令基底是正交且正规化的,,利用内积配合适当的边界,其系数为
配合一些计算可得
而。这是谱方法的基础。为了区分的基底以及正交的基底,有时会将上述扩展称为有限基底表示(Finite Basis Representation、FBR)。
针对给定基底以及个基底函数,可以设法找到分割方式,也就是个点以及加权,使得
特别的例子包括多项式的高斯求积以及平面波的离散傅里叶变换,特别需注意的是格点及加权都是基底及数量的函数。
利用分割方式,可以透过格点上的值,以另一种方式来表示函数的数值。此表示法有时称为离散变数表示法(Discrete Variable Representation、DVR),完全等效于基底的展开。
和函数的相乘会在格点上进行
一般来说这里会有一些近似,可以计算其中一个系数:
利用谱方法,对应的系数会是。拟谱法则会用以下皂的近似来处理
若乘积可以用给定的有限基底函数组合来表现,则上式在给定分割方式上会完全正确。
若问题中有周期性的边界条件,其周期为,基底函数可以用平面波来产生,
其中,而是取整函数。
在处截断的分割为离散傅立叶转换,格点会平均分布,间隔为,各点的加权会是相同旳定值。
在讨论误差时,需注意到平面波的乘积也是平面波,,。因此,定量来说,若函数可以用基底函数足够准确的呈现,只要用个基底函数,即可用拟谱法得到足够准确的结果。
平面波的扩展一般效果较差,需要许多的基底函数才能收敛。不过。基底展开和格点表示的转换可以用快速傅立叶转换进行,其时间复杂度较低,为。因此,平面波是拟谱法中常用的一种基底函数。
另一种常见的展开方式是多项式,此处会使用高斯求积(Gaussian quadrature),其中提到可以找到加权系数及格点使得
对任意的次或是更低次的多项式都成立。一般而言,加权函数及范围都是根据特定问题所选定的,因此会选择几种分割方式中的一种。若要用在拟谱法,需选择基底函数为,其中为阶多项式,有以下特性
在上述条件下,the 会是正交基底,其内积为。此基底以及分割点可以用在拟谱法中。
有关其误差,若可以用个基底函数很好的呈现,而可以用阶多项式很好的呈现,则其积可以用前个基底函数很好的呈现。且拟谱法用该数量的基底函数,会有足够准确的结果。
在一些标准问题中,会出现这些多项式。例如量子简谐振动子可以扩展为埃尔米特多项式,而在转动问题中,会用雅可比多项式来定义相关的勒壤得多项式。