Product Suggestions

Post your suggestions on new features and products.

I submit a bug through MaplePrimes because I can't do it as usually (Hope some people understand me.). Let us consider

with(LinearAlgebra):
M := Matrix(5, 5,  (i, j) -> (10*i+j)*sin((1/180)*Pi*(10*i+j))):
MatrixInverse(M);
 #One sees a long and wrong output instead of the warning "Matrix M is singular"

Indeed,

Digits := 500; evalf(Determinant(M), 495);
                               
                           1.3 10 ^(-488)   

Bug_in_MatrixInverse.mw

I submit a bug through MaplePrimes because I can't do it as usually (Hope some people understand me.). Let us consider

restart; pdsolve([diff(u(t, x), t, t) = diff(u(t, x), x, x), u(t, 0) = 0, u(t, Pi) = 0]);
pdsolve([diff(u(t, x), t, t) = diff(u(t, x), x, x), u(t, 0) = 0, u(t, Pi) = 0], generalsolution);
u(t, x) = Sum(sin(n*x)*(_C5(n)*cos(n*t)+_C1(n)*sin(n*t)), n = 1 .. infinity)
u(t, x) = Sum(sin(n*x)*(_C5(n)*cos(n*t)+_C1(n)*sin(n*t)), n = 1 .. infinity)

The question arises: what do these outputs mean? I don't see any explanation in ?pdsolve and ?examples,pdsolve_boundaryconditions. What are _C1(n) and _C5(n)? Under which conditions does the above series converge?

Moreover,

pdetest(%, [diff(u(t, x), t, t) = diff(u(t, x), x, x), u(t, 0) = 0, u(t, Pi) = 0]);
                           [0, 0, 0]

I think the above is simply a fake: it is possible to differentiate  a series only under certain conditions.

Bug_in_pdsolve.mw

Please, don't convert my post to a question. This is not correct and fair. Hope some people understand me.

Hello,

I often use in Maple the plot preview, but any time when i launch the plot preview, i must set the zoom factor to 100% to see all content of the document and further i have to maximize theplot-view window.

It is very uncomfortable to use the plot preview.

This should be fixed with the next upgrades of Maple.

See here the effect, when launching the plot previewer:

Thanks in advance

Volker

 

 

I'd like to present the following bugs in the IntTutor command.

1. Initialize

Student[Calculus1]:-IntTutor((1+cos(3*x))^(3/2), x);

then press the All Steps button. The command produces the answer (see Bug1_in_IntTutor.mw)

(4/9)*sqrt(2)*sin((3/2)*x)^3-(4/3)*sqrt(2)*sin((3/2)*x)

which is not correct in view of

plot(diff((4/9)*sqrt(2)*sin((3/2)*x)^3-(4/3)*sqrt(2)*sin((3/2)*x), x)-(1+cos(3*x))^(3/2), x = 0 .. .2);

One may compare it with the Mathematica result Step-by-step2.pdf.

2. Initialize

Student[Calculus1]:-IntTutor(cos(x)^2/(1+tan(x)), x);

In the window press the Next Step button. This crashes (The kernel connection has been lost) my comp in approximately an half of hour (see screen2.docx). One may compare it with the Mathematica result Step-by-step.pdf .

Indeed,  "We wanted the best, but it turned out like always" .

It seems a large number of people, when initially using maple, wrongly deduce that for example sin(60) is the sin of 60 degrees and not the sin of 1/3 Pi radians.  I believe mathematica's default is degrees.  When a student compares an expression to another but forgets to realize a value is read as radians and not degrees they are perplexed when Maple returns false and Mathematica returns true.

As a suggestion, under tools->options allow a user to be able to change how maple reads values within trigonometric funtions as either radians or degrees.

Most times when someone computes the sin(60) what they really mean in Maple..
is sin(convert(60 degrees, radians))

 

