Maple 2025 Questions and Posts

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

I have not used Explore command alot. Just starting to learn it. But I am stuck on improving the basic look of it.

There are way too much space between sliders and too much white space between the sliders and the plot itself. Also the fonts used below the sliders are too large and do not even know how to remove them or make the fonts smaller.

Looking at the help page, I do not see options to adjust these. But help pages are very hard to read to find an option.

Here is an example. I am using worksheet, with 100% default zoom.

Explore(plot((b+0.7)*sin(x/(a+1))/x+b, x=-4*Pi .. 4*Pi, view=-2 .. 6,gridlines),
        a=-2.0 .. 1.0, 
        b=0.0 .. 3.0,
        width=300,placement='top');

This is the output

I'd like to be like this

Overall, even though Explore works, I find the look of it pretty bad actually due to the above issues. It does not look professional and polished.

This is a big problem, because if there are 4 or 5 sliders, now one can not even see the plot itself when changing the sliders, because one has to scroll down to see the plot now and then scroll back up to reach the top sliders to move them.  Even on Large monitor.

Is there a trick to control the spacing between sliders and the main body which is the plot window? Removing all wasted white space and making sliders font smaller for numbers below the sliders or remove them will go long way to making Explore command output look better.

Dear power users, I have a question I would like to convert the "results" variable in the attached document into an rtable or matrix. How can I do this? Thank you for your time and help in advance PrimesQuestion.mw

t := (5/9)*Pi;
e:=tan(t) + 4*sin(t);

is -sqrt(3)  but how to make Maple show this?

This is what I tried

t := (5/9)*Pi;
e:=tan(t) + 4*sin(t);
convert(e,radical);
simplify(e,trig);
simplify(e,constant);
allvalues(e);

 

The command "is" and "identify" knows this

is(e=-sqrt(3));
identify(evalf[32](e))

In Mathematica, FullSimplify can do it.

 

Any suggestions in Maple to simplify like the above?

Maple desperately needs a new full_simplify() command.

Having to keep trying different commands by trial and error in the hope one works is not the right way to do things.

I am trying to run Python for the first time in Maple 2025. Below is my simple proof of concept. This code only produces the following output: a # (a is a variable that contains a Python list) I don't understand why the python list which is assigned to variable "a" is not being displayed? It appears that the variable "a" is not being returned to Maple. This is the code that is being run in Maple 2025:

restart;
with(Python):
Start():
Run("import numpy as np"):
Run("a = np.arange(10).tolist()"):
a;

f:=subs(r=(sqrt(5)+1)/2,7*arctan(r)^2+2*arctan(r^3)^2-arctan(r^5)^2); 

The above expression is in fact equal to (7*Pi**2)/8 (which may be obtained by the `identify` command). 
As the following worksheet shows, simplify(f); fails to do full simplifications and the result consists of the less simplified arctan(2/11), while simplify(f/Pi^2); succeeds in making full simplifications and returning the remarkably simpler form: 

restart;

f := subs(r = (sqrt(5) + 1)/2, 7*arctan(r)^2 + 2*arctan(r^3)^2 - arctan(r^5)^2); # which is actually equal to “7/8*Pi^2”

7*arctan((1/2)*5^(1/2)+1/2)^2+2*arctan(((1/2)*5^(1/2)+1/2)^3)^2-arctan(((1/2)*5^(1/2)+1/2)^5)^2

(1)

is(f = 7/8*Pi^2);

true

(2)

simplify(f); # This cannot yield the desired result.

(11/16)*Pi^2+(3/4)*arctan(1/2)*Pi+(9/4)*arctan(1/2)^2-(1/4)*arctan(2/11)^2+(1/2)*arctan(2/11)*Pi

(3)

simplify(f/Pi^2); # To obtain the desired result, `f` has to be divided by Pi^2 manually.

7/8

(4)

simplify(arctan(2/11) - 3*arctan(2)); # So, Maple knows that arctan(2/11) = 3*arctan(2) - Pi (or, somewhat more elegantly, arccot(2/11) = 3*arccot(2)).

-Pi

(5)

simplify((3), constant); # No further simplification.

