Maple 2017 Questions and Posts

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

The following is the PDE I need to solve.

(x*y+1)*(diff(h(x, y), y, y, y))+(x+h(x, y))*(diff(h(x, y), y, y))-(diff(h(x, y), y))^2+k(x, y) = 0, (10.*(x*y+1))*(diff(k(x, y), y,y))+(10.*x+h(x,y))*(diff(k(x, y), y))-(diff(h(x, y), y))*k(x, y) = 0

 

This is the original boundary condition:

h(0, y) = f(y), h(x, 0) = 0, k(0, y) = g(y), k(x, 0) = 1, k(x, 25) = 0, (D[2](h))(x, 0) = 0, (D[2](h))(x, 25) = 0

 

After using pdsolve it come out the error:

pdsolve(eval(pde2, P = .1), pdebc4, numeric, [h(x, y), k(x, y)], spacestep = .1)

Error, (in pdsolve/numeric/par_hyp) Incorrect number of initial conditions, expected 0, got 2

 

If I remove one of the boundary condition when x=0, maybe h(0,y)=f(y), then the error will be this:

Error, (in pdsolve/numeric/par_hyp) Incorrect number of initial conditions, expected 0, got 1

 

However if I remove both when x=0, it come out this error:

Error, (in pdsolve/numeric) initial/boundary conditions must be defined at one or two points for each independent variable

 

May I know what is the problem of this equations?

P/S: I know its only differentiate with respect to y and is consider to be an ODE( I need more explantion on this please) and I'm still new to maple. Thanks!!

 

The OrthogonalExpansions package is a collection of commands to compute one-dimensional and multi-dimensional orthogonal series expansions of a function. The expansions are evaluated symbolically, numerically or in an inert form.

In particular, the package includes six modifications of the one-dimensional Fourier series, as well the multi-dimensional Fourier, cosine and sine series, one- and multi-dimensional series expansions of classical orthogonal polynomials.


The package includes MixedSeries command to compute multi-dimensional mixed orthogonal series expansions. Mixed series are created from the one-dimensional and multi-dimensional series that are available in the package.


The package also includes GramSchmidtL2 command for computing symbolically or numerically an orthonormal set of one- and multi-variable functions.

 

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 have an update below

I am student, and bought Maple student version 2017 and went through verification and activation with no probems and been using Maple for number of days.

But few days ago, I disconnected my internet service provider, and so now I have no access to the internet from my home PC where I installed Maple (I am writing this from  library)

Now at home, when I start Maple, I get a message saying that my licence will expire in 10 or 9  days or so. I do not understand this messge. Why it comes up now and did not come up before when I had internet access? 

Does one need to be connected to the internet all the time to use Maple? What if one does not have internet access?

I did remove one monitor from my PC also. Do you think Maple detected change in PC (one less monitor) and now it thinks this is new PC? But this makes no sense.

How do I tell Maple I have activated my Maple if I do not have internet access?

Update

After installing Maple 2017.1, now each time I disconnect from the internet, I am not able to start Maple !  I get this error

 

When I connect to the internet and try again, Maple comes up OK and it works. (it does NOT ask me to activate). I have allready activated OK before. This message only comes up when I am not connected to the internet.

This tells me Maple is trying to connect to the internet each time for some reason to verify my installation? But when if I do not want to be connected to the internet and still use Maple?

I never installed beta Maple or anything like this before. What to do to make Maple start without being connected to the internet? I did not change my PC.

 

 

While preparing for a recent webinar, I ran across something that didn't behave the same way in Maple 2017 as it did in previous releases. In particular, it was the failure of the over-dot notation for t-derivatives to display with the over-dot. Turns out that this is due to a change in behavior of typesetting that was detailed in the What's New page for Maple 2017, a page I had looked at many times in the last few months, but apparently didn't comprehend fully. The details are below.

Prior to Maple 2017, under the aegis of extended typesetting, the following two lines of code would alert Maple that the over-dot notation for t-derivatives should be used in the output display.

However, this changed in Maple 2017. Extended typesetting is now the default, but these two lines of code are no longer sufficient to induce Maple to display the over-dot in output. Indeed, we would now have

as output. The change is documented in the following paragraph

lifted from the help page 

Thus, it now takes the additional command

to induce Maple to display the over-dot notation in output.

I must confess that, even though I pored over the "What's New" pages for Maple 2017, I completely missed the import of this change to typesetting. I stumbled over the issue while preparing for an upcoming webinar, and frantically sent out help calls to the developers back in the building. Fortunately, I was quickly set straight on the matter, but was disappointed in my own reading of all the implications of the typesetting changes in Maple 2017. So perhaps this note will alert other users to the changes, and to the help page wherein one finds those essential bits of information needed to complete the tasks we set for ourselves.

