Maple 2025 Questions and Posts

These are Posts and Questions associated with the product, Maple 2025

I just found a rather incredible error in versions 2025.1 and 2025.2.

The function works fine in version 2022.

The drag function in solve does not work, even for solving a very simple problem.

For example, in the equation 1 + 5x = 3x - 1, if I try to do 3x from right to left, a box opens with a good suggestion (subtract   1+2x = -1)

# subtract 3*x from both sides
((1)) + ~(3 * x)
we can see that the correct expression should be ((1)) - ~(3 * x)

I finally get:

1 + 8x = 6x -1 (it added and did not subtract 3x from both sides)

Please correct this...

These are the original set up to solve for second order partial differetial equations:

E := 1.456*10^11;
rho := 7900;
a := sqrt(E/rho);
L := 0.03639;

f0 := 1/(2*L)*a;
f := f0 - 50;
A0 := 11.75*L/2*10^(-6);

d := 0.8*1000;
T0 := 5/f;
NULL;
PDE := diff(u(x, t), t, t) = a^2*diff(u(x, t), x, x) - d*diff(u(x, t), t);
IBC := {u(x, 0) = A0*cos(Pi*x/L), D[1](u)(0, t) = 0, D[1](u)(L, t) = 0, D[2](u)(x, 0) = 0};
pds := pdsolve(PDE, IBC, numeric, timestep = 2*10^(-7));

 I know it solves properly because I can plot it using pds:-plot without problem.  The question is how to extract the value at specific x and t.  I started to try some of the more intuitive way such as u(0,0) without getting an answer.  I tried a number of eval expression such as eval(pds,[x=0,t=0]), eval(u(x,t),[x=0,t=0]) and so on without success.  

Then I tried using :-value as mentioned in an example from the internet, also resulting in an error.

val:=pds:-value(x=0,t=0)

It seems to be simple.  I guess I am too new with maple so be gentle.  Thank you.

Hi,

My student licence  expired yesterday mar1. According to the description of my student licence it renews automatically. So I did not get active. But apparently it did not occur automatically. When starting Maple I get the message that my licence expired yesterday. To check whether the automatic renewal applies but did not work or whether I have to purchase a new licence for the next 12 months I tried to contact the customer support through online form. 

I do not see any other channel to contact customer support by mail or phone, what can I do ?

Manfred

Hello Friends,

I have a function f(t) which I would like to convolve with itself.  I have no problem doing that typically, but my function contains two elliptic integrals (EllipticE and EllipticK), which clearly complicates matters.

My work in included.  As you can see, the plot on the (0,2) interval is continuous, and the area under the curve sums to unity via numerical integration.

with(Statistics)

f := proc (t) options operator, arrow; piecewise(t <= 0, 0, 0 < t and t < 2, (4/3)*t*((4+t^2)*EllipticE(sqrt(1-4/t^2))-8*EllipticK(sqrt(1-4/t^2)))/Pi^2, 2 <= t, 0) end proc

proc (t) options operator, arrow; piecewise(t <= 0, 0, 0 < t and t < 2, (4/3)*t*((4+t^2)*EllipticE(sqrt(1-4/t^2))-8*EllipticK(sqrt(1-4/t^2)))/Pi^2, 2 <= t, 0) end proc

(1)

plot(f(t), t = 0 .. 2)

 

evalf(int(f(t), t = 0 .. 2))

1.000000000+0.*I

(2)

Download CircleDerivation2.mw

Are there any sort of transformations that I can employ which will permit me to convole this function with itself?  I realize a closed-form solution is probably not likely, but something approaching closed-form would be nice.  Via simulation, I have learned that the self-convolved function will have a continuous boundary on the (0, 2*sqrt(2)) interval.

nans:=dsolve({(-y^4+y^2)*diff(U(y),y,y)+(-2*y^2+14.2)*diff(U(y),y)*y-15.2*U(y)*(U(y)-1)*(U(y)+1) = 0, DU(.99999) = -.3401375821,U(.99999)= 0.3000034013},numeric);
Error, (in dsolve/numeric/process_input) invalid specification of initial conditions, got DU(.99999) = -.3401375821

Is this a Maple bug? I do not see what I am doing wrong:

restart;

interface(version);

`Standard Worksheet Interface, Maple 2025.2, Windows 10, November 11 2025 Build ID 1971053`

Explore( plots:-textplot([0,0," CRITICAL DAMPING"],'axes'=none),
   initialvalues=[c=1,k=.1],
   parameters=[[c=0..10],[k=0..10]]
   );

 

 

Moving any slider gives the internal error.  Why?

Download internal_error_explore_feb_28_2026.mw

Here is a small movie

To help debug things, and to make it easier to add more logic such as if then else and so on, I moved the main body of Explor to a separate proc where the plot is made after doing some checking.

