文言阴符

转载自wenyan-lang/book: 文言阴符 An Introduction to Programming in Wenyan Language

另见文言编程

明义第一

编程者何。所以役机器也。机器者何。所以代人力也。然机器之力也广。其算也速。唯智不逮也。故有智者慎谋远虑。下笔千言。如军令然。如药方然。谓之程式。机器既明之。乃能为人所使。或演星文。或析事理。其用岂止万端。问曰。机器者。物也。铜铁也。何能为而能识人之语。而为人之使耶。曰。此所以有编程语言也。人之所常言。辞或斐然。典或奥雅。机器故不能解。然机器所解者。则寥寥然二三言也。曰与。曰或。曰非。此皆至元之辞。人又未易用之。故取其中庸之道。仿人之所言。取其精炼明要者。点窜典字。严定其义。上足观之而为人之用。下足译之而为机器所解。是谓编程语言也。古有算经。易有系辞。其用虽不同。语如其类也。

或问曰。程式所贵者何。曰二。贵巧。贵工。盖谋一事。其计非一。然或事倍而功半。或道迂而求远。皆非良策也。故编程之人。必研于策。策之佳者。其算也精。其行也速。是谓之巧。又程式如文章然。如其信笔杂凑者。其义亦必不通。其谬亦必多矣。程式亦一理。脉络通顺。文理了然者。令人读之而达其意。机器行之而无少失。是谓之工。

或问曰。君言编程亦美矣。然吾既不以其为生计。好之者自谋之。吾何学为。曰。虽不为用。学之亦有益于思。慎密而远。明辨而清。此其一。为作者之乐。此其二。又问曰。编程复何乐耶。终日营营然。对字麻麻然。逢谬急急然。何如斗鸡走犬呼卢传杯之乐欤。曰。编程之乐者。在造物也。女娲氏初知之。公输子复知之。欧冶子三知之。今有是戏。匹夫能为。而其趣盖同。何言不乐欤。问曰。吾知编程之益也。然无由而学之。曰。嘻嘻哉。观此书可也。

今世之编程。实西人草创。故其用字必译耳。其辞古多未闻。或有其字。意乃不同。故曰未言其编程。先解其用字。昔徐利之译几何原本。先解几何之用字。是理也。必不能效抱朴之河车朱雀。乃使观者不知所云。计开。

  • “代码”者。程式之文字也。或仅数言。或至累牍。视其用也。
  • “编译器”者。亦一程式也。所以译编程语言。令其为机器之所解也。
  • “运行”者。其程式既为机器所解。复令彼行之。或算一数。或行一事。亦视其用也。
  • “报错”者。或以人之误。或以物之限。机器不能达人所欲。是以其因吿人也。

今世之编程语言岂下百种。各争一日之长。然多西人所制。亦沿西人之语。今有沪上黄生。博考诸书。效古人之雅言。为汉语作编程之计。名其言曰“文言”。此书用之。不亦宜乎。

古之启蒙。无不以最易始。昔龙文三字是也。今亦因之。编程之最易者。曰“问天地好在”。列其代码如左。

吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
  吾有一言。曰「「問天地好在。」」。書之。
云云。

运行之。乃得

問天地好在。
問天地好在。
問天地好在。

或问曰。胡曰“问天地好在”耶。曰。盖机器未编程时。混沌茫昧。不知天地之所在。既经编程。顿而明朗。拨云见日然。故欲问天地之好在也。

或问曰。胡问之三遍耶。天地岂聋也哉。君不闻秦宓之辩耶。曰。非也。所以示“循环”之用也。“循环”者。为一事数遍也。如辐辏轮转然。如日月交替然。或问曰。欲行之五遍。可乎。行之千遍。可乎。曰。无不可也。

為是五遍。
  吾有一言。曰「「問天地好在。」」。書之。
云云。

為是千遍。
  吾有一言。曰「「問天地好在。」」。書之。
云云。

或问曰。“甲”者谓何。胡不谓“乙”耶。曰。皆可也。“甲”者。名也。名者。实之宾耶。实者何。悉听尊便也。欲三则三。欲五则五。是谓“变数”也。复观此二句。

吾有一數。曰三。名之曰「甲」。
吾有一言。曰「「問天地好在。」」。書之。

吾有一數 吾有一言者。盖言是变数之类也。数者。所以算也。言者。所以吿人也。物各其类。不宜混同。犹马之不同于鹿。人之不同于鬼。遂预言之。以明其类。

曰三 曰「「問天地好在。」」者。所以命其实也。后若有问数几何者。乃自是知其为三。言亦同。

名之曰「甲」者。所以名变数也。如人之名赃获。剑之名巨阙。后凡曰“赃获”者。乃知谓“赃获”其人。又万物皆变化之中。如昔人之广陵。鲍照之芜城也。今易“甲”为四如是。

昔之「甲」者。今四是矣。

書之者。盖彼运行之所得。机器自知之。而人无由而知之。故用此辞令其示人以果也。

或问曰。甲字上下有符如矩尺然者。何焉。今欲省之。可乎。曰。不可。此引号也。“单引号”者。所以别变数于其他也。““双引号””者。所以别言语于其他也。微是。不能别歧义也。又问曰。句读。挪抬。无之可乎。曰。此唯观者助也。无之无损于义。故前例亦可书若是。

吾有一數曰三名之曰「甲」為是「甲」遍吾有一言曰「「問天地好在」」書之云云

“问天地好在”之例。至此略明矣。

变数第二

易曰。变化者。进退之象也。今编程者。罔不以变数为本。变数者何。一名命一物也。其物或更。而名不易。其名或众。而物故一也。譬叶之逢秋。虎之离山。物虽改而名未易。又譬张禄之于范睢。相如之于犬子。名二而实则一也。夫人物之别。复以类分之。故曰无名无以别所言。无物无以志所得。无类无以知其用。

类者何。或数。或言。或爻。或列。或物。或术。数者算。言者表。既见于前章。今概叙其馀如左。计开。

  • “爻”者。阴阳也。阴阳者。是非也。有无也。臧否也。凡物之有二极者。皆是也。
  • “列”者。所以列同类之诸物也。如释家之念珠。兵家之长蛇阵也。
  • “物”者。所以状一物之诸端也。譬人之姓字者。言也。人之年齿者。数也。人有男女。阴阳也。合诸端而谓之物。
  • “术”者。方也。策也。行一事之法也。

既知变数之名实类。即能创而述之如左。

吾有一數。曰三。名之曰「甲」。
吾有一爻。曰陰。名之曰「乙」。
吾有一言。曰「「噫吁戲」」。名之曰「丙」。

不知其名。但知其实类者。犹能述之如左。

吾有一數。曰三。

未名之变数。机器聊志之以待其用也。字者。即谓前未名之变数也。用如左。

吾有一數。曰三。加其以五。減其以二。書之。

夫方谓加其以五时。者。三也。至減其以二时。者。八也。复减以二。终得六也。

但知其名。不知其类者。亦可述之。然其用繁矣。其义奥矣。是故留待后章叙之。

或问曰。奈何止一数焉。今欲有三数。五数。千千数。可得乎。曰。易矣。

吾有三數。曰三。曰九。曰二十七。名之曰「甲」。曰「乙」。曰「丙」。

又。吾有一數曰 可省为有數。故是二句无少异。

有數三。名之曰「甲」。
吾有一數。曰三。名之曰「甲」。

又。数之不言几何者。默为零。爻之不明默为阴。言之不明默为缄。故是三句尽同。

吾有一數。曰零。名之曰「甲」。
吾有一數。名之曰「甲」。
有數零。名之曰「甲」。

既创变数。后或变之。乃书如是。

昔之「甲」者。今四是矣。
昔之「乙」者。今「甲」是矣。

首句变甲为四。次句变乙为甲。故乙之为四。易明矣。

或问曰。曩者未创之物。后算而得之。欲名之。奈何。曰。当如是。

加一以三。名之曰「丙」。

又问曰。一时算得之物众矣。能一举而尽名之乎。曰。亦可。

加一以三。加六以九。名之曰「甲」。曰「乙」。

客曰。吾知之矣。应作如是观。凡未名之变数。皆如獭祭然。言者。取至近之鱼而弃其馀。言書之者。尽书之。言名之者。取若干而名之。曰。然也。善哉此比。

问曰。每有未名者。辄祭如是。岂非终累累然焉。今欲尽弃其鱼。复当作何书。曰。当书者。叹辞也。所以叹彼之尽弃也。

变数之道。至是略备矣。

算术第三

古有周髀。海岛。九章算经云。后世畴人辑之为十书。古希腊国毕氏曰。万物皆数。乃知算学者中外所重。今编程之用虽不胜数。究其本原。亦皆算焉。而算之本原。曰加。曰减。曰乘。曰除。加者。求和也。减者。求差也。乘者。求积也。除者。求商也。书如是。

加一以二。書之。
減二以一。書之。
乘二以三。書之。
除八以四。書之。

或问曰。此易耳。三尺之童亦能算也。胡用机器为。曰。试问九万八千七百六十五乘三千四百五十六。又当几何。当谢不能也。乃令机器算之。转瞬可晓。

乘九萬八千七百六十五以三千四百五十六。書之。

乃得

三億四千一百三十三萬一千八百四十

又算有繁复非一步所能得者。当如是。

加七十五以二。乘其以九。減其以三十六。除其以二。加其以五百。書之。

乃得

八百二十八又五分

又除法者。有除数与被除数之别。是谓除法无交换率也。今言除「甲」以「乙」者。甲者。被除数也。乙者。除数也。亦可书除「乙」於「甲」。无少异耳。减法亦然。而加乘有交换率者。乃通

或问曰。有不能整除者。不欲得商之小数。乃愿得其馀数。当作何书。曰。当如是。

除二以三。所餘幾何。書之。

以上加减乘除之法。算术者。既知其算。乃习其数。曩者朱氏算学启蒙有大数之类。小数之类。然近世多不用。今考众说。尊实用。点定如是。

大数之类。一。十。十十曰百。十百曰千。十千曰万。十万。百万。千万。万万曰亿。万亿曰兆。万兆曰京。万京曰陔。万陔曰秭。万秭曰壤。万壤曰沟。万沟曰涧。万涧曰正。万正曰载。

小数之类。漠者。兆分之一。十漠曰渺。十渺曰埃。十埃曰尘。十尘曰沙。十沙曰纤。十纤曰微。十微曰忽。十忽曰丝。十丝曰毫。十毫曰厘。十厘曰分。十分曰一。

例一。孙子算经有问焉。今有雉兔同笼。上有三十五头。下九十四足。问雉兔各几何。依其书之术。编程如是。

吾有二數。曰三十五。曰九十四。名之曰「頭」曰「足」。
除「足」以二。減其以「頭」。名之曰「兔」。
減「頭」以「兔」。名之曰「雉」。
夫「雉」夫「兔」。書之。

遂得

二十三 一十二

吾闻有善诙谐者注此解曰。今有能禽兽语者。申其令。雉独立。兔人立。是时足数为向者之半。故曰除「足」以二。是人又有令曰。雉兔复各举一足。故曰減其以「頭」。雉双足皆举。遂仆于地。兔尚有一足。故数是时之足。乃得兔之数。既知兔几何。则雉易矣。減「頭」以「兔」可得。

兔善好逑。乃有刘胜之风流。雉称佳味。遂遭郦生之惨祸。主人旬日复临。上见头五百七十九。下见足二千二百八十四。问何以编程求雉兔之数。曰。但易首句可矣。

吾有二數。曰五百七十九。曰二千二百八十四。名之曰「頭」曰「足」。

遂得雉一十六。兔五百六十三。遑论头足之多少。唯易一句。变数之用。不亦妙乎。

例二。古勒拿有九首四足一尾之怪。名曰许德拉。山海经载南山有狐九尾。刑天无首。孙叔敖尝见两头蛇。今楚王田猎。获四怪各若干。尽纳笼中。上有三百四十头。三十二臂。下有二百十六足。四百十七尾。问许得拉。九尾狐。刑天。两头蛇。各几何。