The purpose of this post is to review how well-designed Maple 2017 GUI is for a Microsoft surface pro 4 tablet touch screen with windows 10 pro (64-bit) and to determine the performance of Maple 2017 on my tablet which has a m3 CPU with a 0.9 GHZ base frequency and 4 GB RAM.

First, my experience is that 4 GB of RAM is far from enough. Under heavy load I have had problems before on other software with 4 GB of RAM. 68 % of my RAM and 41% of the CPU is already gone by simply running Maple and my web browser at the same time before I have even instructed Maple to do any calculations.

 

I think a tablet with at least 8 GB of RAM would be preferred. If you only want to use Maple as an expensive calculator then you would most likely not even need 4 GB of RAM. I find that the surface pro 4 to be overpriced for the hardware it provides. I think eve windows 10 tablet http://eve-tech.com/ with up to 16 GB of RAM and with a much cheaper price looks much more promising than the Microsoft surface pro 4. When I use the surface pro 4 with word 2016 and the reference manager zotero word plugin I sometime notice a trailing line when I sweep up or down in a document with a lot of references which I suspect is because of the low amount of RAM. When I played with Maple 2017 on my surface pro I noticed the same trailing line which again indicates to me that there is not enough RAM. However, I am not certain that low RAM is the cause of such problem.  

Secondly, I managed to increase the size of the Maple icons under the File, Edit etc. menu so now they have a perfect size for a touch screen tablet. Very cool!

 

However, as you can see words in the text menu File, Edit etc. are way too small for a touch screen tablet. There is a lot of room to the right so the words could easily be increased in size. I am also a missing a menu item called maplet where you can attach your own maplets for easy access. It appears that Maple 2017 GUI has not been designed with a touch screen tablet in mind. I wish the words in the text menu File, Edit etc. would have increased when I increased the size of the icons. The text and icons in the sidebar are also way too small for a touch screen tablet. The name of the open tabs is also to small and x that you tap on to close the worksheet is also to small. It is almost impossible to close a worksheet because the x is so small. 

I thinks there are ways in windows 10 to increase the text size in the menus but I have only been able to increase the text size and icon size for all software at the same time. Since, Maple is more or less the only software that I have where the menu text is too small this is not an optimal solution.   

The table of content for Maple help files also has too small text as seen in the below picture. However, the biggest problem is not the small words it is the row spacing of the table of content. Some of the words appear almost to be on top of each other. I think the row spacing need to be increased. The text within the help files itself displays beautifully and is in the perfect size.   

 

Another problem is that when you swipe up or down on the touch screen you dont go up or down in the maple document. You just highlight text as seen in the picture below. This needs to be fixed. Highlighting should be done by a long tap on the screen as in word 2017 on a touch screen devices.

 

 

The norm today might be to use Maple on a desktop computer or on a laptop but I am convinced that in the future touch screen tablet will become more and more powerful making them an excellent computers to run Maple on because they are so light and portable. I think Maplesoft must have this in mind when they design the GUI.

Now to test the performance of Maple 2017 on my tablet I decided to generate 1 000 000 random number and see how long it takes. Since I dont have a benchmark it becomes very hard to comment on how fast maple 2017 is on my tablet but I am hoping that someone can run the same code on their machine and comment on this post so we can get a benchmark.        

time(rand()$1000000)

Maple 2017 claims that running such code took about 50 seconds on my tablet however when I timed it with a stop watch it only took around 30 seconds hence I am a bit confused as to where the 20 seconds difference comes from?  

 

