我正在尝试使用 为 Maxima 中的线性系统编写通用求解器linsolve(eqlist, varlist)
,但不必明确指定问题的维度。
这有效,但将尺寸固定为 3:
linsolve( [ eq[0],eq[1],eq[2] ], [ a[0],a[1],a[2] ])
这不会:
solution(p):=(
array(eq,p+1), /* creating arrays of length p+1 */
array(a,p+1),
for i:0 thru p do (
eq[i]: sum(binom(j+1,i)*a[j],j,i,p) = binom(p,i)
),
linsolve(eq,a)
)
关于如何让它发挥作用的任何见解?
问题背后的背景:这个线性系统出现在求解整数幂的有限和时,即有限多个平方、立方或一般幂的总和
p
。尽管有限平方和很简单,但一般解决方案却出奇地复杂:可以在此处找到讨论:递归关系的有限求和,第 2 部分。