And one more thing - I was cautioned that the "= true" was essential. Without it, the command would act as a query, echoing the present state of the setting, and not making the desired change to the setting.
 

hi, learners of maple like me, i was handling a project,but i came across this problem,and i began to doubt the accuracy of maple-plot,,,

very simply expression,result3,changing with the parameter f,

i first plot the f from 100 to 5000,

than i need to watch closer,

so i change the define domain of parameter f, plot f from 100 to 1000,  

and the result of plot definitely  differs from the previous one. 

low vally in the first figure (f in the scale of 100-1000),disappears! that's insane...

 

you can see below,

anyone see it, can you give me some clue? i really do not understand this. why ,why why,,

result3 := 3.269235506947450*10^11*sqrt(-1/(0.975698207102e-3*cos(0.19042716640833e-1*f)^2*cos(0.9521358320417e-2*f)^4-0.975698207102e-3*cos(0.19042716640833e-1*f)^2*cos(0.9521358320417e-2*f)^2+5.099915851388520*10^(-8)*cos(0.9521358320417e-2*f)^4-5.099915851388520*10^(-8)*cos(0.9521358320417e-2*f)^2+1.311634114532540*10^12*sin(0.19042716640833e-1*f)*sin(0.9521358320417e-2*f)*cos(0.9521358320417e-2*f)*cos(0.19042716640833e-1*f)+4.405792916762340*10^26*cos(0.19042716640833e-1*f)^2-4.406861706842330*10^26))

326923550694.745*(-1/(0.975698207102e-3*cos(0.19042716640833e-1*f)^2*cos(0.9521358320417e-2*f)^4-0.975698207102e-3*cos(0.19042716640833e-1*f)^2*cos(0.9521358320417e-2*f)^2+0.509991585138852e-7*cos(0.9521358320417e-2*f)^4-0.509991585138852e-7*cos(0.9521358320417e-2*f)^2+1311634114532.54*sin(0.19042716640833e-1*f)*sin(0.9521358320417e-2*f)*cos(0.9521358320417e-2*f)*cos(0.19042716640833e-1*f)+0.440579291676234e27*cos(0.19042716640833e-1*f)^2-0.440686170684233e27))^(1/2)

(1)

plot(result3, f = 100 .. 5000);

 

 

plot(result3, f = 100 .. 1000);

 

 

 

``


 

Download test.mw

 

 

 

I have a workbook that derives the Cobb-Douglas factor demand functions:

The final formulas (10) and (11) are not in the same format as the formulas in my textbook (by Hal Varian). In fact my last formulas betray no obvious symmetry while Varian's forms do.

Download cobb-douglas.mw

Here is a picture of them scraped from the text.

 

Is it possible to instruct Maple to obtain these forms?

Maple 17 is very exciting so I am hopeful ....

P.

 

The following construction of a simple vector of matrices (just a test example)

Vector(2,(a) -> Matrix(2,2,(b,c) -> m||a||b||c));

works in Maple 17, but not in Maple 2017 where the error message "Error, (in Vector[column]) number of elements on right side must match subselection on left side" is produced. Why that?

Update: If no output is prompted, i.e., if the above line is terminated with colon instead of semicolon, then no error is raised. What?!

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. 

A question was raised recently on Stewart Gough platforms.  I decided to tidy up some old code to show platform position and leg lengths for any given displacement.
 

restart

``

Hexapod Setup Data

 

RotZ := proc (delta) options operator, arrow; Matrix(1 .. 3, 1 .. 3, {(1, 1) = cos(delta), (1, 2) = -sin(delta), (1, 3) = 0, (2, 1) = sin(delta), (2, 2) = cos(delta), (2, 3) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 1}, datatype = anything, storage = rectangular, order = Fortran_order, subtype = Matrix) end proc

a[1] := Vector(3, [.5, 3.0, 0]); a[2] := evalf(RotZ(20*((1/180)*Pi)).a[1]); a[3] := evalf(RotZ(100*((1/180)*Pi)).a[2]); a[4] := evalf(RotZ(20*((1/180)*Pi)).a[3]); a[5] := evalf(RotZ(100*((1/180)*Pi)).a[4]); a[6] := evalf(RotZ(20*((1/180)*Pi)).a[5])

b[1] := evalf(.7*RotZ(-40*((1/180)*Pi)).a[1]); b[2] := evalf(RotZ(100*Pi*(1/180)).b[1]); b[3] := evalf(RotZ(20*Pi*(1/180)).b[2]); b[4] := evalf(RotZ(100*Pi*(1/180)).b[3]); b[5] := evalf(RotZ(20*Pi*(1/180)).b[4]); b[6] := evalf(RotZ(100*Pi*(1/180)).b[5])

Zeroposn := Vector(3, [0, 0, 3])