I am thinking about buying maple 2017 however there are only 4 different categories to choose from when you want to buy: student, commercial, academic and government. I dont belong to any of them! Also the price difference is huge! I am on disability benefits and the academic license cost more or less the same amount that I get in disability benifts each month to cover my food, rent and medicines which is approximatly 1 100 usd. The price for a student licens is completely realistic and is a price that I am willing to pay but I am not a student and I dont feel comfortable claiming that I am even though everyone is a student as long as they live. When you stop learning you life is more or less over anyway. If I am forced to pay around 1 000 usd then I am not going to buy maple 2017. Then I am just going to continue using MathPapa free algbra calculator https://www.mathpapa.com/ because to be honest I dont really need maple that much in my research today but there are a couple of reaons why I want to buy. 1) I would like to support maplesoft because I think you have the best and most userfriendly mathematical software on the market. 2) I want to hedge my bets. My needs might change in the future. 3) I want to be able to run my large number of old worksheets and see if I can improve them. 4) I want to see what changes and improvments have been made to maple 2017 compared to let say 5 years ago and to assess if these changes provide any value to me. 

In the recent years much software has undergone a change towards allowing for better sharing of documents. As is the case with other software as well, the users are no longer mainly single persons sitting in a dark corner doing their own stuff. Luckily Maplesoft has taken an important step in that direction too by introducing MapleCloud some years ago. This means that it is now possible quite easily to discuss calculations done in Maple in the classroom. One student uploads and the Teacher can find the document seconds later on his own computer connected to a Projector and show the student's solutions for the other  students in the classroom. That's indeed great! Maple is however lacking in one important aspect: It's Graphics User Interface (GUI) is not completely ready to for that challenge! I noticed that quite recently when the entire teaching staff received new netbooks: 14 inch Lenovo Yoga X1 with a resolution of 2560 x 1440 pixels. From factory defaults text zoom was set to 200%. Without it, text would be too small in all applications used on the computer. The Microsoft Office package and most other software has adapted to this new situation dealing with high variation in the users screen resolutions, but not Maplesoft:

  1. Plots and Images inserted become very small
  2. Open File dialogs and the like contain shortened text for folder names ... (you actually have to guess what the folders are)
  3. Help menus are cluttered up and difficult to read.

I show screen images of all three types below.

I know it is possible to make plots larger by using the option size, but since it relies on pixels it doesn't work when documents are shared between students and teachers. You cannot expect the receiving student/teacher to make a lot of changes in the document just to be able to read it. It will completely destroy the workflow!

Why doesn't Maplesoft allow for letting documents display proportionally on the users computer like so many other programs do? Why do it need to be in pixels? If it is possible to make it proportional, it would also solve another issue: Making prints (to a printer or to pdf) look more like they do on the screen than is the case at present.

I really hope Maplesoft will address this GUI challenge, because I am sure the issue will pile up quite rapidly. Due to higher costs, most laptops/netbooks among students don't have that high resolution compared to computer dimensions at the moment, but we already have received a few remarks from students owning such computers. Very soon those highend solution computers will dive into the consumer market and become very common.

I have mentioned this important GUI issue in the beta-testing group, but I don't think those groups really are adapted to discussions, more bug fixes. Therefore I have made this Post in the hope that some Maple users and some chief developers will comment on it!
     

Now I have criticized the Maple GUI, I also feel urged to tell in what departments I think Maple really excels:

  1. The Document-structure is great. One can produce good looking documents containing 'written math' (inactive math) and/or 'calculated math'. All-in-one! Other competting software does need one to handle things separatly.
  2. Sections and subsections. We have actually started using Maple to create documents containing entire chapters or surveys of mathematics or physics subjects, helping students to get a better overview. I am pretty sure the Workbook tool also will help here.
  3. Calculations are all connected. One can recalculate the document or parts of it, eventually using new parameters. Using Maple for performing matematical experiments. Mathematical experiments is a method entering more into the different mathematics curriculums.
  4. MapleCloud. Easy sharing of documents among students and teachers.
  5. Interactive possibilities through the Explore command and other commands. Math Apps as well.
  6. Besides that mathematical symbols can be accessed from the keyboard, they can also be accessed from palettes by less experinced users.  
  7. Good choice by Maple to let the user globally decide the size text and math is displayed in Maple - set globally in the menu Tools < Options.
  8. Maple can handle units in Physics
  9. Maple has World-Class capabilities. If you have a mathematical problem, Maple can probably handle it. You just need to figure out how.
  10. etc.

 

