Maple 2026 Questions and Posts

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

I am running Maple 2026 and my interest is in Physics.

Am I able to load the Physics package "Version 1854 and higher require Maple 2025"  in Maple 2026?

Does the Physics package offer capability that is not in the standard Maple 2026 product?

Will there be a Physics package for Maple 2026 that will available shortly?

Thanks in advance.

...and starting values. I want to reproduce the maximum in Maple using the solution structure in the attached file, similar to the old Mathcad method. Instead of using the Euler-Lagrange equation, I want to separately enter the objective function, then the boundary conditions, and finally the starting values ​​for an iteration (as was done in the old Mathcad solution block). I entered the latter into the "maximize" command using the Maple help text. But nothing is being calculated. What am I doing wrong? As I said, I only want a numerically generated approximate solution.test.mw

restart

kernelopts(version)

`Maple 2026.0, X86 64 WINDOWS, Mar 05 2026, Build ID 2001916`

(1)

interface(version)

`Standard Worksheet Interface, Maple 2026.0, Windows 11, March 05 2026 Build ID 2001916`

(2)

with(VariationalCalculus)

[ConjugateEquation, Convex, EulerLagrange, Jacobi, Weierstrass]

(3)

with(plots, implicitplot)

[implicitplot]

(4)

with(Optimization)

 

assume(x >= 0, y(x) >= 0)

"p(a,b,c,x):=a∗x^(2)+b∗x+c;"

proc (a, b, c, x) options operator, arrow, function_assign; a*x^2+b*x+c end proc

(5)

" q(d,f,x):=d∗x^(2)+f∗x;"

proc (d, f, x) options operator, arrow, function_assign; d*x^2+f*x end proc

(6)

"yn(a,b,c,d,f,g,x):=p(a,b,c,x)∗exp(q(d,f,x))+g;"

proc (a, b, c, d, f, g, x) options operator, arrow, function_assign; p(a, b, c, x)*exp(q(d, f, x))+g end proc

(7)

" wn(a,b,c,d,f,g,xend):=(∫)[0]^(xend)x∗yn(a,b,c,d,f,g,x)ⅆx;"

proc (a, b, c, d, f, g, xend) options operator, arrow, function_assign; int(x*yn(a, b, c, d, f, g, x), x = 0 .. xend) end proc

(8)

"constr(a,b,c,d,f,g,xend):=(∫)[0]^(xend)(sqrt(1+((ⅆ)/(ⅆx)(yn(a,b,c,d,f,g,x)))^(2))-50)ⅆx=0;"

proc (a, b, c, d, f, g, xend) options operator, arrow, function_assign; int(sqrt(1+(diff(yn(a, b, c, d, f, g, x), x))^2)-50, x = 0 .. xend) = 0 end proc

(9)

 

maximize(wn(a, b, c, d, f, g, xend), constr(a, b, c, d, f, g, xend), initialpoint = {a = -0.2e-1, b = 1.06, c = 0.14e-2, d = 0.46e-3, f = -0.12e-2, g = -0.14e-2, xend = 30})

