如何解决如何合并两个和并分解出一个公共元素表达式?
这是初始前提:将两个和s1和s2相加; sum元素表达式具有一个公共因子a[n]
。
s1: sum(r1[m,q]*b[m,n]*a[n],n,N)$
s2: sum(r2[m,q]*c[m,N)$
s1+s2;
我希望将这些总和合并,并排除公共元素表达式a[n]
:
s12: sum(a[n]*(r1[m,n]+r2[m,n]),N);
但是,我无法使Maxima产生这种收缩。我能够获得的最简单的方法是使用sumcontract(s1+s2)
,它得到两个和,而没有排除公共元素:
r1[m,q]*sum(b[m,N) + r2[m,q]*sum(c[m,N);
如何使Maxima像上面的s1+s2
一样从s12
产生分解的表达式?
注意:如果我们删除r1
和r2
,则factor(sumcontract(s1+s2))
实际上会产生预期的s12
表达式。但是,如果同时存在两者,则会产生两个总和,并且没有如前所述排除a[n]
。
解决方法
如何?我已经应用了sumcontract
,intosum
和factor
。
(%i1) s1: sum(r1[m,q]*b[m,n]*a[n],n,N)$
(%i2) s2: sum(r2[m,q]*c[m,N)$
(%i3) s1 + s2;
N N
==== ====
\ \
(%o3) r2 > c a + r1 > b a
m,q / m,n n m,n n
==== ====
n = 0 n = 0
(%i4) intosum (%);
N N
==== ====
\ \
(%o4) > c r2 a + > b r1 a
/ m,n m,q n / m,q n
==== ====
n = 0 n = 0
(%i5) sumcontract (%);
N
====
\
(%o5) > (c r2 a + b r1 a )
/ m,q n m,q n
====
n = 0
(%i6) factor (%);
N
====
\
(%o6) > (c r2 + b r1 ) a
/ m,q m,q n
====
n = 0
在这种情况下,intosum
将常数因子推回总和。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。