Small plots:

 

Shortened dialog text:

 

Cluttered help menus:

 

Regards,

Erik

 

The is and coulditbe commands of Maple are known to be buggy.
Here are some math inventions done by these commands in Maple 2016.2.

restart; assume(x::real, y::real);
is(exp(x+I*y) <> 0);
                             false
coulditbe(exp(x+I*y) = 0);
                              true
coulditbe(exp(x+I*y) = infinity);
                              true
coulditbe((x+I*y)^2 = infinity);
                              true

It should be noticed that

is((-infinity)::real);
                             false

though

exp(-infinity+0*I);
                               0

The latter means

limit(exp(x),x=-infinity);
                                   0

, no more and no less.

Let us consider 

sol := pdsolve({diff(u(x, t), t)-(diff(v(x, t), x))+u(x, t)+v(x, t) = (1+t)*x+(x-1)*t^2, diff(v(x, t), t)-(diff(u(x, t), x))+u(x, t)+v(x, t) = (1+t)*x*t+(2*x-1)*t}, {u(0, t) = 0, u(x, 0) = 0, v(0, t) = 0, v(x, 0) = 0}, time = t, numeric, timestep = 0.1e-1, spacestep = 0.1e-1, range = 0 .. 1); 
sol:-plot3d(v(x, t), x = 0 .. 1, t = 0 .. 1);

A nice plot similar to the one produced by Mma (see the  attached pdf file pdesystem.pdf) is expected. 
The exact solutions u(x,t)=x*t,v(x,t)=x*t^2 are known

pdetest({u(x, t) = x*t, v(x, t) = x*t^2}, {diff(u(x, t), t)-(diff(v(x, t), x))+u(x, t)+v(x, t) =
(1+t)*x+(x-1)*t^2, diff(v(x, t), t)-(diff(u(x, t), x))+u(x, t)+v(x, t) = (1+t)*x*t+(2*x-1)*t});
                              {0}

But the wrong result

               module() ... end module         
Error, (in pdsolve/numeric/plot3d) unable to compute solution for t>HFloat(0.26000000000000006):
solution becomes undefined, problem may be ill posed or method may be ill suited to solution

is obtained. Also 

sol:-plot3d(v(x, t), x = 0 .. 1, t = 0 ..0.1);


 

The plot 

sol:-plot3d(v(x, t), x = 0 .. .5, t = 0 .. .1);

is not better.

Let us look in RealDomain and then in the RealDomain:-solve command. One is addressed to the usual solve command. The commands of the RealDomain package are not still documented since Maple 7 when the package was introduced. There is a general description only 

  • By default, Maple performs computations under the assumption that the underlying number system is the complex field. The RealDomain package provides an environment in which computations are performed under the assumption that the basic underlying number system is the field of real numbers.
  • Results returned by procedures are postprocessed by discarding values containing any detectable non-real answers or replacing them with undefined where appropriate.

The above is not enough. Here is an example which confuses me: 

RealDomain:-solve(exp(I*x) = -1, AllSolutions);
NULL

though 

solve(exp(I*x) = -1, AllSolutions);
                         Pi (2 _Z1 + 1)

and 

RealDomain:-solve(exp(I*x) = -1);
                               Pi

I lie awake thinking about that. Maplesoft staff help me!


 

I found a strange bug in int.
For some functions f(x), Maple is able to compute the antiderivative (correctly) but refuses to compute the definite integral.
Or, computes the integral over 0..1  and  0..2  but refuses to compute over 1..2.

int(exp(x^3), x);  #ok