吾有四數。曰三百四十。曰三十二。曰二百十六。曰四百十七。名之曰「頭」曰「臂」曰「足」曰「尾」。
除「臂」以二。名之曰「刑天」。
乘「刑天」以二。減其於「足」。除其以四。名之曰「許狐和」。
乘「許狐和」以十。名之曰「十倍許狐和」。
加「頭」以「尾」。減其以「十倍許狐和」。除其以三。名之曰「兩頭蛇」。
減「尾」以「兩頭蛇」。減其以「許狐和」。除其以八。名之曰「九尾狐」。
減「許狐和」以「九尾狐」。名之曰「許德拉」。
夫「許德拉」夫「九尾狐」夫「刑天」夫「兩頭蛇」。書之。

乃得

一十二 三十四 一十六 九十九

其解法盖与雉兔同笼相类。算术之道。至是少备矣。更有圆周密率。开平方。大衍求一诸术者。以其稍繁。故留待后章也。

决策第四

决策者。万智之始。何耶。曰察而后动。鱼之相吞。必先度彼之大小。犬之啮人。必先观主之喜恶。此禽兽之决策也。雨而蓑。寒而衣。价善乃沽。人善乃欺。匹夫之决策也。陟罚臧否。伐谋伐交。卿相之决策也。其所以智于向者。唯决策有难易之别耳。故程式之能于决策者。智比于人。不能者。止一算盘耳。

其决步骤有三。一曰比之。二曰决之。三曰为之。今以马太效应为例。书之如是。注。马太效应者。西人典故也。曰。盈者愈予之。乏者更夺之。

吾有一數。曰四十九。名之曰「貯」。
若「貯」大於五十者。
  加「貯」以一。昔之「貯」者。今其是矣。
若非。
  減「貯」以一。昔之「貯」者。今其是矣。
也。

大於者。比之也。若非者。决之也。加「貯」以一云云者。为之也。比之得其真者。必为云云之次句。必不为若非之次句。否。则反之。今以四十九不大于五十。遂行若非之次句。「貯」竟四十八。

或问曰。末之字者。语助耶。无之可乎。曰。不可也。所以别歧义。示一句之终止也。盖编程之理或有极繁者。或相嵌。或相衔。亡是不能断。用云云二字亦可。

又问曰。或虽非亦于我无与者。省若非之句。可乎。曰。可也。例曰今有十斗之器。主人有酒若干。倾诸此器。十斗以上者皆满盈。问器有酒竟几何。解曰。

吾有二數。曰十。曰九。名之曰「器量」曰「酒量」。
若「酒量」大於「器量」者。
  昔之「酒量」者。今「器量」是矣。
云云。
夫「酒量」。書之。

比数之法有六。曰等于。曰不等于。曰大于。曰小于。曰不大于。曰不小于。比他物之法有二。曰等于。曰不等于。

或问曰。事有千端。非一策能定者。奈何。曰。当用或若或若者。一之后。连绵用之。因序而比。遇真辄为之。为之乃止。不更比也。如皆不是者。厥行最末若非之句。老氏有天地不仁。以万物为刍狗之句。今以或若拟天策如是。

有言「「人」」。名之曰「物」。

若「物」等於「「禽獸」」者。
  吾有一言。曰「「爾芻狗也。」」書之。
或若「物」等於「「草木」」者。
  吾有一言。曰「「爾亦芻狗也。」」書之。
或若「物」等於「「人」」者。
  吾有一言。曰「「爾雖人。於我實芻狗也。」」書之。
或若「物」等於「「芻狗」」者。
  吾有一言。曰「「更不待言。」」書之。
若非。
  吾有一言。曰「「吾不知爾何物。然爾之為芻狗明也。」」書之。
云云。

昔之「物」者。今「「芻狗」」是矣。

爻者。阴阳也。是非也。有无也。臧否也。见于变数之章。今用诸决策。不亦宜乎。

吾有一爻。曰陽。名之曰「甲」。
若「甲」者。
  吾有一言。曰「「陽者。歲之主也。」」書之。
若非。
  吾有一言。曰「「陰者。陽之助也。」」書之。
也。

易曰。爻者。言乎变者也。今爻之变。其日用者有三。曰与。曰或。曰非。二爻皆阳谓之与。二爻有阳谓之或。阴者阳阳者阴谓之非。各书如是。

夫「甲」「乙」中無陰乎。名之曰「丙」。
夫「甲」「乙」中有陽乎。名之曰「丙」。
變「甲」。名之曰「丙」。

更有与非。或非。异或诸术。皆得诸向三者。与非者。二爻有阴。或非者。二爻皆阴。异或者。一阴一阳。而六者亦皆可得诸与非。故曰。与非生万物。

又有若其然者若其不然者。以资爻策。故是二句同。

夫「甲」「乙」中無陰乎。名之曰「丙」。若「丙」者。吾有一言。曰「「古之人誠不我欺。」」書之也。
夫「甲」「乙」中無陰乎。若其然者。吾有一言。曰「「古之人誠不我欺。」」書之也。

是二句亦同。

夫「甲」「乙」中有陽乎。名之曰「丙」。變「丙」。名之曰「丁」。若「丁」者。吾有一言。曰「「古之人誠不我欺。」」書之也。
夫「甲」「乙」中有陽乎。若其不然者。吾有一言。曰「「古之人誠不我欺。」」書之也。

孔门十哲。颜回。闵损。冉伯牛。仲弓。宰予。子贡。冉求。子路。子游。子夏。并称先贤。而风采各异。今四问之内。可知其谁。其法如是。

夫「魯人耶」。若其然者。
  夫「德行科耶」。若其然者。
    夫「未仕耶」。若其然者。
      夫「蚤死耶」。若其然者。
        吾有一言。曰「「賢哉。回也。人不堪其憂。回也不改其樂。」」書之。
      若非。
        吾有一言。曰「「孝哉。閔子騫。人不間於其父母昆弟之間。」」書之也。
    若非。
      夫「病厲耶」。若其然者。
        吾有一言。曰「「亡之。命也夫。斯人也。而有斯疾也。」」書之。
      若非。
        吾有一言。曰「「雍也。可使南面。」」書之也。
    云云。
  若非。
    夫「政事科耶」。若其然者。
      夫「戰死耶」。若其然者。
        吾有一言。曰「「若由也。不得其死然。」」書之。
      若非。
        吾有一言。曰「「求。無乃爾是過與。」」書之也。
    若非。
      吾有一言。曰「「朽木不可雕也。糞土之牆不可杇也。於予與何誅。」」書之也。
  云云。
若非。
  夫「複姓耶」。若其然者。
    吾有一言。曰「「賜也。始可與言詩已矣。告諸往而知來者。」」書之。
  若非。
    夫「衛人耶」。若其然者。
      吾有一言。曰「「起予者。商也。始可與言詩已矣。」」書之。
    若非。
      吾有一言。曰「「二三子。偃之言是也。」」書之也。
  云云。
云云。

仲由字子路。鲁人。政事科。仕于鲁卫。战死。今一试之。

吾有九爻。曰陽。曰陰。曰陰。曰陽。曰陰。曰陰。曰陰。曰陰。曰陽。
名之曰「魯人耶」曰「衛人耶」曰「德行科耶」曰「政事科耶」
曰「複姓耶」曰「未仕耶」曰「蚤死耶」曰「病厲耶」曰「戰死耶」

乃得

若由也。不得其死然。

似此决策连环相嵌者。或取其形谓之决策树。编程决策之道。至是略备矣。

循环第五

夫循环者。日月之周行。草木之荣枯。人事之兴替。其是也。毗𬸣国王曰。天地无始无终。十二万年一盘古。今虽万万古。史唯一辙。莫非前定耳。吾不知其妄。然“年年岁岁花相似”者。人共见焉。又转辘轳以上百尺之绳。积跬步以作千里之行。累片石以固万里之城。非循环反复无以致之也。其营营不息者。人之所疲。机器所乐为也。

循环之法有三。其一者曰无穷。盖行不止也。其二者曰若干。盖行若干遍也。其三者曰历列。盖视列中物之几何一一行之也。各书如是。

恆為是。
  吾有一言。曰「「天地長不沒。山川無改時。」」書之。
云云。
為是百遍。
  吾有一言。曰「「讀書百遍。其義自見。」」書之。
云云。
凡「列」中之「元」
  吾有二言。曰「元」。曰「「者。亦列中之物也。」」書之。
云云。

注曰。列之用。更见于后章。今表历列之用。聊以示循环之全貌。不求观者立解也。

或问曰。云云者。吾似于前章见之。无乃决策亦用此结句耶。曰。然也。字亦无以异也。

九九歌诀者。淮南子中已有之。至今流传不废。今以程式书此歌如左。

有數九。名之曰「始」。
有數「始」。名之曰「戊」
為是「始」遍。
  有數「戊」。名之曰「戌」。
  為是「戊」遍。
    乘「戊」以「戌」。名之曰「甲」。
      若「甲」小於十者。
        吾有四言。曰「戌」曰「戊」曰「「如」」曰「甲」。書之。
      若非
        吾有三言。曰「戌」曰「戊」曰「甲」。書之也。
      減「戌」以一。昔之「戌」者。今其是矣。
  云云。
  減「戊」以一。昔之「戊」者。今其是矣。
云云。

乃得九 九 八十一 八 九 七十二一一如一诸辞。故曰。机器之代人力之尤甚。书少乃得多。事半而功倍者。循环也。非唯九九歌诀。虽千千歌决。亦在弹指间耳。试易首句如是。

有數九百九十九。名之曰「始」。

乃得九百九十九 九百九十九 九十九萬八千零一一一如一。计四十九万馀行也。使人手书之。则非累日不能尽矣。

或问曰。世事茫茫难自料。今不能预卜其遍数之多少。乃于循环之中。有非常之境。遽然欲止者。当若何耶。曰。当用乃止。又问曰。今不欲尽止。唯欲直入次遍者。当若何耶。曰。当用乃止是遍也。

例曰。九章算术有更相减损术。所以求最大等数也。等数者。犹因数也。术曰。可半者半之。不可半者。副置分母。子之数。以少减多。更相减损。求其等也。以等数约之。今取不可半者之例。编程如是。

吾有二數。曰九十一。曰四十九。名之曰「甲」曰「乙」。
恆為是。
  若「甲」等於「乙」者。
    乃止。
  或若「甲」大於「乙」者。
    減「甲」以「乙」。昔之「甲」者。今其是矣。
  若非。
    減「乙」以「甲」。昔之「乙」者。今其是矣。
  也。
云云。
夫「甲」書之。

夫更相减损之时。茫茫然不知其何时为等焉。故聊曰恆為是也。既等。乃毋须更为也。是乃止之用也。

例曰。阴数者。六八也。阳数者。七九也。今欲求百以内阴数之合。作何书。曰。

吾有二數。名之曰「甲」曰「乙」。
為是百遍。
  加「甲」以一。昔之「甲」者。今其是矣。
  除「甲」以二。所餘幾何。若其等於一者。
    乃止是遍也。
  加「甲」於「乙」。昔之「乙」者。今其是矣。
云云。
夫「乙」。書之。

或问曰。不若易等於一等於零。并移加「甲」之句于决策中。无用乃止是遍矣。于吾子之法何异欤。曰然。于机器者是无异也。唯文风之别矣。或曰“无暇掩聪”。或曰“不及掩耳”。皆因作者之喜恶也。愚以为。凡循环之体冗长者。预以乃止是遍排其特例。可免于决策重层累然之苦。人或有不以为然者。曰。去止之方既多。蛰伏深隐。乃至难以理喻。是取乱之道也。是亦理也。编程之两难者多如是。君子可自取所好焉。

循环之术。至是略备矣。总其五章所知。亦颇有可为者。吾闻之。夫欲长于编程者。唯学而立用。用而不止。其胜束其手而观其书百倍。善哉此言。学而不思则罔。吾闻诸仲尼。请试之。以为熟习也。

行列第六

