筹、算、策[1][2])と呼ばれる一組の棒を用いる、一種の器具代数術。布の盤(算盤)上に算木を並べて行ったことから布算ともいう[3]。中国のほか朝鮮半島や日本をはじめとする漢字文化圏で広く利用された。中国において籌算は戦国時代から行われていた。論証的な幾何学を重視する古代ギリシアの数学と比べて、官僚が広大な土地を統治するために必要な実用数学を重んじるのが中国数学の特徴であり、数値計算と代数の分野で特に発達していた[1][3]。おける数学体系の基盤となった『九章算術』(紀元前1世紀ごろ)や類似の数学書は、具体的な問題と籌算による解法という形式で書かれていた[3]:53。宋代から元代に至って、朱世傑の4元高次連立方程式に代表される高度な数学が発展したのも籌算の役割が大きかった。13世紀ごろ、実用的な計算をより早く容易に実行できる算盤(そろばん)が普及したことで廃れた。升目が描かれた日本の算盤。永楽大典に収められた籌算法の解説。器具[編集]籌算は基本的に一組の算木と算盤(さんばん)を用いて行われる。cmほどの丸い竹棒だとしている。271本の算木を束にすると、ちょうど手の中に納まるサイズの六角形となるという。算木は長さや重さの計量に転用されることもあった[4]:80。mmの角棒である[5]。獣骨製もあり、裕福な商人は象牙と翡翠で作られたものを用いることもあった。算木を並べるための算盤は升目が区切られた布製のものが用いられた(後代は紙製)[2][3]。8年)の獣骨製算木が絹袋(籌嚢)に入っているのを発見した[6]:47。1975年には竹製の算木が発掘された。前漢より古い時代の算木は発見されていないが、文献資料からは、今から2200年以上前の戦国時代にはすでに籌算法が開花していたことが明らかになっている。table)を覚えていなければならない。らは一様に九九を暗記してきた。算木数字[編集]数の表示[編集]算木数字は単一の記号(棒)を配置することであらゆる十進数(分数・小数を含む)を表現する唯一の数字表記体系である。1の位に作られた算木数字は、1から5までは1本の縦棒がそれぞれ数1を表す。縦棒が2本なら数2を表し、3本以降も同様である[7]。6から9までの数を表すには二五進法が用いられ、縦棒の上に置かれた横棒が数5を意味する。下の表に1から9までの数を表す。下段は横棒を基本とした別の表記法である。5世紀)に解説されていたものである[4]。棒の向きで桁を表す方法9より大きい数は十進法によって表される。1の位の左隣に作られた算木数字は、それに10をかけた数を表す。左隣の升は100の位を表し、そこに作られた算木数字は100をかけた数を表す。これ以降も同様である。数231を表すには、右図の上段に示すように、1の位に縦棒を1本置いて1とし、10の位に縦棒を3本置いて30とし、100の位に縦棒を2本置いて200とし、合計して231とする。籌算は升目のない盤上で行われることが多い。このため、右図の中段のように縦式の算木数字2、3、1を続けて置くと、数231ではなく53や24と間違えられる可能性がある。このような混乱を避けるため、算木数字をいくつか続けて置くときには、右図の最下段に示すように、縦式と横式の表示法を交互に用いる。1の位は必ず縦式とする[1][8]。ゼロの表示[編集]算盤上ではアラビア数字のようなゼロ記号は用いられず、升目を空白にすることで数0および位取りのための0を表した[7]。右図に表された算木数字「873190783」では、1000の位が空白となっている。記号「〇」をゼロの意味で用いる習慣は宋・元のころに始まった[1]。南宋時代に書かれた『数書九章』が記号「〇」を用いた最古の文献記録である[4]。正負の数[編集]世界で初めて負数が導入されたのは中国数学であった[1]:20。前漢代の数学者は算木の種類によって正負の数を表していた。赤い算木を正、黒い算木を負とする方法や、断面が三角の算木を正、正方形のものを負とする方法がある[4]:101。そのほか、劉徽による『九章算術』の注釈には、右の図のように、最小位に斜めに算木を置くことで負の数を表す方法が記されている[9]。宋代になると、印刷された数書や筆算で負数を表す場合に赤字や斜線が用いられた[4]。小数[編集]『孫子算経』には小数を用いた計量法が記載されている。基本の長さ単位は尺であり、それより小さい単位が以下のように続く。「1尺2寸3分4厘5毛6糸7忽」の長さを算盤上に表すと以下のようになる。位が単位長さである尺を表している。南宋期の数学者秦九韶は長さの計量以外にも小数を適用した。秦の著書『数書九章』では、「1.1446154日」が日と表されている。単位の位は下に「日」の字をつけることで示される[10]。基本的な計算法[編集]加算[編集]籌算は加法原理と親和性が高い。アラビア数字と異なり、算木数字の各桁を表している棒は加法性を持っている。加算を行うには棒を機械的に動かすだけでよく、1桁の数の加法を暗記する必要はない。これがアラビア数字体系との最大の差異である。アラビア数字「1」および「2」を機械的な操作によって「3」へと変換することはできない。計算手順を以下に示す。(1)被加数3748を上段に、加数289を下段に書く。計算は左から右の順で行う。最初に計算するのは下段289の最高位「2」である。(2)「2」を表している2本の棒を取り、上の段の「7」に加えて「9」とする。(3)下段の「8」を繰り上がらせるため、その真上の「4」から棒を2本移してくる。「8」は繰り上がって「10」となる。(4)下段左端の「1」を上段に加えると、「39」が繰り上がって「40」となる。(5)下段の「9」を繰り上がらせるため、真上の「8」から棒を1本移してくる。繰り上がって「10」となる。(6)下段に残った1本の棒を真上の升に移す。上段に現れた4037が求める和の値である。この過程により、被加数の棒の配置は適切に変更され、加数からは棒が消えてしまう。減算[編集]繰り下げなし[編集]繰り下げの必要がない場合、減数(下段)の各桁の棒と同じ数だけ、被減数(上段)の各桁から棒を差し引くだけでいい。上段に残った数が求める差である。計算ステップを示している。ように繰り下がりがある場合、より複雑な手順が必要となる。この減算の計算ステップを下に示す。(1)被減数4231を上段に、減数789を下段に書く。左から右に計算していく。(2)上段1000の位の「4」から1を借り、「3」を残す。借りた1を100の位の「10」とみなし、下段100の位の数「7」を「10」から差し引く。して残った3を上段100の位の「2」に加え、「5」とする。下段からも同じく「7」を差し引き、100の位を空白とする。(3)上段100の位の「5」から1を借りて「4」を残す。借りた1を10の位の「10」とみなし、下段10の位の数「8」を差し引く。残った2は上段10の位に加えられる。下段10の位も空白とする。(4)上段10の位の「5」から1を借りて「4」を残し、借りた1を1の位の「10」とみなして下段の「9」を差し引く。残った1を上段1の位に加える。これで下段のすべての棒が差し引かれたので、上段に残った3442が計算結果となる。乗算[編集]『孫子算経』には籌算による乗算の方法が詳述されている。(1)被乗数38を上段に、乗数76を下段に書く。乗数の1の位を被乗数の最高位に合わせ、二つの数の間に記録用の余白を空けておく。計算し、答えの21を中段に書く。21の最小桁は乗数10の位の「7」と揃える。答の18を中段に置き、その最小桁を乗数1の位の「6」と揃える(6の上に8を置く)。このとき、21の1の位と、18の10の位が同じ升に入る。(4)同じ升に入った棒はすべて合わせて1つの数を作る(中段の数は228となる)。被乗数38のうち「3」の計算は終わったので、棒を取り去る。(5)乗数76を1桁ぶん右にずらす(7を横式に、6を縦式に変える)。答の56を中段下の図の位置に書き、その最小桁「6」を今かけた「7」と揃える。「7」の計算はこれで終わったので、升から棒を取り去る。(7)下段に残った6を上段の8にかける。その答え48を中段下の図の位置に書き、その最小桁「8」を今かけた「7」に揃える。(8)かけ終わった下段の6および上段の8を取り去る。同じ升に入った棒「6」と「4」を合計し、繰り上がった1を隣に加える。ここで中段下の数は608となる。(9)中段に現れた二つの数の和を取る。その結果2888が求める積である。アル=ウクリーディスィー(952年)の乗算法。孫子の方法のバリエーション。行う手順を下図に示す。計算は三段に分けて行い、上段から順に「商」、「実(被除数)」、「法(除数)」の名がつけられる[6]:49。(1)被除数309を中段に、除数7を下段に作る。2つの数は左の桁でそろえておく。法(2)309の「3」は7で割れないので、除数7を1桁ぶん右に動かす(縦式を横式に変える)。計算し、商4と剰余2を得る。中段から除算が終わった数30を取り除き、剰余2を代わりに書く。法(4)除数7を1桁分右に動かす(縦式に変える)。計算すると、商は4、剰余1である。商4を上段に書き、このステップで除された29を中段から取り除いて剰余1を代わりに置く。除算アルゴリズムはインドを経由して、825年にアル=フワーリズミーの手によりそのままの形でイスラム国家に伝えられた。13世紀にはアル=フワーリズミーの著書がラテン語に翻訳され、孫子の除算法はヨーロッパに広まりガレー算(英語版)へと発展した。みられる除算法は孫子のアルゴリズムと同じものである。フワーリズミーの除算法(825年)。アル=ウクリーディスィーの除算法(10世紀)。Labbanの除算法(11世紀)。{1}{7}}}籌算による除算で、各桁の数を除したときに剰余が出たならば、剰余と除数は上下に並べて置いておかなければならない。劉徽による『九章算術』の注釈では、上の数は「实(実)」、下の数は「法」と呼ばれていた。分数用語と同じである。