Maple 2021 Questions and Posts

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


I'd like to sort variables which are non-commutative and obey certain commuting rules in a preferred order. Here is a minimal example


Setup(mathematicalnotation = true):Setup(noncommutativeprefix = {q, w}, algebrarule = {%Commutator(q, w) = A})

If I want to rewrite q*w as A+w*q since I prefer the order w>q, what should I do? I tried sort(Simplify(q*w, algebrarules), [w, q]) but it doesn't work.

Thank you in advance.

The long form of ScientificConstants[GetValue] is not working in at least Maple 2021 and Maple 2022



This is causing issues for MapleFlow, not being able to call on a constant. 

**edit some of the long forms work - specifically the GetValue does not.  I modified the title to reflect that.**

G := GaloisGroup(x^5 + 20*x + 32, x);

I just can get a result like:

GroupTheory:-GaloisGroup(x^5 + 20*x + 32, x)

But how do I know exactly what group it is? Actually I know the galois group is D5, But can we use maple to get this information?

ds := DerivedSeries(PermutationGroup({[[2, 3, 5, 4]], [[1, 2, 3, 4, 5]]}))

will get a series group like:

How to get the group by the red line point out? Then I can use GroupOrder to get the order of it. I note GroupOrder[ds[2]] don't work

I have a student who then she uses tools/assistent/import data and then the file then Maple claims the Excel file is empty? She uses Maple 2021.2. File works on other my and other student computers. 

I have two questions:

1) How can I select only parts of an equation in a Maple Workbook? E.g. I have

4*x^2*(1 + x)^2*(x^2 + 6*x + 1)

and I want to select the text between the first "2" and the "6", but Maple always extends the selection to include the complete bracket. This is very annoying :)

2) How can I copy text from a maplesoft page into a workbook. E.g. I'm looking at

and I would like to select and copy some of the shown examples so that I can use them.

Suppose I want to calculate gcd(g(x),f(x))=a(x)f(x)+b(x)g(x) for two polynomial, i.e finding the RHS representation of the gcd, then how to implement this in maple?

I know of the command GCD(f(x),g(x)) but how to find the RHS representation?


primes_integrale_exp.mwThe integral in x of 

exp(-sqrt(x^2 + c))

was done by Maple 11 but return unevaluated in Maple 2021,

see attached worksheet 

I am trying to solve the equation in the attached Maple file, but Maple cannot return a result.



Digits := 30




[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, densityplot, display, dualaxisplot, fieldplot, fieldplot3d, gradplot, gradplot3d, implicitplot, implicitplot3d, inequal, interactive, interactiveparams, intersectplot, listcontplot, listcontplot3d, listdensityplot, listplot, listplot3d, loglogplot, logplot, matrixplot, multiple, odeplot, pareto, plotcompare, pointplot, pointplot3d, polarplot, polygonplot, polygonplot3d, polyhedra_supported, polyhedraplot, rootlocus, semilogplot, setcolors, setoptions, setoptions3d, shadebetween, spacecurve, sparsematrixplot, surfdata, textplot, textplot3d, tubeplot]




say the f(x) is a Beta with parameters alpha and beta


alpha := 10



beta := 100000




proc (x) options operator, arrow, function_assign; Statistics:-PDF(BetaDistribution(alpha, beta), x) end proc



piecewise(x < 0, 0, x < 1, x^9*(1-x)^99999/Beta(10, 100000), 0)



semilogplot(PDF(BetaDistribution(alpha, beta), x), x = 0 .. 1)



fsolve(int(f(x), x = 0 .. y) = .1, y = 0 .. 1)


I try to sove the equation x^2-10*y^2=9 with tne procedure : 
genpellsolve := proc(D::posint, N::integer)
local t, u, L1, L2, sols, x, y;
if type(sqrt(D), integer) then error "D must be a nonsquare integer"; end
if; t, u := pellsolve(D); if 0 < N then L1 := 0;
L2 := floor(sqrt(1/2*N*(t - 1)/D)); elif N < 0 then L1 := ceil(sqrt(-N/D));
L2 := floor(sqrt(-1/2*N*(t + 1)/D)); else return {[0, 0]}; end if;
sols := {}; for y from L1 to L2 do x := sqrt(N + D*y^2);
if type(x, integer) then sols := sols union {[x, y]};
if (x^2 + D*y^2) mod N <> 0 or (2*x*y) mod N <> 0 then sols := sols union {[-x, y]};
end if;
end if;
end do;  return sols;
end proc:
This procedudure fails; I don't see why. Thank you for your help.