森森矛戟。洸洸武夫。阵者兵之列也。鳞鳞孔方。穰穰青蚨。吊者钱之列也。靡靡郑声。丁丁清响。曲者音之列也。浩浩汪洋。扬扬义气。文章者字之列也。天下之物既众。或不知几何。或不可胜数。皆以列法法之。数列列数。言列列言。爻列列爻。列列列列。罔不裁物而器。序物而次。载物而厚。是谓之列。

维编程用列之法。或入之。或取之。入法二。曰。曰。取法三。曰其一。曰其餘。曰之長

列之初创。空无一物。者。一一添于其后也。

吾有一列。名之曰「甲」。充「甲」以三。充「甲」以五。

当是时。“甲”之列乃有二数。曰三。曰五。或问曰。欲一举而充之。可乎。曰。可也。

吾有一列。名之曰「乙」。充「乙」以二。以九。以四。以二十二。

故是“甲”有二数。“乙”有四数。今欲联合甲乙。令甲之后为乙。乙之前为甲。并两列成一列。乃用句。

銜「甲」以「乙」。名之曰「丙」。

遑论列之若干。亦可一举而衔之如是。

銜「甲」以「乙」。以「丙」。以「丁」。名之曰「戊」。

既见入法。复闻取法。今取其列之首物。次物。观之用之。书之如是。

夫「甲」之一。書之。
夫「甲」之二。書之。
夫「乙」之四。加其以四十五。書之。

欲易列中之物。乃稍变前章昔之句。书如是。

昔之「甲」之一者。今五是矣。
昔之「乙」之三者。今「丙」之四是矣。

列之长短无定。或寥寥二三物。乃至成千上万。然亦毋须另记。时可以之長句得之也。既知其长。以循环次第观一列之物。易矣。

夫「甲」之長。書之。

有數一。名之曰「乙」。
恆為是。若「乙」大於「甲」之長者。乃止也。
  夫「甲」之「乙」。書之。
加「乙」以一。昔之「乙」者。今其是矣。云云。

列既能增而长之。亦可分以短之。其餘者。弃其第一而留其他也。

夫「甲」之其餘。名之曰「乙」。

使“甲”有一二三者。“乙”乃有二三。使“甲”有二四六八者。“乙”乃有四六八。是谓其餘也。

或问曰。先充之以数。后充之以言。或复充之以爻。可乎。曰。不可也。列初创。其类无定。然既充辄知。自是不得混淆耳。

又列有异名者。其实或同。牵一而二动。例曰。

吾有一列。名之曰「甲」。充「甲」以一。以二。以三。
吾有一列。曰「甲」。名之曰「乙」。
昔之「乙」之一者。今四是矣。
夫「甲」。書之。

乃得“甲”者。四。二。三。也。唯易“乙”而殃及“甲”。不亦谬乎。曰。非也。盖“甲”“乙”所指。同一列也。名虽二则实一也。问曰。欲令其实亦二。互不相干。当如何。曰。当如是。

吾有一列。名之曰「乙」。
凡「甲」中之「元」。充「乙」以「元」也。

汉张衡字平子。全才人也。文有四愁诗。其诗风流婉转。上承屈子之遗义。下启七言之滥觞。今假其诗以示列之用。

其诗四章。句多复沓。若“我所思兮在”云云皆同。唯“太山”“桂林”。“金错刀”“琴琅玕”诸辞固异。故先入其变辞于列中待用也。

吾有八列。名之曰「其所」。曰「所難」。曰「其方」。曰「所沾」。曰「所贈」。曰「所報」。曰「所感」。曰「所傷」。
充「其所」以「「太山」」以「「桂林」」以「「漢陽」」以「「雁門」」。
充「所難」以「「樑父艱」」以「「湘水深」」以「「隴阪長」」以「「雪雰雰」」。
充「其方」以「「東」」以「「南」」以「「西」」以「「北」」。
充「所沾」以「「翰」」以「「襟」」以「「裳」」以「「巾」」。
充「所贈」以「「金錯刀」」以「「琴琅玕」」以「「貂襜褕」」以「「錦繡段」」。
充「所報」以「「英瓊瑤」」以「「雙玉盤」」以「「明月珠」」以「「青玉案」」。
充「所感」以「「逍遙」」以「「惆悵」」以「「踟躕」」以「「增嘆」」。
充「所傷」以「「勞」」以「「傷」」以「「紆」」以「「惋」」。

未示其诗。请先以一观诸列。凡「列」中之「元」者。亦循环也。是句见于前章。斯人所居。斯人所遗。借此以列之。

凡「其所」中之「地」。
  夫「地」。書之。
云云。
吾有一言。曰「「此皆有所思之地也」」。書之。

凡「所贈」中之「寶」。
  夫「寶」。書之。
云云。
吾有一言。曰「「此皆美人之所贈也」」。書之。

乃以左书张子之诗。其循环之体。或言复沓。或取变辞于诸列。终一章一并书之。

有數一。名之曰「章」。
夫「其所」之長。為是其遍。
  吾有一言。曰「「我所思兮在」」。夫「其所」之「章」。
  吾有一言。曰「「。欲往從之」」。夫「所難」之「章」。
  吾有一言。曰「「。側身」」。夫「其方」之「章」。
  吾有一言。曰「「望涕沾」」。夫「所沾」之「章」。
  吾有一言。曰「「。美人贈我」」。夫「所贈」之「章」。
  吾有一言。曰「「。何以報之」」。夫「所報」之「章」。
  吾有一言。曰「「。路遠莫致倚」」。夫「所感」之「章」。
  吾有一言。曰「「。何爲懷憂心煩」」。夫「所傷」之「章」。
  書之。
  加「章」以一。昔之「章」者。今其是矣。
云云。

乃得原诗如是。

我所思兮在太山。欲往從之樑父艱。側身東望涕沾翰。美人贈我金錯刀。何以報之英瓊瑤。路遠莫致倚逍遙。何爲懷憂心煩勞
我所思兮在桂林。欲往從之湘水深。側身南望涕沾襟。美人贈我琴琅玕。何以報之雙玉盤。路遠莫致倚惆悵。何爲懷憂心煩傷
我所思兮在漢陽。欲往從之隴阪長。側身西望涕沾裳。美人贈我貂襜褕。何以報之明月珠。路遠莫致倚踟躕。何爲懷憂心煩紆
我所思兮在雁門。欲往從之雪雰雰。側身北望涕沾巾。美人贈我錦繡段。何以報之青玉案。路遠莫致倚增嘆。何爲懷憂心煩惋

其诗晋人傅玄。宋人张载。近人鲁迅皆尝为拟作。请吾子择己所好。试易前文诸列以得其诗。

列列者。载列之列也。纵横如方阵然。如棋局然。如田垅然。

尚书正义曰。天与禹洛出书。神龟负文而出。列于背。有数至于九。禹遂因而第之。以成九类。朱熹以之为九宫数。奇者合纵横斜皆十五。其术见于杨辉续古摘奇算法。曰九子斜排。上下对易。左右相更。四维挺出。戴九履一。左三右七。二四为肩。六八为足。五居中央。今入九宫数于列列如下。

吾有一列。名之曰「行一」。充「行一」以四。以九。以二。
吾有一列。名之曰「行二」。充「行二」以三。以五。以七。
吾有一列。名之曰「行三」。充「行三」以八。以一。以六。
吾有一列。名之曰「九宮」。充「九宮」以「行一」以「行二」以「行三」。

凡「九宮」中之「行」。夫「行」。書之也。

然是但列其数。未尝以术算之。假杨氏妙术。三三图。五五图。七七图。九九图。凡其横纵为阳数者。皆一法可得。然杨氏固不自知。犹以他法为之。今从其洛书简法。编程如是。注曰。图之创。苟以循环。尽充以零。盖待后算也。夫“广”者。纵横之数也。聊曰九。以为九九图。

有數九。名之曰「廣」。

吾有一列。名之曰「縱橫圖」。
為是「廣」遍。
  吾有一列。名之曰「行」。
  為是「廣」遍。充「行」以零也。
  充「縱橫圖」以「行」也。

既创其图。乃以杨氏之术遍算其数。注曰。“磔”者。捺笔也。自左上而右下。“掠”者。撇笔也。自右上而左下。此二子者。假书家语。所以定九子斜排之方位也。“勒”者。横笔也。“努”者。纵笔也。此二子者。所以化斜排之方位于正排之方位也。然“勒”“努”之位。或出于其图之界。遂以求馀法。令出上者下。出下者上。出左者右。出右者左。是所谓上下对易。左右相更者也。乃得“纵”“横”。于是填以“数”。终得其图矣。

減「廣」以一。除其以二。名之曰「半」。

有數一。名之曰「數」。
乘「廣」以「廣」。為是其遍。
  減「數」以一。除其以「廣」。所餘幾何。名之曰「磔」。
  減「數」以「磔」。減其以一。除其以「廣」。名之曰「掠」。
  加「半」於「磔」。減其以「掠」。名之曰「勒」。
  減「半」於「磔」。加其以「掠」。名之曰「努」。
  加「勒」以「廣」。除其以「廣」。所餘幾何。加其以一。名之曰「橫」。
  加「努」以「廣」。除其以「廣」。所餘幾何。加其以一。名之曰「縱」。
  夫「縱橫圖」之「縱」。名之曰「行」。
  昔之「行」之「橫」者。今「數」是矣。
加「數」以一。昔之「數」者。今其是矣。云云。

凡「縱橫圖」中之「行」。夫「行」。書之也。

乃得九九图如是。其与杨氏书中所载不同者。盖作其图之法甚众。所得亦各有异。然其之为纵横图者一也。一者何耶。纵横斜皆三百六十九也。或问曰。何以知之。曰。请吾子试作一术。循环遍历其图。以验吾言之不谬也。

三十七。七十八。二十九。 七十。二十一。六十二。一十三。五十四。 五
 六 。三十八。七十九。 三十。七十一。二十二。六十三。一十四。四十六
四十七。 七 。三十九。 八十。三十一。七十二。二十三。五十五。一十五
一十六。四十八。 八 。 四十。八十一。三十二。六十四。二十四。五十六
五十七。一十七。四十九。 九 。四十一。七十三。三十三。六十五。二十五
二十六。五十八。一十八。 五十。 一 。四十二。七十四。三十四。六十六
六十七。二十七。五十九。 一十。五十一。 二 。四十三。七十五。三十五
三十六。六十八。一十九。 六十。一十一。五十二。 三 。四十四。七十六
七十七。二十八。六十九。 二十。六十一。一十二。五十三。 四 。四十五

又有传暹罗法作阳数纵横图。其决曰。一起于正北。东北向次第填之。出北入南。出东入西。道有碍者。先南退而后进。其较杨辉法犹稍易也。君胡不一试之。列之道。列列之道。至是略备矣。更有列列列。列列列列者。皆一理也。

言语第七

维天地生人之初。茹毛饮血而衣皮苇。所以异于禽兽者几稀。而自三代以降。其去禽兽之日远。其文明之愈盛。何邪。得无言语之益乎。夫呜呜然。啾啾然。狺狺然。奔走而吿其党者。此禽兽之言语也。然上治万乘之国。牧天下之民。下铸达革之兵。造罟耨之具。皆非其呜呜然。啾啾然。狺狺然可以传也。不能传者。父偶得之。子偶失之。子偶知之。孙偶忘之。是故智巧之萌。自言语始。仓颉造字。天雨粟。鬼夜哭。所泣者何。泄天地之机也。先贤言语既见于书。后人欲有所建。岂必起于平地。但添一瓦于鸿基。而郁郁乎广厦日成矣。西哲牛顿曰。或有异吾之远见者。无他。但立巨人肩耳。是理也。故易系辞曰。上古结绳而治。后世圣人易之以书契。百官以治。万民以察。

今编程之用言语者有二。曰互答。曰自谕。互答者。所以补数之不足。令用者明机器之所算。令机器明用者之所欲。吾有一言云云是矣。其状略见于前章。于其术则未备耳。自谕者。批也。注也。所以令观代码之人。望其文而解其义也。古文之注疏。算经之细草。其流亚也。故分叙二用如下。

言者。仿佛字之列也。厥得以取列法取其一字。以取长法得其字数。

