最大值:扩展嵌套求和

时间:2015-02-05 09:44:30

标签: maxima

我有以下Maxima代码:

m:sum(x[i],i,1,N)/N;

然后我想计算$ m ^ 2 $。

m2:m^2, sumexpand;

然后我得到双倍总结:

sum(sum(x[i1]*x[i2],i1,1,N),i2,1,N)/N^2

我想要实现的是将它扩展为两个总和。

第一个是sum(x[i]^2,i,1,N),第二个是rest over non-equal indices。我该怎么办?我应该如何以m的任意力量做到这一点?

1 个答案:

答案 0 :(得分:4)

默认情况下,

sum未声明为线性;你可以声明它是线性的并且重新简化。请注意,要获得预期效果,您必须声明sum的名词形式。

(%i1) m:sum(x[i],i,1,N)/N;
                                    N
                                   ====
                                   \
                                    >    x
                                   /      i
                                   ====
                                   i = 1
(%o1)                              --------
                                      N
(%i2) m2:m^2, sumexpand;
                              N      N
                             ====   ====
                             \      \
                              >      >     x   x
                             /      /       i1  i2
                             ====   ====
                             i1 = 1 i2 = 1
(%o2)                        ---------------------
                                       2
                                      N
(%i3) declare (nounify(sum), linear);
(%o3)                                done
(%i4) ''%o2;
                              N           N
                             ====        ====
                             \           \
                            ( >     x  )  >     x
                             /       i1  /       i2
                             ====        ====
                             i1 = 1      i2 = 1
(%o4)                       -----------------------
                                       2
                                      N