Maple 2025 Questions and Posts

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

When there is a large Matrix in a worksheet, asking Maple to export the worksheet to PDF, the matrix is truncated in the PDF. Only one page of it shows.

Is there a way to tell Maple not to truncate large matrix, even if goes over many pages?

I need to export eveything in the worksheet to PDF.

Here is an example

restart;
interface(rtablesize = infinity);

A:=Array(1 .. 0);
for n from 1 to 50 do
    A,= [n];
od:

convert(convert(A,listlist),Matrix);

When I do , from menu, File->Export As and select PDF, then open the PDF, I only see half the matrix in the PDF.

Attached the PDF also.

Worksheet mode, Maple 2025.2

Is this a bug? export should export everything in worksheet.

truncate_output.pdf

truncate_output.mw

Update

Found a workaround.

First, I tried to print to pdf, istead of export to pdf. That also did not work.

Then I tried DocumentTools:-Tabulate instead, and now this worked. The PDF has the full content, not truncated.

i.e. instead of  

convert(convert(A,listlist),Matrix);

Did this:

the_table:=convert(A,listlist):
DocumentTools:-Tabulate(A,'width'=400,widthmode='pixels', etc...); #change as needed

For some reason, Matrix is truncated when exporting to PDF, but not Tabulate.

I think it is a bug for Maple to truncate the Matrix in PDF,  but workaround exist, so not critical.

Hello all,

I just need a hint how to enter "matrices" in Maple which are lists of lists and so on.

Since I gave up on "math"ematica I would like to be able to enter what is just

below (with the dimension).

Is it doable in Maple...I guess yes :)

M = {{a, {1, a, -0.5}}
, {{b, {1}}}, c + d}
Out[5]= {a, {1, a, -0.5}, {{b, {1}}}, c + d}
In[8]:= MatrixForm[M]
Out[8]//MatrixForm=
a
{1, a, -0.5}
{{b, {1}}}
c + d
In[9]:= Dimensions[M]
Out[9]= {4}

PS: Is a moderator ready to make me with a reputation of 100 in order I can enter tags.

Thank you for everything.

Regards,

JM

I am not able to find place in help which lists which changes interface(typesetting = extended); makes compared to interface(typesetting = standard);

Reason  I am asking, is that in interface(typesetting = extended); Maple adds a small annoying "dot"  between each term for multiplication, which is not there in standard.

Is there a place in documentation that mentions this as part of extended? Where to find it?

Would this be considered a bug or expected?

Everytime I see internal error in red, for me, it tells me it is a bug. But wanted to check first what others think.

restart;

interface(version);

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

ode:=x^2*diff(y(x), x$2) + (cos(x)-1)*diff(y(x), x) + exp(x)*y(x) = 0;
sol:=dsolve(ode,y(x),type='series',x=0):
sol1:=eval(%, _C2=0):
sol2:=eval(%%, _C1=0):

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

Y:= unapply(rhs(sol1), x):
eval(lhs(ode), y=Y):
MultiSeries:-asympt(%, x);

Error, (in simpl/min) non-real argument to max/min: -13/2+1/2*I*3^(1/2)

Y:= unapply(rhs(sol2), x):
eval(lhs(ode), y=Y):
MultiSeries:-asympt(%, x);

Error, (in simpl/min) non-real argument to max/min: -13/2-1/2*I*3^(1/2)

 

 

Download asympt_none_real_argument_jan_17_2026.mw

Given first order nonlinear ode which is hard to solve using standard methods, the smart dsolve sometimes uses a method where it linearizes the first order ode to a linear second order ode and solves that.

Then with that solution to the linear second order ode, it is able to find the solution of the first order ode (need to resolve the constants of integration to merge them into one, but this part is easy to do).

My question is, how and what method it uses to "linearizes by differentation"? I could not find this in any textbook I have, and not able to see how it does.

Here is an example where it uses this method to solving this first order ode

restart;