吾有一言。曰「「仁義禮智信」」。名之曰「五常」。
夫「五常」之四。書之。
夫「五常」之長。書之。

乃得字。长五。又仿效数之加法。合二言如是。

加「五常」於「「夫五常者」」。加其以「「是也」」書之。

乃得夫五常者仁義禮智信是也之句。注曰。引号之单者。别变数。双者。别言语。慎毋混淆也。

回文者。顺逆读之皆成韵文者也。汉有镜铭。苏蕙有璇玑图。晋以降作者甚众。而东坡尤工之。今作是程式。因其顺而得其逆。因其逆而得其顺。以示诸法之用。

吾有一言。曰「「旱蓮生竭鑊。嫩菊養秋潾。滿池留浴鷺。分橋上戲人」」名之曰「順讀」。

吾有一言。名之曰「逆讀」。
有數一。名之曰「字」。夫「順讀」之長。為是其遍。
  夫「順讀」之「字」。加其以「逆讀」。昔之「逆讀」者。今其是矣。
加「字」以一。昔之「字」者。今其是矣。云云。

夫「順讀」。書之。
夫「逆讀」。書之。

乃得庾子山和回文诗一首。

旱蓮生竭鑊。嫩菊養秋潾。滿池留浴鷺。分橋上戲人
人戲上橋分。鷺浴留池滿。潾秋養菊嫩。鑊竭生蓮旱

或问曰。今有一言。或恐藏回文。故欲求其中至长之回文句。当作何书。曰。或有拙法。作也易。然机器行也缓。或有巧法。作也难。然机器行也速。先书其拙法如是。

吾有一言。曰「「晚紅飛盡春寒淺淺寒春盡飛紅晚尊酒綠陰繁繁陰綠酒尊老仙詩句好好句詩仙老長恨送年芳芳年送恨長」」名之曰「文」。

吾有二數。名之曰「至長中」曰「至長長」。
有數一。名之曰「中」。夫「文」之長。為是其遍。
  有數零。名之曰「奇」。為是二遍。
    減「中」以「奇」。名之曰「左」。
    加「中」以一。名之曰「右」。
    為是「中」遍。
      若「文」之「左」不等於「文」之「右」者。乃止也。
      減「左」以一。昔之「左」者。今其是矣。
      加「右」以一。昔之「右」者。今其是矣。
    云云。
    減「右」以「左」。減其以一。名之曰「長」。
    若「長」大於「至長長」者。
      昔之「至長長」者。今「長」是矣。
      昔之「至長中」者。今「中」是矣。
    云云。
  加「奇」以一。昔之「奇」者。今其是矣。云云。
加「中」以一。昔之「中」者。今其是矣。云云。

术曰。每历一字。或奇或偶。左右张之。同则复张异辄止。遍观其文。厥得其最长者。持回文之“至长中”“至长长”。乃书“至长句”如是。

除「至長長」以二。所餘幾何。名之曰「奇」。
減「至長長」以「奇」。除其以二。減其於「至長中」。加其以一。減其以「奇」。名之曰「字」。

吾有一言。名之曰「至長句」
為是「至長長」遍。
  夫「文」之「字」。加其於「至長句」。昔之「至長句」者。今其是矣。
加「字」以一。昔之「字」者。今其是矣。云云。
夫「至長句」書之。

遂得朱子菩萨蛮首联。

晚紅飛盡春寒淺淺寒春盡飛紅晚

其巧法者。盖列既得之回文之长。以资后来之算。或名之曰马拉车法。以其术稍繁。亦非初学易知。故留待好事君子自思焉。

说文曰。释经以明其义曰注。批注之法有三。一曰注。二曰疏。三曰批。批者。评也。疏者。注其注也。此三者既非正文。唯人观之。机器尽弃之若无睹。书如是。

注曰。「「文言備矣」」。
疏曰。「「居第一之位故稱初。以其陽爻故稱九」」。
批曰。「「文氣淋灕。字句切實」」。

或问曰。既无少益于程式之运行。吾法吾自知之。奚注为。曰。所以资同事者后人之观也。盖程式之欲大有所为者。多非一时之力。一人之功。他人得观其注。立明其义。删补增修。得于心而应于手。余少时。下笔了不容思。乃以批注为累。洒洒千言。卒无一注。故至今为时人所病。不亦悲夫。故聪明君子。莫我效焉。注有二必注。有二不注。曰。

  • 开宗明义者必注
  • 奇技淫巧者必注
  • 用意自明者不注
  • 为注而注者不注

除是外。复有一妙用。作程式之时。往往调试无已。夫置一句乎注释之内。可聊止其运行。然或曰程式既成乃当去之。盖以其丑陋云耳。

注曰。「「吾有一言。曰「「是語處批注之中。故終不得行」」。書之。」」

注释之方既备。后章之范例。皆以为剖析。

方术第八

抱朴。参同。万毕。古之方术书也。周髀。九章。海岛。古之算术书也。孙吴。三略。六韬。古之兵术书也。术者竟何。成法也。夫人之初任一事。有成有败。或得或失。卒不知孰为可法。君子仰观前人之殷鉴。俯罗不易之步骤。法象万物。为法为道。名之曰术。后人循之遵之。成事因之。故韩非子曰。人主之所执也。

今之编程者亦有术也。何耶。唯取步骤而名之耳。令机器闻其名而知其谓。不待每每絮絮道之而后明也。既定其步骤。虽欲施之百遍。但称名可矣。故云。术亦变数之类也。吾闻有尤矜于斯者。号曰。术亦数。以铭座右。今重叙问天地好在之例如是。示术之用。

吾有一術。名之曰「問天」。是術曰。
  吾有一言。曰「「天地。好在否」」。書之。
是謂「問天」之術也。

施如是。

施「問天」。

為是九遍。施「問天」也。

又凡术多有参数。有得数。参者入也。得者出也。点铁成金者。参者铁也。得者金也。老物化形者。参者兽也。得者人也。玄女钱米者。参者一文十粒。得者一贯盈桶也。金丹大道者。参者铅丹砂硫磺硝石云。得者还丹也。或问曰。无参者有之乎。无得者有之乎。曰。有也。左慈钓鲈。无中生有。魑魅遁形。有化于无。养丹吐气。无终归无。九章算术有更相减损术。见于前循环之章。今术之。以示参得之用如是。

吾有一術。名之曰「更相減損」。欲行是術。必先得二數。曰「甲」曰「乙」。乃行是術曰。
  恆為是。
    若「甲」等於「乙」者。
      乃止。
    或若「甲」大於「乙」者。
      減「甲」以「乙」。昔之「甲」者。今其是矣。
    若非。
      減「乙」以「甲」。昔之「乙」者。今其是矣。
    也。
  云云。
  乃得「甲」。
是謂「更相減損」之術也。

“必先得”云云者。所以名参数也。“乃得”云云者。所以名得数也。施之如是。

施「更相減損」於九十一。於四十九。書之。

施「更相減損」於八十八。於五十六。書之。

施「更相減損」於九百七十。於四。書之。

乃得七。八。二诸数。参不同。而一术蔽之。不亦易乎。故曰。凡用非一。皆当术之。斯亦所以令程式明练可读。如文章之命篇者也。又或改易一处。则施者皆不易而易矣。故曰术者虽非必有。然欲以程式立大事者。用术乃不可不精也。

或问曰。参数非数。可乎。参一。参三。参四。参若干。当作何书。曰当如是。

吾有一術。名之曰「雜燴」。欲行是術。
  必先得三言。曰「甲」。曰「乙」。曰「丙」。
  一爻。曰「丁」。
  二列。曰「戊」。曰「己」。
  一數。曰「庚」。
  乃行是術曰。
    夫「甲」。夫「乙」。夫「丙」。夫「丁」。夫「戊」。夫「己」。夫「庚」。書之。
    吾有一言。曰「「以上諸公。雖非同類。然今竟共一鑊中。真造化弄人者也」」書之。
是謂「雜燴」之術也。

又凡至“乃得”句。辄立止其术。馀句虽多。亦不复行也。盖于理亦应然。例曰。

吾有一術。名之曰「論戰」。欲行是術。必先得一言曰「恃」。乃行是術曰。
  若「恃」等於「「衣食所安。弗敢專也。必以分人。」」者。乃得陰也。
  若「恃」等於「「犧牲玉帛。弗敢加也。必以信。」」者。乃得陰也。
  若「恃」等於「「小大之獄。雖不能察。必以情。」」者。乃得陽也。
  乃得陰。
是謂「論戰」之術也。

又凡前句所算。即其术所得者。不必付诸变数。但书“乃得矣”可也。例曰。

吾有一術。名之曰「倍」。欲行是術。必先得一數曰「甲」。乃行是術曰。
  乘「甲」以二。乃得矣。
是謂「倍」之術也。

或问曰。欲以“乃得”立止其术。然其术实当无所得。安书。曰以“乃归空无”。

向者曰。术亦数。欲以术为参数。以术为得数。可乎。曰。可也。例曰。今有一列。储物若干。欲以一法。去其糟粕。取其精华。然有诸公。秉法各异。同逢一马。或称骐骥。或以驽骀。共饮一壶。或称琼浆。或以马溺。故今是术。一术为参。甲术参之。适甲所欲。乙术参之。适乙所想。是术曰。

吾有一術。名之曰「篩剔」。欲行是術。必先得一列曰「甲」。一術曰「法」。乃行是術曰。
  吾有一列。名之曰「乙」。
  凡「甲」中之「元」。
    施「法」於「元」。若其然者。充「乙」以「元」也。
  云云。
  乃得「乙」。
是謂「篩剔」之術也。

定一列二术以试之。

吾有一列。名之曰「丙」。充「丙」以一以二以三以四以五以六以七。

吾有一術。名之曰「甲法」。欲行是術。必先得一數曰「丁」。乃行是術曰。
  若「丁」小於四者。乃得陽。若非。乃得陰也。
是謂「甲法」之術也。

吾有一術。名之曰「乙法」。欲行是術。必先得一數曰「丁」。乃行是術曰。
  除「丁」以二。所餘幾何。若其等於零者。乃得陽。若非。乃得陰也。
是謂「乙法」之術也。

施「篩剔」於「丙」於「甲法」。書之。
施「篩剔」於「丙」於「乙法」。書之。

乃得

一。二。三。
二。四。六。

又术有自施者。其术之中复施其术。号之曰“递归”。递归者何。吾有三比。譬取二铜镜而对置。人立其间。镜镜相照。乃见无穷之象。譬曩有山庙。庙有二僧。其老者语少者曰。曩有山庙。庙有二僧。其老者语少者曰。曩有山庙。庙有二僧云云。譬庄周之梦蝶。其梦蝶复梦庄周。蝶梦之庄周复梦一蝶。周梦之蝶梦之周梦之蝶复梦一周云云。

又凡循环皆可作递归解。递归皆可作循环解。但择其易叙者而为之也。譬客有问行百步之法者。一曰。百遍为之而行一步。是行百步也。此循环也。一曰。先行一步。复行其馀九十九也。若问何以行其九十九耶。则先行一步。复行其九十八步也。此递归也。例曰。庄子云。一尺之棰。日取其半。万世不竭。今既十日。问其棰长。

吾有一術。名之曰「量棰」。欲行是術。必先得二數。曰「今長」。曰「餘日」。乃行是術曰。
  若「餘日」等於零者。乃得「今長」也。
  除「今長」以二。昔之「今長」者。今其是矣。
  減「餘日」以一。昔之「餘日」者。今其是矣。
  施「量棰」於「今長」於「餘日」。乃得矣。
是謂「量棰」之術也。

施「量棰」於一。於十。書之。

乃得

九絲七忽六微五纖六沙二塵五埃 

算数亦多有用递归者。譬宋贾宪有释锁求廉本源。或谓贾宪三角。其术曰列所开方数以隅算一自下增入前位至首位而止复以隅算如前升增递低一位求之云。以其术中数皆求自上层。上层之数又求自其上。是递归也。故例曰。