maximize(-(1/16)*(8*a*xend^2*(-d)^(11/2)*exp(d*xend^2+f*xend)-8*g*xend^2*(-d)^(13/2)+4*a*f*xend*(-d)^(9/2)*exp(d*xend^2+f*xend)+8*b*xend*(-d)^(11/2)*exp(d*xend^2+f*xend)+2*exp(d*xend^2+f*xend)*(-d)^(7/2)*a*f^2+4*b*f*(-d)^(9/2)*exp(d*xend^2+f*xend)+8*c*(-d)^(11/2)*exp(d*xend^2+f*xend)-erf((1/2)*(2*d*xend+f)/(-d)^(1/2))*Pi^(1/2)*exp(-(1/4)*f^2/d)*d^3*a*f^3+2*erf((1/2)*(2*d*xend+f)/(-d)^(1/2))*Pi^(1/2)*exp(-(1/4)*f^2/d)*d^4*b*f^2-4*erf((1/2)*(2*d*xend+f)/(-d)^(1/2))*Pi^(1/2)*exp(-(1/4)*f^2/d)*d^5*c*f+8*a*(-d)^(9/2)*exp(d*xend^2+f*xend)+erf((1/2)*f/(-d)^(1/2))*Pi^(1/2)*exp(-(1/4)*f^2/d)*a*f^3*d^3-2*erf((1/2)*f/(-d)^(1/2))*Pi^(1/2)*exp(-(1/4)*f^2/d)*b*f^2*d^4+4*erf((1/2)*f/(-d)^(1/2))*Pi^(1/2)*exp(-(1/4)*f^2/d)*c*f*d^5-2*a*f^2*(-d)^(7/2)-4*b*f*(-d)^(9/2)-8*c*(-d)^(11/2)+6*erf((1/2)*(2*d*xend+f)/(-d)^(1/2))*Pi^(1/2)*exp(-(1/4)*f^2/d)*d^4*a*f-4*erf((1/2)*(2*d*xend+f)/(-d)^(1/2))*Pi^(1/2)*exp(-(1/4)*f^2/d)*d^5*b-6*erf((1/2)*f/(-d)^(1/2))*Pi^(1/2)*exp(-(1/4)*f^2/d)*a*f*d^4+4*erf((1/2)*f/(-d)^(1/2))*Pi^(1/2)*exp(-(1/4)*f^2/d)*b*d^5-8*a*(-d)^(9/2))/(-d)^(13/2), int((1+((2*a*x+b)*exp(d*x^2+f*x)+(a*x^2+b*x+c)*(2*d*x+f)*exp(d*x^2+f*x))^2)^(1/2)-50, x = 0 .. xend) = 0, initialpoint = {a = -0.2e-1, b = 1.06, c = 0.14e-2, d = 0.46e-3, f = -0.12e-2, g = -0.14e-2, xend = 30})

(10)

 

Download test.mw

I have troubles writing text passages including non-executable math with Maple 2026 in worksheet mode.

Since these "indicator switches" (or radio buttons) are not available any more, I have tried "toggling" between text and non-executable math by using F5. I am struggeling with too many use errors (changing mode, start writing in the wrong mode, deleting wrong text, toggling the mode with F5).

Is it normal that the cursor does not clearly indicate the entry mode state? Here is an example

There seems to be no difference between non-executable math and executable math. Only a small underline is visible. In document mode the cursor changes to grey for non-executable and to light blue for executable input. Was it allways like this (and I did not pay attention because of the above indicators switches) or is it something related to my local setting? Can someone confirm? Any other suggestions to speed up text editing.

Context: Commenting Maple worksheets with text mixed with nonexecutable math. I look for ways to speed up my workflow because the new quick access buttons do not provide quick access to change the entry mode. Too many clicks are needed. Usabilty has been degraded further with Maples 2026 version by shrinking the quick access button in size and moving them out of the user focus. They are now in the upper right corner of the screen but most user interactions happen on the left side of the screen. This is forcing me going back to shortcuts that I stopped using after the introduction of Maple 2021.

Insetr Table seems to default too test inpul in the cells. I am inserting it from this icon 

I can't figure out how to change the whole table to 1d or 2d math input without individually changing each cell..

What am I misssing here?

pdsolve is capable of numeric solution for a 1-D standing wave equation with a constant c:

diff(u(x, t), t, t) = c^2*diff(u(x, t), x, x)

In my problem, c is a function of lambda; both c and lambda has a common parameter H.  My problem has piecewise nonlinear function of c(H) and lambda(H) which cannot be reformulate as c(lambda) readily.  I therefore use a procedure based on fsolve to enter lambda and back out c.  In the example, I use piecewise linear function as demonstration.  I ran into a "(in fsolve) Can't handle expressions with typed procedures" error.

If I can overcome this, my input to the procedure also includes du/dx.  Can pdsolve handles such an equation?

The command completion facility is real time saver. On the other hand, entering the colon dash is not fluent since it requires searching the keys on the key board.

I was wondering if there is a keyboard shortcut that enters both characters at once.

Consider a soil moisture transport problem with parameters: a = 9.88\times10^{-5} m/s,  b = -0.0065\ m3/m3, and D = 3.51*10^{-7} m2/s. The length is L=0.08 m, and no-flux (outflow) is assumed, meaning q=0. In this case θ0= 0.355$ and θL = 0.10.

A solution is expressed as a contour integral involving a complex-valued function V(k,x,t) and evaluated numerically in Maple using parameterized contours k1(r),k2(r),k3(s).

However, when this code is executed, Maple takes an extremely long time and appears to run indefinitely.

