求一术与插值多项式


一、求一术

所谓求一术,即是一般所称的中国剩余定理,指的是解一次同余式的问题,例如:

今有物不知其数,三三数之賸二,五五数之賸三,七七数之賸二,问物几何?

这样的问题首先出现在《孙子算经》一书中。一般这个问题就称为「孙子问题」,这种问题在民间流传颇广,通常有「秦王暗点兵」、「韩信点兵」、「翦管术」、「鬼谷算」等称法。

孙子问题即是「求一数 \(N\),除以 \(3\) 余 \(2\),除以 \(5\) 余 \(3\),除以 \(7\) 余 \(2\)」,这个问题不仅是一个提昇读者兴趣的题目,它和古代曆法的推算有密切的关係。我们用 \(N\equiv r_i(\bmod~m_i)\) 符号代表 \(N\) 用 \(m_i\) 去除余 \(r_i\),例如 \(N\equiv 2(\bmod~3)\) 表示一数 \(N\) 除以 \(3\) 余 \(2\),因此这类问题即是解下列的联利一次同余式:

\(\left\{ \begin{array}{l} N \equiv {r_1}(\bmod {m_1})\\ N \equiv {r_2}(\bmod {m_2})\\ N \equiv {r_3}(\bmod {m_3})\\ \vdots \\ N \equiv {r_n}(\bmod {m_n}) \end{array} \right.\)

这个问题要解决,可以考虑先求除以个数后余 \(1\) 的情况,即求下列式子中的 \(k_i\):

\(\displaystyle k_i\frac{M}{m_i}\equiv 1(\bmod~m_i)\),其中 \(M=m_1\cdot m_2 \cdot … \cdot m_n,~i=1,2,3,…,n\)

当求出 \(k_i\) 之后,所求 \(\displaystyle{N}= ({r_1}{k_1}\frac{M}{{{m_1}}} + {r_2}{k_2}\frac{M}{{{m_2}}} + … + {r_n}{k_n}\frac{M}{{{m_n}}}) + tM\)。

当 \(m_i\) 简单如 \(3, 5, 7\),轻易可以推测出 \(k_i\);中国南宋时期,秦九韶 (1202-1261) 在他的着作《數书九章》(1247) 中,将此问题推广到任意的除數(非兩兩互质)及余數。至于此求解的方法,就称为「大衍总數术」,是先将除數化为兩兩互质,再用「大衍求一术」去求解,对相关的理論和算法,作了集大成的工作。

二、插值多项式与求一术

99数学课纲在第一册多项式的教材中,以插值多项式的概念作为多项式除法的一个应用。然而学生在学习此单元时,通常不知学习目的何在,或是很难赋予插值多项式意义,尤其是拉格朗日插值多项式,对学生而言,简直是天外飞来一笔,通常只能告记忆的方式勉强背诵。

课纲中所要强调的多项式的应用:「多项式被用来逼近一般函数,并用来求一般函数的近似值」。学生在学习插值多项式时,必须先「知道」这一点,至少必须知道,在此的多项式,是用来求一般函数得近似值的。接着学生必须理解所谓的「插值多项式」,就是利用已知的几个数据点,来逼近函数的多项式。

针对插值多项式的学习,笔者尝试利用中国的求一术设计一连串的例题与演练,利用问题设计的引导,一步步引导学生了解插值多项式的意涵,并类比求一术中将数字以余数问题返回推被除数的方法,来看拉格朗日插值多项式的假设方法,期望藉此能更轻易地、合理地接受与学习拉格朗日插值多项式。

例题1. 已知多项式,求近似值

设 \(f(x) = {x^3} – 5{x^2} + 6x + 3\),

例题2. 已知多项式的两点,求近似值

例题3. 已知多项式的三点,求近似值

例题4. 求一术(中国剩余定理)

已知一数 \(n\) 被 \(3\) 除余 \(2\), 被 \(5\) 除余 \(3\),被 \(7\) 除余 \(2\),则此数 \(n\) 为何?

解:先分别找除以 \(3\) 余 \(1\)、除以 \(5\) 余 \(1\)、除以 \(7\) 余 \(1\) 的数:

       除数被除数3572*5*75与7的公倍数,被3除余15与7的公倍数,被5除余05与7的公倍数,被7除
余03*73与7的公倍数,被3除余03与7的公倍数,被5除余13与7的公倍数,被7除
余03*53与5的公倍数,被3除余03与5的公倍数,被5除余03与5的公倍数,被7除
余1

被 \(3\) 除余 \(2\),所以取 \(2\times \underline{2\times 5\times 7}\);被 \(5\) 除余 \(3\),所以取 \(3\times \underline{3\times 7}\),被 \(7\) 除余 \(2\),所以取  \(2\times \underline{3\times 5}\),

因此 \(n=2\times \underline{2\times 5\times 7}+3\times \underline{3\times 7}+2\times \underline{3\times 5}=\underline{233}\)

\(n\) 最小为 \(\underline{233}\)

例题5. 已知函数三点,求近似值

解:\(g(x)\) 的假设方法:

       除式多项式(x-1)(x-2)(x-3)(x-2)(x-3)(x-2)与(x-3)的公倍式,被(x-1)除余1(x-2)与(x-3)的公倍式,被(x-2)除余0(x-2)与(x-3)的公倍式,被(x-3)除余0(x-1)与(x-3)的公倍式,被(x-1)除余0(x-1)与(x-3)的公倍式,被(x-2)除余1(x-1)与(x-3)的公倍式,被(x-3)除余0(x-1)与(x-2)的公倍式,被(x-1)除余0(x-1)与(x-2)的公倍式,被(x-2)除余0(x-1)与(x-2)的公倍式,被(x-3)除余1

被 \((x-1)\) 除余 \(5\),所以取 \(5\times\underline{~~~~~~}\)

被 \((x-2)\) 除余 \(3\),所以取 \(3\times\underline{~~~~~~}\)

被 \((x-3)\) 除余 \(3\),所以取 \(3\times\underline{~~~~~~}\)

故取 \(g(x)=5\times\underline{~~~~~~}+3\times\underline{~~~~~~}+3\times\underline{~~~~~~}\)

    若一函数连续 \(f(x)\), 已知 \(f(1)=5, f(2)=3, f(3)=3\),求 \(f(1.1)\) 的近似值。

参考文献