吾有一術。名之曰「求賈憲三角數」。欲行是術。必先得二數。曰「層」曰「位」。乃行是術曰。
  若「層」等於一者。乃得一也。
  若「位」等於一者。乃得一也。
  若「位」等於「層」者。乃得一也。
  減「層」以一。名之曰「上層」。
  減「位」以一。名之曰「左位」。
  施「求賈憲三角數」於「上層」。於「位」。名之曰「甲」。
  施「求賈憲三角數」於「上層」。於「左位」。名之曰「乙」。
  加「甲」以「乙」。乃得矣。
是謂「求賈憲三角數」之術也。

此所以求一层一位之数也。今欲尽画若干层之数。亦以术为之。示术之相用也。注曰。是术行甚缓。非良也。良者稍繁。见于章末。

吾有一術。名之曰「畫賈憲三角」。欲行是術。必先得一數。曰「層數」。是術曰。
  有數一。名之曰「層」。為是「層數」遍。
    吾有一言。名之曰「圖」。
    有數一。名之曰「位」。為是「層」遍。
      施「求賈憲三角數」於「層」。於「位」。名之曰「甲」。
      加「「 」」於「圖」。加「甲」於其。加「「 」」於其。昔之「圖」者。今其是矣。
    加「位」以一。昔之「位」者。今其是矣。云云。
    夫「圖」。書之。
  加「層」以一。昔之「層」者。今其是矣。云云。
是謂「畫賈憲三角」之術也。

施「畫賈憲三角」於七。

乃得

 一 
 一  一 
 一  二  一 
 一  三  三  一 
 一  四  六  四  一 
 一  五  十  十  五  一 
 一  六  十五  二十  十五  六  一 

或问曰。于术之体。复叙一术。可乎。曰。可也。是以明内术之所以隶于外术。易前贾宪三角术如是。

吾有一術。名之曰「畫賈憲三角」。欲行是術。必先得一數。曰「層數」。是術曰。
  吾有一術。名之曰「求」。欲行是術。必先得二數。曰「層」曰「位」。乃行是術曰。
    若「層」等於一者。乃得一也。
    若「位」等於一者。乃得一也。
    若「位」等於「層」者。乃得一也。
    減「層」以一。名之曰「上層」。
    減「位」以一。名之曰「左位」。
    施「求」於「上層」。於「位」。名之曰「甲」。
    施「求」於「上層」。於「左位」。名之曰「乙」。
    加「甲」以「乙」。乃得矣。
  是謂「求」之術也。
  有數一。名之曰「層」。為是「層數」遍。 
    吾有一言。名之曰「圖」。
    有數一。名之曰「位」。為是「層」遍。
      施「求」於「層」。於「位」。名之曰「甲」。
      加「「 」」於「圖」。加「甲」於其。加「「 」」於其。昔之「圖」者。今其是矣。
    加「位」以一。昔之「位」者。今其是矣。云云。
    夫「圖」。書之。
  加「層」以一。昔之「層」者。今其是矣。云云。
是謂「畫賈憲三角」之術也。

“求”者。内术也。“画”者。外术也。为是。则内术不得用于外术之外。此“域”也。“域”者。所以限变数之语境也。譬唐人语李密。谓牛角挂书之李密也。晋人语李密。谓舅夺母志之李密也。有域。则名不致混淆也。术之体一域也。决策循环之体。亦一域也。术之参者。域与术体同。

又凡云一名。其域有之者则得其谓。无之则外一域而得之。更无乃次第而外。竟无。法不行。譬有李氏生子而命之曰白者。于家中呼其名。谓子也。出其门。乃谓诗人也。例曰。

有數四。名之曰「丙」。
有數三。名之曰「丁」。
有數五。名之曰「戊」。

吾有一術。名之曰「甲」。欲行是術。必先得二數。曰「乙」。曰「丙」。是術曰。
  注曰。「「此之丙丁。非外之丙丁也。而內無戊。遂得之於外」」
  有數七。名之曰「丁」。
  加「乙」以「丁」。加其於「戊」。乃得矣。
是謂「甲」之術也。

施「甲」於「丙」「丁」。
注曰「「此之丙。內之乙。此之丁。內之丙。似此逆行倒施者。自非佳法。唯示域之用耳」」

一术既定。其域乃与其术恒共存。于他处施是术。是术亦得其域之变数而用之。是谓“闭包”也。夫前者贾宪三角术。行甚缓。盖其循环之中。每每复求既得之数。实属挥霍。今以闭包。存既得之数于域中一列。以资后算。不令作无用之功也。

是术也。以术得术。所得“求”术。“藏”列存焉。以此“求”替前之“求”。用“画”中。大速之焉。

吾有一術。名之曰「賈憲三角術」。是術曰。
  吾有一列。名之曰「藏」。

  吾有一術。名之曰「求」。欲行是術。必先得二數。曰「層」曰「位」。乃行是術曰。
    若「層」等於一者。乃得一也。
    若「位」等於一者。乃得一也。
    若「位」等於「層」者。乃得一也。
    減「層」以一。名之曰「上層」。
    減「位」以一。名之曰「左位」。

    恆為是。若「藏」之長大於「層」者。乃止也。
      吾有一列。充「藏」以其也。

    吾有二數。名之曰「甲」。曰「乙」。

    夫「藏」之「上層」。夫其之「位」。名之曰「知甲」。
    若「知甲」者。
      昔之「甲」者。今「知甲」是矣。
    若非。
      施「求」於「上層」。於「位」。昔之「甲」者。今其是矣。
    云云。

    夫「藏」之「上層」。夫其之「左位」。名之曰「知乙」。
    若「知乙」者。
      昔之「乙」者。今「知乙」是矣。
    若非。
      施「求」於「上層」。於「左位」。昔之「乙」者。今其是矣。
    云云。

    加「甲」以「乙」。名之曰「丙」。
    夫「藏」之「層」。昔之其之「位」者。今「丙」是矣。
    乃得「丙」。
  是謂「求」之術也。
  乃得「求」。
是謂「賈憲三角術」之術也。

施「賈憲三角術」。名之曰「求賈憲三角數」。

又术之施也。除前法之外。亦可取即算而未名之变数作参也。其法曰“取若干以施某术”。若干者。参之多少也。其理盖于“书之”略同。易前庄子棰术为例。

吾有一術。名之曰「量棰」。欲行是術。必先得二數。曰「今長」。曰「餘日」。乃行是術曰。
  若「餘日」等於零者。乃得「今長」也。
  除「今長」以二。減「餘日」以一。取二以施「量棰」。乃得矣。
是謂「量棰」之術也。

术之道。至是略备矣。比其前章诸法。愈增玄妙。请吾子细审其例。更以自试。方达自如云耳。

府库第九

夫人之欲蓄一物。或诸袖中。或诸案左。物其多也。乃藏诸箱箧。储诸笼笥。箧笥不能尽容。复载以牛车。束以高阁。彼亦不能足者。乃入山断木。文梓楩柟。巧工施校。为雕梁画栋。楼阁起焉。蓄一国之物。乃兴册府。武库。仓廪。以罗天下之可宝。今以编程之繁复。亦设府库以辑有用之法。既验之策。如书斋然。如箱箧然。唯时取之。以为作者助也。

所藏者。术之集也。法古而名之曰书。今撷数书为例。计开。

  • 算经者。所以资算术也。开方。勾股。密率。此之类也。
  • 列经者。所以析列也。筛剔。合并。排序。此之类也。
  • 历法者。演算天时也。求年月日时刻。此之类也。
  • 画谱者。所以为图画也。勾描。皴法。设色。此之类也。

欲得一书一术。乃引之如是。

吾嘗觀「「算經」」之書。方悟「平方根」之義。

既得“平方根”之术。遂得而用之如是。

施「平方根」於八十一。書之。

乃得“九”耳。欲取非一者。但鱼贯之可也。例曰。

吾嘗觀「「算經」」之書。方悟「圓周率」「勾股求弦」「冪」之義。
吾嘗觀「「曆法」」之書。方悟「今日何日」之義。

乘「圓周率」以四。書之。

施「勾股求弦」於三。於四。書之。

施「冪」於二。於十。書之。

施「今日何日」。書之。

又聊取列经之诸术。略述其用也。

吾嘗觀「「列經」」之書。方悟「遍施」「篩剔」「左併」「右併」「排序」「倒序」「索一」之義。

吾有一列。名之曰「甲」。充「甲」以三。以二。以九。以一。以六。以十七。以四十二。

遍施者。参者一术一列。凡列中之物。一一施其术。另充于一列而得之也。

吾有一術。名之曰「倍」。欲行是術。必先得一數。名之曰「甲」。乃行是術曰。
  乘「甲」以二。乃得矣。
是謂「倍」之術也。

施「遍施」於「倍」於「甲」。書之。

筛剔者。参者一术一列。凡列中之物。先施其术。得阳而留之。得阴而弃之。以为取舍。乃聚得阳者为一列也。前章有“筛剔”之例。此其是也。故不赘以例也。

左右并者。参者一术一元一列。元者。变数之类不预知者也。盖得其实而后定也。其参术参二。取列中一物及元。施参术得新元。次第为之。缩列为元也。左并者自列首顺缩之。参术之施先元后列。右并者自列末逆缩之。参术之施先列后元。

吾有一術。名之曰「合」。欲行是術。必先得二數。名之曰「甲」。曰「乙」。乃行是術曰。
  加「甲」以「乙」。乃得矣。
是謂「合」之術也。

施「左併」於「合」於零於「甲」。書之。
注曰。「「所以得「甲」中數之總和也」」

排序者。参者一术一列。易列之序。令彼物自小而大者也。其参术者。所以定小大也。盖因数之小大易明。然可排序者不唯数而已矣。故小大之绳。施者视其类而自定也。其比二物也。小之当得负。大之当得正。等之当得零。

吾有一術。名之曰「比」。欲行是術。必先得二數。名之曰「甲」。曰「乙」。乃行是術曰。
  若「甲」小於「乙」者。乃得負一也。
  若「甲」大於「乙」者。乃得一也。
  乃得零。
  注曰「「或云「減甲以乙乃得矣」亦可」」
是謂「比」之術也。

施「排序」於「比」於「甲」。書之。

倒序者。参者一列。唯逆其序耳。入者甲乙丙丁。出者丁丙乙甲也。

施「倒序」於「甲」。書之。

索一者。参者一列一元。于列中寻其元也。寻而得之者。乃得其序数也。首物等元者。得一。次物等元者。得二。不得者。乃得零也。

施「索一」於「甲」於九。書之。
施「索一」於「甲」於十五。書之。

其馀诸书所罗者。亦多也。一一叙之者。则非此篇之本意也。唯“浑沌”“格物”“画谱”三经。更见于后章。

或问曰。此引他书之法吾明矣。欲自为一书而引之。可乎。曰。可也。另立一程式。命之以书名。于其书中。凡欲为他书所引之变数。皆易“吾有”为“今有”。如是。

注曰「「當名是程式曰「勾股算經」」」。

吾嘗觀「算經」之書。方悟「平方根」之義。
注曰「「書書相引也」」

今有一術。名之曰「勾股求弦」。欲行是術。必先得二數。曰「勾」。曰「股」。乃行是術曰。
  乘「勾」以「勾」。名之曰「勾方」。
  乘「股」以「股」。加其於「勾方」。取一以施「平方根」。乃得矣。
是謂「勾股求弦」之術也。

今有一術。名之曰「勾弦求股」。欲行是術。必先得二數。曰「勾」。曰「弦」。乃行是術曰。
  乘「勾」以「勾」。名之曰「勾方」。
  乘「弦」以「弦」。減其以「勾方」。取一以施「平方根」。乃得矣。
是謂「勾弦求股」之術也。

今有三數。曰三。曰四。曰五。名之曰「勾例」曰「股例」曰「弦例」。

吾有一數。曰六。名之曰「唯吾知之」。注曰「「凡以「吾有」言變數者。他書不得引之」」

是书既成。乃另作一程式。引而验之。

吾嘗觀「「勾股算經」」之書。方悟「勾股求弦」「勾弦求股」「勾例」「股例」之義。

施「勾股求弦」於「勾例」「股例」。書之。
施「勾弦求股」於五。於十三。書之。