So instead of writing

Explore(plot(.....), 
 parameters=[  
   [c=0..10,....],
   [k=0..10,...]]
)

It now became

foo:=proc(c,k}
.....#some debug print messages added here, and some checking...
   plot(....)
end proc;

Explor( foo(c,k), 
  parameters=[  
    [c=0..10,....],
    [k=0..10,...]]
)

Two problems. 

1) My print lines inside foo() do not print to worksheet. Only the initial time they do. When I mean initial time, it is when Explore starts and does initalization. I see the print lines only then.

But after that, as I change the slider, which should make a call to foo(), I see nothing printed on the screen in my worksheet any more.

It is as if Explor stopped calling my foo().  But at same time, I see do see in the the display of Explore itself that it is calling foo as expected, since the call it display is changes and the result of the call changes as slider is changed. So call is being made. 

This is what shows inside Explore...

foo(5,2)=10
foo(3,2)=6
and so on

Why then the print messages from foo() are not printed in the worksheet any more? Where are the print message going to then?

2) How to make Explor only show the _result_ of calling foo() and not show the call itself as it does now? 

ie. instead of showing foo(5,2)=10  I just wanted to see the result of foo, which is 10 in this example.

Doing rhs(foo(c,k)) did not work

Here is worksheet to see yourself.

restart;

foo:=proc(c,k)
   print("c=",c," k=",k);
   c*k;
end proc:

Explore(foo(c,k),
   initialvalues=[c=1,k=.1],
   parameters=[
     [c=0..10,'controller' = 'slider','minorticks'=1,
      'snaptoticks'=true, 'label' = "Damping c",'showlabels'=false],
     [k=0..10,'controller' = 'slider','minorticks'=1,
      'snaptoticks'=true, 'label' = "Stiffness k",'showlabels'=false]]
   );

"c=", 10, " k=", 10

"c=", 0, " k=", 0

"c=", 1, " k=", .1

 

 

Download explore_feb_28_2026.mw

Here is small movie

ps. I am thinking now Explore only works with "plot" as its first argument. But help says expr can be anything.

Goal: to make a 3D parametric plot of a complex function u(x,t) obtained by pdsolve.  I tried to follow one example of a plot of a complex expression/function.  I was unable to get any plot.  I got some warning and error.  Please let me know what have I done wrong.

I follow this example so that I can get a 3D parametric plot of a complex function u(x,t) for a fix x:

with(plots);

complexplot(exp(t*I), t = 0 .. 2*Pi, scaling = constrained);

plot([cos(t), sin(t), t = 0 .. 2*Pi], scaling = constrained);

z := t -> exp(t*I);

spacecurve([Re(z(t)), Im(z(t)), t], t = 0 .. 4*Pi, axes = normal, labels = ["Re", "Im", "t"]);

It was successful.  With the following pde, I obtain an analytical solution using pdsolve.

a := 3;
L := 2*Pi;
d := 0.5;
T0 := 2*Pi;
PDE := diff(u(x, t), t, t) = a^2*diff(u(x, t), x, x) - d*diff(u(x, t), t);
IBC := u(x, 0) = cos(Pi*x/L), D[2](u)(x, 0) = 0, D[1](u)(0, t) = 0, D[1](u)(L, t) = 0;
pds := pdsolve({IBC, PDE}, u(x, t));

It fail 2D plotting using the following:

with(plots);
complexplot(u(0, t), t = 0 .. 6);

So I break down the pds with the following:

RP := Re(pds);
IP := Im(pds);
RP0 := eval(RP, x = 0);
RP0t := unapply(RP0, t);
IP0 := eval(IP, x = 0);
IP0t := unapply(IP0, t);

And I was hopeful as the following give me real numbers when I approximate them:

RP0t(1);
                             "(->)"


                     Re(u(0, 1)) = 0.20248

RP0t(2);
                             "(->)"


                     Re(u(0, 2)) = -0.57765

But it fails in both 2D and 3D plot:

plot([RP0t(t), t = 0 .. 6])

spacecurve([RP0t(t), IP0t(t), t], t = 0 .. 6, axes = normal)

Dear sir,

i want to draw velocity and temperature plots for fluid and dust phases. but getting error in that showing 12 BC need only 8 
i have tried with 8 Bc also but showing different error how to rectify it

dust_phase_work_error.mw 

given

ode:=x^2*diff(y(x),x)+cos(2*y(x)) = 1; 
ic:=y(infinity) = 5/4*Pi; 
mysol:=cot(y(x))=2/x+1;

the above solution is verified against the ode, but Maple do not give zero for the IC part. It gives 

                                 [0, -Pi*_Z6 + Pi]

But we can see the IC are verified also

