泰勒级数
泰勒多项式
用来求解f(x)某一点附近的近似函数g(x),f(x)是一些不太好求值的函数,g(x)则是比较好计算的函数。例如: $$ cos(x_0)在x_0=0时的泰勒多项式可以是g(x)=1-\frac12 x^2,或 g(x)=1-\frac12 x^2+\frac1{24}x^4 $$
这样可以计算函数的近似值,一般幂次越高,精确度越高。
\(1-\frac12x^2\)
\(1-\frac12x^2+\frac1{24}x^4\)
在这个点\(x_0\)附近时的g(x)时比较"贴合"原函数的,称为收敛;
如果离得远了,就会远离原函数,称为发散。
我们称收敛的最大范围为收敛半径。
泰勒级数
将g(x)的函数幂次拓展到无穷大,那么g(x)的值就称为泰勒级数
\[G(x)=\sum_{n=0}^\infty g(x,n)= \sum_{n=0}^{\infty}\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n=f(x_0)+f'(x_0)(x-x_0)+\frac {f''(x_0)}{2!}(x-x_0)^2+...+ \frac{f^{(n)}(x_0)}{n!}(x-x_0)^n+...\]
\[ \frac{f^{(n)}(x_0)}{n!}(x-x_0)^n 就是G(x)中的第n项g(x,n)\]
应用
cmath pow
用这种方法可以将复杂度降至O(1)
通过以下代码
pow(b,n)=exp(n*log(b));//log(b)=lnb
就是\(b^n=e^{n* lnb}\)来优化,因为exp和log的复杂度可以通过泰勒展开求出他们在每个点附近的低阶近似函数,通过查表的方式O(1)获取函数值。
例如:
$$1.e^x,在x=0处展开 \f(x)=e^x ,则\g(0,n)=x^{n}\ \therefore G(x)=\sum_{n=0}^\infty x^{n}=1+x+x^2+x^3+...+x^n+...\ 2.lnx \f(x)=lnx,在x=1处展开\ G(x)=(x-1)-\frac12(x-1)^2+\frac13(x-1)^3-\frac14(x-1)^4+\frac15(x-1)^5+...\
$$
0.999...=1
直接计算
\[\frac19=0.111...
\\
9 * \frac19=0.999...
\\
9 * \frac19=1
\\
\therefore 0.999...=1
$$
## 设数
$$x=0.999...\\
10 * x=9.999...
\\10 * x-1 * x=9 * x=9
\\x=1
\\\therefore 0.999...=1
$$
## 极限
$$
0.999...=\lim_{n\to\infty}1-\frac1{10^n}\\
\lim_{n\to\infty}\frac1{10^n}=0
\\\therefore0.999...=1
\]
然而,这些都不够严谨
戴德金分割(Dedekind)
\[
设 t=0.999......,作两个有理数集的分割
\\
A={ [x|x<t,x有理数 ]},B={[x|x>=t,x有理数]}
\\
C={[x|x<1,x有理数]},D={[x|x>=1,x有理数]}
\\
分割A/B确定了实数t=0.999......(我们暂时不知道t=0.999...是有理数还是无理数)
\\
分割C/D确定了有理数1
\\
为证明 t=1,我们只需要证明这两个分割是相同的,即证明 A=C
\\
若有理数 x∈A,则显然有 x<1,于是 x∈C
\\
若有理数 x∈C,则 x<1,不妨设 x>0
\\
根据有理数的定义,我们可以把x用分数的形式表示为
\\
x=\frac pq,(p,q为正整数)
\\
既然0<x<1,则必有p< q
\\
于是由1-\frac pq>=\frac 1q>0,可得存在正整数n(\frac{p+1}q<=1 可以证明,因为p,q都是正整数),使得
\\
\frac 1q>\frac1{10^n}>0(x是确定的数,则q存在,则比它高阶的n一定存在,不用纠结无穷大的事)
\\
x=\frac pq<=1-\frac 1q<1-\frac1{10^n}=0.99...9(n个9)< t
\\
既然x<t,这就说明x∈A
\\
由上,我们就得到了A=C,从而,A/B和C/D是两个相同的分割,因此, 0.999...=t=1
\]
Orz