著引二道。至是略备矣。程式既长。使尽入一文。辄如乱粥也。故立大事者。多擘其文。分作数书。而更相引用。脉络既明。亦大裨益于检索也。

格物第十

老子云。道生一。一生二。二生三。三生万物。列子云。凡有貌象声色者。皆物也。物之既有此众端者。数言爻列术或不足表。故作一类。特名之曰物。是物者。所以合他类以状一物之诸端者也。譬人之姓字者。言也。人之年齿者。数也。人有男女。阴阳也。或有所蓄。列也。或傍一技。术也。合而谓之人。譬石之白。色也。石之坚。质也。色质者。数也。合而谓之石。离合万物。物物之道也。礼曰。致知在格物。物格而后知致。

今且以白马为例。示物之叙也。

吾有一物。名之曰「白馬」。其物如是。
  物之「「色」」者。言曰「「白」」。
  物之「「名」」者。言曰「「白義」」。
  物之「「日行里數」」者。數曰千。
  物之「「夜行里數」」者。數曰八百。
  物之「「良耶」」者。爻曰陽。
  物之「「足數」」者。數曰四。
是謂「白馬」之物也。

其物既叙。复得取其端书如是。

夫「白馬」之「「名」」。書之。
夫「白馬」之「「日行里數」」。書之。

易之用之。无少异于诸变数。

夫「白馬」之「「日行里數」」。除其以二。昔之「白馬」之「「日行里數」」者。今其是矣。
夫「白馬」之「「夜行里數」」。減其以五百。昔之「白馬」之「「夜行里數」」者。今其是矣。
注曰。「「斯馬老矣」」。

或问曰。今有骏马千匹。似此一一叙之者。不亦烦乎。曰。以术生之。或谓造物之术。

吾有一術。名之曰「生馬」。欲行是術。必先得二言。曰「馬名」。曰「毛色」。乃行是術曰。
  吾有一物。名之曰「馬」。其物如是。
    物之「「色」」者。言曰「毛色」。
    物之「「名」」者。言曰「馬名」。
    物之「「日行里數」」者。數曰千。
    物之「「夜行里數」」者。數曰八百。
    物之「「良耶」」者。爻曰陽。
    物之「「足數」」者。數曰四。
  是謂「馬」之物也。
  乃得「馬」。
是謂「生馬」之術也。

八骏者。同为穆天子良马。唯毛色不同。故其术唯参马名毛色二者。或欲增其参数。亦无不可也。施之乃聚八骏于一列。注。郭璞曰。八骏皆因其毛色以为名号耳。然逾轮山子绿耳之色不见载。世为图画者亦多。然皆不知所据。余既不能考。而学又浅。故从阙耳。

吾有一列。名之曰「八駿」。
施「生馬」於「「赤驥」」於「「赤」」。充「八駿」以其。
施「生馬」於「「盜驪」」於「「黑」」。充「八駿」以其。
施「生馬」於「「白義」」於「「白」」。充「八駿」以其。
施「生馬」於「「渠黃」」於「「黃」」。充「八駿」以其。
施「生馬」於「「華騮」」於「「赤」」。充「八駿」以其。
  
夫「八駿」之一。昔之其之「「名」」者。今「「騏驥」」是矣。

凡「八駿」中之「馬」。
  夫「馬」之「「名」」。書之也。

或问曰。既有一物。欲知其诸端之名。奈何。或问曰。今欲取物之一端。然其名未遽知。唯于运算中得之。奈何。或问曰。偶得一物。不知其为物耶。其为数为言为爻为术为列耶。奈何。曰引“格物”。

吾嘗觀「「格物」」之書。方悟「取物」「置物」「列物之端」「識類」之義。

吾有一言。曰「「日」」。注曰「「或曰「夜」」」。
名之曰「時」。
夫「白馬」。加「時」以「「行里數」」。取二以施「取物」。書之。

吾有一數。曰三萬。名之曰「新數」。注曰。「「義山詩曰。八俊日行三萬里」」
夫「白馬」。加「時」以「「行里數」」。夫「新數」。取三以施「置物」。書之。

施「列物之端」於「白馬」。注曰「「得言之列也」」
書之。

施「識類」於三。書之。注曰「「得數」」
施「識類」於陰。書之。注曰「「得爻」」
施「識類」於「白馬」。書之。注曰「「得物」」
施「識類」於「「善哉斯言」」。書之。注曰「「得言」」

又物者。虽貌尽同而其实或非一也。如玉刻双璋。锦挑对褓。故以“等于”法比之。唯实一物二名方得阳。非是。皆得阴。欲以诸端同而同之者。必一一校而后可。非唯物然。列亦如是也。

吾有一物。名之曰「戊」。其物如是。
  物之「「甲」」者。數曰一。
  物之「「乙」」者。數曰二。
是謂「戊」之物也。

吾有一物。名之曰「戌」。其物如是。
  物之「「甲」」者。數曰一。
  物之「「乙」」者。數曰二。
是謂「戌」之物也。

若「戊」不等於「戌」者。
  吾有一言。曰「「然也」」。書之。
也。
若「戊」之「「甲」」等於「戌」之「「甲」」者。
  若「戊」之「「乙」」等於「戌」之「「乙」」者。
    吾有一言。曰「「然也」」。書之。
  也。
也。

夫「戊」。名之曰「戍」。

若「戊」等於「戍」者。
  吾有一言。曰「「然也」」。書之。
也。

又以物包罗诸象。或令机器写之以存运算之所得。或使读之以为运算之所参。罔不嘉焉。然以其辞稍烦。以所函略广。故另为浑沌之辞。精炼其字。简易其法。以资读写之便也。复作浑沌之术。得其言而化之为物。得其物而以其言载之。

浑沌者。食也。扬雄曰。饼谓之饨。今薄面夹馅入汤者也。取其包物之义。故名。

吾嘗觀「渾沌經」之書。方悟「包渾沌」之義。

施「包渾沌」於「白馬」。書之。

得如左。浑沌凡言数者。唯列其位。譬不谓三千八百七十。但谓三八七〇耳。

物
 之「色」言「白」
 之「名」言「白義」
 之「日行里數」數「一〇〇〇」
 之「夜行里數」數「八〇〇」
 之「良耶」爻「陽」
 之「足數」數「四」
也

或列诸物而具包。辄加“诸”字于其术。今取八骏之二。书如是。

吾嘗觀「渾沌經」之書。方悟「包諸渾沌」之義。

吾有一列。名之曰「二駿」。
夫「八駿」之一。充「二駿」以其。
夫「八駿」之二。充「二駿」以其。

施「包諸渾沌」於「二駿」。書之。

列
 物
  之「色」言「赤」
  之「名」言「赤驥」
  之「日行里數」數「一〇〇〇」
  之「夜行里數」數「八〇〇」
  之「良耶」爻「陽」
  之「足數」數「四」
 也
 物
  之「色」言「黑」
  之「名」言「盜驪」
  之「日行里數」數「一〇〇〇」
  之「夜行里數」數「八〇〇」
  之「良耶」爻「陽」
  之「足數」數「四」
 也
也

或问曰。既得其浑沌语。欲逆得其物。曰。劳“食浑沌”“食诸浑沌”之术可矣。

吾嘗觀「渾沌經」之書。方悟「包渾沌」「食渾沌」之義。

施「包渾沌」於「白馬」。名之曰「渾沌」。
施「食渾沌」於「渾沌」。名之曰「非馬」。注曰。「「公孫龍子曰。白馬非馬」」

夫「非馬」之「「名」」。書之。
夫「非馬」之「「色」」。書之。
注曰。「「所得皆如白馬」」

今复以浑沌语书李翰林之生平如是。以示其物包物。物包列。列包物也。

物
  之「字」言「太白」
  之「號」言「青蓮」
  之「壽考」數「六一」
  之「生年」言「長安元年」
  之「卒年」言「上元三年」
  之「存詩」數「九〇〇」
  之「擅詩」爻「陽」
  之「官」物
    之「銜」言「翰林」。
    之「年」言「天寶元年」。
  也
  之「名句」列
    物
      之「題」言「清平調」
      之「文」言「雲想衣裳花想容。春風拂檻露華濃。」
    也
    物
      之「題」言「長相思」
      之「文」言「長相思。在長安。絡緯秋啼金井闌。微霜淒淒簟色寒。」
    也
    物
      之「題」言「襄陽歌」
      之「文」言「落日欲沒峴山西。倒著接蘺花下迷。襄陽小兒齊拍手。攔街爭唱「白銅鞮」。」
    也
    物
      之「題」言「楊叛兒」
      之「文」言「烏啼隱楊花。君醉留妾家。博山爐中沉香火。雙煙一氣凌紫霞。」
    也
  也
  之「子女」列
    言「伯禽」言「平陽」言「頗黎」
  也
也

格物之道。至是亦略备矣。其虽诚非编程之所必须。然条理以明。读写以便。孰言无益耳。

克祸第十一

夫上蔡临市而叹黄。杜陵望云而感苍。括母劾子竟免于族。俶父效之犹见于诛。宣子以立瑶亡智。辅果改氏而逭之。北海以讥曹取死。二子琢钉而待之。天道幽远以降祸。或速或迟。世人处之乃显志。有得有失。又麋子仲妇人之私。火烧其室。诸葛恪腥狗之谶。兵加其身。众君子谋社宫以亡曹。诸小人戏池阳而覆莽。永嘉狗语而天下饥。太安牛言而天下乱。吾人既不得其征。唯绸缪于未雨。徙薪于未焚。补羊牢于未亡。避南墙于未撞。故韩非子曰。夫事之祸福亦有腠理之地。圣人蚤从事焉。

非独世事然。程式亦然。夫程式之运行也。或以作者之昏昏。祸根为埋。或以机器之蹇蹇。祸起于内。或以用者之浑浑。祸起于外。或以时命之茫茫。祸起于不测。既起焉。轻者贻误一时。重者民业为废。旧传。初。编程草创。有前辈程式恒谬者。启机器乃得一蛾。方知其由。恨不已。遂效王莽头故事。以胶封之于纸。其尸至今犹传也。

程式克祸之法。凡成败不定有取祸之嫌者。皆告其姑妄于前。料其因由于后。乃一一列其解法。以为补救。多见之祸有四。曰虚指。曰文法。曰异类。曰逾界。今为是例。并书四祸之由。

姑妄行此。
  注曰。「「行險著於是。」」

如事不諧。豈「「虛指」」之禍歟。
  吾有一言。曰「「本無此物。奈何用之」」。書之。

豈「「文法」」之禍歟。
  吾有一言。曰「「不合文法。不通之甚」」。書之。

豈「「異類」」之禍歟。
  吾有一言。曰「「物各其類。豈可混同」」。書之。
  
豈「「逾界」」之禍歟。
  吾有一言。曰「「祭不越望。俎不代庖」」。書之。

不知何禍歟。
  吾有一言。曰「「嗚呼哀哉。伏維尚飨」」。書之。
乃作罷。

若姑妄之行未便致祸者。则解法不行。既致。则立视其解法。合者辄为之。其馀更不复行。直继以“乃作罢”语之后也。于诸解法之末。或加“不知何祸欤”之语。以备其未料者。微是。终不得解法。乃崩溃焉。

复有报错之法。所以自定一祸而发之也。或问曰。诞矣。无祸则当以手加额而庆焉。奈何故为祸乎。曰。其一者。不济之兆既见。与其坐待其溃。不若于未崩之时先行告急。更以克祸之法为补救也。其二者。夫程式之作也。多集众力。或各为一部。或互为征引。故告之者。处之者。未必同一人也。至于用之者。天下之人也。故曰。吾之报之者。所以令彼知其不行之由也。至于解者。或彼之责也。报错之法如是。

嗚呼。「「滅頂」」之禍。

夫“灭顶”者。所以名祸也。视祸之因由而后定也。亦得以“虚指”“文法”“异类”“逾界”名之。以合旧制。既报。解法之作同于向者。

姑妄行此。
  嗚呼。「「滅頂」」之禍。