(11/16)*Pi^2+(3/4)*arctan(1/2)*Pi+(9/4)*arctan(1/2)^2-(1/4)*arctan(2/11)^2+(1/2)*arctan(2/11)*Pi

(6)

As Maple does indeed know that arctan(2/11) = 3*arctan(2)-Pi, why can't Maple further simplify (3) by attempting to eliminate arctan(2/11) (so that we don't have to enter the identity manually)?

simplify(simplify((3), {arctan(2/11) = 3*arctan(2) - Pi}));

(7/8)*Pi^2

(7)

simplify(subs(((sqrt(5)+1)*(1/2))^5 = ((sqrt(5)-1)*(1/2))*((sqrt(5)+1)*(1/2))^6, f))

(7/8)*Pi^2

(8)
 

 

Download simplify_a_constant.mw

Since arctan(2/11) can be expressed by the significantly more concise arctan(1/2) and Pi (that is, arctan(2/11) = 3*arctan(2) - Pi), why didn't simplify(f); attempt to eliminate arctan(2/11) in the result to further simplify `f`?

I want the Minkowski metric in spherical coordinates, so I do the following:

restart;

with(Physics):

Setup(coordinatesystems=spherical,signature=`-+++`);

`Systems of spacetime coordinates are:`*{X = (t, r, theta, phi)}

 

[coordinatesystems = {X}, signature = `- + + +`]

(1)

g_[lineelement]

-Physics:-d_(t)^2+Physics:-d_(r)^2+Physics:-d_(theta)^2+Physics:-d_(phi)^2

(2)

 

Which is not correct, it should return:

-d_(t)^2 + d_(r)^2 + r^2*d_(theta)^2 + r^2*sin(theta)^2*d_(phi)^2

Any ideas why it is giving the wrong answer? I usually just define my metric manually, but I was curious why this is occuring. I also noticed something else strange: after running the worksheet, if I go back to the setup line and execute, it will return the correct expression! But if I execute restart and then Setup again, wrong answer. 

Any thoughts would be appreciated, thanks! 

What is the opinion here on the following. If given   A which is linear in x, but not simplified. now type(A,x) gives false.  But type(simplify(A),x) gives true.

Does this mean it is the user responsibility to simplify the expression first before calling type on it? 

Why does not type command do this internally to see if it is linear before deciding? What is the reason for this design choice?

interface(version);

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

restart;

 

A:=(x+y+1)^2-(x+y-1)^2;

(x+y+1)^2-(x+y-1)^2

simplify(A);

4*x+4*y

type(A,linear(y))

false

type(simplify(A),linear(y))

true

type(A,linear(x))

false

type(simplify(A),linear(x))

true

 

 

Download why_simplify_is_needed_feb_9_2026.mw

I have created three random variables:  r, theta and phi.  That went as I expected.  I then did some math with these random variable.  I calculated the following:  sin(phi), sin(theta), cos(phi) and cos(theta).

When I viewed the PDFs of these above four, I get what I expected with the exception of sin(theta).  I got an error message telling me that I provided three arguments when Maple expected only two arguments.  I am confused as to why this happened.

I wonder if I broke any rules when I named these variables, but I don't know...any suggestions? My work is attached.

with(Statistics)

theta := RandomVariable(Uniform(0, 2*Pi))

_R

(1)

phi := arccos(-1+2*RandomVariable(Uniform(0, 1)))

arccos(-1+2*_R0)

(2)

r := RandomVariable(Uniform(0, 1))^(1/3)

_R1^(1/3)

(3)

SinPhi := sin(phi)

2*(-_R0^2+_R0)^(1/2)

(4)

PDF(SinPhi, t)

piecewise(t <= 0, 0, t < (1/2)*4^(1/2), t/(-t^2+1)^(1/2), (1/2)*4^(1/2) <= t, 0)

(5)

SinTheta := sin(theta)

sin(_R)

(6)

PDF(SinTheta, t)

Error, (in Statistics:-PDF) invalid input: type expects 2 arguments, but received 3

 

CosPhi := cos(phi)

-1+2*_R0

(7)

PDF(CosPhi, t)

(1/2)*piecewise((1/2)*t < -1/2, 0, (1/2)*t < 1/2, 1, 0)

(8)

CosTheta := cos(theta)

cos(_R)

(9)

PDF(CosTheta, t)

