次のような可変境界を持つ2つのシーケンスがあります
> a:=Sum(x(i),i=n..m);
> b:=Sum(x(i),i=n-1..m+1);
n
とm
は任意の自然数であり、明らかにm>n
。から減算して、式を次のように単純化する方法を確認し
たいa
b
Maple
> b-a;
x(n-1)+x(m+1);
Mapleまたは別のCASで可能ですか?
次のような可変境界を持つ2つのシーケンスがあります
> a:=Sum(x(i),i=n..m);
> b:=Sum(x(i),i=n-1..m+1);
n
とm
は任意の自然数であり、明らかにm>n
。から減算して、式を次のように単純化する方法を確認し
たいa
b
Maple
> b-a;
x(n-1)+x(m+1);
Mapleまたは別のCASで可能ですか?
一時オブジェクトを使用して、2段階で動作することでそれを行うことができます。
a:=Sum(x(i),i=n..m):
b:=Sum(x(i),i=n-1..m+1):
temp := Sum(x(i),i=op(1,rhs(op(2,a)))..op(2,rhs(op(2,b))));
m + 1
-----
\
)
/ x(i)
-----
i = n
value( combine(b-temp) + combine(temp-a) );
x(n - 1) + x(m + 1)
または、それをプロシージャに入れることもできます。
combminus:=proc(s::specfunc(anything,Sum),t::specfunc(anything,Sum))
local temp;
if op(1,s) = op(1,t) then
temp:=Sum(op(1,s),i=op(1,rhs(op(2,s)))..op(2,rhs(op(2,t))));
value(combine(s-temp)+combine(temp-t));
else
s-t;
end if;
end proc:
combminus(b, a);
x(n - 1) + x(m + 1)