我发现之前对于斜洛朗级数的求逆要求过于严苛了。之前我假设的是斜洛朗级数的系数环必须是整环(IntegralDomain, 即无零因子交换环),这样的话很多环(例如矩阵环)就不满足要求了。这是一个很强的限制,会使得 ORESUS 的应用范围减小不少。
今天再检查原先的代码,发现斜洛朗级数的求逆其实只依赖其首相系数是否可逆,在 FriCAS 中有两个函数可以判断是否可逆,一个是recip()
, 另一个是 exquo(a,b)
,recip
会试图计算某元素 x
的逆,若不可逆返回 failed
。而 exquo
会尝试用 a
除以 b
,同样如果可行则返回结果,否则返回 failed
。求逆的过程也用到之前写的乘法的代码,所以我要检查一下,看看乘法代码里面是否用到了交换环这个性质。
【更新】求逆的部分修改完毕!今天要被 rule
的使用折腾死了!不知道怎么用这个命令去化简一个表达式。。。还在试验中。。。