I run Maple 2021 under Ubuntu 20.04 on a new Lenovo laptop with 32Gb of Ram. Every time I start Maple, it runs for a few minutes and then loses the "kernel connection". I have to save the worksheet and re-start Maple. In dmesg, I find:

[ 1436.724570] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/user@1000.service,task=mserver,pid=8037,uid=1000
[ 1436.724589] Out of memory: Killed process 8037 (mserver) total-vm:31723552kB, anon-rss:31289772kB, file-rss:60kB, shmem-rss:0kB, UID:1000 pgtables:61656kB oom_score_adj:0
[ 1437.151441] oom_reaper: reaped process 8037 (mserver), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB

indicating that Maple's virtual memory exceeded 30 Gb! This happens even if the only command I execute is, for instance, "resrart" or "A:=1" and nothing else. It also happens when no other applications are running and the "top" command indicates that around 30Gb of RAM is available.

In this state, Maple is utterly useless to me. This was a new install of Maple and a fresh install of Ubuntu on a new laptop, surely I am not the only one seeing this?

I have tried setting a 30Gb limit in "kerneloptions" for "stacklimit" but that di not make a difference.

If you have seen any behaviour like this, please respond. Is there some bug in Maple that leads to oncontrolled and unprovoked memory grabbing?

Dear all,

I'm using Maple to calculate the geodesics of the Poincare' Half Plane:

with(LinearAlgebra): with(DifferentialGeometry): with(Tensor): with(Tools): with(plots): 
g1 := evalDG(1/y^2*(dx &t dx+dy &t dy))
R1 := CurvatureTensor(g1)
K := SectionalCurvature(g1,R1,D_x,D_y)
Gamma := Christoffel(g1)
C := [x(t), y(t)]
V := GeodesicEquations(C, Gamma, t)
DE := Tools:-DGinfo(V, "CoefficientSet")

simplify(dsolve(DE, explicit))

I receive this error message

Error, (in simplify/siderels:-simplify/siderels) specified variables must be names or functions

How can I fix this error?

Thanks, Nicola


I would like to print the current values of both displayed functions for x=1 in each frame of the animation. My example code is below:

plot1 := animate(plot, [a*x^2, x = -1 .. 1, color = "Green", thickness = 3], a = 0.2 .. 1.2);
plot2 := animate(plot, [a*x^2 + 0.3, x = -1 .. 1, color = "Red", thickness = 3], a = 0.2 .. 1.2);
display([plot1, plot2]);

I would be grateful for any tips.

Thank you,


ImportGraph reads one or more graphs from a file. For a file containing multiple graphs, the supported formats are digraph6, graph6, and sparse6. I notice that one option is "output = graph or list, or iterator". However, in my programming with Maple, I was reminded several times that list is only good for a small amount of data.  

Although I can convert the list to an array using the convert function, the time spent in the conversion process needs to be considered.

L:=ImportGraph("C:/Users/eul10c.g6", graph6, output=list):#31026 connected eulerian graphs on 10 vertices graphs and Change to your path here.

So does it make more sense to provide an "output=Array" as an output option?


I am trying to use "solve" to solve a set of 2 equations defined by using summation function "sum". But I got an error saying "Error, (in sum) summation variable previously assigned, second argument evaluates to 3 = 1 .. 2". 

The Maple code is listed here

N := 2:
var:= seq(alpha[n], n = 1 .. N):
v(x):=sum(alpha[n]*phi[n](x), n = 1 .. N):
R(x):=diff(v(x), x $ 4) - p/EI:
eqs := seq('int'('R(x)'*phi[n](x), x = 0 .. L) = 0, n = 1 .. N):
for n to N do
    phi[n](x):= sin((2*n - 1)*Pi*x/L):
end do:       
solve({eqs}, {var});
Error, (in sum) summation variable previously assigned, second argument evaluates to 3 = 1 .. 2

First 10 11 12 13 14 15 16 Last Page 12 of 36