This one (initially reported as Sage ticket 31844) may or may not be news to you ;
(%i1) display2d:false;
(%o1) false
(%i2) load("simplify_sum");
(%o2) "/usr/local/sage-9/local/share/maxima/5.44.0/share/solve_rec/simplify_sum.mac"
(%i3) simplify_sum(sum(binomial(n-1,k-1)*t^(k-1),k,1,n));
(%o3) 0
Absurdly false. But converting the sum in order to work on atomic arguments alleviates the problem :
(%i4) subst([nj = n-j], simplify_sum(subst([n = nj+j],changevar(sum(binomial(n - j, k - j)*t^(k - j), k, j, n), kj = k - j, kj, k))));
(%o4) (t+1)^(n-j)
The same bug also strikes when substituting integers to j.
HTH,
I think the verbose output that is copied below shows that the problem is a wrong initial condition for Zeilberger's method. Maxima says the initial condition is
sm[0] = 0, but I think this needs to besm[1] = 1, because the recurrence relationsm[n]*(t+1) - sm[n+1] = 0is not valid forn = 0.(%i15) verbose_level: 100;
(verbose_level) 100
(%i16) load("simplify_sum");
(%o16)
/Applications/Maxima.app/Contents/Resources/opt/share/maxima/5.43.0/share/solve_rec/simplify_sum.mac
(%i17) simplify_sum(sum(t^(k-1)*binomial(n-1, k-1), k, 1, n));
Trying with simpsum=true ...
sum with simpsum=true returns: sum(binomial(n-1,k-1)*t^(k-1),k,1,n)
sum_by_parts returns sum(binomial(n-1,k-1)*t^(k-1),k,1,n)
Trying with integral representation.
Trying with Gosper ...
Trying with extended Gosper ...
Trying with Zeilberger ...
Summand: binomial(n-1,g5125)*t^g5125
Changed to: ((n-1)!*t^g5125)/(g5125!*(n-g5125-1)!)
Found support: [0,n-1]
Zeilberger returns: [[g5125/(n-g5125),[t+1,-1]]]
Degree of recurrence: 1
Zeilberger recurrence: sm[n]*(t+1)-sm[n+1]=0
Initial conditions: [sm[0]=0]
Solving recurrence returns: sm[n]=0
Simplified solution: 0
Zeilberger method returns: 0
(%o17) 0