python计算泰勒级数 如何求泰勒级数

您所在的位置:网站首页 python求泰勒展开 python计算泰勒级数 如何求泰勒级数

python计算泰勒级数 如何求泰勒级数

2024-04-17 07:24| 来源: 网络整理| 查看: 265

一些非线性规划过程与方法利用了目标函数与等式、不等式约束为线性或二次近似这个策略,即f(x),ai(x),cj(x)为线性或二次近似,这样的近似通过使用泰勒级数就能得到。如果f(x)是两个变量x1,x2的函数,使得f(x)∈CP,其中P→∞,即f(x)有任意阶的连续偏导数,那么函数f(x)在[x1+δ1,x2+δ2]上的函数值由泰勒级数可得

f(x1+δ1,x2+δ2)=f(x1,x2)+∂f∂x1δ1+∂f∂x2δ2+12(∂2f∂x21δ21+2∂2f∂x1∂x2δ1δ2+∂2f∂x22δ22)+O(∥δ∥3)

其中

δ=[δ1 δ2]T

O(∥δ∥3)是余项,∥δ∥是δ的欧几里得范数

∥δ=δTδ‾‾‾‾√

符号ϕ(x)=O(x)表示当x趋近零时,ϕ(x)至少与x趋近零的速度一样快,即存在常数K≥0使得

∣∣∣ϕ(x)x∣∣∣≤Kasx→0

其实余项也可以表示成o(∥δ∥2)其中符号phi(x)=o(x) 表示当x接近零时,ϕ(x)接近零的属于比x要快,即

∣∣∣ϕ(x)x∣∣∣→0as x→0

如果f(x)是n个变量的函数,那么f(x)在点[x1+δ1,x2+δ2,…]上的泰勒级数为

f(x1+δ1,x2+δ2,…)=f(x1,x2,…)+∑i=1n∂f∂xiδi+12∑i=1n∑j=1nδi∂2f∂xi∂xjδj+o(∥δ∥2)

用矩阵符号表示为:

f(x+δ)=f(x)+g(x)Tδ+12δTH(x)δ+o(∥δ∥2)

其中g(x)是点x处的梯度,H(x)

当∥δ∥→0时,可以忽略二阶或更高阶的项,这时候就得到f(x+δ)的线性近似

f(x+δ)≈f(x)+g(x)Tδ

同样的,f(x+δ)的二次近似为

f(x+δ)≈f(x)+g(x)Tδ+12δTH(x)δ

泰勒级数还有另一种形式,包含余项

f(x+δ)=f(x)+∑1≤k1+k2+⋯+kn≤P∂k1+k2+⋯+knf(x)∂xk11∂xk22⋯∂xknn∏i=1nδkiiki!+∑k1+k2+⋯+kn=P+1∂P+1f(x+αδ)∂xk1i∂xk22⋯∂xknn∏i=1nδkiiki!

其中0≤α≤1且

∑1≤k1+k2+⋯+kn≤P∂k1+k2+⋯+knf(x)∂xk11∂xk22⋯∂xknn∏i=1nδkiiki!

所有k1,k2,…,kn可能组合的求和,这个泰勒级数的表示是最一般的,因此可以得到f(x+δ)的三次和更高次近似,进一步,还可以用来求线性,二次,三次或更高次的精确封闭形式表达式。如果f(x)∈C1且P=0,那么我们得到

f(x+δ)=f(x)+g(x+αδ)Tδ

如果f(x)∈C2,P=1,那么

f(x+δ)=f(x)+g(x)Tδ+12δTH(x+αδ)δ

其中0≤α≤1,上面那个等式我们通常称为微分中值定理。

通过重组泰勒级数,我们可以得到下面的形式:

f(x+δ=f(x)+g(x)Tδ+12δTH(x)δ+13!D3f(x)+⋯+1(r−1)!Dr−1f(x)+⋯

其中

Drf(x)=∑i1=1n∑i2=1n⋯∑ir=1n{δi1δi2⋯δir∂rf(x)∂xi1∂xi2⋯∂xir}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3