Could you suggest an alternative numerical or analytical approach ( that could improve efficiency when evaluating this type of contour integral?

a := 988/10000000;
b := -65/10000;
d := 351/1000000000;
q := 0;
theta0 := 355/1000;
thetaL := 1/10;
L := 8/100;
mu := a*(theta0 + b)/d;
c := a*(thetaL + b)/d;

mu := a*(theta0 + b)/d;
c := a*(thetaL + b)/d;

V := 1/(2*Pi)*exp(-d*k^2*t)*((exp(k*x*I)(mu - k*I) - exp(-mu*L)*exp(k*(L - x)*I)*(mu + L*I))*k*cos(k*L)/(k^2 + mu^2) + c*sin(k*L) - exp(k*L*I)(k*I + c)*sin(k*x)*(1 - exp(-mu*L)*exp(-I*k*L))/(mu + k*I) - (k*cos(k(L - x)) + c*sin(k(L - x)))*(1 - exp(-mu*L)*exp(k*L*I))/(mu - k*I) + 2*I*k*d*(k*cos(k(L - x)) + c*sin(k(L - x)))/(d*k^2 + a*q/d))/(k*cos(k*L) + c*sin(k*L)):

l := 5;
k1 := r -> l + I + r*exp(1/6*I*Pi);
k2 := r -> -l + I + r*exp(5/6*I*Pi);
k3 := s -> s + I;

dk1 := D(k1);
dk2 := D(k2);
dk3 := D(k3);

integrand1 := Re(eval(V, k = k1(r))*dk1(r) + eval(V, k = k2(r))*dk2(r));
integrand3 := Re(eval(V, k = k3(s))*dk3(s));
integrand2 := simplify(evalc(integrand1));

integrand4 := simplify(evalc(integrand3));
approx_u := proc(x, t) local temp1, temp2; temp1 := Int(eval(integrand2, [:-x = x, :-t = t]), r = 0 .. infinity, method = _d01amc); temp2 := Int(eval(integrand4, [:-x = x, :-t = t]), s = -L .. L, method = _d01ajc); evalf(temp1 + temp2); end proc;

Dear power users,

In the attached document, I try to have DO2i in units of "mL/min/m²" on the Y-axis of my plot. I have tried to obtain this with "convert", but to no avail. Could anyone show me how to obtain the desired result?

Thank you for your timePlotQuestionMaplePrimes.mw

Can someone explain why the element selection inside Compare works differently for the second argument?

ode := diff(diff(y(x), x), x)+sin(y(x)) = 0; IC := y(infinity) = Pi; sol := [dsolve([ode, IC])]

diff(diff(y(x), x), x)+sin(y(x)) = 0

 

y(infinity) = Pi

 

[y(x) = RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. Pi))+_a+c__2))^(1/2), _a = 0 .. _Z))+x+c__2), y(x) = RootOf(Int(1/(2*cos(_a)+RootOf(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. Pi)+_a+c__2))^(1/2), _a = 0 .. _Z)+x+c__2)]

(1)

dsolve([ode, y(x__IC) = y__IC])

y(x) = RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. y__IC))+x__IC+c__2))^(1/2), _a = 0 .. _Z))+x+c__2), y(x) = RootOf(Int(1/(2*cos(_a)+RootOf(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. y__IC)+x__IC+c__2))^(1/2), _a = 0 .. _Z)+x+c__2)

(2)

ExpressionTools:-Compare(sol[1], [y(x) = RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. y__IC))+x__IC+c__2))^(1/2), _a = 0 .. _Z))+x+c__2), y(x) = RootOf(Int(1/(2*cos(_a)+RootOf(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. y__IC)+x__IC+c__2))^(1/2), _a = 0 .. _Z)+x+c__2)][1])

"([[y(x)=RootOf(-(∫)[0]^_Z1/(sqrt(2 cos(_a)+RootOf(-(∫)[0]^Pi1/(sqrt(2 cos(_a)+_Z)) ⅆ_a+_a+`c__2`))) ⅆ_a+x+`c__2`)],[[y(x)=RootOf(-(∫)[0]^_Z1/(sqrt(2 cos(_a)+RootOf(-(∫)[0]^`y__IC`1/(sqrt(2 cos(_a)+_Z)) ⅆ_a+`x__IC`+`c__2`))) ⅆ_a+x+`c__2`),y(x)=RootOf((∫)[0]^_Z1/(sqrt(2 cos(_a)+RootOf((∫)[0]^`y__IC`1/(sqrt(2 cos(_a)+_Z)) ⅆ_a+`x__IC`+`c__2`))) ⅆ_a+x+`c__2`)][1]]])"

