在2020年的最后一天,群里的不在线和Jankel针对如下问题展开热切的讨论(原题见《RootOf 的那些诗意与遗憾》)。尽管Maple的RootOf机制配合evala能迅速给出结果,但究其数学内涵却深有挖掘处。此文将围绕 “韦达定理”与“幂级数展开(母函数)” 两种思路展开问题求解,原本应更新在《Maple&代数推导(二)——日常推导积累(动态更新ing)》,考虑到内容较多最终单行成文。这是2021年Maple技术交互研讨专栏所发布的第1篇作品,希望新的一年有心Maplers的数学素养、软操水平更上一层楼。
问题描述: 设
为方程
的5个根,求 解以下问题:
使用以下Maple代码,可以直接得到计算结果为
。
restart:
equ:=x^5+x+3=0;
(evala@value@Sum)(RootOf(lhs(equ),x,index=i)^(-5),i=1..5);
喜欢搞事情的人不禁要问,就这?我在乎的是这3行代码嘛?我在乎的是这个结果到底怎么来的好吧!那天中午我给出了幂级数展开的手推解法,但这只是因为之前有类似笔法被我所见识过,虽然巧妙但并非一日两日的努力思考可以得到。就像正经人不写日记一样,正统(正常人)思路(这么想)的做法应该是围绕韦达定理中所出现的各项,通过整体代换组合出待求表达式然后再行求解。守正出奇,不管是哪一种做法,起步基操均是对原方程作倒数代换。令
,代入原式化简得:
设
为上述方程的5个根,于是问题转换为求
?
1. 韦达定理守正
1.1. 韦达定理
对于多项式
,设其所有根为
,则有
设
为
中取
个数构成的组合,则上式中逐项系数相等,进而有:
1.2. multipoly_coeff
在实际Maple程序设计中,一个频繁出现的问题是:当每项(term)含有多个字母变量时,如何提取这些字母作为整体下的系数?例如
,我想提取