Typesetting:-Unsuppress('all'); #always do this.
Typesetting:-Settings(prime=x,'typesetprime'=true); #this says to use y'(x) instead of dy/dx    
Typesetting:-Suppress(y(x)); # this says to use y' and not y'(x)

ode:=diff(y(x),x) = (-y(x)^2+4*a*x)^2/y(x); 
infolevel[dsolve]:=5;
dsolve(ode,y(x), singsol=all);

Tracing says 

So it says, if I understand, that it differentiated the original given first order ode and then linearized the resulting second order ode to the above, which is    y''=-64 a^2 x^2 y - 16 a x y' which is certainly linear second order ode and now can be solved using kovacic algorithm. Now the solution to the first order ode can be obtained.

But when differentiating the first order ode, this is the result

expand(diff(ode,x))

So the question is, did Maple mean it "linearized" the above to y''=-64 a^2 x^2 y - 16 a x y' 

If so, then how? Did it use Taylor series? but if so, where it expanded about? Or did it use some other method?  One thing I noticed is that by multiplying the RHS above by y^2 it becomes

And "removing" the nonlinear terms (say expansion is around y=0, so higher order y terms are very small and can be removed) the RHS above becomes

    y'' y^2 = -16 y' a^2 x^2 + 32 a^2 x y

Which is close to Maple shows, but 32 instead of 64, and what about the y^2 on the left side?  Is this method even valid mathematically to do? Since solution that result will be correct only near y=0?

So far, trying to step in the debugger to find how, I was not able to find where it does that but will keep trying.

Any idea what Maple means by linearization to 2nd order and how it does it?

ps. only case I know about, where nonlinear first order ode can be transformed to linear second order ode is the Riccati ode using transformation y=u'/u. But this  first order ode is not Riccati.

Solving this ode, Maple says 

But notice, the xi and eta tangent vectors order is reversed. Maple says pattern is [0,F*G], but shows [F*G,0].

Also, when later using DEtools:-symgen with HINT option, it does not return the above result. Tried both patterns with 0 on left and 0 on right. In both cases symgen does not return what shows above. 

Why is that? Am I doing something wrong? Notice also it says   "way=HINT"  but I am not using way option. Only HINT option, Why is it saying way=HINT? it seems argument passing I  am using is wrong, but do not see why it could be wrong.  This is what help says

Worksheet below

interface(version);

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

restart;

ode:=diff(y(x),x)*cos(y(x))-cos(x)*sin(y(x))^2-sin(y(x)) = 0;
infolevel[dsolve]:=5;
infolevel[symgen]:=5;

(diff(y(x), x))*cos(y(x))-cos(x)*sin(y(x))^2-sin(y(x)) = 0

5

5

dsolve(ode);

Methods for first order ODEs:

--- Trying classification methods ---

trying a quadrature

trying 1st order linear

trying Bernoulli

trying separable

trying inverse linear

trying homogeneous types:

trying Chini

differential order: 1; looking for linear symmetries

trying exact

Looking for potential symmetries

trying inverse_Riccati

trying an equivalence to an Abel ODE

differential order: 1; trying a linearization to 2nd order

--- trying a change of variables {x -> y(x), y(x) -> x}

differential order: 1; trying a linearization to 2nd order

trying 1st order ODE linearizable_by_differentiation

--- Trying Lie symmetry methods, 1st order ---

 -> Computing symmetries using: way = 3

 -> Computing symmetries using: way = 4

 -> Computing symmetries using: way = 5

trying symmetry patterns for 1st order ODEs

 -> Computing symmetries using: way = patterns

-> trying a symmetry pattern of the form [F(x)*G(y), 0]

-> trying a symmetry pattern of the form [0, F(x)*G(y)]

-> The symmetry found is [0 exp(-x)*(2*sin(y)^2+cos(y)^2-1)/cos(y)]

<- symmetry pattern of the form [0, F(x)*G(y)] successful

[exp(-x)*(2*sin(y)^2+cos(y)^2-1)/cos(y), 0]

 <- successful computation of symmetries.