piecewise(t <= -1, 0, t < 1, 1/(Pi*(-t^2+1)^(1/2)), 1 <= t, 0)

(10)
 

NULL

Download Basics.mw

Could someone suggest a way to help dsolve be able to obtain this solution to this complicated first order ode? In V 2025.2 it is not able to solve it as is

interface(version);

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

ode:=-x*sqrt((1 - x)/(x + 1))*(x + 1)*arcsech(x)*diff(y(x), x)*exp(y(x)/arcsech(x) + exp(y(x)/arcsech(x))) - y(x)*exp(y(x)/arcsech(x) + exp(y(x)/arcsech(x))) + 2*x*sqrt((1 - x)/(x + 1))*(x + 1)*arcsech(x)^2 = 0;

-x*((1-x)/(x+1))^(1/2)*(x+1)*arcsech(x)*(diff(y(x), x))*exp(y(x)/arcsech(x)+exp(y(x)/arcsech(x)))-y(x)*exp(y(x)/arcsech(x)+exp(y(x)/arcsech(x)))+2*x*((1-x)/(x+1))^(1/2)*(x+1)*arcsech(x)^2 = 0

sol:=dsolve(ode);

expected_sol:=y(x)=arcsech(x)*ln(ln(2*x+_C1));

y(x) = arcsech(x)*ln(ln(2*x+_C1))

odetest(expected_sol,ode) assuming x>0

0

 

 

Download ode_solution_feb_6_2026.mw

I have the functions dx(t), dt(t), and dz(t).  They are all the same function.  I constructed the dz(t) function as a piecewise function, then copied it to dx(t) and dy(t).  The area under the function curves sum to one as I would expect.

How can I convert these functions into a PDF form so that I can perform mathematical operations on the PDFs, such as add the PDFs to create another PDF?

SphereFinal.mw

Noticed something strange.  When I type

restart;
F:=x-> (x^4+3*x^3-3*x^2-2*x-24)/(x^4-4*x^3-13*x^2+62*x-56);
u:=x->piecewise(x=-4,limit(F(x),x=-4),true,F(x));
u(-4);

Gives Error, (in F) numeric exception: division by zero which means it did not hit the first condition x=-4

But when I write this

restart;
F:=x-> (x^4+3*x^3-3*x^2-2*x-24)/(x^4-4*x^3-13*x^2+62*x-56);
A:=limit(F(x),x=-4);
u:=x->piecewise(x=-4,A,true,F(x));
u(-4)

Now it gives expected result 15/47

To avoid defining many variables, like A above, I'd like to just write the  limit inside.

Is there a way to make Maple accept the limit inside piecewise as written above? i.e. have it evaluate to 15/47?

Help says "The piecewise function evaluates its arguments on an as-needed basis."

Not sure what this means.

I tried adding eval, as in 

u:=x->piecewise(x=-4,eval(limit(F(x),x=-4)),true,F(x));

But this did nothing

Maple 2025.2

 

Should not the following two commands produce same solution?

f:=x->(x^2+3*x-4)*cos(x^2+3*x-5);
PDEtools:-Solve({f(x)=0,0<x,x<2},x);
solve({f(x)=0,0<x,x<2},x);

This is what the result looks like

Why Solve gives one solution and solve gives 2? Is this expected or a bug?

btw, the solution from solve is also not complete. There are 5 roots not 2.

Student:-Calculus1:-Roots(f(x),x=0..2);

 

I have two random variables:  x and y.  I want to multiply them and get the resulting Probability Density Function, z.  If you look below, Example 1 works as expected.  When I try Example 2, however, I get disappointing results.

Clearly, Example 2 involves nonzero lower boundaries, which is messing me up.  Does anyone have any suggestions for Example 2?

Example 1

with(Statistics)

x := RandomVariable(Uniform(0, 1))

_R

(1)

y := RandomVariable(Uniform(0, 2))

_R0

(2)

z = PDF(x*y, t)

z = piecewise(t < 0, 0, t <= 2, (1/2)*ln(2)-(1/2)*ln(t), 2 < t, 0)

(3)

 

 

Example 2

x := RandomVariable(Uniform(1, 2))

_R1

(4)

y := RandomVariable(Uniform(2, 3))

