MaplePrimes Questions

Search Questions:

Latest Questions Latest Questions Feed


I need some help/advice because I think I am going crazy..!

I am trying to solve numerically a system of two PDE's. My initial condition is a gaussian and I apply cyclic boundaries.

With Maple 18 and pdsolve/numeric I am waiting a considerable amount of time and the result is a bell shaped travelling wave that increases its height over time. The clush between two such waves leaves them almost unaffected (the big pass through the small one).


With Mathematica 10 and NDSolve the waiting time is almost zero and the result (after few timesteps) is a shock wave travelling with steady height. Moreover, the clush between two of them is fully plastic (the big "eat" the small one)


I double-triple check the equations and the boundary conditions and I assure you that are the same..Any ideas what is hapening? Is there any way to check that the Maple results are correct?


I just started to use Maple and I have a question if there exists in it an equivalent function to Mathematica's FindInstance? In general, I have an inequality and I would like to find few first solutions to it.


In a worksheet, I don't know why the brackets like this "[" where normally I put my maple inputs and generally before the symbol ">" are not present (or displayed).

1) Are these brackets important for the computation of calculations in a worksheet ?

2) How can I do to display them again?

Thank you foryour help.


I am trying to integrate a very large matrix. In order to increase the speed I am using Grid[Map] to integrate the elements of the matrix in parallel. 

The only problem that I am having is that no matter what precision I set, it reduces to 10 digit when I use Grid[Map] package. This only happens if there are floating coefficients involved.

Let me show you by an example:

In the first example, I am not putting any coeffcients before the function:

Digits := 30;
Integrands := [seq(sin((1/10)*k*x), k = 1 .. 2^8)];
evalf(Grid[Map](int, Integrands, x = 0 .. Pi));

Here are the first 5 elements of the output: 
2.000000000000000000000000000000,, ....]

as we see here the precision is 30 as we defined


Now let's run it again, but this time put a random 30 digit (or any other digits) coeficient before sin function :

Digits := 30; 
Integrands := [seq(1.000000000000000000000000000000*sin((1/10)*k*x), k = 1 .. 2^8)]; 
evalf(Grid[Map](int, Integrands, x = 0 .. Pi))

Now the first 5 elements of the output change to:



It is visible that the precision changes to 10 numbers (not even 10 digits!)...It is really important for my problem to keep the calculation at least up to 30 digits...

Does anyone know why such a problem occurs? and how to solve it?

Thanks in advance...

Below is a Maple ws describing the problem. I have some fixed values pr0 and pr1, and a four variations of a function "pdf". The problem is that when I use the function in a sum (either the "sum" function or the sigma notation), the result is different than if I write out the sum explicitly. It's very puzzling as to why they woudl be different in the first place, but even more strange is that the different versions have *different* deltas. Even version 3, with a delta of 10^-100 is too much for my application (moreover the delta gets larger when I sum over more terms).


In the worksheet below, I compare "sum(f(x),x=3..3)" to "f(3)". I expect this should always be identically 0, but that is not true for any of the four versions of my function. (The same is true for "Sum(f(x),x=3..3)".) However, "sum(f(3),x=3..3)" *is* (blessedly) identically "f(3)". What gives?


pr[0] := .499999999999999999999852096538403821434745813543502066245832554193147476551830440227306019620687012523264913799181385911651886999607086181640625:

pr[1] := .43394228095117646589504674154844928036961264935215813494922283329725383492977635163048065719014507668417797436877236805230495519936084747314453125:

pr0 := .499999999999999999999852096538403821434745813543502066245832554193147476551830440227306019620687012523264913799181385911651886999607086181640625:

pr1 := .43394228095117646589504674154844928036961264935215813494922283329725383492977635163048065719014507668417797436877236805230495519936084747314453125:

pdf1 := proc (x) local j, prob, y; prob := 1; y := x; for j from 0 to 1 do if `mod`(y, 2) = 1 then prob := prob*pr[j] else prob := prob*(1-pr[j]) end if; y := floor((1/2)*y) end do; return prob end proc:

Maple doesn't always like subscripted variables. Is that the problem?

pdf2 := proc (x) local prob, y; prob := 1; y := x; if `mod`(y, 2) = 1 then prob := prob*pr0 else prob := prob*(1-pr0) end if; y := floor((1/2)*y); if `mod`(y, 2) = 1 then prob := prob*pr1 else prob := prob*(1-pr1) end if; return prob end proc:

Maybe it's the binary expansion that's the issue

pdf3 := proc (arr) options operator, arrow; product(arr[2-j]*pr[j]+(1-arr[2-j])*(1-pr[j]), j = 0 .. 1) end proc:

No procedures, no arrays

pdf4 := proc (x) options operator, arrow; (`mod`(x, 2))*pr0+(1-(`mod`(x, 2)))*(1-pr0)+(`mod`(floor((1/2)*x), 2))*pr1+(1-(`mod`(floor((1/2)*x), 2)))*(1-pr1) end proc:

evalf[100](sum(pdf1(i), i = 3 .. 3)-pdf1(3));








evalf[100](sum(pdf2(i), i = 3 .. 3)-pdf2(3));