limit(eval(mysol,y(x)=5/4*Pi),x=infinity)

Gives

                                    1 = 1

my  code checks if the entry in the result of odetest is zero or not. Hence for -Pi*_Z6 + Pi it thinks now the solution is wrong because it is not zero.   Ofcourse looking at it on the screen, we see that for _Z6=1 then it becomes zero.  

The question, why Maple odetest do not return zero for the IC part?

eq:=cot(y)=-A;
solve(eq,y)

eq:=cot(y)=A;
solve(eq,y)

I would expect solution to first to be arccot(-A) and for second to be arccot(A) but Maple likes to write the solution for the first one as Pi-arccot(A).

Of course Maple solution is correct. But why make it so complicated? Why not just give arccot(-A) as solution?  A is just a symbol.

I tried 4 different cas systems and they all give arccot(-A) for first one, except Maple gives Pi-arccot(A)

Is there some subtle reason why Maple gives solution like this instead of the simpler one? 

And is there a way to tell Maple not to do this? This seems to be something hardcoded internally in its automatic trig simplifications? I just do not see the point of writing it this way. May be someone knows why.

Dear Power Users, I do hope someone is willing to help me out. I want to do the analysis of 3 cycles of an extension-load measurement. I would like to calculate:

- the slope of the upgoing part of the cycle between 1 and 4 N (loading stiffness)

- the slope of the unloading part of the cycle between 4 and 1 N

- the surface of each cycle.

- the extension at the minimum and maximum value of each cycle

I did this before using a special addin of mathcad 15 but as this is no longer available I hope to do this in maple. 

AnalysisCyclicData2.maple

according to help under Explore, it says

I wanted to add title at top of the Explore window. But title do not show. 

Explore(plot(a*sin(b*t),t=0..10),
   parameters=[              
        [a=1..20],
        [b=1..20]
        ],
  initialvalues=[a=6,b=5],placement='right',width=300,'title'="My Explore");

I was expecting My Explore to show at top of frame above. What Am I doing wrong?

Maple 2025.2

Is this a bug?  Or one can not mix slider for one variable and textarea for second variable in Explore?

Or do I need to initialize the textarea is special way? Nothing in help shows an example with textarea and slider together.

interface(version);

`Standard Worksheet Interface, Maple 2025.2, Windows 10, November 11 2025 Build ID 1971053`

No textarea , works OK

 

restart;

Explore(plot(a*sin(b*t),t=0..10),
   parameters=[              
        [a=1..20],
        [b=1..20]
        ],
  initialvalues=[a=6,b=5],placement='right',width=300);

 

 

Change one slider to textarea, now error

 

restart;

Explore(plot(a*sin(b*t),t=0..10),
   parameters=[              
        [a=1..20],
        [b,'controller' = 'textarea','label'="b" ]
        ],
  initialvalues=[a=6,b=5],placement='right',width=300);

Warning, expecting only range variable t in expression 20*sin(b*t) to be plotted but found name b

Warning, expecting only range variable t in expression sin(b*t) to be plotted but found name b

 

 

Download explor_feb_19_2026.mw

I am not able to find an example or how to do this in help.

In Explore, when making a slider, using say 

parameters=[  [ a=1..1000 ], .....]

Is there is a way to tell it to increment "a" by say 10 for each movement of the slider using the mouse? it seems to default in this case to 1 each time.

Actually it is very hard now to make the slider go to the exact value I want. Is there a way to better control what value "a" should be?

In Mathematica, slider supports increment. Also it is possible to open each slider and then click on + and -  in the small window that opens below the slider, where now each click on + now moves the slider by the increment one decides on.  But in Maple I see no place to tell it what increment to use?

If I try this (similar to when using seq command, as in seq(i, i=1..1000,10), it does not work

[ a=1 .. 100, 10 ]

Hoping it will increment/decrement by 10 each time, it gives error.

Imagine a slider that goes from 1 to 10,000. Then how will one control the slider to be say exactly 5,550 ?  It is impossible now. Here is an example

Explore(plot(a*sin(x),x=-3*Pi..3*Pi,'gridlines'),
   parameters=[[a=1 .. 10000]],
   initialvalues=[a=1000],
   width=500,placement='right');

Now try using the slider above to make it go to a=5550. 

very hard to control the slider as it is very sensetive to slider motion, a small touch makes it move by large amount.   

I was hoping that if I can make it move by say 10 at time, so it will be at least easier to control.

Any suggestions?

I see a web page called Slider Component   but have no idea if this is related to Explor or not and how to use it there.

I know I can change the slider to "controller = textarea", and this way I can type in the value I want instead of using a slider. But want to see first if standard slider has a way to allow changing the increment amout. If not, then may be will use textarea instead of slider.

1 2 3 4 5 6 7 Last Page 1 of 18