Root test & Ratio test

本文探讨了几何级数的概念及其求和公式,并介绍了两种用于判断级数敛散性的方法——根式判别法和比式判别法,通过具体的数学推导说明了这两种方法的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

几何级数(Geometric Series/Geometric Progression)

Root test与Ratio test都依赖于几何级数求和理论,因此这里先讨论该理论。

在数学上,几何级数,也就是几何序列,该序列有以下形式

$a , ar, ar^2, ar^3, ar^4,…,ar^n \qquad for \  r\neq 0 $

$r$称为公比(common ratio)。

 

几何级数求和

把该序列的所有项相加,得

$\displaystyle{S_n =  \sum_{k = 0}^{n}ar^{k} = a+ar+ar^2+\cdot\cdot\cdot+ar^n }$

和式$S_n$与公比$r$相乘,得到

$\displaystyle{ rS_n = \sum_{k = 0}^{n}ar^{k+1} = ar+ar^2+ar^3+\cdot\cdot\cdot+ar^n+ar^{n+1} }$

因此和式有一个简便计算方法

$\displaystyle{ S_n = \frac{S_n – rS_n}{1-r} = \frac{a-ar^{n+1}}{1-r} }$

 

无穷几何级数求和

当$n\to\infty$时,

如果$|r|<1$,

$\displaystyle{\lim_{ n\to\infty } S_n = \frac{a}{1-r} }$

此时$S_n$收敛(converge)

否则$S_n$趋于无穷,即发散(diverge)

 

 

根式判别法(Root test)

这里有必要细解释一下limsup这个符号,limsup,liminf分别是一个序列处于极限处的上下边界(In mathematics, the limit inferior and limit superior of a sequence can be thought of as limiting (i.e., eventual and extreme) bounds on the sequence.)

按照上述定义,$\bar{l} = \displaystyle{ \limsup_{n\to\infty}x_n }$可以解释为序列$x_n$中存在一个足够大的自然数$N$,对于所有$n>N$,都有上界$\bar{l}$。(请看wiki/Limsup and Liminf /The case of sequences of real numbers部分)

 

定义

有一个级数$\displaystyle{ \sum_{n = 1}^{\infty} a_n }$,该级数可以是实数或者复数,该级数是收敛或者发散,取决于

$l = \displaystyle{ \limsup_{n\to\infty}|a_n|^{1/n} }$

如果$l>1$,那么该级数发散

如果$l<1$,那么该级数收敛

 

证明

当$l < 1$,则存在实数$\epsilon > 0$使得$l + \epsilon < 1$,即

$\displaystyle{ \limsup_{n\to\infty}|a_n|^{1/n} < l+\epsilon < 1}$

$\displaystyle{ \limsup_{n\to\infty}|a_n| < (l+\epsilon)^n<1 }$

根据$limsup$的定义知道,存在一个足够大的自然数$N$,使得序列$|a_n|$有小于$(l+\epsilon)^n$的上界;

又由于$l+\epsilon < 1$,根据几何级数求和理论得知,$\displaystyle{ \sum_{n=1}^{\infty}(l+\epsilon)^n }$收敛。

因此:存在一个足够大的自然数$N$使得所有的$n>N$,都有$\displaystyle{\sum_{n = N}^{\infty}|a_n|}$收敛,所以$\displaystyle{\sum_{n = 1}^{\infty}|a_n|}$以及$\displaystyle{\sum_{n = 1}^{\infty}a_n}$同样也收敛。

 

 当$l > 1$,则存在实数$\epsilon > 0$使得$l - \epsilon > 1$,即

$\displaystyle{ \limsup_{n\to\infty}|a_n|^{1/n} > l-\epsilon > 1}$

$\displaystyle{ \limsup_{n\to\infty}|a_n| > (l-\epsilon)^n>1 }$

根据$limsup$的定义知道,存在一个足够大的自然数$N$,使得序列$|a_n|$都大于$(l-\epsilon)^n$,即

$\displaystyle{\lim_{n\to\infty}|a_n| > 1}$

而一个收敛序列在$n\to\infty$处的项应该有$a_n\to \infty$,即

令$s = \displaystyle{\sum_{n=1}^{\infty}a_n }$,那么$s_N = \displaystyle{\sum_{n=1}^{N}a_n }\to s \ as\ N\to\infty$,同样地有$s_{N-1} \to s \ as\ N\to\infty$

因此

$a_N=\displaystyle{ \sum_{n=1}^N a_n – \sum_{n=1}^{N-1}a_n=s_N-s_{N-1} \to s-s = 0 \ as \ N\to\infty  }$

这就与上述结果相悖了,因此当$l>1$时,级数发散。

 

 

比式判别法(Ratio test)

定义

有一个级数$\displaystyle{ \sum_{n = 1}^{\infty} a_n }$,该级数可以是实数或者复数,该级数是收敛或者发散,取决于

$l = \displaystyle{ \limsup_{n\to\infty}\left|\frac{a_{n+1}}{a_n}\right| }$

如果$l>1$,那么该级数发散

如果$l<1$,那么该级数收敛

 