y(x) = arctan(-2*exp(x)/(exp(x)*cos(x)+exp(x)*sin(x)+2*c__1), ((2*cos(x)*sin(x)*(exp(x))^2+4*c__1*sin(x)*exp(x)+4*cos(x)*c__1*exp(x)+4*c__1^2+(exp(x))^2)*(2*cos(x)*sin(x)*(exp(x))^2+4*c__1*sin(x)*exp(x)+4*cos(x)*c__1*exp(x)-3*(exp(x))^2+4*c__1^2))^(1/2)/(2*cos(x)*sin(x)*(exp(x))^2+4*c__1*sin(x)*exp(x)+4*cos(x)*c__1*exp(x)+4*c__1^2+(exp(x))^2)), y(x) = arctan(-2*exp(x)/(exp(x)*cos(x)+exp(x)*sin(x)+2*c__1), -((2*cos(x)*sin(x)*(exp(x))^2+4*c__1*sin(x)*exp(x)+4*cos(x)*c__1*exp(x)+4*c__1^2+(exp(x))^2)*(2*cos(x)*sin(x)*(exp(x))^2+4*c__1*sin(x)*exp(x)+4*cos(x)*c__1*exp(x)-3*(exp(x))^2+4*c__1^2))^(1/2)/(2*cos(x)*sin(x)*(exp(x))^2+4*c__1*sin(x)*exp(x)+4*cos(x)*c__1*exp(x)+4*c__1^2+(exp(x))^2))

infolevel[dsolve]:=0;

0

DEtools:-symgen(ode,y(x),HINT = [ 0,F(x)*G(y)]); #why this does not return the symmetries found by dsolve above?

 -> Computing symmetries using: way = HINT

DEtools:-symgen(ode,y(x),HINT = [ F(x)*G(y),0]); #why this does not return the symmetries found by dsolve above?

 -> Computing symmetries using: way = HINT

DEtools:-symgen(ode)

 -> Computing symmetries using: way = 2

 -> Computing symmetries using: way = 3

 -> Computing symmetries using: way = 4

 -> Computing symmetries using: way = abaco1

[0, exp(-x)*(-1+cos(2*y))/cos(y)]

 <- successful computation of symmetries.

[_xi = 0, _eta = exp(-x)*(-1+cos(2*y))/cos(y)]

 

 

Download symgen_confusion_jan_9_2026.mw

Has anybody seen the unit palette beeing empty? 

This is new to me. I normally use the unit entry in the favourites but this time wanted to try Maple presets.

using regular expression in Maple is little annoying, because one has to escape \ in the regx string itself, which makes it more complicated compared to other languages. For example

StringTools:-RegMatch("^\[.*\]$","[A]")

gives false. But

StringTools:-RegMatch("^\\[.*\\]$","[A]")

gives true.

Other languages have special function to generate the regx itself, which does not require escaping the \ when writing the regx Which makes it easier to see the regx (escaping is done under the cover). like this

Since all places and web sites that show examples of regx., do not have to escape \ before using, it will be good if Maple adds such special new function to StringTools to generate regx like the above so users do not have to remember to escape \.   

It is hard enough to use regx without having to also remember to escape things.

I could not find such a function in Maple. Does one exist?

Maple 2025.2

Variation of (a) Skin friction ∂W/∂Z​, (b) Heat Transfer ∂θ/∂Z​, and (c) Mass Transfer ∂ϕ/∂Z​ for γ=10.0, Pr=7.0, ε=1.0, Nt=0.4, and Nb=0.2.

10.0   0.03301 1.90406 0.21772
20.0   0.01212 1.90403 0.20269
30.0   0.00727 1.90402 0.19325
40.0   0.00522 1.90400 0.18645


how to get this values by solving the PDE by using the pdsolve method 

Variation of (a)W(b) θ and (c) ϕ for different value of γ when ε = 10.0, Nb = 0.4, ε = 10.0, Sc = 0.5 and Pr = 7.0.
consider X as 0.1