-(1/3)*(-1)^(2/3)*((2/3)*x*(-1)^(1/3)*Pi*3^(1/2)/(GAMMA(2/3)*(-x^3)^(1/3))-x*(-1)^(1/3)*GAMMA(1/3, -x^3)/(-x^3)^(1/3))

(1)

int(exp(x^3), x=1..2); #?

int(exp(x^3), x = 1 .. 2)

(2)

int(exp(x^3), x=1..2, method=FTOC); #??

int(exp(x^3), x = 1 .. 2, method = FTOC)

(3)

int(exp(x^3), x=0..2); #?

int(exp(x^3), x = 0 .. 2)

(4)

int(exp(-x^3), x);  #ok

(3/4)*x*exp(-(1/2)*x^3)*WhittakerM(1/6, 2/3, x^3)/(x^3)^(1/6)+exp(-(1/2)*x^3)*WhittakerM(7/6, 2/3, x^3)/(x^2*(x^3)^(1/6))

(5)

int(exp(-x^3), x=0..2);  #ok

(3/4)*2^(1/2)*exp(-4)*WhittakerM(1/6, 2/3, 8)+(1/8)*2^(1/2)*exp(-4)*WhittakerM(7/6, 2/3, 8)

(6)

int(exp(-x^3), x=0..1);  #ok

(3/4)*exp(-1/2)*WhittakerM(1/6, 2/3, 1)+exp(-1/2)*WhittakerM(7/6, 2/3, 1)

(7)

int(exp(-x^3), x=1 .. 2);  #???

int(exp(-x^3), x = 1 .. 2)

(8)


 

Download !strange-bug-int.mw

Correct computatiton for

for reasonable expressions f(x,y), g(x,y) would be very useful in double integrals.

For the moment this is not possible. Too many bugs:

int(Heaviside(1-x^2-y^2), x=-infinity..infinity, y=-infinity..infinity); #should be Pi
                           undefined
int(Heaviside(1-x^2-y^2), x=-1..1, y=-1..1); #should be Pi
                               0
int(Heaviside(y-x^2), x=-1..1, y=-1..1); #should be 4/3
                               -2

int(Heaviside(y-x^2), y=-1..1, x=-1..1); #This one is OK!
                              4/3

 

 

 

 

In order to change Maple for the better, I use to submit SCRs. However, as i was kindly
informed by Bryon (a copy of his e-letter on demand), MaplePrimes are under reconstruction and do not
work properly. At least my three messages sent through the Contact button were lost.
I have  unsuccessfully tried to reach beta.maplesoft.com (see the result of ping in the screen screen.29.08.16.docx).
Please, help me!

Hi,

In the following example I introduce some commutation rules that are standard in Quantum Mechanics. A major feature of the Maple Physics Package, is that it is possible to define tensors as Quantum Operators. This is of great interest because powerful tensor simplification rules can then be used in Quantum Mechanics. For an example, see the commutation rules of the components of the angular momentum operator in ?Physics,Examples. Here, I focus on a possible issue: when destroying all quantum operators, the pre-defined commutation rules still apply, which should not be the case. As shown in the post, this is link to the fact that these operators are also tensors.
 

NULL

 

Physics:-Version()[2]

`2016, August 16, 18:56 hours`

(1)

NULL

NULL

restart; with(Physics); interface(imaginaryunit = I)

First, set a 3D Euclidian space

Setup(mathematicalnotation = true, dimension = 3, signature = `+`, spacetimeindices = lowercaselatin, quiet)

[dimension = 3, mathematicalnotation = true, signature = `+ + +`, spacetimeindices = lowercaselatin]

(2)

Define two rank 1 tensors

Define(x[k], p[k])

`Defined objects with tensor properties`

 

{Physics:-Dgamma[a], Physics:-Psigma[a], Physics:-d_[a], Physics:-g_[a, b], p[k], x[k], Physics:-KroneckerDelta[a, b], Physics:-LeviCivita[a, b, c]}

(3)

