盈不足术

来自testwiki
imported>Kethyga2023年5月3日 (三) 07:32的版本 历史:​ // Edit via Wikiplus)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

盈不足术中国古代数学的一种算術方法。西漢成書的算学经典《九章算術》的第七章即名为“盈不足”。狭义的盈不足术指典型的盈亏问题的算法。广义的盈不足术则指透過双假设法将其他数学问题转化为盈亏问题、再用机械化算法求解的方法。[1][2]

典型盈亏问题

《九章算数》原文 解释 抽象算法 具体代入
今有共买鸡 一群人一起买鸡
人出九,盈十一 每人出 9 块,合起来多出 11 块 记每人出的钱为 a1,多出的钱为 b1 a1=9b1=11
人出六,不足十六 每人出 6 块,合起来差 16 块 记每人出的钱为 a2,差的钱为 b2 a2=6b2=16
问︰人数、鸡价各几何? 人数和鸡的总价分别是多少?
盈不足術曰 “盈不足術”的算法如下
置所出率,盈、不足各居其下 写出每人出了多少钱,把多出和差的钱分别对应地写在其下 a1a2
b1b2
96
1116
令維乘所出率,并以為實 交叉相乘,再相加,作为被除数(“实”) a1b2+a2b1 9×16+6×11=210
并盈、不足為法 把多出和差的钱加起来,作为除数(“法”) b1+b2 16+11=27
實如法而一 被除数除以除数
(所得即为不盈不亏时的条件)
x=a1b2+a2b1b1+b2 x=21027=7+79
盈不足相與同其買物者,置所出率,以少減多,餘 写出多出时和不足时每人两次分别出了多少钱,用大数减去小数,得到“余” |a1a2| |96|=3
以约法、实

实为物价,法为人数

“余”除“实”,得到物价
“余”除“法”得到人数
p=a1b2+a2b1|a1a2|
q=b1+b2|a1a2|
p=2103=70
q=273=9
答曰:九人,鸡价七十 共有 9 个人,总价为 70 块

证明

刘徽在为《九章算术》作注时,利用齐同原理对盈不足术进行了证明:“盈朒維乘兩設者,欲為同齊之意。……齊其假令,同其盈朒……通計齊則不盈不朒之正數,故可並之為實,並盈、不足為法。”[3]Template:Rp

刘徽指出,交叉相乘的意义是使其“同齐”。每人所出为 a1时,盈 b1,那么总价变为 b2倍、每人所出变为 a1b2时,盈 b1b2。每人所出为 a2时,不足 b2,那么总价变为 b1倍、每人所出变为 a2b1时,不足 b1b2。这样就“同其盈朒”,两者相加则盈亏相抵,就“不盈不朒”,此时总价为 b1+b2倍,每人所出为 a1b2+a2b1,相除即得到总价不变时每人所出的钱。

双假设法

除盈亏类问题,《九章算术》还通过双假设法,将其他算术问题转化、套入盈亏类问题的算法模型,进行求解。如:

《九章算数》原文 解释 抽象算法 具体代入
今有醇酒一,直錢五十;行酒一斗,直錢一十 好酒每斗 50 块,劣酒每斗 10 块
今將錢三十,得酒二斗 现在花了 30 块,买了 2 斗酒
問︰醇、行酒各得幾何? 买了多少斗好酒、多少斗劣酒?
術曰:假令醇酒五,行酒一斗五升,有餘一十 假设买了 0.5 好酒、1.5 斗劣酒,则多花了 10 块 a1,计算得 b1 a1=0.5
b1=50×0.5+10×(20.5)30=10
令之醇酒二升,行酒一斗八升,不足二 假设买了 0.2 斗好酒、1.8 斗劣酒,则少花了 2 块 a2,计算得 b2 a2=0.2
b2=30[50×0.2+10×(20.2)]=2
(使用盈不足术,求出不盈不亏时的条件) x=a1b2+a2b1b1+b2 x=0.5×2+0.2×1010+2=0.25
20.25=1.75
答曰:醇酒二升半,行酒一斗七升半 好酒 0.25 斗,劣酒 1.75 斗

该问题本属于鸡兔同笼,而通过两次假设可以将其转化为盈亏类问题,再用盈不足术求解。

非线性问题

盈不足术实际上是一种线性插值法;对于非线性的问题,所求出的只是其近似值。《九章算术》和刘徽都没有意识到这一点。[3]Template:Rp如:

《九章算数》原文 解释 抽象算法 具体代入
今有蒲生一日,長三尺;莞生一日,長一尺
蒲生日自半;莞生日自倍
蒲草第一天长 3 ,之后每天的生长速度为前一天的一半;
莞草第一天长 1 尺,之后每天的生长速度为前一天的兩倍
問︰幾何日而長等? 何时蒲草和莞草一样长?
術曰:假令二日,不足一尺五 假设长了 2 天,则莞草还差 1.5 尺 a1,计算得 b1 a1=2
b1=(3+1.5)(1+2)=1.5
令之三日,有餘一尺七寸半 假设长了 3 天,则莞草长了 1.75 尺 a2,计算得 b2 a2=3b2=(1+2+4)(3+1.5+0.75)=1.75
(使用盈不足术,求出不盈不亏时的条件) x=a1b2+a2b1b1+b2 x=2×1.75+3×1.51.5+1.75=2+613
答曰:二日、十三分日之六 当长了 2+613 天时
各長四尺八寸、十三分寸之六。 等长为4尺、八又十三分之六寸
点 K 为函数 f(x)的根。点 A、B 为通过假设得出的盈、不足的情况,过两点作直线,直线的根即近似值 K'。

Template:Clear 实际上该问题是非线性的。根据等比数列求和公式,可以将莞草与蒲草的长度差表示为:

f(x)=1×(12x)123×(10.5x)10.5=2x+62x7

所求即为 f(x)正数。解得 x=log26=1+log3log2

而使用盈不足术所求出的答案实为近似值。两者关系见右图。

这种利用双假设法加盈不足术来求解一些复杂方程的根的近似值的方法,在现在的高等数学中被应用于线性插值近似法割线法

历史

中国最早的数学书《算数书》中,就有通过盈不足术计算面积为一亩的正方形田地的边长的记载。[4]《九章算术》第七章“盈不足”,则是对双假设法最早的详细说明。[5]Template:Rp

伊斯兰黄金时代的阿拉伯数学家也大量研究了双假设法。Template:Link-en著有《双假设法之书》(Template:Lang)。Template:Link-en采用欧式几何的方法,第一次对双假设法给出了几何证明。[5]Template:Rp

中世纪欧洲数学家斐波那契在《Template:Link-en》的第十三章中讨论了双假设法。他明确承认该方法来自阿拉伯数学,并称之为 Template:Lang,即来自阿拉伯语Template:Lang[6]代数符号尚未普及的时代,这种万能算法在欧洲流传甚广,兴盛一时。[5]Template:Rp

明朝时,中国传统数学已经衰落,《九章算术》近乎失传,盈不足术不为人所知。利玛窦李之藻克里斯托弗·克拉维乌斯的《实用算术概论》(Template:Lang)编译为《同文算指》,将其中的双假设法称为“叠借互征法”。[5]Template:Rp

钱宝琮最早提出,阿拉伯数学中的双假设法来自中国的盈不足术,Template:Lang 即与“契丹”有关。[7]李约瑟也认为有此种可能性。[8]这种说法已被中国数学史界广泛接受;但也有学者认为,中国盈不足术是欧洲双假设法的源头的说法仍然缺乏令人信服的证据支持。[5]Template:Rp

参考文献

Template:Reflist

Template:Portal box

Template:中国数学史