_R2

(5)

z := PDF(x*y, t)

int(piecewise(_t < 1, 0, _t < 2, 1, 2 <= _t, 0)*piecewise(t/_t < 2, 0, t/_t < 3, 1, 0)/abs(_t), _t = -infinity .. infinity)

(6)
 

NULL

Download MultiplyPDFFunctions.mw

Hello there,

There are two ways that I know of to define functions in maple:

f(x) :=      (1)

and 

f := x->     (2)

The issue that I'm noticing is that if I only use one method, everything works as I expect it to, but if I use both methods in the same document on a function with the same name eg. (doing f :=x->2x and then later in the document doing f(x) := 5x), (2) seems to completely overrule anything (1) says, even if (1) is used after. 
Can anyone explain why this is? 

I do not use table data struct in Maple and could not find anything in help on how to do this.

given a table T such as the following, typing indices(T) shows there are more than entry in each index

indices(T)

[[-0.687272727272727, -0.687272727272727, 1.],   [2.25818181818182, 2.25818181818182, 1.]], 

  [[-2.47, -1.47, 2.], [0.53, 1.53, 2.]], 

  [[0.245, -2.755, -2.], [2.745, -0.255, -2.]], 

  [[-2.6, -0.6, 3.], [0.379, 2.379, 3.]], 

  [[2.659, -1.341, -3.], [4.652, 0.652000000000001, -3.]], 

  [[-3.178, 0.822000000000001, 5.], [-1.185, 2.815, 5.]], 

  [[0.0672727272727271, -0.932727272727273, 0.], [3.06181818181818, 2.06181818181818, 0.]], 

  [[2.8895, -2.1105, -4.], [4.3895, -0.6105, -4.]], 

  [[1.01, -0.99, -1.], [4.02571428571429, 2.02571428571429, -1.]], 

  [[-3.63, -0.63, 4.], [-1.13875, 1.86125, 4.]]

In the above each entry in table has 2 indices. I want to keep only the first index in each entry so that it has only one, to become this

[[-0.687272727272727, -0.687272727272727, 1.]], 

[[-2.47, -1.47, 2.]], 

[[0.245, -2.755, -2.]],

 [[-2.6, -0.6, 3.]], 

[[2.659, -1.341, -3.]],

 [[-3.178, 0.822000000000001, 5.]],

 [[0.0672727272727271, -0.932727272727273, 0.]], 

[[2.8895, -2.1105, -4.]], 

[[1.01, -0.99, -1.]], 

[[-3.63, -0.63, 4.]]

And keep everything else as in in the Table. Just need to adjust the indices to be one entry instead of 2 or more.

Here is an example of such table


T:=table([([-.687272727272727, -.687272727272727, 1.], [2.25818181818182, 2.258181\
81818182, 1.])=COLOR(RGB,.63529412,.60392157,.60000000),([-2.47, -1.47, 2.], [.\
53, 1.53, 2.])=COLOR(RGB,.60784314,.47450980,.46274510),([.245, -2.755, -2.], [
2.745, -.255, -2.])=COLOR(RGB,.44705882,.52549020,.67058824),([-2.6, -.6, 3.],
[.379, 2.379, 3.])=COLOR(RGB,.57647059,.34509804,.32549020),([2.659, -1.341, -3\
.], [4.652, .652000000000001, -3.])=COLOR(RGB,.34901961,.46666667,.70980392),([
-3.178, .822000000000001, 5.], [-1.185, 2.815, 5.])=COLOR(RGB,.47058824,0.,.\
54901961e-1),([.672727272727271e-1, -.932727272727273, 0.], [3.06181818181818,
2.06181818181818, 0.])=COLOR(RGB,.62352941,.63529412,.65490196),([2.8895, -2.11\
05, -4.], [4.3895, -.6105, -4.])=COLOR(RGB,.22745098,.40392157,.78039216),([1.0\
1, -.99, -1.], [4.02571428571429, 2.02571428571429, -1.])=COLOR(RGB,.53725490,.\
57647059,.65490196),([-3.63, -.63, 4.], [-1.13875, 1.86125, 4.])=COLOR(RGB,.537\
25490,.20392157,.18823529)])

Is it possible to do this in code?

Maple 2025.2

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