Tx := Vector(3, [1, 0, 0]); Ty := Vector(3, [0, 1, 0]); Tz := Vector(3, [0, 0, 1])

``

``

NULL

Procedures

 

PlatPosn := proc (x := 0, y := 0, z := 0, alpha := 0, beta := 0, delta := 0) local i, v, Rot, L1, L2, L3, L4, L5, L6; global txn, tyn, tzn, ctrp; description "Calculates the platform position in the Global Coordinates, Unit normals and Leg Lengths"; v := Vector(3, [x, y, z]); ctrp := Zeroposn+v; Rot := Matrix(1 .. 3, 1 .. 3, {(1, 1) = cos(delta)*cos(beta), (1, 2) = -sin(delta)*cos(alpha)+cos(delta)*sin(beta)*sin(alpha), (1, 3) = sin(delta)*sin(alpha)+cos(delta)*sin(beta)*cos(alpha), (2, 1) = sin(delta)*cos(beta), (2, 2) = cos(delta)*cos(alpha)+sin(delta)*sin(beta)*sin(alpha), (2, 3) = -cos(delta)*sin(alpha)+sin(delta)*sin(beta)*cos(alpha), (3, 1) = -sin(beta), (3, 2) = cos(beta)*sin(alpha), (3, 3) = cos(beta)*cos(alpha)}, datatype = anything, storage = rectangular, order = Fortran_order, subtype = Matrix); for i to 6 do bn || i := Zeroposn+v+Rot.b[i] end do; txn := Rot.Tx; tyn := Rot.Ty; tzn := Rot.Tz; print(" Platform centre Global", ctrp); print(" Platform corner Co-ords Global", bn1, bn2, bn3, bn4, bn5, bn6); print("Platform Triad Vectors  ", "X green ", txn, "Y blue", tyn, "Z red ", tzn); L1 := sqrt((bn1-a[1])^%T.(bn1-a[1])); L2 := sqrt((bn2-a[2])^%T.(bn2-a[2])); L3 := sqrt((bn3-a[3])^%T.(bn3-a[3])); L4 := sqrt((bn4-a[4])^%T.(bn4-a[4])); L5 := sqrt((bn5-a[5])^%T.(bn5-a[5])); L6 := sqrt((bn6-a[6])^%T.(bn6-a[6])); print("Leg Lengths"); print("L1= ", L1); print("L2= ", L2); print("L3= ", L3); print("L4= ", L4); print("L5= ", L5); print("L6= ", L6) end proc

``

PlatPlot := proc () local Base, Platformdisplacement, picL1, picL2, picL3, picL4, picL5, picL6; global tx0, ty0, tz0; description "Displays the Hexapod"; Base := plots:-polygonplot3d(Matrix([a[1], a[2], a[3], a[4], a[5], a[6]], datatype = float), color = black, transparency = .5); Platformdisplacement := plots:-polygonplot3d(Matrix([seq(bn || i, i = 1 .. 6)]), color = cyan, transparency = .5); picL1 := plots:-arrow(a[1], bn || 1-a[1], colour = green); picL2 := plots:-arrow(a[2], bn || 2-a[2], colour = blue); picL3 := plots:-arrow(a[3], bn || 3-a[3], colour = blue); picL4 := plots:-arrow(a[4], bn || 4-a[4], colour = blue); picL5 := plots:-arrow(a[5], bn || 5-a[5], colour = blue); picL6 := plots:-arrow(a[6], bn || 6-a[6], colour = orange); tx0 := plots:-arrow(ctrp, txn, colour = green); ty0 := plots:-arrow(ctrp, tyn, colour = blue); tz0 := plots:-arrow(ctrp, tzn, colour = red); plots:-display(Base, picL1, picL2, picL3, picL4, picL5, picL6, Platformdisplacement, tx0, ty0, tz0, axes = box, labels = [X, Y, Z], scaling = constrained) end proc

``

NULL

``

``

PlatPosn()

"L6= ", 3.586394355

(1)

PlatPlot()

 

NULL

PlatPosn(.52, -.89, .7, .2, .67, .3)

"L6= ", 3.055217994

(2)

PlatPlot()

 

NULL

NULL

 

NULL

print('tzn' = LinearAlgebra:-CrossProduct(txn, tyn), `= `, tzn)

tzn = Vector[column](%id = 18446744074564617750), `= `, Vector[column](%id = 18446744074328082542)

(3)

``

``NULL

NULL

Rotation Matrices

NULL

``

 

RotZ := Matrix(3, 3, {(1, 1) = cos(delta), (1, 2) = -sin(delta), (1, 3) = 0, (2, 1) = sin(delta), (2, 2) = cos(delta), (2, 3) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 1})

