Maple 2019 Questions and Posts

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

could you just delete the post !!!!!!!!!!!!!!!!!!!!!!!!!!!x!xxxx!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Hi,

Let's take the last example (Maple 2019) given in help[sparsematrixplot] (representation of the adjacency matrix of a graph).
Vertices of this graph are labelled 1, 2, ...20.
Suppose I change these names as a, b, ...t.
I would like the tickmarks of the sparsematrixplot output match the names of the vertices of the graph, and not the integers 1, 2, ..20

I tried this:
S := [$1..20] =~ StringTools:-Char~(96 +~  [$1..20]);
plots:-sparsematrixplot(..., tickmarks=[S, S])

But the only the tickmars of the columns are changed, not those of the rows.

Is it possible to change the names of the tickmarks ?


Thanks in advance.

Hello,

Please, what is going wrong that it is not graphing the ODE system solution?

eqs := seq(eq[i], i = 1 .. 6*n);
cis := seq(ci[i], i = 1 .. 6*n);
sol := dsolve([eqs, cis], numeric, stiff = true, output = listprocedure);
for i to n do
    graf1[i] := odeplot(sol, [t, x[i](t)], 0 .. 5, color = black);
end do;
for i from 11 to 2*n do
    graf2[i] := odeplot(sol, [t, x[i](t)], 0 .. 5, color = blue);
end do;
for i from 21 to 3*n do
    graf3[i] := odeplot(sol, [t, x[i](t)], 0 .. 5, color = green);
end do;
for i from 31 to 4*n do
    graf4[i] := odeplot(sol, [t, x[i](t)], 0 .. 5, color = red);
end do;
for i from 41 to 5*n do
    graf5[i] := odeplot(sol, [t, x[i](t)], 0 .. 5, color = pink);
end do;
for i from 51 to 6*n do
    graf6[i] := odeplot(sol, [t, x[i](t)], 0 .. 5, color = orange);
end do;

display(seq(graf1[i], i = 1 .. n));
display(seq(graf2[i], i = 11 .. 2*n));
display(seq(graf3[i], i = 21 .. 3*n));
display(seq(graf4[i], i = 31 .. 4*n));
display(seq(graf5[i], i = 41 .. 5*n));
display(seq(graf6[i], i = 51 .. 6*n));


trabalho_final_2019.mw

BIOMAT_project.mw

 

I am looking at an SIR model and an adapted model that has a vaccine for measles. I would like to use Maple to plot the difference between the two models. 

All the work that's been done so far is in the attached file. I would like to have multiple graphs, changing the starting values but I just need the general idea of how to do this first. 

Hi

I'm trying to rearrange a transfer function to get my s^2 term with other specific terms . Below is the denominator of the transfer function. I know that my goal is to get (Izz*u)/m for the s^2 term, so I divide by Df*Dr*(a+b)*u*m, as shown below.

However, if we look at the s^2 terms for now, the equation should be further simplified leaving me with simply (Izz*u)/m, but Maple doesn't want to do this for some reason, and if I use simplify on the above expression it tries to expand everything again, and forgetting about my collect(fun, s).

 

Is there any way to get around this?

 

Many thanks

 

Hi, 

This is a question more or less related to this one Is it possible to define variables with unusual na... but I think it's better to open a new thread. If some think otherwise, please feel free to displace it to the link above.

I want to relabel the vertices of a graph by using special characters.
It happens that this works perfectly if I do not impose the style of the drawing but that it doesn't if I set, for instance, spring=style.
In the attached file you will see that the subsitution of the old vertex names by the new ones doesn't work if apply it directly on the many operators of the PLOT command contains.

Is this behaviour fixed in more recent versions of Maple or it's still present?


Strange-Behaviour-with-SpringStyle.mw

I have a region that can be graphed by A := plots:-inequal([evalc(abs(z)) < 3, evalc(1 < abs(z - 1))], x = -5 .. 5, y = -5 .. 5)

From there, I need to use the transformation 

M := (3 + sqrt(5))/2*(z - x1)/(z - x2) where x1 := (9 - sqrt(45))/2 and x2 := (9 + sqrt(45))/2 

 

How do I do this? Do I need to extract data points from the first graph? Is there an easier way to do this? 

The Library:-RedefineTensorComponent in the physics package has got some serious problems, I guess in the update. It is not assigning the components at the right location for a tensor of rank 4 and above. It is working for tensors of rank 1, 2 and 3. Can someone please look into the issue and help out?

