## 190 Reputation

11 years, 155 days

## two problems in maple...

Maple

1. how to eliminate the diff(*(x,y,z),x) terms in an expression, "*" means any function which have independent variables x,y,z?

2. how to get the gradient of a vector, which should be a tensor?

Maple

restart;
pp:=-55471918776960000*tanh((1/3220)*sqrt(10368400-cp^2)*Pi*x/cp)+5350094400*tanh((1/3220)*sqrt(10368400-cp^2)*Pi*x/cp)*cp^2-129*tanh((1/3220)*sqrt(10368400-cp^2)*Pi*x/cp)*cp^4+2670899840*tanh((1/6450)*sqrt(41602500-cp^2)*Pi*x/cp)*sqrt(41602500-cp^2)*sqrt(10368400-cp^2);
Student[Calculus1]:-Roots(subs(x=8000,pp),cp=1..3220,numeric);
p1:=proc(v)
option hfloat;
local a;
a:=Student[Calculus1]:-Roots(subs(x=v,pp),cp=1..3220,numeric);
if nops(a)>=1 then seq([v,a[i]],i=1..nops(a));
end if;
end proc:
SS1:=[seq(p1(i),i=3500..20000,200)]:
plot(SS1,style=point,gridlines);

The final figure is different between maple12 and maple17.

On 17, unwanted points apprear.

is it a bug?

## solve for the assumed integer...

restart;
a=1-(1+x)*exp(-x);
SS:=solve(%,x,allsolutions);
evalf(eval(SS,[_Z2=0,a=0.3]));evalf(eval(SS,[_Z2=-1,a=0.3]));

I know there are two branches for the lambertw function meet my demand.

I wonder whether there is a method to find the _Z2 value with SS::real, for the above commands, they are 0&-1.

## Is this a problem?...

Maple

restart;
with(ArrayTools):
M1 := Matrix([[0, 0, b], [0, e, f]], order = Fortran_order);
row, col, var := SearchArray(M1);
M2 := Matrix([[0, 0, b], [0, e, f]], order = C_order);
row2, col2, var2 := SearchArray(M2);

I guess that's a bug.

## two problems about user defined periodic...

Maple

restart;
#plot(exp('frem'(x+1,3)-1),x=-5..5,discont);
int(exp('frem'(x+1,3)-1),x=-5..5);
Error, (in int) wrong number (or type) of arguments: invalid options or option values passed to exact integration
evalf(Int(exp('frem'(x+1,3)-1),x=-5..5));
Error, (in evalf/int) when calling 'frem'. Received: 'invalid input: frem received x+1, which is not valid for its 1st argument, x'
sol1:=dsolve({diff(x(t), t)=eval(piecewise(0 <= t and t < 10/3, 60, 10/3 <= t and t < 13/3, 0),t='frem'(t,13/3)),x(0)=0},numeric,output=listprocedure);
sol2:=dsolve({diff(y(t),t)=eval(piecewise(0 <= t and t < 4, 50, 4 <= t and t < 5, 0),t='frem'(t,5)),y(0)=0},numeric,output=listprocedure);
#two commands above are well,but the below is not well.
sol:=dsolve({diff(x(t), t)=eval(piecewise(0 <= t and t < 10/3, 60, 10/3 <= t and t < 13/3, 0),t='frem'(t,13/3)),diff(y(t),t)=eval(piecewise(0 <= t and t < 4, 50, 4 <= t and t < 5, 0),t='frem'(t,5)),x(0)=0,y(0)=0},numeric,output=listprocedure);
Error, (in signum) invalid input: frem received t, which is not valid for its 1st argument, x
plots:-odeplot(sol,[[t,x(t)],[t,y(t),color=blue]],t=0..50,gridlines=true,thickness=2);
Error, (in plots/odeplot) input is not a valid dsolve/numeric solution.