筹算

筹算（Rod calculus）是汉字文化圈古代使用算筹进行十进位制计算的程序。
历史.
筹算具体出现时间已然不可考，但根据典籍记录和考古发现，至少在战国初年筹算已然出现。它使用中国商代发明的十进位制计数，可以很方便地进行四则运算以及乘方，开方等较复杂运算，并可以对零、负数和分数作出表示与计算。
筹算在公元6世纪由中国传入-{zh-cn:朝鲜半岛; zh-sg:韩国; zh-hant:韩国;}-和日本。七世纪的印度数学，分数中的分子在上，分母在下，与中国同，分数的乘除法也和《九章算术》相同。古印度数学绝大部分来自中国。。一直到被珠算完全取代之前，筹算是东亚古代进行日常计算的方法，算筹是东亚古代数学家研究数学时常用的计算器具，是东亚古代各种重要数学发明的基础，开创了中国以至东亚古代以计算为中心的机械化数学体系，与古希腊以逻辑推理为中心的数学体系有所不同；机械化的数学体系是一千多年世界数学的主流
影响.
筹算的乘除法传入印度，成为土盘算法。9世纪初至10世纪，又经印度传入阿拉伯,这时期的阿拉伯阐述印度数学的数学著作，诸如《印度算术原理》，其土盘算式虽然用阿拉伯数字表示，但其十进位制概念，分数的表示法，以及加、减、乘、除四则运算的计算方法，和中国的筹算雷同，有的还用空格“”表示“0”，和筹算一模一样。有学者认为，中国古代的筹算，通过丝绸之路传入印度、阿拉伯，促成印度－阿拉伯数字体系。
数字表示.
算筹数系是世界上唯一只用一个符号的方向和位置的组合，表示任何十进位数字或分数的系统。
单位数字：将筹棍竖排一根棍表示1，两根棍表示2，5根棍表示5如图上。但从6至9数字的表示，不是并排6至9根筹棍，而是采用同位五进制，即用一根筹棍代表数码5，横放在筹数1至4的上方如图。这已蕴含算盘雏形。上排是筹算中1至9的竖码，下排是相应数字的横码。
大于9的数字，则用十进制表示，在个位数的位置左边，放置一个筹数，代表这个筹数的十倍，在十位数值左的位置，代表百位数，如此类推。如图所示数二百三十一（231）的表示法，在个位放置一根筹码，表示1，在十位放置筹数3，代表30，在百位放置筹数2，代表200，总数即二百三十一（231）。《孙子算经》云：
筹算板一般是桌面或地面，通常没有格子。如果筹码2，3，1并排排列，有可能被误读为51或24；为了避免邻位误读，每隔一位交替使用竖码横码，即个位竖码，十位用横码，百位用竖码，千位用横码，如此类推，就可以完全避免误读了。
零的表示.
中国自有筹算起就有“0”，即以空位表示“0”。筹算中的零是位置零和运算结果的零，没有特定符号，这和阿拉伯数字专有一个符号0不同，
正负数.
宋代数学家用红色筹码代表正数，用黑色筹码代表负数，也有一律用黑色筹码，但在数字最后一位加一根斜棍标示为负数。
小数.
孙子算经的度量衡已有十进位制概念，如尺、寸、分、厘、毫、丝、忽。七丈一尺二寸三分四厘五毫六丝，用现代表示方法为71.23456尺，用算筹排为
其中，，。
南宋秦九韶在《数书九章》中将小数推广到非度量衡，如
表示为：
即在个位数1下记一“日”字。
加法.
算筹本身已经包含加法，因此用算筹进行加法运算十分方便快捷。筹算加法与阿拉伯数字加法最大的不同，在于算筹本身具有可加性，用算筹进行加法运算，只须机械地搬动筹棍，即可进行运算，不需要另外背诵加法表，这与阿拉伯数字不同，不可能将阿拉伯数字1和2机械地叠成3字，2和3叠成一个5字。
左图表示formula_1的运筹步骤：
上行被加数筹码，在运算过程中逐步变化；下行加数筹码，在运算过程中逐步消失。
减法.
不需向上一数量级借位的情况下，只要从被减数中去掉与减数相同数目的筹棍，剩余的筹码就是答案。左图为计算54-23的演示步骤。
右图为计算4231-789的演示步骤，此情况即为需要向上一数量级借位：
乘法.
运用算筹进行乘除运算时必须先学会九九表:《夏侯阳算经》云：
《孙子算经》对筹算乘法有详细阐述。
左图即为筹算38×76的演示步骤：
P.S.:范例图片是一边乘一边加而不是像文字描述所说乘完后才加。
除法.
左图为计算formula_2的演示步骤：
孙子除法在9世纪初最早由花拉子米从印度介绍到阿拉伯国家，十世纪阿拉伯数学家阿尔乌几里德《印度的算术》叙述的早期除法和十一世纪波斯数学家伊本·拉班《印度算术原理》叙述的除法，也是不折不扣的孙子除法：
分数.
用筹算进行除法运算时，如留有余数，则必须保留除数和余数，形成一对筹码，一在上一在下。刘徽《九章算术注》中，在上的筹称“实”，为在下的筹称为“法”：《孙子算经》中，在上的筹称为“子”，（分子），而在下的称为“母”（分母）。如右图一对筹码一在上一在下，1是子，7是母，构成分数 formula_4。
这种筹算分数的表示法，在9世纪由花拉子米介绍到阿拉伯国家。
分数加法.
formula_5
分数减法.
formula_8
分数乘法.
formula_11
此算法的实质是将带分数先化成假分数，再行乘法。
分数除法.
此算法的实质是将带分数先化成假分数，并将除数取倒数相乘。
最大公约数.
九章算术给出求两个数最大公约数的方法，即辗转相除，以至最后余数相等，即为最大公约数。
左图为求 formula_15 的最大公约数，并进行约分。
最大公约数为25，约分得formula_16。
分数内插法.
何承天发明名为调日法的分数内插法，反复将弱值分数与强值分数的分子分母相加已求得更佳的近似值。祖冲之用此法求的著名的圆周率
约率formula_17和密率formula_18
开平方根.
孙子算经卷中：“今有积，二十三万四千五百六十七步。问：为方几何？答曰：四百八十四步九百六十八分步之三百一十一。
术曰：置积二十三万四千五百六十七步，为实，次借一算为下法，步之超一位至百而止。上商置四百于实之上，副置四万于实之下。下法之商，名为方法；命上商四百除实，除讫，倍方法，方法一退，下法再退，复置上商八十以次前商，副置八百于方法之下。下法之上，名为廉法；方廉各命上商八十以除实，除讫，倍廉法，从方法，方法一退，下法再退，复置上商四以次前，副置四于方法之下。下法之上，名曰隅法；方廉隅各命上商四以除实，除讫，倍隅法，从方法，上商得四百八十四，下法得九百六十八，不尽三百一十一，是为方四百八十四步九百六十八分步之三百一十一”。
右图为筹算开方 formula_19。
算法如下：
十一世纪波斯数学家伊本·拉班的开平方术，与孙子基本上相同，唯最后分母加1，所以平方根的小数比真值略小，孙子算法所得，则比真值略大。
开立方根.
九章算术卷第四《少广》有数道开立方题，其开立方术为后世开立方术的基础。
〔二二〕又有积一百九十三万七千五百四十一尺、二十七分尺之一十七。问为立方几何？
答曰：一百二十四尺、太半尺。
开立方术曰：置积为实。借一算步之，超二等。议所得，以再乘所借一算为法，而除之。除已，三之为定法。复除，折而下。以三乘所得数置中行。复借一算置下行。步之，中超一，下超二等。复置议，以一乘中，再乘下，皆副以加定法。以定法除。除已，倍下、并中从定法。复除，折下如前。开之不尽者，亦为不可开。若积有分者，通分内子为定实。定实乃开之，讫，开其母以报除。若母不可开者，又以母再乘定实，乃开之。讫，令如母而一。
formula_21
北宋数学家贾宪发明增乘开立方法和递增三乘开四次方术。
右图为贾宪增乘开立方解九章算术第四卷少广〔一九〕
今有积一百八十六万八百六十七尺。问为立方几何？
答曰：一百二十三尺。
：formula_22
联立方程.
九章算术　卷第八　方程：
〔一〕今有上禾三秉，中禾二秉，下禾一秉，实三十九斗；上禾二秉，中禾三秉，下禾一秉，实三十四斗；上禾一秉，中禾二秉，下禾三秉，实二十六斗。 问上、中、下禾实一秉各几何？
答曰：
上禾一秉，九斗、四分斗之一，
中禾一秉，四斗、四分斗之一，
下禾一秉，二斗、四分斗之三。
有三捆上等谷物，两捆中等谷物，一捆下等谷物，共39斗；有两捆上等，三捆中等，一捆下等，共34斗；有一捆上等，两捆中等，三捆下等，共26斗。分别找出上、中、下等谷物的数量。
方程术曰，置上禾三秉，中禾二秉，下禾一秉，实三十九斗，于右方。中、左禾列如右方。
以右行上禾遍乘中行而以直除。又乘其次，亦以直除。然以中行中禾不尽者遍乘左行而以直除。左方下禾不尽者，上为法，下为实。实即下禾之实。求中禾，以法乘中行下实，而除下禾之实。余如中禾秉数而一，即中禾之实。求上禾亦以法乘右行下实，而除下禾、中禾之实。余如上禾秉数而一，即上禾之实。实皆如法，各得一斗。
一捆下等谷物的数量=formula_23斗
一捆上等谷物=formula_24斗
一捆中等谷物=formula_25斗
行列式.
日本数学家关孝和在《三部抄》的《解伏题之法》中，将线性方程组的系数纵横写成方阵的形式，发明了行列式。关孝和还提出了两种计算行列式的值的方法：逐式交乘法和交式斜乘法。
高次方程.
南宋数学家秦九韶将贾宪的增乘开方术推广，以求解高次方程。右图为秦九韶解下列四次方程式的程序。
程序：
得formula_27
四元高次方程.
筹算的应用在朱世杰《四元玉鉴》中的四元术到达高峰。
"今有股弦较除弦和与直积等。只云勾股较除弦较和与勾同。问弦几何？"
：得到 
今式formula_28
云式：formula_29
三元式：formula_30
三元式与云式相消，
人天易位 人弦-->天勾 
得：
前式formula_31
及
后式 formula_32
相消得
formula_33
解之得 formula_34 天勾=5；
人天易位 天勾-->人弦
得弦=五步。
"今有股乘五较与弦幂加勾乘弦等。只云勾除五和与股幂减勾弦同。问黄方带勾股弦共几何？"
消元，物易天位
解之，
物易天位，得 十四步。