# prod() gives product # e.g prod(x-j, j,1,3,1) gives (x-1) (x-2) (x-3) # See also: sum; prod(y_,x_,a_,b_,c_) := block(prod:=1, For(x_,a_,b_,c_,prod:=prod*y_), prod); #prod(y_,x_,a_,b_) := prod(y_, x_,a_,b_,1); prod(x_,x_,1,n_) :=n!; prod(1/(a_^x_+b_),x_):=if(a>1 and isfree(b,x),0); prod(1/(a_+b_^x_),x_):=if(b>1 and isfree(a,x),0); prod(1+(-1)^(x_+1)/(2x_-1),x_):=sqrt(2); prod(1+x_^(2^k_),k_):=if(isfree(x,k),1/(1-x)); prod(1-1/x_^(2),x_):=1/2; prod(1-1/4*x_^(-2),x_):=2/pi; prod(x_,x_) :=x!; prod(y_) := prod(y, k);