I am attaching the code with an example to indiacate the problem. Redefine.mw

Hi,

Defining variables named H2 or O2 doesn't pose any problem (H__2 for instance), but could it be possible in Maple 2019 to define a variable named H2O2 ?

Thanks in advance

Hi there!

Sorry to ask, but I don't know how I can solve it in a smart way. I want to take the covariant derivative of a specific vector, whose components are specifically defined, which can be constant or some functions of the coordinates. But, as soon as I define that specific vector, the covariant derivative fails to compute, saying there are "too many levels of recursion". Let me show what I mean.

I have these two attempts to get this:

 

First attempt

 

restart

with(Physics)

Setup(mathematicalnotation = true)

Coordinates(X = spherical)

{X}

(1.1)

Parameters(k)

{k}

(1.2)

Setup(metric = {(1, 1) = a(t)^2/(-k*r^2+1), (2, 2) = (a(t)*r)^2, (3, 3) = (a(t)*r*sin(theta))^2, (4, 4) = -1})

[metric = {(1, 1) = a(t)^2/(-k*r^2+1), (2, 2) = a(t)^2*r^2, (3, 3) = a(t)^2*r^2*sin(theta)^2, (4, 4) = -1}]

(1.3)

Define(b[mu])

{Physics:-D_[mu], Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-Ricci[mu, nu], Physics:-Riemann[mu, nu, alpha, beta], Physics:-Weyl[mu, nu, alpha, beta], b[mu], Physics:-d_[mu], Physics:-g_[mu, nu], Physics:-Christoffel[mu, nu, alpha], Physics:-Einstein[mu, nu], Physics:-LeviCivita[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}

(1.4)

NULL

Define(Db[nu, mu] = D_[nu](b[mu](X)))NULL

{Physics:-D_[mu], Db[nu, mu], Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-Ricci[mu, nu], Physics:-Riemann[mu, nu, alpha, beta], Physics:-Weyl[mu, nu, alpha, beta], b[mu], Physics:-d_[mu], Physics:-g_[mu, nu], Physics:-Christoffel[mu, nu, alpha], Physics:-Einstein[mu, nu], Physics:-LeviCivita[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}

(1.5)

Define(b[mu] = [0, 0, 0, beta], redo)

{Physics:-D_[mu], Db[nu, mu], Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-Ricci[mu, nu], Physics:-Riemann[mu, nu, alpha, beta], Physics:-Weyl[mu, nu, alpha, beta], b[mu], Physics:-d_[mu], Physics:-g_[mu, nu], Physics:-Christoffel[mu, nu, alpha], Physics:-Einstein[mu, nu], Physics:-LeviCivita[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}

(1.6)

Db[]

Db[mu, nu] = Matrix(%id = 18446746372997772822)

(1.7)

beta := proc (X) options operator, arrow; b0 end proc``

proc (X) options operator, arrow; b0 end proc

(1.8)

Define(b[mu] = [0, 0, 0, beta], redo)

{Physics:-D_[mu], Db[nu, mu], Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-Ricci[mu, nu], Physics:-Riemann[mu, nu, alpha, beta], Physics:-Weyl[mu, nu, alpha, beta], b[mu], Physics:-d_[mu], Physics:-g_[mu, nu], Physics:-Christoffel[mu, nu, alpha], Physics:-Einstein[mu, nu], Physics:-LeviCivita[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}

(1.9)

Db[]

Error, (in index/PhysicsTensor) too many levels of recursion

 

````

Second attempt

 

restart

with(Physics)

Setup(mathematicalnotation = true)

Coordinates(X = spherical)

{X}

(2.1)

Parameters(beta, k)

{beta, k}

(2.2)

Setup(metric = {(1, 1) = a(t)^2/(-k*r^2+1), (2, 2) = (a(t)*r)^2, (3, 3) = (a(t)*r*sin(theta))^2, (4, 4) = -1})

[metric = {(1, 1) = a(t)^2/(-k*r^2+1), (2, 2) = a(t)^2*r^2, (3, 3) = a(t)^2*r^2*sin(theta)^2, (4, 4) = -1}]

(2.3)

Define(b[mu])

{Physics:-D_[mu], Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-Ricci[mu, nu], Physics:-Riemann[mu, nu, alpha, beta], Physics:-Weyl[mu, nu, alpha, beta], b[mu], Physics:-d_[mu], Physics:-g_[mu, nu], Physics:-Christoffel[mu, nu, alpha], Physics:-Einstein[mu, nu], Physics:-LeviCivita[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}

(2.4)

``

Define(Db[nu, mu] = D_[nu](b[mu](X)))``

{Physics:-D_[mu], Db[nu, mu], Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-Ricci[mu, nu], Physics:-Riemann[mu, nu, alpha, beta], Physics:-Weyl[mu, nu, alpha, beta], b[mu], Physics:-d_[mu], Physics:-g_[mu, nu], Physics:-Christoffel[mu, nu, alpha], Physics:-Einstein[mu, nu], Physics:-LeviCivita[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}

(2.5)

Define(b[mu] = [0, 0, 0, beta], redo)

{Physics:-D_[mu], Db[nu, mu], Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-Ricci[mu, nu], Physics:-Riemann[mu, nu, alpha, beta], Physics:-Weyl[mu, nu, alpha, beta], b[mu], Physics:-d_[mu], Physics:-g_[mu, nu], Physics:-Christoffel[mu, nu, alpha], Physics:-Einstein[mu, nu], Physics:-LeviCivita[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}

(2.6)

Db[]

Error, (in index/PhysicsTensor) too many levels of recursion

 

````

``

On my first attempt, expression (1.7) is almost fine, but β is supposed to be constant (and a function of "t" in the future), so I set it as a constant function. But then it causes that problem. Therefore, on my second attempt, I tried to set β as a parameter since the beginning, but it was no good either.


If I were to take the covariant derivative as "D_[nu](b[mu])" (without the "(X)"), it would not have that specific problem, but would not be a good solution, since the covariant derivative would discard the partial derivative of b[mu] and, if it would have some dependence on the coordinates, it would give a wrong result.


The only way it seems to work is by defining the tensor "Db[mu,nu]" explicitly as "d_[mu](b[nu](X)) - Christoffel[~alpha, mu, nu]*b[alpha]". (It seems that the problem comes from that "(X)" next to "b[alpha]" in the connection term.) But that would be an awful way to circumvent the problem. Isn't there any better way to get this?


Can someone help me with this, please?


Thanks for any help!

 

Download Cov._derivative_of_a_specific_vector.mw

 

We recently had a question about using some of the plotting commands in Maple to draw things. We were feeling creative and thought why not take it a step further and draw something in 3D.

Using the geom3d, plottools, and plots packages we decided to make a gingerbread house.

To make the base of the house we decided to use 2 cubes, as these would give us additional lines and segments for the icing on the house.

point(p__1,[2,3,2]):
point(p__2,[3,3,2]):
cube(c1,p__1,2):
cube(c2,p__2,2):
base:=draw([c1,c2],color=tan);

Using the same cubes but changing the style to be wireframe and point we made some icing lines and decorations for the gingerbread house.

base_decor1:=draw([c1,c2],style=wireframe,thickness=3,color=red,transparency=0.2):
base_decor2:=draw([c1,c2],style=wireframe,thickness=10,color=green,linestyle=dot):
base_decor3:=draw([c1,c2],style=point,thickness=2,color="Silver",symbol=sphere):
base_decor:=display(base_decor1,base_decor2,base_decor3);

To create the roof we found the vertices of the cubes and used those to find the top corners of the base.

v1:=vertices(c1):
v2:=vertices(c2):
pc1:=seq(point(pc1||i,v1[i]),i=1..nops(v1)):
pc2:=seq(point(pc2||i,v2[i]),i=1..nops(v2)):
topCorners:=[pc1[5],pc1[6],pc2[1],pc2[2]]:
d1:=draw(topCorners):

Using these top corners we found the midpoints (where the peak of the roof would be) and added the roof height to the coordinates.

midpoint(lc1,topCorners[1],topCorners[2]):
detail(lc1);

point(cc1,[-(2*sqrt(3))/3 + 2, (2*sqrt(3))/3 + 3+1, 2]):
d3:=draw(cc1):

midpoint(lc2,topCorners[3],topCorners[4]):
detail(lc2);

point(cc2,[(2*sqrt(3))/3 + 3, (2*sqrt(3))/3 + 3+1, 2]):
d4:=draw(cc2):

With the midpoints and vertices at the front and rear of the house we made two triangles for the attic of the gingerbread house.

triangle(tf,[topCorners[1],topCorners[2],cc1]):
front:=draw(tf,color=brown):

triangle(tb,[topCorners[3],topCorners[4],cc2]):
back:=draw(tb,color=tan):

Using these same points again we made more triangles to be the roof.

triangle(trl,[cc1,cc2,pc1[5]]):
triangle(trh,[pc2[2],pc1[6],cc1]):
triangle(tll,[cc1,cc2,pc2[2]]):
triangle(tlh,[pc2[1],pc1[5],cc2]):
roof:=draw([trl,trh,tll,tlh],color="Chocolate");

Our gingerbread house now had four walls, a roof, and icing, but no door. Creating the door was as easy as making a parallelepiped, but what is a door without more icing?

door:=display(plottools:-parallelepiped([1,0,0],[0,1.2,0],[0,0,0.8],[0.8,1.9,1.6]),color="DarkRed"):
door_decor1:=display(plottools:-parallelepiped([1,0,0],[0,1.2,0],[0,0,0.8],[0.8,1.9,1.6]),color="Gold",style=line):
door_decor2:=display(plottools:-parallelepiped([1,0,0],[0,1.2,0],[0,0,0.8],[0.8,1.9,1.6]),color="Silver", style=line,linestyle=dot,thickness=5):
door_decor:=display(door_decor1,door_decor2):

Now having a door we could have left it like this, but what better way to decorate a gingerbread house than with candy canes? Naturally, if we were going to have one candy cane we were going to have lots of candy canes. To facilitate this we made a candy cane procedure.

candy_pole:=proc(c:=[0,0,0], {segR:=0.1}, {segH:=0.1}, {segn:=7}, {tilt_theta:=0}, {theta:=0}, {arch:=true}, {flip:=false})
local cane1,cane2,cane_s,cane_c,cane0,cane,i,cl,cd,ch, cane_a,tmp,cane_ac,cane_a1,cane00,cane01,cane02,cane_a1s,tmp2,cane_a2s:
uses plots,geom3d:
cl:=c[1]:
cd:=c[2]:
ch:=c[3]:
cane1:=plottools:-cylinder([cd, ch, cl], segR, segH,style=surface):

cane2:=display(plottools:-rotate(cane1,Pi/2,[[cd,ch,cl],[cd+1,ch,cl]])):
cane_s:=[cane2,seq(display(plottools:-translate(cane2,0,segH*i,0)),i=1..segn-1)]:
cane_c:=seq(ifelse(type(i,odd),red,white),i=1..segn):

cane0:=display(cane_s,color=[cane_c]):

if arch then

cane_a:=plottools:-translate(cane2,0,segH*segn-segH/2,0):
tmp:=i->plottools:-rotate(cane_a,i*Pi/24, [ [cd,ch+segH*segn-segH/2,cl+segR*2] , [cd+1,ch+segH*segn-segH/2,cl+segR*2] ] ):

cane_ac:=seq(ifelse(type(i,odd),red,white),i=1..24):

                cane_a1s:=seq(plottools:-translate(tmp(i),0,segH*i/12,segR*i/4),i=1..12):

tmp2:=i->plottools:-rotate(cane_a1s[12],i*Pi/24,[[cd,ch+segH*segn-0.05,cl+segR*2],[cd+1,ch+segH*segn-0.05,cl+segR*2]]):

cane_a2s:=seq(plottools:-translate(tmp2(i),0,-segH*i/500,segR*i/4),i=1..12):
cane_a1:=display(cane_a1s,cane_a2s,color=[cane_ac]):
cane00:=display(cane0,cane_a1);

                if flip then

cane01:=plottools:-rotate(cane00,tilt_theta,[[cd,ch,cl],[cd+1,ch,cl]]):
cane02:=plottools:-rotate(cane01,theta,[[cd,ch,cl],[cd,ch+1,cl]]):
cane:=plottools:-reflect(cane01,[[cd,ch,cl],[cd,ch+1,cl]]):

                else

cane01:=plottools:-rotate(cane00,tilt_theta,[[cd,ch,cl],[cd+1,ch,cl]]):
cane:=plottools:-rotate(cane01,theta,[[cd,ch,cl],[cd,ch+1,cl]]):

                end if:

                return cane:

else

                cane:=plottools:-rotate(cane0,tilt_theta,[[cd,ch,cl],[cd+1,ch,cl]]):

                return cane:

end if:

end proc:

With this procedure we decided to add candy canes to the front, back, and sides of the gingerbread house. In addition we added two candy poles.

Candy Canes in front of the house:

cane1:=candy_pole([1.2,0,2],segn=9,arch=false):
cane2:=candy_pole([2.8,0,2],segn=9,arch=false):
cane3:=candy_pole([2.7,0.8,3.3],segn=9,segR=0.05,tilt_theta=-Pi/7):
cane4:=candy_pole([1.3,0.8,3.3],segn=9,segR=0.05,tilt_theta=-Pi/7,flip=true):
front_canes:=display(cane1,cane2,cane3,cane4):

Candy Canes at the back of the house:

caneb3:=candy_pole([1.5,4.2,2.5],segn=15,segR=0.05,tilt_theta=-Pi/3,flip=true):
caneb4:=candy_pole([2.5,4.2,2.5],segn=15,segR=0.05,tilt_theta=-Pi/3):}
back_canes:=display(caneb3,caneb4):

Candy Canes at the left of the house:

canel1:=candy_pole([0.8,1.5,2.5],segn=15,segR=0.05,tilt_theta=-Pi/7,theta=Pi/2):
canel2:=candy_pole([0.8,2.5,2.5],segn=15,segR=0.05,tilt_theta=-Pi/7,theta=Pi/2):
canel3:=candy_pole([0.8,4,2.5],segn=15,segR=0.05,tilt_theta=-Pi/7,theta=Pi/2):
left_canes:=display(canel1,canel2,canel3):

Candy Canes at the right of the house:

caner1:=candy_pole([3.2,1.5,2.5],segn=15,segR=0.05,tilt_theta=-Pi/7,theta=Pi/2):
caner2:=candy_pole([3.2,2.5,2.5],segn=15,segR=0.05,tilt_theta=-Pi/7,theta=Pi/2):
caner3:=candy_pole([3.2,4,2.5],segn=15,segR=0.05,tilt_theta=-Pi/7,theta=Pi/2):
right_canes:=display(caner1,caner2,caner3):

canes:=display(front_canes,back_canes,right_canes,left_canes):

With these canes in place all that was left was to create the ground and display our Gingerbread House.

ground:=display(plottools:-parallelepiped([5,0,0],[0,0.5,0],[0,0,4],[0,1.35,0]),color="DarkGreen"):

display([door,door_decor,d1,base,base_decor,d3,d4,front,back,roof,ground,canes],orientation=[-100,0,95]);

You can download the full worksheet creating the gingerbread house below:

Geometry_Gingerbread.mw

How can add a PNG within a text section of a Maple Worksheet without having the image appear with a black background?

Does Maple have an alpha channel or transparency setting that must be toggled for this to work?

Maple 2019
macOS 10.14.6

I am added pictures from the clipboard via drag+drop.

(Yes, I know that I can use JPEG without this problem and that is NOT my question).

--
JJW

Hello;

Maple 2019.2.1 on windows 10

Is there a trick to make inttrans:-fourier(erf(x),x,k) return the Fourier transform of the error function? Now, using Maple 2019.2.1 it returns unevaluated. But direct application of Fourier transform integral does return the correct result. So why inttrans does not work? 
 

inttrans:-fourier(erf(x),x,k)

fourier(erf(x), x, k)

1/sqrt(2*Pi)*int(erf(x)*exp(-I*x*k),x=-infinity..infinity)

-I*2^(1/2)*exp(-(1/4)*k^2)/(Pi^(1/2)*k)

 

 

Download erf.mw

 

 

 

Eksamensopgaver_samlet.mw

Hey

Can anyone help me with this file?

I don't know how it happend, but the file somehow got corrupted. Is there anything i can do?

Thanks 

Hi,

I am a newbie and therefore have a rather simple question for the community:

By reading in my measurement data (topographic data) I have generated column vectors:
for i from 1 to k do
    B[i] := Vector(A[1 .. k, i]);
end do:
where k is a predefined rank of the original square matrix. The arithmetic mean was then calculated for each individual column vector:
for i from 1 to k do
    Am[i] := add(B[i][n], n = 1 .. k)/k;
end do:

Now I try to create new column vectors by subtracting the corresponding mean value from each entry of the original vectors, something like that:
for i from 1 to k do
C[i]:=B[i][n]-Am[i],n=1..k

But I just can't get it right. Can anyone help me? Thanks in advance!

Cheers
Christian

First 28 29 30 31 32 33 34 Last Page 30 of 47