evalf[100](sum(sum(pdf3([i1, i2]), i2 = 1 .. 1), i1 = 1 .. 1)-pdf3([1, 1]));





evalf[100](sum(pdf4(i), i = 3 .. 3)-pdf4(3));











I've used a data table component connected to an existing matrix that is updated running a loop.

However, the data table component is only refreshed after the loop, not within.

In the Data Table Properties, Enabled is on. 

What else can I do to update the table while running the loop?

I tried to use 

DocumentTools:-SetProperty("PerformanceTable", 'value', PM, 'refresh'=true);

but it doesn't seem to know 'value' as a property.

PM is the matrix it is connected to.


a researcher at our department starts multiple Maple programs in parallel on our Linux servers.

Sometimes a high percentage of the resulting mserver processes hang. ps shows their state as

SNl (sleeping, multithreaded). strace to the processes shows that every one is waiting on a

futex without timeout. The problem occurs in versions 16 and 18. This is annoying.


Is there a fix for this?


Matthias Bauer

hi I am tying to create a matrix: 


for i from 1 to 5 do

for j from 1 to 5 do





But it doesn't create a matrix. As when I tried inverse operation it doesn't work. How can I create a matrix? Also can the index start from 0??


sol := b*c+a*b
v := parametrization(sol, a, b, c, t);

f := x^2*(y/x+sqrt(-7*y^2/x^2))/(y^2*(x/y+sqrt(-7*x^2/y^2)));
v := parametrization(f, x, y, t);

it can not parametrize.

i do not know which book teach group theory and algebraic curve

can we call this algebraic curve over finite field ?


how to represent a function as an algebraic curve equation for parametrization?


There is an heuristic-free algorithm, designed by Greg Reid to find structure constant of finite dimension Lie algebra of symmetries, admitted by differential equation. Details could be found in his paper:


The main problem - I couldn't find implementation of it in Maple...

When I do simplify(LegendreP(n, 1, cos(t))), Maple gives me -sqrt(1-cos(t))*sqrt(cos(t)+1). Isn't it the same thing as -sin(t)? How can I have Maple further convert/simplify it to -sin(t)? (I tried simplify(%, trig) but it didn't work). I am new on Maple. Thanks in advance for anyone's help!


Trying to use the Explore() to parametrize a couple of plots simultaneously.

According to the help: "A plotting command to be explored can be a function call to plot, plot3d, a command in the plots package, or any user-defined procedure which returns a two- or three-dimensional plot structure or an Array of such plot structures."

However with the definitions

Parab1 := ''plot(a*x^2, x = -1 .. 1, y = -3 .. 3)'';
Parab2 := ''plot(a*x^2+1, x = -1 .. 1, y = -3 .. 3)'';

I then find the following:

Explore(L[1], parameters = [a = -1.0 .. 1.0]);
gives the expected parabola, and the slider updates the parabola dynamically, as expected, and of course the same with L[2] in place of L[1]. However,

Explore(L, parameters = [a = -1.0 .. 1.0])

does not work, giving "Warning, expecting only range variable x in expression a*x^2 to be plotted but found name a". If I use display(L) in the command above, I receive two adjacent plots, as expected but they do not update as the parameter a is changed via the slider.

I'd guess I need to delay or promote variable evaluation somehow, but I can't seem to make it work. What am I missing?








This is the system of equations in term of sin and cos. I have used the command "solve" in Maple but it yielded only 2 solutions. I've tried to use with(RealDomain): It yielded more solutions but most of them were wrong.



f1 := -8100+(-30+70*cos(t1)-40*cos(t2))^2+(-70*sin(t1)+40*sin(t2))^2

f2 := (-20-80*cos(t3))^2+(-15+70*cos(t1)+10*cos(t1+t))^2+(-70*sin(t1)-10*sin(t1+t)+80*sin(t3))^2-5625

f3 := (-20-80*cos(t3))^2+(15+40*cos(t2)+10*cos(t1+t))^2+(-40*sin(t2)-10*sin(t1+t)+80*sin(t3))^2-5625

f4 := 10*cos(t1+t)*(30-70*cos(t1)+40*cos(t2))-10*sin(t1+t)*(70*sin(t1)-40*sin(t2))


Anybody know how to solve this system of equations to get the full set of roots?

Thank you very much in advance.

for i from 0 to 3 do print("rawData[", i, "] = new double[] { ", hello(i+1), ",", data[i+1], "};") end do

wrong format after copy to notepad from the maple 15

do not know why it insert a empty line, and make "};" in another line

and there is unexpected " 


wrong format example:

"rawData[", 0, "] = new double[] { ", 73.25, ",", 0.1510425143,

"rawData[", 1, "] = new double[] { ", 73.15, ",", 0.3974080269,

"rawData[", 2, "] = new double[] { ", 72.85, ",", 0.4661517269,

"rawData[", 3, "] = new double[] { ", 73.25, ",", 0.3974080269,


expected format:
rawData[0] = new double[] { 25.0, 20.0 };
rawData[1] = new double[] { 27.0, 34.0 };

3 4 5 6 7 8 9 Last Page 5 of 1173