如事不諧。豈「「滅頂」」之禍歟。
  吾有一言。曰「「嗚呼哀哉。伏維尚飨」」。書之。
乃作罷。

又或加一言于祸后。以明细得祸之本来。盖祸之名或一。而取之之由非一。故以是释之。曰祸之“文”。例曰。

嗚呼。「「無關」」之禍。曰「「事不關心。關心者亂」」。
嗚呼。「「自取」」之禍。曰「「招禍取咎。無不自己」」。

或问曰。于解法中何由而得之耶。曰。可蓄其祸之于一物而名之。如左。其“名”“文”既明。至于其“踪”者。所以叙得祸之所。以为检索之便也。

姑妄行此。
  嗚呼。「「無關」」之禍。曰「「事不關心。關心者亂」」。
如事不諧。豈「「無關」」之禍歟。名之曰「禍」。
  夫「禍」之「「名」」。書之。
  夫「禍」之「「文」」。書之。
  夫「禍」之「「蹤」」。書之。
不知何禍歟。名之曰「奇禍」。
  夫「奇禍」之「「名」」。書之。
乃作罷。

问。除一数以零。其商几何。今以之为例。

吾有一術。名之曰「除」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
  若「乙」等於零者。
    嗚呼。「「零除」」之禍。曰「「除數不得為零」」。
  云云。
  除「甲」以「乙」。乃得矣。
是謂「除」之術也。

施「除」於二。於三。書之。
施「除」於四。於零。書之。

或曰。零除诚为非。然以其渐近无穷。不必即为祸。今以克祸之法。稍加宽恕。取至大之数而聊为出脱。至于零除零者。则实无可解。乃于解法之体更报一错。不令姑息也。

吾有一術。名之曰「除乙」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
  姑妄行此。
    施「除」於「甲」。於「乙」。乃得矣。
  如事不諧。豈「「零除」」之禍歟。
    若「甲」大於零者。
      乃得一載。
    或若「甲」小於零者。
      乃得負一載。
    若非。
      嗚呼。「「零除零」」之禍。曰「「二數皆零。無可救也」」。
    云云。
  乃作罷。
是謂「除乙」之術也。

或又曰。零除零诚为非。然今实不欲致祸。强令得零可乎。曰。

吾有一術。名之曰「除丙」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
  姑妄行此。
    施「除乙」於「甲」。於「乙」。乃得矣。
  如事不諧。豈「「零除零」」之禍歟。
    乃得零。注曰「「氣殺算學先生也」」。
  乃作罷。
是謂「除丙」之術也。

又前章有庄子棰术。今以报错法。易之如是。以禁不宜之参。

吾有一術。名之曰「量棰」。欲行是術。必先得二數。曰「今長」。曰「餘日」。乃行是術曰。
  若「今長」不大於零者。嗚呼。「「參數」」之禍。曰「「萬世不竭。必當為正」」也。
  若「餘日」小於零者。 嗚呼。「「參數」」之禍。曰「「逝者如斯。豈得逆耶」」也。
  
  若「餘日」等於零者。乃得「今長」也。
  除「今長」以二。昔之「今長」者。今其是矣。
  減「餘日」以一。昔之「餘日」者。今其是矣。
  施「量棰」於「今長」於「餘日」。乃得矣。
是謂「量棰」之術也。

凡一术未行。先验其参数如是者。或号之曰“断言”。“断言”者。如绕城之池。护齿之唇。省己之良方。警彼之佳策也。欲有所为者多为是。

克祸之道。至是略备矣。或曰。妙哉其道。吾之程式。将以“姑妄行此”起之。以“不知何祸欤”结之。千谬百错尽为所苞。永不得祸矣。岂不美哉。曰。殆矣。陋之甚。小祸不与闻。大祸不远矣。吾子当其慎之。

图画第十二

子曰。游于艺。昔庖牺作卦。史皇作图。乃有鸟鼎鸾旗。雕戈黼黻。舆图𫄨绣。九州十服。屈子谒庙厥有天问。荀卿属文以为养目。云台画壁以旌功臣。洛阳凿砖以纪射驰。毛写昭君。至于弃市。顾描邻女。竟得悦之。弗兴画龙。百年祝雨。僧繇点睛。一时飞去。曹为梵象。其衣出水。吴写神仙。其带当风。李将军富贵入画。雍容金碧。王右丞以画为诗。幽雅超逸。凌烟功臣。太宗得诸立本。御园骏马。子美观诸曹霸。韩干马。韩滉牛。宣和鹤。元吉猴。徐熙野笔。黄荃精勾。荆关山峻。米家云悠。云林萧索。松雪俊秀。老莲高古。桃庵风流。理论董九友。工细仇十洲。有清以降。丹青传世者不计其数。吾曹先人之苗裔兮。宜乎哉其画脉之继武。

今以程式为翰墨。其术有“备纸”“落笔”“运笔”“提笔”云。盖皆以画家语方之也。“备纸”者。参二。纸之纵横长宽也。得其纸。辄“落笔”。“落笔”者。起其一划也。“运笔”者。一划既起。连笔而画也。参皆三。一者其纸。二三者东南。东者。其笔去纸左之远近。南者。去纸顶之远近。皆所以定方位者也。运笔再三。而一划既成。乃施“提笔”。欲复更有所画者。则复以落笔运笔提笔次第为之云。画成。裱以示人。古人以识丁字为最易。今且画丁字为例。

吾嘗觀「「畫譜」」之書。方悟「備紙」「落筆」「運筆」「提筆」「裱畫」之義。

施「備紙」於二百。於二百。名之曰「紙」。

注曰。「「先書丁字之一橫」」
施「落筆」於「紙」於五十。於五十。
施「運筆」於「紙」於一百五十。於五十。
施「提筆」於「紙」。

注曰。「「復書丁字之豎鉤」」
施「落筆」於「紙」於一百。於五十。
施「運筆」於「紙」於一百。於一百五十。
施「運筆」於「紙」於九十。於一百四十。
施「提筆」於「紙」。

施「裱畫」於「紙」於「「出」」。

或问曰。适所画者黑。欲其红。当何如。适笔细。欲粗。当何如。曰。

吾嘗觀「「畫譜」」之書。方悟「備紙」「擇筆」「蘸色」「落筆」「運筆」「提筆」「裱畫」之義。
施「備紙」於二百。於二百。名之曰「紙」。

施「蘸色」於「紙」於「「大紅」」。
施「擇筆」於「紙」於十二。
注曰。「「大紅者。赤之正者也。十二者。筆鋒之粗細也」」

注曰。「「色既蘸也。畫法如前」」
施「落筆」於「紙」於五十。於五十。
施「運筆」於「紙」於一百五十。於五十。
施「提筆」於「紙」。

注曰。「「更易一色為丁字之鉤」」
施「蘸色」於「紙」於「「硃磦」」。
施「落筆」於「紙」於一百。於五十。
施「運筆」於「紙」於一百。於一百五十。
施「運筆」於「紙」於九十。於一百四十。
施「提筆」於「紙」。

施「裱畫」於「紙」於「「出」」。

十三色者。曰黑。曰钛白。曰藤黄。曰朱磦。曰朱砂。曰胭脂。曰曙红。曰赭石。曰大红。曰花青。曰三绿。曰酞青蓝。曰三青。或问曰。择笔蘸色者。唯笔也。干其纸底事耶。乃以纸为参。曰。一纸其为一图也。图非一乃各营其具。是故明之。例曰。

吾嘗觀「「畫譜」」之書。方悟「備紙」「擇筆」「蘸色」「落筆」「運筆」「提筆」「裱畫」之義。

施「備紙」於二百。於二百。名之曰「甲紙」。
施「備紙」於二百。於二百。名之曰「乙紙」。

施「蘸色」於「甲紙」於「「赭石」」。
施「擇筆」於「甲紙」於五。
施「落筆」於「甲紙」於五十。於五十。
施「運筆」於「甲紙」於一百五十。於一百五十。
施「提筆」於「甲紙」。

注曰。「「乙紙之用筆。與甲無與也」」
施「蘸色」於「乙紙」於「「花青」」。
施「擇筆」於「乙紙」於十。
施「落筆」於「乙紙」於一百五十。於五十。
施「運筆」於「乙紙」於五十。於一百五十。
施「提筆」於「乙紙」。

注曰。「「甲紙之用筆。亦與乙無與也」」
施「落筆」於「甲紙」於一百五十。於五十。
施「運筆」於「甲紙」於五十。於一百五十。
施「提筆」於「甲紙」。

施「裱畫」於「甲紙」於「「出」」。
施「裱畫」於「乙紙」於「「出」」。

或问曰。吾有一色。非赤非青。介乎两者之间者。不在十三色之中。可得乎。或问曰。色其浓甚。欲薄施淡扫。可为乎。曰。以“调色”。以“蘸水”。

吾嘗觀「「畫譜」」之書。方悟「備紙」「擇筆」「蘸色」「蘸水」「調色」「落筆」「運筆」「提筆」「裱畫」之義。
施「備紙」於二百。於二百。名之曰「紙」。

施「蘸色」於「紙」於「「藤黃」」。

施「調色」於「紙」於「「花青」」於五分。
注曰。「「調色者。参三。曰紙。曰色。曰比」」
疏曰。「「色者。混前色於是色也。比者。零一間分數也。大之則重新色。小之則重舊色」」

施「蘸水」於「紙」於四分。
注曰。「「蘸水者。参二。曰紙。曰比。比者。亦零一間分數也。大之則色淡。小之則色濃」」
疏曰。「「必先蘸色調色而後蘸水也。」」

施「擇筆」於「紙」於十。
施「落筆」於「紙」於五十。於五十。
施「運筆」於「紙」於一百五十。於一百五十。
施「提筆」於「紙」。

施「落筆」於「紙」於一百五十。於五十。
施「運筆」於「紙」於五十。於一百五十。
施「提筆」於「紙」。

施「裱畫」於「紙」於「「出」」。

又凡曰蘸色。曩所调之色辄弃之。盖另为一色也。又色可再三调。蘸水亦如是。愈蘸弥淡也。

或问曰。适所画。勾线也。欲设色。当何如。曰。当易“提笔”为“设色”如是。

吾嘗觀「「畫譜」」之書。方悟「備紙」「落筆」「運筆」「設色」「裱畫」之義。
施「備紙」於二百。於二百。名之曰「紙」。

注曰。「「四角畫方也」」
施「落筆」於「紙」於五十。於五十。
施「運筆」於「紙」於一百五十。於五十。
施「運筆」於「紙」於一百五十。於一百五十。
施「運筆」於「紙」於五十。於一百五十。
施「設色」於「紙」。

施「裱畫」於「紙」於「「出」」。

古人曰青。通称也。其色每不同指。譬有“又疑瑶台镜。飞在青云端”又有“大道如青天。我独不得出”。天与云岂同色耶。譬有“青天白日摧紫荆”又有“青天有月来几时”。昼夜岂亦同色耶。譬有“朝如青丝暮成雪”又有“今朝东门柳。夹道垂青丝”。发柳之为丝者同。岂其色亦同耶。最奇者。当数孔雀东南飞“青雀白鹄舫”至“皆用青丝穿”四十言。盖今曰绿。曰蓝。曰青。曰灰。曰黑者。古皆云青一字蔽之。兹戏为“青图”。夫“青图”者。融诸青于一图。而相渐变也。

吾嘗觀「「畫譜」」之書。方悟「備紙」「蘸色」「調色」「落筆」「運筆」「設色」「裱畫」之義。

吾有一術。曰二百。名之曰「廣」。注曰「「紙之長寬也」」。
施「備紙」於「廣」。於「廣」。名之曰「紙」。

吾有一數。曰十。名之曰「度」。注曰。「「漸變之層次也」」。

注曰「「四角各一色。循環相嵌者。所以為縱橫之漸變也」」
吾有一數。名之曰「戊」。為是「度」遍。
  吾有一數。名之曰「戌」。為是「度」遍。
  
    注曰「「因縱橫之位。算四色之比也」」
    減「度」以一。除其於「戊」。名之曰「甲」。減「甲」於一。名之曰「乙」。
    減「度」以一。除其於「戌」。名之曰「丙」。減「丙」於一。名之曰「丁」。    
    乘「乙」以「丙」。名之曰「庚」。加「丁」以「庚」。除其於「庚」。名之曰「壬」。
    乘「甲」以「丙」。名之曰「辛」。
    
    注曰「「算得其比。乃調四色也。唯甲壬辛之序斷不可易。慎之」」
    施「蘸色」於「紙」於「「三青」」。
    施「調色」於「紙」於「「三綠」」於「甲」。
    施「調色」於「紙」於「「酞青藍」」於「壬」。
    施「調色」於「紙」於「「硃砂」」於「辛」。
    
    注曰「「棋布於紙上」」
    除「廣」以「度」。名之曰「子」。
    乘「子」以「戊」。名之曰「西」。加「西」以「子」。名之曰「東」。
    乘「子」以「戌」。名之曰「北」。加「北」以「子」。名之曰「南」。
    
    注曰「「乃以是色畫方也」」
    施「落筆」於「紙」於「西」。於「北」。
    施「運筆」於「紙」於「東」。於「北」。
    施「運筆」於「紙」於「東」。於「南」。
    施「運筆」於「紙」於「西」。於「南」。
    施「設色」於「紙」。
    
  加「戌」以一。昔之「戌」者。今其是矣。云云。
加「戊」以一。昔之「戊」者。今其是矣。云云。

施「裱畫」於「紙」於「「出」」。

分形者。图形之递归者也。譬木发二枝。枝各发二小枝。小枝复发焉。二生四。四生八。八生十六也。或譬雪华一片。熟视其角。如复有小霙于其中然。或譬鹿茸。或譬闪电。其美也如是。然人之欲之图者。则颇恨其繁复。而假机器为之。虽百叠千重。亦能分毫毕现也。今以画树为例。

吾嘗觀「「畫譜」」之書。方悟「備紙」「擇筆」「落筆」「運筆」「提筆」「裱畫」之義。
吾嘗觀「「算經」」之書。方悟「正弦」「餘弦」「半圓周率」之義。
注曰。「「正弦者。得股弦之角而知其勾弦之比。餘弦者。得股弦之角而知其股弦之比。」」
注曰。「「角者。以二倍圓周率為一周。於古書之三百六十又四分之一度不同也」」

吾有一術。名之曰「畫樹法」。欲行是術。必先得一物。曰「紙」。
五數。曰「東」曰「南」曰「長」曰「粗」曰「向」。是術曰。

  施「餘弦」於「向」。乘其以「長」。加其以「東」。名之曰「末東」
  施「正弦」於「向」。乘其以「長」。減其於「南」。名之曰「末南」
  注曰「「正餘弦者。所以自枝之向算其末端之方位也。」」

  施「擇筆」於「紙」於「粗」。

  施「落筆」於「紙」於「東」於「南」。
  施「運筆」於「紙」於「末東」於「末南」。
  施「提筆」於「紙」。
  注曰。「「是畫本枝也」」

  加「向」以零又三分。名之曰「左向」。
  減「向」以零又三分。名之曰「右向」。
  注曰。「「是算左右小枝所向也」」
  
  乘「長」以零又八分。名之曰「枝長」。
  乘「粗」以零又八分。名之曰「枝粗」。
  注曰。「「是遞減其粗長也」」

  若「枝長」小於五者。乃歸空無也。
  注曰。「「枝小甚。目不能辨。遂止不畫」」

  施「畫樹法」於「紙」。於「末東」。於「末南」。於「枝長」。於「枝粗」。於「左向」。
  施「畫樹法」於「紙」。於「末東」。於「末南」。於「枝長」。於「枝粗」。於「右向」。
  注曰。「「是以遞歸畫左右小枝也」」
  
是謂「畫樹法」之術也。

施「備紙」於二百五十六。於二百五十六。名之曰「紙」。
施「畫樹法」於「紙」。於一百二十八。於二百五十六。於五十。於五。於「半圓周率」。
施「裱畫」於「紙」於「「出」」

复以画霙为例。

吾嘗觀「「畫譜」」之書。方悟「備紙」「落筆」「運筆」「提筆」「裱畫」之義。

注曰「「雪華六角。一角二邊。計十二邊。今以四邊為一瓣。邊角邊者也。如是者計三瓣。是術畫其一瓣」」
注曰「「瓣術曰。層數盡。輒畫為邊。不然。則瓣之四邊各以本法畫之。而減其層數以為遞歸也。」」

吾有一術。名之曰「畫霙」。欲行是術。必先得一物。曰「紙」。
五數。曰「起東」曰「起南」曰「訖東」曰「訖南」。曰「層數」乃行是術曰。
注曰「「起訖者。定瓣之方位也」」

  注曰。「「層盡矣。故直畫為邊。」」
  若「層數」等於零者。
    施「落筆」於「紙」於「起東」於「起南」。
    施「運筆」於「紙」於「訖東」於「訖南」。
    施「提筆」於「紙」。
    乃歸空無也。
  
  注曰「「四邊之交三。升降者。左右之交也。因其勢而名之」」
  乘「起東」以二。加其以「訖東」。除其以三。名之曰「升東」。
  乘「訖東」以二。加其以「起東」。除其以三。名之曰「降東」。
  乘「起南」以二。加其以「訖南」。除其以三。名之曰「升南」。
  乘「訖南」以二。加其以「起南」。除其以三。名之曰「降南」。
  
  注曰「「勾股者。蓋以其邊為弦。取其長也」」
  減「起東」於「訖東」。除其以三。名之曰「勾」。
  減「起南」於「訖南」。除其以三。名之曰「股」。
  
  注曰「「峰者。正中之交也。亦因勢而名」」
  疏曰「「一又七分三釐二毫者。三之平方根。股一弦二之勾也。」」
  乘「股」以一又七分三釐二毫。減其於「勾」。除其以二。加其以「升東」。名之曰「峰東」。
  乘「勾」以一又七分三釐二毫。加其於「股」。除其以二。加其以「升南」。名之曰「峰南」。

  注曰「「四邊各以本法遞歸」」
  減「層數」以一。昔之「層數」者。今其是矣。
  施「畫霙」於「紙」於「起東」於「起南」於「升東」於「升南」於「層數」。
  施「畫霙」於「紙」於「升東」於「升南」於「峰東」於「峰南」於「層數」。
  施「畫霙」於「紙」於「峰東」於「峰南」於「降東」於「降南」於「層數」。
  施「畫霙」於「紙」於「降東」於「降南」於「訖東」於「訖南」於「層數」。

是謂「畫霙」之術也。

施「備紙」於四百。於四百。名之曰「紙」。

注曰「「左右下三瓣一一畫之。六角雪華成矣。試易其層數。以觀簡繁之異趣」」
施「畫霙」於「紙」。於二百。於十。於五十。於三百十。於五。
施「畫霙」於「紙」。於三百五十。於三百十。於二百。於十。於五。
施「畫霙」於「紙」。於五十。於三百十。於三百五十。於三百十。於五。
施「裱畫」於「紙」。於「「出」」。

以程式为丹青者。余素好焉。营之经年。而洒然不倦者。其妙趣愈探而不知其所穷也。但恨一篇不能具载耳。

宏略第十三

夫先秦以降。文言用世已逾千年矣。其之同喻一义也。亦可洗练。亦可绮丽。亦可锵锵。亦可靡靡。或高古诘聱。或浅白俗易。是作者之风姿为显矣。是文辞之变化亦无穷矣。夫编程者。辞有定式。易一字辄其程式不行。或病其文繁琐。亦无可为也。故作“宏”。夫宏。唯一言易一言。所以增改其文法也。曩言“有犬卧于通衢。逸马蹄而杀之。有马逸于街衢。卧犬遭之而毙”者。为宏。乃曰“逸马杀犬于道”。故或曰。寻常者。以编程语言编程。以宏者。编程编程语言也。

宏法。以“或云”谓所易何。以“盖谓”云旧文。凡通用辞。如术之参者。皆以引号括之。今以为“书之”作新文法如是。

或云「「書「甲」焉」」。
蓋謂「「吾有一言。曰「甲」。書之」」。

注曰「「宏備矣。試用之」」
吾有一數。曰五十。名之曰「大衍之數」。

夫「大衍之數」。書之。
注曰「「是舊文法也」」

書「大衍之數」焉。
注曰「「是新文法也」」

又例曰。幂者。自乘也。夫加减乘除皆得直谓“加甲以乙”云。今作幂术。不欲絮絮作“施”语。而欲云“求甲之乙次幂”。故宏之如是。

注曰「「先為冪術」」
吾有一術。名之曰「冪」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
  有數一。名之曰「丙」。
  為是「乙」遍。乘「丙」以「甲」。昔之「丙」者。今其是矣。云云。
  乃得「丙」。
是謂「冪」之術也。

注曰「「乃宏之」」
或云「「求「甲」之「乙」次冪」」。
蓋謂「「施「冪」於「甲」於「乙」」」。

注曰「「宏備。試用之」」
求三之五次冪。書之。
求二之十次冪。書之。

注曰「「以變數亦可」」
吾有二數。曰三。曰五。名之曰「丙」曰「丁」。
求「丙」之「丁」次冪。書之。

凡宏者。域弗限焉。盖程式未发。一文之宏悉替之。然后运行也。故“或云”语不得以引号作结。何耶。为替不知其止也。慎之。宏之为自由也。众君子文彩风流。借此可传焉。

阴符十三篇。至是尽矣。纵贯其书。有明义。有变数。有算术。有决策。有循环。有行列。有言语。有方术。有府库。有格物。有克祸。有图画。有宏略也。于是之外。复有丹道一门。本亦自成一章。然以其理奥雅。二三言弗能穷。亦非初学易知。故聊述其大义于是。以资博观。好事君子自探微焉。

昔秦王既扫六合。入海求药为鲸所阻。乃连弩射杀之。汉武亦好神仙之术。而徒诛文成乐通。卒无所获。后世炼丹饵术之徒。未尝绝于世。彼金丹大道者。有内丹。有外丹。内丹者。吐气纳神也。外丹者。烧鼎炼金也。其术多玄奥莫解。周易叁同契。抱朴子载焉。今信之者鲜矣。然近有奇术。投诸机器。可以告往知来。闻一识十。人不之预而智每敌于人者。号曰深度学习。然趋之者若鹜。穷其理者寥寥。比其炼也。每每耗时经日。乃至于月。比其成也。或神机如响。或暗昧无睹。得其方者著之。洋洋然夸诸天下。失之者易之。营营然冀有所得。吾侪每戏言。此诚当代之炼金术也。

是道也。其术繁多。有旋积。有循环。有生成对抗。有长短记忆。不可胜数。其理则一宗。何耶。法人之学也。遍观龟鉴。觅其事理。推被万事而不爽。初。其未炼也。机器也茫昧然。问以一事。胡乱以答。或验或否。然则有成例千千万万。悉令观而课之。每验辄褒之。否辄谴之。乃渐知趋利避害。去伪存真。如水流逐低。草木向阳然。渐进正理也。验者弥多。否者弥少。正理昭昭。金丹成矣。

请以旋积为例。旋积者。多用以观图识物也。譬有一画。不知所图者犬耶。马耶。乃取万千马图。万千犬图使习之。乃渐知犬马之同异。或既知其为马图也。然不知马之所在。或放南山。或驰平野。或浴溪涧。或饮城窟。乃取万千马图既知马之所在者。令习之。乃能指马于山野溪窟中。

论今者机器之智。由是观止也。然百年之后。观止者何。吾死不能知矣。畅想其情。当何其郁郁哉。

夫编程之奥义也无涯。而一山之竹也有涯。况以学术之盛代。世术日新。法门月异。每有昨之骊珠。今之敝屣。然其为础礩者。十世弗易。万变靡离。是书所录者是矣。其馀不能尽美者。唯待博雅君子。既详览其书而熟习其术。靡不能触类而长之。则虽幽遐诡伏。无所不入。告其往而知其来。举一隅而反其三。闻一而知十者皆适。然后乃置之寻常而不塞。布之天下而不窕也。