Now, further define these tensors as quantum operators and gives the usual commutation rule between position and momentum operators (Quantum Mechanics).

Setup(hermitianoperators = {p, x}, algebrarules = {%Commutator(p[k], p[n]) = 0, %Commutator(x[k], p[l]) = I*`&hbar;`*KroneckerDelta[k, l], %Commutator(x[k], x[l]) = 0}, realobjects = {`&hbar;`})

[algebrarules = {%Commutator(p[k], p[n]) = 0, %Commutator(x[k], p[l]) = I*`&hbar;`*Physics:-KroneckerDelta[k, l], %Commutator(x[k], x[l]) = 0}, hermitianoperators = {p, x}, realobjects = {`&hbar;`}]

(4)

As expected:

(%Commutator = Commutator)(p[a], x[b])

%Commutator(p[a], x[b]) = -I*`&hbar;`*Physics:-KroneckerDelta[a, b]

(5)

Now, reset all the Hermitian operators, so that all quantum operators are destroyed. This is useful if, for instance, one needs to compare some the result with the commutative case.

Setup(redo, hermitianoperators = {})

[hermitianoperators = none]

(6)

As expected, there are no quantum operators anymore...

Setup(quantumoperators)

[quantumoperators = {}]

(7)

...so that the following expressions should commute (result should be true)

Library:-Commute(p[a], x[b])

false

(8)

Result should be 0NULL

Commutator(p[a], x[b])

-I*`&hbar;`*Physics:-KroneckerDelta[a, b]

(9)

p[a], x[b]

p[a], x[b]

(10)

NULL

NULL

``

NULLNULL

Below is just a copy & paste of the above section. The only difference, is that "Define(x[k], p[k])" has been commented, so that x[k]and p[k] are not a tensor. In that case, everything behaves as expected (but of course, the interesting feature of tensors is not available).

````

NULL

restart; with(Physics); interface(imaginaryunit = I)

First, set a 3D Euclidian space

Physics:-Setup(mathematicalnotation = true, dimension = 3, signature = `+`, spacetimeindices = lowercaselatin, quiet)

[dimension = 3, mathematicalnotation = true, signature = `+ + +`, spacetimeindices = lowercaselatin]

(11)

#Define two rank 1 tensors

Now, further define these tensors as quantum operators and gives the usual commutation rule between position and momentum operators (Quantum Mechanics)

Physics:-Setup(hermitianoperators = {p, x}, algebrarules = {%Commutator(p[k], p[n]) = 0, %Commutator(x[k], p[l]) = Physics:-`*`(Physics:-`*`(I, `&hbar;`), Physics:-KroneckerDelta[k, l]), %Commutator(x[k], x[l]) = 0}, realobjects = {`&hbar;`})

[algebrarules = {%Commutator(p[k], p[n]) = 0, %Commutator(x[k], p[l]) = I*`&hbar;`*Physics:-KroneckerDelta[k, l], %Commutator(x[k], x[l]) = 0}, hermitianoperators = {p, x}, realobjects = {`&hbar;`}]

(12)

As expected:

(%Commutator = Physics:-Commutator)(p[a], x[b])

%Commutator(p[a], x[b]) = -I*`&hbar;`*Physics:-KroneckerDelta[a, b]

(13)

Now, reset all the Hermitian operators, so that all quantum operators are destroyed.

Physics:-Setup(redo, hermitianoperators = {})

[hermitianoperators = none]

(14)

As expected, there are no quantum operators anymore...

Physics:-Setup(quantumoperators)

[quantumoperators = {}]

(15)

...so that the following expressions should commute (result should be true)

Physics:-Library:-Commute(p[a], x[b])

true

(16)

Result should be 0``

Physics:-Commutator(p[a], x[b])

0

(17)

p[a], x[b]

p[a], x[b]

(18)

NULL

``

NULL``

NULL


Download Quantum_operator_as_Tensors_August_23_2016.mw

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