(3)

whattype(y(x) = RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. y__IC))+x__IC+c__2))^(1/2), _a = 0 .. _Z))+x+c__2), y(x) = RootOf(Int(1/(2*cos(_a)+RootOf(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. y__IC)+x__IC+c__2))^(1/2), _a = 0 .. _Z)+x+c__2))

exprseq

(4)

ExpressionTools:-Compare(sol[1], (y(x) = RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. y__IC))+x__IC+c__2))^(1/2), _a = 0 .. _Z))+x+c__2), y(x) = RootOf(Int(1/(2*cos(_a)+RootOf(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. y__IC)+x__IC+c__2))^(1/2), _a = 0 .. _Z)+x+c__2))[1])

"([[y(x)=RootOf(-(∫)[0]^_Z1/(sqrt(2 cos(_a)+RootOf(-(∫)[0]^Pi1/(sqrt(2 cos(_a)+_Z)) ⅆ_a+_a+`c__2`))) ⅆ_a+x+`c__2`)],[(y(x)=RootOf(-(∫)[0]^_Z1/(sqrt(2 cos(_a)+RootOf(-(∫)[0]^`y__IC`1/(sqrt(2 cos(_a)+_Z)) ⅆ_a+`x__IC`+`c__2`))) ⅆ_a+x+`c__2`),y(x)=RootOf((∫)[0]^_Z1/(sqrt(2 cos(_a)+RootOf((∫)[0]^`y__IC`1/(sqrt(2 cos(_a)+_Z)) ⅆ_a+`x__IC`+`c__2`))) ⅆ_a+x+`c__2`))[1]]])"

(5)

NULL

(y(x) = RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. y__IC))+x__IC+c__2))^(1/2), _a = 0 .. _Z))+x+c__2), y(x) = RootOf(Int(1/(2*cos(_a)+RootOf(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. y__IC)+x__IC+c__2))^(1/2), _a = 0 .. _Z)+x+c__2))[1]; ExpressionTools:-Compare(sol[1], %)

y(x) = RootOf(-(Int(1/sqrt(2*cos(_a)+RootOf(-(Int(1/sqrt(2*cos(_a)+_Z), _a = 0 .. y__IC))+x__IC+c__2)), _a = 0 .. _Z))+x+c__2)

(6)
 

NULL

Download Compare_and_indexing_output.mw

# The question is: how to get S knowing E?  All the attemps below after S assigned (suggested by Claude) fail factoring E.  

restart;

interface(showassumed = 0): 
assume(a>=0, b>=0, c>=0);
assume(x::real, y::real,z::real);

S := sqrt(x^2+(a+sqrt(y^2+(b+sqrt(z^2+c^2))^2))^2):
E := expand(S):
simplify(E,sqrt):
combine(E,sqrt):
simplify(combine(E, sqrt), sqrt):
evalindets(E, 'radical', f -> simplify(f, sqrt)):
simplify(radnormal(E), sqrt):

Is there an easier or shorter way to do the following? Any handy package command?

RootOf(-(Int(1/sqrt(2*cos(_a)+RootOf(-(Int(1/sqrt(2*cos(_a)+_Z), _a = 0 .. Pi))+_a+c__2)), _a = 0 .. _Z))+x+c__2)

RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. Pi))+_a+c__2))^(1/2), _a = 0 .. _Z))+x+c__2)

(1)

indets(RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. Pi))+_a+c__2))^(1/2), _a = 0 .. _Z))+x+c__2), 'specfunc(anything, RootOf)')

{RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. Pi))+_a+c__2), RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. Pi))+_a+c__2))^(1/2), _a = 0 .. _Z))+x+c__2)}

(2)

subs(_a = _b, {RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. Pi))+_a+c__2), RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. Pi))+_a+c__2))^(1/2), _a = 0 .. _Z))+x+c__2)}[1])

RootOf(-(Int(1/(2*cos(_b)+_Z)^(1/2), _b = 0 .. Pi))+_b+c__2)

(3)