plume_work.mw

I frequently receive this message after installing the most recent Maple update:

Can anyone help me with this? Thank you so much for your valuable support.

Hello,

I have upgraded to maple 2025, but the ui fonts are too small and very thin. I went to Files -> Options -> Interface -> Default Zoom, thet sat it up to 150%. It only changed the document area not the UI options. This solution used to work with Maple 2024. I am on ubuntu 22.04.

I've seen many here recommend using the screen reader for Maple 2025. So this is first time I tried it.

Clicked on this second icon in my windows 10 start menu

Maple came up using the old UI, which is good:

But here comes the big problem. The file->Open menu does not work. It automatically opened in location which is not what I want. I wanted to navigate to different place on my PC. But anything I click on just generates loud beep and does nothing. Can't type anything to change location either.

So can't open any file. Not only that, It is stuck and can't even close the windows. Can't get out. Everything is stuck. 

It could be because I have 2 monitors. I had this open on the second monitor on the right. Everything on the second monitor now do not respond like Maple. Luckily, on the left monitor I was able to start task manager and kill Maple in order to get out of this hang.    

Basically screen reader does not work at all for me. If I can't open a file.

It could be due to using 2 monitors. I do not know.

Does file open work for others?

Here is small movie.

Do not know if this is new or not.

I have found about 12 Maple crashes so far in just 2 days running a test in Maple 2025.2

But this one I am not sure if it is new or not as never seen it before.

Could someone please just run this in Maple 2025.1 and see if you get same crash? So I know if it is new or not. Only have Maple 2025.2 on this new PC.

Calling solve causes Maple server to crash. Save your work before just in case.

restart;