证明

当$l < 1$,则存在实数$\epsilon > 0$使得$l + \epsilon < 1$,因此

$\displaystyle{ \limsup_{n\to\infty}\left|\frac{a_{n+1}}{a_n}\right | < l+\epsilon}$

也就是说存在一个足够大的自然数$N$,对于所有的$n>N$,都有

$\displaystyle{\left|\frac{a_{n+1}}{a_n}\right | < l+\epsilon }$

因此,

$|a_n| = \left|\frac{a_n}{a_{n-1}}\right|\left|\frac{a_{n-1}}{a_{n-2}}\right|\cdot\cdot\cdot\left|\frac{a_{N+2}}{a_{N+1}}\right| |a_{N+1}| < (l+\epsilon)^{n-N-1}|a_{N+1}|$

根据无穷几何级数求和理论,$\displaystyle{ \sum_{n=1}^{\infty}(l+\epsilon)^n }$收敛。

因此:存在一个足够大的自然数$N$使得所有的$n>N$,都有$\displaystyle{\sum_{n = N}^{\infty}|a_n|}$收敛,所以$\displaystyle{\sum_{n = 1}^{\infty}|a_n|}$以及$\displaystyle{\sum_{n = 1}^{\infty}a_n}$同样也收敛。

 

当$l>1$,则存在实数$\epsilon > 0$使得$l - \epsilon >1$

那么,存在一个足够大的自然数$N$,对于所有的$n>N$,都有

$\displaystyle{\left|\frac{a_{n+1}}{a_n}\right | > l-\epsilon}$

因此,

$|a_n| = \left|\frac{a_n}{a_{n-1}}\right|\left|\frac{a_{n-1}}{a_{n-2}}\right|\cdot\cdot\cdot\left|\frac{a_{N+2}}{a_{N+1}}\right| |a_{N+1}| > (l-\epsilon)^{n-N-1}|a_{N+1}|$

当$n\to\infty$时,$(l-\epsilon)^{n-N-1}|a_{N+1}|\to\infty$,而级数收敛需要$a_n \to 0\ as\  n\to\infty$,因此级数发散。

 

项目新建**.ipynb文件 ,独立实现下列python3程序&mdash;&mdash;读取housing数据集,并进行基于Pandas数据分析 Ipynb文件在主体程序中的部分代码如下: #获取数据 #导入python scikit, pandas, numpy等模块 # Python &ge;3.5 is required import sys assert sys.version_info &gt;= (3, 5) Scikit-Learn &ge;0.20 is required import sklearn assert sklearn.__version__ &gt;= &quot;0.20&quot; import pandas as pd # 主要的导入模块 import numpy as np import os import tarfile import urllib.request # 导入画图的模块,为后面的画图做准备 %matplotlib inline import matplotlib as mpl import matplotlib.pyplot as plt mpl.rc(&#39;axes&#39;, labelsize=14) mpl.rc(&#39;xtick&#39;, labelsize=12) mpl.rc(&#39;ytick&#39;, labelsize=12) # 定义如何在本地目录里保存figure PROJECT_ROOT_DIR = &quot;.&quot; CHAPTER_ID = &quot;end_to_end_project&quot; IMAGES_PATH = os.path.join(PROJECT_ROOT_DIR, &quot;images&quot;, CHAPTER_ID) os.makedirs(IMAGES_PATH, exist_ok=True) def save_fig(fig_id, tight_layout=True, fig_extension=&quot;png&quot;, resolution=300): path = os.path.join(IMAGES_PATH, fig_id + &quot;.&quot; + fig_extension) print(&quot;Saving figure&quot;, fig_id) if tight_layout: plt.tight_layout() plt.savefig(path, format=fig_extension, dpi=resolution) # 利用pd的readexcel,read_csv读取DataFrame数据结构,存入housing中 housing=#此处填入利用read_csv读取所在硬盘上的housing_csv文件 #添加代码,利用pd.head(),tail()函数在屏幕上显示出数据表前5行的数据,和倒数5列的数据, #添加代码,利用pandas的info(),describe()函数展示数据表的详情。 %matplotlib inline import matplotlib.pyplot as plt #这里需要加入代码,利用hist()函数显示并保存列属性的直方图 save_fig(&quot;attribute_histogram_plots&quot;) plt.show() #下列自定义函数split_train_test用于划分训练集和测试集,其中test_ratio是划分比例 import numpy as np #导入numpy def split_train_test(data, test_ratio): #定义split_train_test函数 shuffled_indices = np.random.permutation(len(data)) #随机生成data数据的索引 test_set_size = int(len(data) * test_ratio)#根据测试数据的占比,计算测试集的尺寸 #shuffleded_indices数组中从0到test_set_size-1的存放的test_set随机data索引 test_indices = shuffled_indices[:test_set_size] #shuffleded_indices数组中从test_set_size到len(data)-1的存放的train_set随机的data索引 train_indices = shuffled_indices[test_set_size:] #根据随机索引号test_indices和train_indices通过iloc函数获取测试集test_set和训练集train_set return data.iloc[tra
03-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值