subs({RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. Pi))+_a+c__2), RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. Pi))+_a+c__2))^(1/2), _a = 0 .. _Z))+x+c__2)}[1] = RootOf(-(Int(1/(2*cos(_b)+_Z)^(1/2), _b = 0 .. Pi))+_b+c__2), RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_a)+_Z)^(1/2), _a = 0 .. Pi))+_a+c__2))^(1/2), _a = 0 .. _Z))+x+c__2))

RootOf(-(Int(1/(2*cos(_a)+RootOf(-(Int(1/(2*cos(_b)+_Z)^(1/2), _b = 0 .. Pi))+_b+c__2))^(1/2), _a = 0 .. _Z))+x+c__2)

(4)

NULL

Related question: Is that substitution mathematically correct or does the _a belong to the outermost RootOf?

Download parameters_in_nested_RootOf.mw

To find the recently introduced new command that compares two expressions, I prompted the large model: 

Answer:

A useful Maple command specifically for comparing two expressions is verify.
Use it like this:
verify(expr1, expr2, equal);
This asks Maple whether the two expressions are mathematically equal.
If you want a more robust algebraic check, a very common alternative is:
is(simplify(expr1 - expr2) = 0);
For polynomial expressions, this is also common:
evalb(expand(expr1 - expr2) = 0);

This is not what I was looking for. I was looking for the command that visually highlights differences.
Can the prompt be improved?

Dear Power users, I probably have a stupid question. Till now I converted my data txt files first to excel to import them in Maple 2026. I imagine there must be a better method. I have attached a sample file. As a side question is it possible to import several files at once? Thank you for your support

F12_1.txt

Maple 2026 and Maple 2025.2

Is this a bug in limit? or as designed?

Doing 

limit(sol,[_C3 = 0, _C4 = 0])

Gives internal error. But

limit(sol,_C3 = 0);
limit(%,_C4 = 0);

works and no error.

Worksheet below. I've had problems before with multilimit. I think I need to change my code to do limit one by one from now on.

interface(version);

`Standard Worksheet Interface, Maple 2026.0, Windows 10, March 05 2026 Build ID 2001916`

restart;

sol:=(piecewise(t <= 0,0,t <= Pi,(arctan(tan(t))*cos(t)*_C3*_C4+arctan(tan(t))*sin(t)*_C4^2-cos(t)*_C3*_C4*t+sin(t)*_C3^2*t)/(_C3*cos(t)+_C4*sin(t)),Pi < t,Pi*_C3*(tan(t)*_C3-_C4)/(tan(t)*_C4+_C3))+2*_C3^2+2*_C4^2)*(_C3*cos(t)+_C4*sin(t))/(2*_C3^2+2*_C4^2)

sol := (piecewise(t <= 0, 0, t <= Pi, (arctan(tan(t))*cos(t)*_C3*_C4+arctan(tan(t))*sin(t)*_C4^2-cos(t)*_C3*_C4*t+sin(t)*_C3^2*t)/(cos(t)*_C3+_C4*sin(t)), Pi < t, Pi*_C3*(tan(t)*_C3-_C4)/(tan(t)*_C4+_C3))+2*_C3^2+2*_C4^2)*(cos(t)*_C3+_C4*sin(t))/(2*_C3^2+2*_C4^2)

limit(sol,[_C3 = 0, _C4 = 0])

Error, (in limit/multi/ldegree1) invalid input: limit/multi/ReIm expects its 1st argument, f, to be of type polynom, but received _DIR1*cos(t)+_DIR2*sin(t)

limit(sol,_C3 = 0)

piecewise(t <= 0, _C4*sin(t), t <= Pi, (1/2)*arctan(tan(t))*sin(t)+_C4*sin(t), _C4*sin(t))

limit(%,_C4 = 0)

piecewise(t <= 0, 0, t <= Pi, (1/2)*arctan(tan(t))*sin(t), 0)

 

 

Download limit_problem_april_2_2026.mw

Maple 2026 and 2025

What option to use to make PDEtools:-Solve show all solutions, even double/duplicate ones? I am not able to find it using AI or help.

restart;

eq:=x^2+2*x+1=0;
solve(eq,{x})

x^2+2*x+1 = 0

{x = -1}, {x = -1}

PDEtools:-Solve(eq,x,'allsolutions')

x = -1

_EnvAllSolutions := true:
PDEtools:-Solve(eq,x);

x = -1

 

 

Download PDEtools_solve_march_28_2026.mw

1 2 3 Page 2 of 3