RotY := Matrix(3, 3, {(1, 1) = cos(beta), (1, 2) = 0, (1, 3) = sin(beta), (2, 1) = 0, (2, 2) = 1, (2, 3) = 0, (3, 1) = -sin(beta), (3, 2) = 0, (3, 3) = cos(beta)})

RotX := Matrix(3, 3, {(1, 1) = 1, (1, 2) = 0, (1, 3) = 0, (2, 1) = 0, (2, 2) = cos(alpha), (2, 3) = -sin(alpha), (3, 1) = 0, (3, 2) = sin(alpha), (3, 3) = cos(alpha)})

NULL

ROT := RotZ.RotY.RotX

Matrix(%id = 18446744074564619310)

(4)

``

``

``


 

Download Reverse_Kinematics_Stewart_Gough_Platform.mw

With this application the components of the acceleration can be calculated. The components of the acceleration in scalar and vector of the tangent and the normal. In addition to the curvilinear kinetics in polar coordinates. It can be used in different engineers, especially mechanics, civilians and more.

In Spanish.

Kinematics_Curvilinear v18.mw

Kinematics_Curvilinear_updated_v2017.mw

Cinemática_en_Coordenadas_Polares_Cilindricas.mw

Kinematics_Curvilinear_updated_v2018.mw

Cinemática_de_una_partícula_nueva_sintaxis.mw

Lenin Araujo Castillo

Ambassador of Maple

 

 

Maple does not evaluate

>Re( (2-I*X)^4) ),  assuming((X, realcons)

or

>assume(X, realcons);

> Re( (2-I*X)^4) );

Why do these simple expression return unevealuated?

 

Hi,

I want to apply a rule to simplify an expression. The applyrule command works, when used directly in the worksheet. When I try to use the command within a procedure, Maple throws an error I cannot decipher:

Error, (in PatternMatching:-AlgStruct:-InsertPattern) first operand of `::' must be a name

 

Here is a full demonstration worksheet:

restart:

anexp:=abs(x)^2;

abs(x)^2

(1)

simplify(anexp);

abs(x)^2

(2)

rmabssq := proc(inexp)
description "removes the abs^2 construct in an expression":
local ruleabssqared1,ruleabssqared2,outexp:
    ruleabssqared1:= abs(''a''::algebraic)^2= ''a''^2:
    ruleabssqared2:= abs('expand'(-''a'')::algebraic)^2= ''a'':
    outexp:= applyrule([ruleabssqared1,ruleabssqared2],inexp):
    return outexp:
end proc;
 

proc (inexp) local ruleabssqared1, ruleabssqared2, outexp; description "removes the abs^2 construct in an expression"; ruleabssqared1 := abs(''a''::algebraic)^2 = ''a''^2; ruleabssqared2 := abs((('expand')(-''a''))::algebraic)^2 = ''a''; outexp := applyrule([ruleabssqared1, ruleabssqared2], inexp); return outexp end proc

(3)

## does not work :(
rmabssq(anexp);

Error, (in PatternMatching:-AlgStruct:-InsertPattern) first operand of `::' must be a name

 

## works!
ruleabssqared1:= abs(''a''::algebraic)^2= ''a''^2:
ruleabssqared2:= abs('expand'(-''a'')::algebraic)^2= ''a'':
newexp:= applyrule([ruleabssqared1,ruleabssqared2],anexp);

x^2

(4)

 


 

Download applyrule_4.mw

Thanks for your help

[[1000, 20], [2000, 25], [3000, 24], [4000, 23], [5000, 24]];
  [[1000, 20], [2000, 25], [3000, 24], [4000, 23], [5000, 24]]
data1 := [[1000, 20], [2000, 21], [3000, 32], [4000, 23], [5000, 23]]; 'data1';
                             data1
a*x^3+b*x^2+c*x+d;
                        3      2          
                     a x  + b x  + c x + d
x;
                               x
Equn1 := CurveFitting[LeastSquares]([[1000, 20], [2000, 25], [3000, 24], [4000, 23], [5000, 24]], x, curve = a*x^3+b*x^2+c*x+d);
plot(Equn1,x= 1000..5000)


 

Least Squares Approximation

 

 

Calculate a least squares approximation using specified data points.

 

 

Theoretical Curves for the Two-Stroke Engines and Four-Stroke Engines Brake Power Vs Brake Efficiency

List of Data Points:

[[1000, 20], [2000, 25], [3000, 24], [4000, 23], [5000, 24]]

[[1000, 20], [2000, 25], [3000, 24], [4000, 23], [5000, 24]]

(1)

data1 := [[1000, 20], [2000, 21], [3000, 32], [4000, 23], [5000, 23]]; 'data1'

data1

(2)

Fitting Curve:

a*x^3+b*x^2+c*x+d

a*x^3+b*x^2+c*x+d

(3)

Independent Variable: