连结:和算中的行列式(1):创立者关孝和
关孝和《解伏题之法》(1683年)的主要内容是解多元高次方程组。他提出了六个步骤:真虚、两式、定乘、换式、生剋、寄消。其中的第五个步骤「生剋」,就相当于今日将行列式展开的过程,其「生」(以红色表示)、「剋」(以黑色表示)就是在决定展开后每一项的正、负号。以今日的术语来说,关孝和在书中提出相当于将二至五阶行列式展开的方法,并写下二至四阶的行列式展开式。
以二阶行列式为例,关孝和呈现的方式如下表一,
然后说乙丙相乘是「生」,丁甲相乘是「剋」,
用今日符号表示的话,就是
关孝和还用下图一来表示这规则。
类似地,
关孝和三阶行列式的表示方法就相当于今日的 ,见下表二及图二,
照其定「生」、「剋」的方式,
就可得到展开式为:丙戊庚 + 己辛甲+ 壬乙丁 – 丙辛丁 – 己乙庚 – 壬戊甲,
这和今日的结果是相符的。
至于四阶行列式的展开,关孝和的方法就变得比较複杂了,必须先推得相乘的顺序,然后才能决定「生」、「剋」。虽然关孝和的结论是对的,但其方法并不能适用到五阶以上的行列式,也就是说,关孝和用了错误的方法,笔者在此就不多做说明了。
由上可知,关孝和在《解伏题之法》中确实是提出了类似于今日行列式的概念。
但很特别地,关孝和并非从解多元一次联立方程组得到这概念的,而是从解多元高次方程组发展出来的。他究竟是如何办到的呢?
笔者以二元二次方程组 $$\left\{ \begin{array}{l} {a_1}{x^2} + {b_1}xy + {c_1}{y^2} + {d_1}x + {e_1}y + {f_1} = 0\\ {a_2}{x^2} + {b_2}xy + {c_2}{y^2} + {d_2}x + {e_2}y + {f_2} = 0\\ {a_2}{x^2} + {b_3}xy + {c_3}{y^2} + {d_3}x + {e_3}y + {f_3} = 0 \end{array} \right.$$ 为例作说明。
首先,将左方这个方程组看成三个以 $$x$$ 为未知数的一元二次方程式,
依升幂排列整理得 $$\left\{ \begin{array}{l} ({c_1}{y^2} + {e_1}y + {f_1}) + ({b_1}y + {d_1})x + {a_1}{x^2} = 0\\ ({c_2}{y^2} + {e_2}y + {f_2}) + ({b_2}y + {d_2})x + {a_2}{x^2} = 0\\ ({c_3}{y^2} + {e_3}y + {f_3}) + ({b_3}y + {d_3})x + {a_3}{x^2} = 0 \end{array} \right.$$;
其次,再将各项係数用甲、乙、…、庚表示,得 ,
这就相当于关孝和书中所写的一式、二式、三式。
显然可见,甲、乙、…、庚是未知数 $$y$$ 的多项式。
最后,利用加减消去法,把 $$x$$ 项与 $$x^2$$ 项消去:
(1)式乘以戊庚、(2)式乘以甲辛、(3)式乘以乙丁,
得 ,这三个作为「生」;
(1)式乘以丁辛、(2)式乘以乙庚、(3)式乘以甲戊,
得 ,这三个作为「剋」;
「生」、「剋」相消得:丙戊庚 + 甲己辛+乙丁壬 – 丙丁辛 – 乙己庚 – 甲戊壬= 0,
这也就是行列式 展开的结果。
别忘了,在这个例子中,甲、乙、…、庚都是未知数的多项式
因此, 其实是 $$y$$ 的方程式,所以,只要求出 $$y$$ 的值,再代回就能得到 $$x$$ 的值。求 $$y$$ 值(近似值)的方法,当时称为「开方术」,这是数学家必备的技能之一,根本难不倒关孝和。
以上就是关孝和发展出类似于今日行列式概念的简略说明。关孝和过人的巧思与洞察力,不得不教人佩服。虽然五阶以上的行列式展开,关孝和的方法并不适用,但这无损他作为行列式先驱的地位。换个角度看,这个错误,让后来的和算家有了研究的切入点,提出正确的展开方法,这就留待另一篇文章再作介绍了。
连结:和算中的行列式(3):关孝和的《解伏题之法》(下)
参考资料:
林典蔚 (2012). 《关孝和《三部抄》之内容分析》,国立台湾师範大学硕士论文。徐泽林 (2012). 《和算中源:和算算法及其中算源流》,上海:上海交通大学出版社。徐泽林、周畅、夏青 (2013). 《建部贤弘的数学思想》,北京:科学出版社。梁宗巨、王青建、孙宏安 (1995). 《世界数学通史》,瀋阳:辽宁教育出版社。杨浩菊 (2004). 《行列式理论历史研究》,西北大学博士论文。