interface(version);

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

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1881 and is the same as the version installed in this computer, created 2025, October 7, 16:4 hours Pacific Time.`

SupportTools:-Version();

`The Customer Support Updates version in the MapleCloud is 29 and is the same as the version installed in this computer, created June 23, 2025, 10:25 hours Eastern Time.`

sol:=ln( (y-1)^(1/3)* (y^2+y+1)^(1/3) ) - ln(y) = 2/5* ln(t^2+1)+_C1;

ln((y-1)^(1/3)*(y^2+y+1)^(1/3))-ln(y) = (2/5)*ln(t^2+1)+_C1

infolevel[solve]:=5;

5

solve( sol,y);

Main: Entering solver with 1 equation in 1 variable

Dispatch: dispatching to Radicals handler

Transformer:   solving for linear equation in y

Recurse: recursively solving 1 equations and 4 inequations in 1 variables

Dispatch: dispatching to ln handler (extension)

Dispatch: logarithm substitution _S000002 = ln(_S000001)

Recurse: recursively solving 1 equations and 4 inequations in 1 variables

Dispatch: dispatching to ln handler (extension)

Dispatch: logarithm substitution _S000003 = ln(t^2+1)

Transformer:   solving for linear equation in _S000003

Recurse: recursively solving 1 equations and 3 inequations in 1 variables

Dispatch: dispatching to ln handler (extension)

Dispatch: logarithm substitution _S000004 = ln(exp(_S000002)^3+1)

Recurse: recursively solving 2 equations and 3 inequations in 2 variables

Dispatch: dispatching to ln handler (extension)

Dispatch: logarithm substitution _S000005 = ln(exp(_S000002)^6+3*exp(_S000002)^3+3)

Recurse: recursively solving 3 equations and 3 inequations in 3 variables

Dispatch: dispatching to Exponentials handler

Transformer:   solving for linear equation in _S000005

Recurse: recursively solving 3 equations and 4 inequations in 4 variables

Dispatch: dispatching to Exponentials handler

Transformer:   solving for linear equation in _S000004

Recurse: recursively solving 3 equations and 5 inequations in 5 variables

Dispatch: dispatching to Exponentials handler

Transformer:   solving for linear equation in _S000002

Recurse: recursively solving 3 equations and 6 inequations in 6 variables

Dispatch: dispatching to Rename handler

Dispatch: renaming exp(5/2*_C1) = _S000012, exp(-5/2*_C1) = 1/_S000012

Recurse: recursively solving 3 equations and 6 inequations in 6 variables

Dispatch: handling polynomials of the form a*x^n-b

Dispatch: dispatching to PolynomialSystem handler

Main: polynomial system split into 1 parts under preprocessing

Main: using RegularChains based methods

SolverVariableOrder: using the variable order  _S000008 > _S000006 > _S000010

TriangularDecomposition: using deterministic algorithm for decomposition

Download calling_solve_crashes_maple_2025_2_nov_28_2025.mw

Note that this crash happens even when removing Physics update and SupportTools from libname.

I am trying to see if installing Physics update package will fix a problem I am having as described here by having a fix that maybe not included in Maple 2025.2

But I do not know how to do that. When doing Physics:-Version(); or Physics:-Version(latest); Maple says

             `The "Physics Updates" package is not available for the version of Maple under development`

Does this mean Physics update package is not needed in Maple 2025.2?  Otherwise, what are the instructions to install Physics package now?

May be someone could clarify the status of Physics package and if it is something that one should still install along with SupportTools which in Maple 2025.2 was there automatically and did not need to install it.

Update 

JUst verified that Physics update package V 1881 is still needed in Maple 2025.2 as it has important fixes not merged in Maple 2025.2.

To install Physics package in Maple 2025.2 had to click on the top right corner of the worksheet (the down arrow) near the "sign in".

Then go down to "packages" and select and click on the install button next to Physics package.  (first in list).

This will download and install it.

Now closed all of Maple and restarted it.

Now Physics package V 1881 is installed and have fixes in it that are missing from Maple 2025.2.  This is why my test was failing. Now the test do not fail.

So first time, the command Physics:-Version(latest) does not work. But from now on it should work.

I would have expected all fixes made in Physics update to have been merged into the new Maple release.

In 2025.2, I found that calling Physics:-Setup causes code of `convert/diff` to change (on the fly) causing error.

I removed from my code the places I was calling Physics:-Setup explicitly, but the error still shows up. Which means there is still places in the code to cause Physics to come into play.

I just installed 2025.2 and have not done anything yet. Just running a test. 

Does one need to install Physics package?

First, let me give an example showing that calling Physics:-Setup changes `convert/diff` which ends up causing an internal Maple error

interface(version);

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

SupportTools:-Version();

`The Customer Support Updates version in the MapleCloud is 29 and is the same as the version installed in this computer, created June 23, 2025, 10:25 hours Eastern Time.`

Physics:-Version();

`The "Physics Updates" package is not available for the version of Maple under development`

restart;

Original result. No problem

 

print(`convert/diff`);

proc (a, { useeval::truefalse := false }) local ee, zD; ee := `PDEtools/usediff`(a); zD := indets(ee, 'And(function, satisfies(proc (f) options operator, arrow; (op(0, f))::`PDEtools/D/structure` end proc))'); if zD = {} then ee else _Env_t_in_use := `tools/get_symbols`(a); if useeval then zD := map(`convert/diff/D_to_eval@diff`, zD, ':-useEval'); zD := map(proc (u) options operator, arrow; lhs(u) = subsop(0 = eval, rhs(u)) end proc, zD); subs(zD, ee) else subs(map(`convert/diff/D_to_eval@diff`, zD), a) end if end if end proc

T:=D(x)(infinity):

PDEtools:-difforder(convert(T,diff))

1

 

 

 

After call Physics:-Setup

 

restart;

Physics:-Setup('assumingusesAssume' = false):

print(`convert/diff`);

proc () local ans; ans := usepdiff(args); if has([ans], 'D') then ans := Physics:-OriginalValue["convert/diff"](ans, args[2 .. -1]) end if; ans end proc

T:=D(x)(infinity):

PDEtools:-difforder(convert(T,diff))

Error, (in unknown) invalid input: diff received infinity, which is not valid for its 2nd argument

 

 

 

 

Download why_code_changes_calling_Physics_maple_2025_2_nov_24_2025.mw

Notice that now calling PDEtools:-difforder(convert(T,diff))  fail because Physics:- was called.

But my code now has no calls to Physics:-, I made sure to comment all those out. 

But I still get same error when I run my test program. Not able to find where Physics is "activated" again to cause the code change in `convert/diff` that happens dynamically when Physics is loaded.

It must be happining on different call internally. But have no idea why and where.

This is all on new PC. I have no Maple ini files or anything like this that can cause this.

Will installing Physics package explicity fixes this?   

 

Update

I think I know why this happens. Not all fixes made by Edgardo S. Cheb-Terrab in last Physics update are included in Maple 2025.2 !

See https://mapleprimes.com/questions/240843-Why-PDEtoolsSolve-Fail-On-This-Equation  where fix is made in Physics  v.1880 which I confirmed in Maple 2025.1.

But now I checked and this problem is back in Maple 2025.2. which means that fix was not merged into Maple 2025.2. How could this happen?


 

interface(version);

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

Physics:-Version();

`The "Physics Updates" package is not available for the version of Maple under development`

SupportTools:-Version();

`The Customer Support Updates version in the MapleCloud is 29 and is the same as the version installed in this computer, created June 23, 2025, 10:25 hours Eastern Time.`

restart;

eq:=D(y)(0)+1 = 0;
solve(eq,D(y)(0));

(D(y))(0)+1 = 0

-1

PDEtools:-Solve(eq,D(y)(0));

Error, (in PDEtools:-Solve) required an indication of the solving variables for the given system

 


 

Download fixed_in_2025_1_but_missing_in_2025_2.mw

So I am hoping that figuring how to install Physics update in Maple 2025.2 will fix the current problem with convert and also bring that old fix for PDEtools:-Solve back into Maple 2025.2.

This is something that Maplesoft should have taken care of.

Update 

Figured how install Physics update package V 1881 and doing so fixed this problem in Maple 2025.2 !

This tells me that all fixes that were in Physics update package were not merged into Maple 2025.2

This worksheet shows that now code works OK, but need to make sure to install Physics update package in Maple 2025.2

interface(version);

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

SupportTools:-Version();

`The Customer Support Updates version in the MapleCloud is 29 and is the same as the version installed in this computer, created June 23, 2025, 10:25 hours Eastern Time.`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1881 and is the same as the version installed in this computer, created 2025, October 7, 16:4 hours Pacific Time.`

