热传导问题
傅里叶在研究热传导的问题时,最早发现任何函数都可以用三角函数的无穷求和来表示。让我们以一维热传导为例。设数轴上[0,L]上放置一条能导热的细棒,坐标x在时刻t的温度为T(x,t)。热传导的方程为:
\partt\partT=α⋅\partx2\part2T
其中α是常数。我们简要解释以下为什么热传导的方程会是这样的形式:假设在时刻tn,微元Δxk的温度为T(k,n)。由于热传递,下一时刻它的温度将受到其左右的微元Δxk−1和Δxk+1影响。假设T(k−1,n)和T(k+1,n)都大于T(k,n),那么T(k,n)将升高;假设都小于T(k,n),那么将降低。如果一侧更高,一侧更低,那么影响力更大的那一侧将决定T(k,n)的变化。热力学的分析显示,T(k,n)会朝向2T(k−1,n)+T(k+1,n)变化,且变化率正比于T(k,n)与2T(k−1,n)+T(k+1,n)的差值。这样,就有T(k,n+1)−T(k,n)=α⋅(2T(k−1,n)+T(k+1,n)−T(k,n)),其中2T(k−1,n)+T(k+1,n)−T(k,n)恰好可以看作21⋅[(T(k+1,n)−T(k,n)) −(T(k,n)−T(k−1,n))]。所以有ΔtT(k,n)=2α(ΔxT(k,n)−ΔxT(k−1,n)),也即ΔtT(k,n)=2α(Δx(ΔxT(k,n)))。
因为该微分方程左右分别对不同的变量求导,所以容易配凑出满足该方程的解:T(x,t)=sinx⋅e−αt。检验:\partt\partT=−αsinx⋅e−αt,\partx2\part2T=−sinx⋅e−αt,成立。
然而,上述微分方程只对细棒的内部成立。对于细棒的两个端点,该分析并不成立,因为端点处只受到一侧热传导。热力学的分析显示,端点处始终应当满足\partx\partT=0。这意味着我们不能再简单地把T(x,t)=sinx⋅e−αt当作解。不过,我们可以平移函数sinx至cosx,再调整cosx的周期为L。于是可以令
T(x,t)=cos(ωx)⋅e−αω2t
只要ω=L2nπ,n∈N,这就是一个同时满足热传导方程以及边界条件的解。进一步,因为微分的线性性,任意一族解的线性组合依然是该方程的解。这意味着,如果细棒的初始温度分布可以被表示为一族三角函数{cos(ωx)∣w=L2nπ,n∈N}的线性组合,那么温度随时间的变化方式就是逐点的对数衰减。(这是因为三角函数具有二阶导数和自身成正比的性质,指数函数具有一阶导数和自身成正比的性质,因此当三角函数逐点做对数衰减时,其效果恰好等效于热传导)
关键的问题是,如果细棒的初始温度分布不能表示为三角函数的和呢?这就是傅里叶研究的问题。他为此发展出了一套理论,这套理论显示:几乎所有函数都可以分解为三角函数的无穷求和,这就是函数的傅里叶级数。
傅里叶级数展开
当我们希望能够找到满足f(x)=2a0+n=1∑∞(ancosnx+bnsinnx)的傅里叶级数时,我们首先希望能不能直接用f(x)来表示出所有的系数an,bn。为了能够方便地做到这一点,我们先假设这个级数2a0+n=1∑∞(ancosnx+bnsinnx)能够收敛,并且能够一致收敛于函数f(x)本身。
首先我们尝试做积分∫−ππf(x)sinmx dx,m∈N。至于为什么是这种形式的积分,我们暂且假设我们突然想到了它。后面我们会给它一个更高视角的解释。用级数代入f(x),计算可得∫−ππf(x)sinmx dx=∫−ππ2a0sinmx dx+ n=1∑∞(∫−ππancosnxsinmx dx +∫−ππbnsinnxsinmx dx)。第一项是常数乘以三角函数在一个周期上的积分,因此为0;第二项由积化和差得到2sin(nx+mx)−sin(nx−mx),第三项积化和差得到2cos(nx−mx)−cos(nx+mx)。这四项当中,sin(n+m)x与cos(n+m)x的积分同样也是一个三角函数在周期上的积分,一定为0。当n=m时其它两个也一定为0。而当n=m时,sin(n−m)x恒为0因此积分也为0,而cos(n−m)x恒为1,这时积分不为0了。于是代入化简得到∫−ππf(x)sinmx dx=n=1∑∞1[n=m]⋅(2bn∫−ππ dx)=πbm。这样我们就对于任意的m都可以表示出系数bm了,也就是我们永远成立bn=π1∫−ππf(x)sinnx dx。
再来计算∫−ππf(x)cosmx dx,它是完全类似的:∫−ππ2a0cosmx dx+n=1∑∞(∫−ππancosnxcosmx dx +∫−ππbnsinnxcosmx dx)。如果m=0,那么第一项为0,第二项由积化和差得到2cos(nx+mx)+cos(nx−mx),第三项积化和差得到2sin(nx+mx)+sin(nx−mx)。当n=m时四个都为0,n=m时cos(n−m)x恒为1,其余为0,此时得到∫−ππf(x)cosmx dx=n=1∑∞1[n=m]⋅(2an∫−ππ dx)=πam。这样我们也解出了所有的an, n≥1。而当m=0时,后面的四个积分始终为0(因为n>0,因此始终与m不相等),只有第一个而积分得到a0π(我们之所以把常数写成a0/2就是为了这种形式上的统一性,它可以看作cosmx中的第0项。)。综上,我们已经得到一个用f(x)的“某种积分”来表示所有系数的方法了:
an=π1∫−ππf(x)cosnx dx,n∈Nbn=π1∫−ππf(x)sinnx dx,n∈N+
f(x)=2a0+n=1∑∞(ancosnx+bnsinnx)就称为函数的傅里叶展开,只要所有这些an,bn存在,也就是我们需要的积分都存在,那么我们就可以做傅里叶展开。重要的是,对于任何一个给定的函数f(x),只要上面所有这些积分存在,我们就能计算得到一列an,bn,这样就能够直接写出傅里叶级数,即便没有我们刚才假定成立的前提“该级数一致收敛于f(x)”这个条件。但这个级数可能收敛到一个完全不同的函数,甚至可能根本不是收敛的。这就涉及到傅里叶级数的收敛性问题了,我们后面再来讨论。
先来观察我们写出的这个奇特的级数。我们可以初步看到一些性质,比如当f(x)是奇函数时an对应的积分恒为0,那时我们的级数就只由sinnx的项构成,称为“正弦级数”。同样的,如果f(x)是偶函数,那么bn就恒为0,此时称为“余弦级数”。另外,如果函数本身的周期不是2π而是T,我们可以通过简单的换元使新函数可以看作一个周期2π的函数,换言之周期的具体大小是次要的。我们也发现an,bn的存在只要求以上这些积分存在,即便f(x)不连续有时我们也可以做傅里叶展开。从这个意义上傅里叶展开相比于需要函数无穷阶可导的Taylor级数应用范围要广很多。
现在我们来解释为什么我们选择先把f(x)与三角函数做乘积再做积分就刚好能解出傅里叶级数的系数。事实上如果我们站在更高的角度来看这个问题,我们做的事就变得显而易见了。我们可以把“把两个函数的乘积在[−π,π]上做积分”看作“某种内积”:⟨f,g⟩=∫−ππf(x)g(x) dx,因为函数可以看作一个无穷维的向量,那么积分就恰好是我们熟悉的“内积”。此时,就像我们看到的,我们的级数是一系列三角函数的和,我们从头到尾只涉及了三角函数(还有常数)。因此函数族{1,cosx,sinx,cos2x,sin2x,⋯,cosnx,sinnx,⋯}可以看作是我们的向量空间中的“基”(去除线性相关的函数以后)。更奇妙的是,其实我们在刚才的推导过程中我们已经验证过了,这些基在我们新的内积的定义下是“两两正交”的:任何两个不同的“基”做“内积”得到的结果都是0。傅里叶级数试图告诉我们的是,任何一个函数在这种基下都是可以被“正交分解”的。所以我们所作的就是把f“投影”到各个基向量上,这是我们在线性空间求分量的一般方法。而如我们所见,我们确实用这种方法求出了各个分量的系数。
傅里叶级数点态收敛性
现在我们开始讨论傅里叶级数何时收敛的问题,包括点态收敛与一致收敛。
在这之前,我们先来看一个重要的引理:一个广义绝对可积(这是一个相对而言比较弱的条件了)的函数乘上一个高频振荡的函数,当频率趋向无穷时必定趋向0。这就是Riemann-Lebesgue引理,我们要对于广义绝对可积的函数f(x)证明n→∞lim∫−ππf(x)cosnx dx=0(sinnx同理)。如果f是分片常数,那么我们把积分按照常数的片段来划分,每个片段的积分∫xkxk+1f(xk)cosnx dx=f(xk)∫xkxk+1cosnx dx=n1f(x)(sinnxk+1−sinnxk),三角函数的那一项一定是有界的,而对于f(x)的瑕点,我们单独用很小的区间把它抠出来,根据Riemann可积这些区间的总长度是能够任意小的,而余下的部分是一个有界的量除以n,因此当n充分大时一定趋向0。如果f不是分片常数,那么我们用分片常数来逼近f,我们令一个与f足够近的分片常数g来逼近,有∫−ππf(x)cosnx dx =∫−ππ[f(x)−g(x)]cosnx dx+∫−ππg(x)cosnx dx,我们已经证明了后者趋向0,前者根据我们的逼近也趋向0。
这个引理的一个直接推论是:如果f(x)在区间上是广义绝对可积的,傅里叶级数的系数an,bn在n→∞时一定会趋向0。类比于收敛的数项级数的通项必须趋向0,这一点其实是自然的。一般而言,一个函数越光滑,在傅里叶展开里系数就衰减地越快。假如f(x)有k阶连续导数,那么我们就可以对∫−ππf(x)cosnx dx做k次分部积分(dx与cosnx)结合。容易想像,每一次积分我们就会产生一个常数因子n1,因此最后我们得到的结果一定是o(nk1)的。越光滑的函数k越大,o(nk1)以越快的速度趋向0,迫使an,bn以更快的速度衰减。这种收敛受到n的压迫而变得与x无关了,所以事实上我们得到的是一致收敛。我们也可以证明,一个分段线性的函数的傅里叶系数的递减速率是o(n21)的。o(n21)递减的系数乘以三角函数,根据A-D判别法它一定是收敛的,因此它的傅里叶级数也就是一致收敛的了。
现在开始研究傅里叶级数的收敛性。我们记傅里叶级数的前n项和为Sn(x),我们希望它在n越来越大时越来越逼近f(x)。对于所有的an,bn,我们都可以用我们积分的计算式代入。由于所有积分都是对于区间[−π,π]的,我们把他们整理在一起,写作Sn(x)=π1∫−ππf(t)[21+k=1∑n(cosktcoskx+sinktsinkx)]dt,三角函数的部分根据和差角公式就等于cos(kt−kx),即cosk(x−t)。于是为了方便,我们做变量替换u=x−t(积分变量是t),得到Sn(x)=π1∫x−πx+πf(x−u)[21+k=1∑ncosku]du。如果f已经周期延拓到所有实数,cosku也是同样的周期函数,因此我们可以把积分的区间搬到一个更简单的[−π,π]上,这不会改变我们的结果。现在由于我们已经求得了k=1∑ncosku=−21+2sinu/2sin(n+1/2)u,代入可得Sn(x)=π1∫x−πx+πf(x−u)2sinu/2sin(n+1/2)udu。由于2sinu/2sin(n+1/2)u将会反复出现,我们把它记为Dn(u)。k=1∑ncosku=−21+Dn(u)。如果对这个式子两边同时在−π到π上积分,那么左侧一定为0,因此解得∫−ππDn(u)du=π。无论n取什么值,它的积分始终是定值。感受一下Dn(u)的函数图像总是有好处的,我们会发现当n很大时,这个函数高频振荡,并在u=0时趋向正无穷。所以对于Sn(x)=π1∫−ππf(x−u)Dn(u)du,我们抠出中间的一小段区间[−δ,δ],分解为Sn(x)=π1∫−δδf(x−u)Dn(u)du+π1δ≤∣u∣≤π∫f(x−u)Dn(u)du。对于后面这个积分,由于我们预先假设了an,bn的存在性,我们知道f(x−u)是广义绝对可积的,而在这个范围内Dn(u)的分母是一个有界的量,不会影响可积性,因此2sinu/2f(x−u)作为一个整体依然是绝对可积的,而sin(n+1/2)u是一个高频振荡的函数,我们根据Riemann-Lebesgue引理就知道这二者的乘积在有限区间上的积分在n→∞是会趋于0的。因此当n充分大时,实际上“成立”的是Sn(x)=π1∫−δδf(x−u)Dn(u)du,我们希望它能逼近f(x)。我们把它拆分成Sn(x)=π1∫0δf(x−u)Dn(u)du+π1∫−δ0f(x−u)Dn(u)du,后者变量替换为相反数得π1∫0δf(x+u)Dn(−u)du,而Dn是偶函数,综上得到Sn(x)=π1∫0δ[f(x−u)+f(x+u)]Dn(u)du。我们要证明n充分大时它收敛于f(x),也就是证明Sn(x)−f(x)=π1∫0δ[f(x−u)+f(x+u)]Dn(u)du−π2⋅f(x)∫0δDn(u)du =∫0δ[f(x−u)+f(x+u)−2f(x)]Dn(u)du收敛于0。代入Dn(u)本来的形式,得到π1∫0δ2f(x−u)−f(x)+f(x+u)−f(x)⋅sinu/2sin(n+1/2)udu。当然,如果f(x)处不连续,我们就把它拆为左极限与右极限。由于这两侧没有什么理由存在差异,我们只需要考虑其中一侧。也就是我们想知道f满足什么条件是成立∫0δsinu/2f(x+u)−f(x+)⋅sin(n+1/2)u du在n充分大时收敛于0(我们抛弃了常数)。那么再次根据Riemann-Legesgue引理,我们只需要保证sinu/2f(x+u)−f(x+)绝对可积即可。 我们知道sinu/2与u是同阶的,所以在讨论条件时把分母换成u也完全没有问题。所以我们最终得出了结论,只要∫0δuf(x+u)−f(x+) du这个积分是绝对收敛的,那么傅里叶级数点态收敛于f(x)(如果f在x点不连续,则收敛于2f(x+)+f(x−))。
所以当我们判别一个函数的傅里叶级数是否点态收敛到它自身的时候,可以通过证明∫0δuf(x+u)−f(x+) du绝对收敛来直接得到。为了让这个积分绝对收敛,我们只需让f(x+u)−f(x+)的阶数高于0,因为我们知道反常积分∫01xp1dx在p∈(0,1)时是收敛的。也即如果有∣f(x)−f(y)∣≤C∣x−y∣α,α∈(0,1),那我们就能推出傅里叶级数点态收敛。这是一种弱化了的“连续”, 称为Holder连续。我们还有一系列的推论,例如如果一个函数是分段可导的,那么每个点都分别存在左导数和右导数,左导数和右导数恰好就是uf(x+u)−f(x+)的极限,因此这个被积函数在δ足够小的时候能够成其为有界且连续函数,它一定可积,并且绝对可积(没有振荡),因此傅里叶级数点态收敛到自身。如果f是二阶连续可导的,那么显然它满足收敛到自身的条件,同时根据我们之前对收敛速率的讨论我们还知道它的傅里叶级数是一致收敛的,因此有结论“二阶连续可导函数的傅里叶级数一致收敛到它自身”。连续分段线性的函数也是同理。
这种收敛到自身的性质能帮助我们计算一些本来很困难的级数。比如如果我们对f(x)=x2做周期延拓求得其傅里叶级数3π2+n=1∑∞(−1)nn24cosnx,那么由于它收敛到自身,代入x=π就可以得到π2=3π2+n=1∑∞(−1)nn24(−1)n,即n=1∑∞n21=6π2。这就是著名的巴塞尔问题的答案。它是黎曼zeta函数ζ(k)=n=1∑∞n−k的一个特例,对于大多数偶数的k我们都可以用类似的方法求出答案。
连续函数的三角多项式逼近
逼近和展开是不一样的。我们已经看到连续函数可以用多项式逼近,但这个逼近并不是函数的Taylor展开。同样地,我们知道连续函数一定可以做傅里叶展开,因为它能满足绝对可积的要求,但单单保证连续并不能说明级数收敛于自身。Weierstrass第二逼近定理指出,任何一个2π周期的连续函数都能被一个形如傅里叶级数形式的“三角多项式”来逼近。这里的逼近是指∀ε>0,∃T s.t.[−π,π]max∣f(x)−T(x)∣<ε,这里的T(x)就是我们的三角多项式2a0+k=1∑n(ancosnx+bnsinnx)。具体的实现方法是,我们先用分段线性连续函数来逼近f,保证它们之间的距离不超过一个任意小,再由于分段线性函数的傅里叶级数是一致收敛到f本身的,它们之间的距离也不超过一个任意小。所以这个分段线性连续函数的傅里叶级数就是我们要找的三角多项式。事实上我们也能用这种方法来说明Weierstrass第一逼近定理,因为三角函数可以展开成幂级数(不需要到无穷),幂级数到三角函数的距离可以任意小,因此取极限我们就得到了一个收敛到自身的幂级数了。
傅里叶级数在内积空间上的收敛性
我们在研究傅里叶级数的点态收敛时得到,点态收敛的充分必要条件是∫0δ2f(x−u)−f(x−)+f(x+u)−f(x+)⋅sinu/2sin(n+1/2)udu收敛于0。因为这实在不是一个方便的“定理”,所以我们给出了一系列f的充分条件来使得这个积分能够收敛。这也反映出了关于傅里叶级数的点态收敛性,我们并不存在一个简洁的定理来判断。这是由于我们的看法和傅里叶级数本身契合得不好——我们定义了内积⟨f,g⟩=∫−ππf(x)g(x) dx,却非要在Euclid范数空间下看收敛性,这就是为什么一切都变得如此麻烦。一个自然的想法是,如果直接利用积分的内积形成的内积空间来定义范数空间,收敛性会再次变得简单。我们会看到的确如此。
还有一个小问题在于我们这样定义的内积不具有正定性, 因为一个只有若干瑕点非0的函数的平方积分也可以是0,因此其实我们省略了一个等价关系:如果两个函数积分为0那么他们等价,也即可以看作相等。
我们已经论证过傅里叶级数是向量在无穷维线性空间(内积空间)下的正交基上的分解。但这种分解是否是可能的是需要讨论的,我们只知道在有限维空间上这种分解是可行的。我们假设这组无穷维正交基是标准正交基{φi}。把向量f投影到由{φ1,⋯,φn}张成的子空间上形成f∗,这个子空间是有限的,我们在线性代数课上知道在φi上的分量大小就是⟨f,φi⟩,记为ci。我们沿用长度的度量∥f∥2=⟨f,f⟩。我们一定有∥f∥≥∥f∗∥(勾股定理),等价于∥f∥2≥i=1∑nci2。对于任何一个子空间上的向量g=i=1∑nxiφi,一定有∥f−g∥≥∥f−f∗∥,即⟨f−g,f−g⟩≥⟨f−f∗,f−f∗⟩。现在把它延拓到无穷的情形,对于∥f∥2≥i=1∑nci2,当n趋向无穷时,我们得到∥f∥2≥i=1∑∞ci2,这称为Bessel不等式。我们只知道不等号成立,但不能确定等号成立。
对于⟨f,g⟩=∫−ππf(x)g(x) dx定义的内积,我们容易把我们的正交函数族修改为标准正交的函数族:{2π1,πcosx,πsinx,πcos2x,πsin2x, ⋯,πcosnx,πsinnx}。f在基上的每个分量就是我们之前得出的傅里叶级数的系数an,bn,现在我们需要添加上这些修正后的常数,a0/2变为了2πa0,an变为了πan,bn变为了πbn。那么根据Bessel不等式,我们得到⟨f,f⟩≥i=1∑∞ci2,即∫−ππf2(x)dx≥2πa02+πn=1∑∞(an2+bn2)。
现在我们来论证最重要的事实:对于傅里叶级数来说,这个不等号实际上就是等号。也就是我们要证明π1∫−ππf2(x)dx=21a02+n=1∑∞(an2+bn2),这称为Parseval恒等式。这就证实了傅里叶级数确实可以在这组正交基下被正交分解,用这种方式来度量傅里叶级数确实是正确的方法:此时两个函数间“距离”的度量为d(f,g)=⟨f−g,f−g⟩=∫−ππ(f(x)−g(x))2dx。假如考虑傅里叶级数的前n项和Sn(x),那么当n→+∞时直接得到d(f,Sn)→0,而f仅仅需要满足的条件是可积性。这里的证明用到了Weierstrass的三角逼近,假设三角多项式g逼近f,记g的前n项为Sn∗(x),我们要证明∫−ππ(f(x)−Sn(x))2dx趋向0,可以把被积函数拆分为(f(x)−g(x)+g(x)−Sn∗(x)+Sn∗(x)−Sn(x))2,展开后交叉项用基本不等式放缩,它一定小于等于3(f(x)−g(x))2+3(g(x)−Sn∗(x))2+3(Sn∗(x)−Sn(x))2,前两项可以任意小,而对于第三项,g的前n项就是函数g本身的逼近,所以第三项可以看作g−f的逼近的前n项,一定也是无穷小。这样证明就结束了。由Parseval恒等式我们也可以导出一系列级数的收敛值。
如果对于f(x)+g(x)的平方运用Parseval恒等式,再把它与f(x)和g(x)的Parseval恒等式相减,就容易导出广义Parseval恒等式:π1∫−ππf(x)g(x)dx=21a0a0∗+n=1∑∞(anan∗+bnbn∗)。同样的,对于减法也是成立的。这意味着尽管Parseval恒等式只给出了范数的表达式,现在我们可以利用范数推出内积的表达式了。
Parseval恒等式的另一个重要推论是:如果有两个函数的傅里叶展开式完全相同(即每个系数都相同),那么这两个函数必定相等。因为我们知道在数学证明中相等这一事实等价于另一个函数等于0,所以我们要证的实际上是如果一个函数的傅里叶系数全为0,那么这个函数全为0。这个结论称为“三角函数的完备性”,它体现了如果在我们定义的内积意义下如果一个函数与所有“三角基向量”正交,那么它一定为0向量。根据Parseval恒等式这几乎是显然的:如果系数全为0,那么21a02+n=1∑∞(an2+bn2)=0,于是π1∫−ππf2(x)dx=0,这只能要求f恒为0(加上了瑕点的等价关系以后)。它还有一个更简单的推论:如果一个连续函数的傅里叶级数一致收敛,那么它一定一致收敛于它本身!因为如果我们把级数看作另一个函数,这个函数做傅里叶展开就是它本身,因此它和给定的函数有着相同的傅里叶展开,根据上面的推论这个函数必须等于给定的函数本身,也就是它收敛到本身。
遗憾的是,在内积空间上的收敛甚至推不出点态收敛。但这种推不出并不是相差悬殊的,可以证明只需要对函数做出一点点修正我们就能再次保证点态收敛甚至一致收敛。