restart;

Original result. No problem

 

print(`convert/diff`);

proc (a, { useeval::truefalse := false }) local ee, zD; ee := `PDEtools/usediff`(a); zD := indets(ee, 'And(function, satisfies(proc (f) options operator, arrow; (op(0, f))::`PDEtools/D/structure` end proc))'); if zD = {} then ee else _Env_t_in_use := `tools/get_symbols`(a); if useeval then zD := map(`convert/diff/D_to_eval@diff`, zD, ':-useEval'); zD := map(proc (u) options operator, arrow; lhs(u) = subsop(0 = eval, rhs(u)) end proc, zD); subs(zD, ee) else subs(map(`convert/diff/D_to_eval@diff`, zD), a) end if end if end proc

T:=D(x)(infinity):

PDEtools:-difforder(convert(T,diff))

1

 

 

 

After call Physics:-Setup. now works OK since Physics update is installed

 

restart;

Physics:-Setup('assumingusesAssume' = false):

print(`convert/diff`);

proc () local ans; ans := usepdiff(args); if has([ans], 'D') then ans := Physics:-OriginalValue["convert/diff"](ans, args[2 .. -1]) end if; ans end proc

T:=D(x)(infinity):

PDEtools:-difforder(convert(T,diff))

1

 

 

 

Download why_code_changes_calling_Physics_maple_2025_2_nov_24_2025_V2.mw

 

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