Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

In an old question, @nm asked how to . While the answer in that question was almost up to the mark, there remains a regret. 

As the instance listed below shows, Maple, by default, draws arrows on a rectangular grid (rather than on a hexagonal mesh): 

  # Example of a three-dimensional vector field: 
vf__2d := VectorCalculus:-VectorField([sin(x)*(cos(x) + cos(y)), 
                                       sin(y)*(cos(x) - cos(y))], 'cartesian'[x, y]):
  # Example of a two-dimensional vector field: 
vf__3d := VectorCalculus:-VectorField([1 - (sin(u - v) + sin(u - w)), 
                                       1 - (sin(v - w) + sin(v - u)), 
                                       1 - (sin(w - u) + sin(w - v))], 'cartesian'[u, v, w]):
  # Phase portrait. 
Student:-VectorCalculus:-PlotVector(vf__2d, (x, y) =~ -Pi .. Pi, 
                                            'grid' = [`$`](25, 2), 
                                          'arrows' = 'THICK', 
                                   'fieldstrength' = log[63], 
                                           'color' = ColorTools:-Color("#0072BD"), 
                                            'axes' = "box"(*, …omitted…*));
= 

Note that I have changed some of the options in order to make the layout of arrows more prominent.
However, according to the help page of Mma's VectorPoints, among the following methods of location generation, Mma by default uses Hexagonal for 2D field vectors and FaceCenteredCubic for 3D field vector: 

Here is a collection of different settings available in Mma:

So if the requirement is to get the Maple's output looking like Mathematica's (see the beginning), the number and placement of vectors to plot should be thought of as well. In Maple, “the number of vectors” can be controlled by the plot (or plot3d) opinion , but how do I specify “the placement of vectors” (e.g., Mma's "Hexagonal" and "Mesh")?

Although there exists an  chapter in the documentation, randomly positioned arrows do not fit the bill. Is there any workaround?

This is linear ode, third order, Euler type and inhomogeneous ode.

If I solve the homogeneous ode only, then ask Maple to give me a particular solution, then add these, I get much much smaller solution which Maple verifies is correct.

Now when asking Maple to solve the original inhomogeneous ode as is, the solution is much more complicated and much longer with unresolved integrals.

Why does not Maple give the simpler solution? Both are verified to be correct.

This is my theory: When asking maple to find only the particular solution, it seems to have used a different and advanced method to find yp. Which is new to me and trying to learn it. It is based on paper "D'Alembertian Solutions of Inhomogeneous Equations (differential, difference, and some other).

Undetermined coefficients method can't really be used on ode's such as this because its coefficients are not constant.

Now, when asking Maple to solve the inhomogeneous ode, it seems to have used variation of parameters method, which results in integrals, which can be hard to solve.

My question is: Why does not Maple give the same much shorter answer when asked to solve the ode as is? Should it not have done so? Any thoughts on why such large difference in answer? Why it did not use the same method to find yp when asked to solve the whole ode as that leads to much smaller and more elegant solution.

ps. debugging this, it uses LinearOperators:-dAsolver:-dAlembertianSolver which is called from ODEtools/particularsol/linear to find yp when calling DETools:-particularsol(ode); but for some reason, it does not do this when asking it to solve the whole ode directly (if it did, then one will expect same answer to result, right?)

Maple 2023.2 on windows 10.
 

restart;

189900

(1)

#the ode
ode:=x^3*diff(y(x), x, x, x) + x^2*diff(y(x), x, x) + 2*x*diff(y(x), x) - y(x) = 2*x^3 - ln(x);

x^3*(diff(diff(diff(y(x), x), x), x))+x^2*(diff(diff(y(x), x), x))+2*x*(diff(y(x), x))-y(x) = 2*x^3-ln(x)

(2)

# find y_h
yh:=dsolve(lhs(ode)=0);

y(x) = c__1*x^(-(1/6)*((44+12*69^(1/2))^(2/3)-4*(44+12*69^(1/2))^(1/3)-20)/(44+12*69^(1/2))^(1/3))+c__2*x^((1/12)*(-20+(44+12*69^(1/2))^(2/3)+8*(44+12*69^(1/2))^(1/3))/(44+12*69^(1/2))^(1/3))*sin((1/12)*(3^(1/2)*(44+12*69^(1/2))^(2/3)+20*3^(1/2))*ln(x)/(44+12*69^(1/2))^(1/3))+c__3*x^((1/12)*(-20+(44+12*69^(1/2))^(2/3)+8*(44+12*69^(1/2))^(1/3))/(44+12*69^(1/2))^(1/3))*cos((1/12)*(3^(1/2)*(44+12*69^(1/2))^(2/3)+20*3^(1/2))*ln(x)/(44+12*69^(1/2))^(1/3))

(3)

#find particular solution
yp:=DETools:-particularsol(ode);

y(x) = (2/17)*x^3+ln(x)+3

(4)

#test particular solution is correct
odetest(yp,ode);

0

(5)

#find general solution = yh+ yp
y_general:=y(x)=rhs(yh)+rhs(yp);

y(x) = c__1*x^(-(1/6)*((44+12*69^(1/2))^(2/3)-4*(44+12*69^(1/2))^(1/3)-20)/(44+12*69^(1/2))^(1/3))+c__2*x^((1/12)*(-20+(44+12*69^(1/2))^(2/3)+8*(44+12*69^(1/2))^(1/3))/(44+12*69^(1/2))^(1/3))*sin((1/12)*(3^(1/2)*(44+12*69^(1/2))^(2/3)+20*3^(1/2))*ln(x)/(44+12*69^(1/2))^(1/3))+c__3*x^((1/12)*(-20+(44+12*69^(1/2))^(2/3)+8*(44+12*69^(1/2))^(1/3))/(44+12*69^(1/2))^(1/3))*cos((1/12)*(3^(1/2)*(44+12*69^(1/2))^(2/3)+20*3^(1/2))*ln(x)/(44+12*69^(1/2))^(1/3))+(2/17)*x^3+ln(x)+3

(6)

#test general solution is correct
odetest(y_general,ode);

0

(7)

#now solve the ode directly using Maple. Why this solution is much more complicated?
y_general_direct_method:=dsolve(ode);

y(x) = -(Int(-(5/2)*(x^(-(1/400)*69^(1/2)*(44+12*69^(1/2))^(2/3)+(11/1200)*(44+12*69^(1/2))^(2/3)+(1/12)*(44+12*69^(1/2))^(1/3)+2/3))^2*(44+12*69^(1/2))^(1/3)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)*cos((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))^2+3*(44+12*69^(1/2))^(1/3)*69^(1/2)*sin((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))^2-11*(44+12*69^(1/2))^(1/3)*cos((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))^2-11*(44+12*69^(1/2))^(1/3)*sin((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))^2+100*cos((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))^2+100*sin((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))^2)*(-2*x^3+ln(x))/(x^3*(3*3^(1/2)*23^(1/2)+11)*(11*3^(1/2)*23^(1/2)-207)), x))*x^((1/200)*69^(1/2)*(44+12*69^(1/2))^(2/3)-(11/600)*(44+12*69^(1/2))^(2/3)-(1/6)*(44+12*69^(1/2))^(1/3)+2/3)+(Int(-(5/6)*x^((1/200)*69^(1/2)*(44+12*69^(1/2))^(2/3)-(11/600)*(44+12*69^(1/2))^(2/3)-(1/6)*(44+12*69^(1/2))^(1/3)+2/3)*x^(-(1/400)*69^(1/2)*(44+12*69^(1/2))^(2/3)+(11/1200)*(44+12*69^(1/2))^(2/3)+(1/12)*(44+12*69^(1/2))^(1/3)+2/3)*(44+12*69^(1/2))^(1/3)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)*3^(1/2)*cos((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))-9*(44+12*69^(1/2))^(1/3)*69^(1/2)*sin((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))-11*(44+12*69^(1/2))^(1/3)*3^(1/2)*cos((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))+33*(44+12*69^(1/2))^(1/3)*sin((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))+100*3^(1/2)*cos((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))+300*sin((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x)))*(-2*x^3+ln(x))*3^(1/2)/(x^3*(3*3^(1/2)*23^(1/2)+11)*(11*3^(1/2)*23^(1/2)-207)), x))*x^(-(1/400)*69^(1/2)*(44+12*69^(1/2))^(2/3)+(11/1200)*(44+12*69^(1/2))^(2/3)+(1/12)*(44+12*69^(1/2))^(1/3)+2/3)*cos((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))+(Int(-(5/6)*x^((1/200)*69^(1/2)*(44+12*69^(1/2))^(2/3)-(11/600)*(44+12*69^(1/2))^(2/3)-(1/6)*(44+12*69^(1/2))^(1/3)+2/3)*x^(-(1/400)*69^(1/2)*(44+12*69^(1/2))^(2/3)+(11/1200)*(44+12*69^(1/2))^(2/3)+(1/12)*(44+12*69^(1/2))^(1/3)+2/3)*(44+12*69^(1/2))^(1/3)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)*3^(1/2)*sin((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))+9*(44+12*69^(1/2))^(1/3)*69^(1/2)*cos((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))-11*(44+12*69^(1/2))^(1/3)*3^(1/2)*sin((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))-33*(44+12*69^(1/2))^(1/3)*cos((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))+100*3^(1/2)*sin((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))-300*cos((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x)))*(-2*x^3+ln(x))*3^(1/2)/(x^3*(3*3^(1/2)*23^(1/2)+11)*(11*3^(1/2)*23^(1/2)-207)), x))*x^(-(1/400)*69^(1/2)*(44+12*69^(1/2))^(2/3)+(11/1200)*(44+12*69^(1/2))^(2/3)+(1/12)*(44+12*69^(1/2))^(1/3)+2/3)*sin((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))+c__1*x^((1/200)*69^(1/2)*(44+12*69^(1/2))^(2/3)-(11/600)*(44+12*69^(1/2))^(2/3)-(1/6)*(44+12*69^(1/2))^(1/3)+2/3)+c__2*x^(-(1/400)*69^(1/2)*(44+12*69^(1/2))^(2/3)+(11/1200)*(44+12*69^(1/2))^(2/3)+(1/12)*(44+12*69^(1/2))^(1/3)+2/3)*cos((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))+c__3*x^(-(1/400)*69^(1/2)*(44+12*69^(1/2))^(2/3)+(11/1200)*(44+12*69^(1/2))^(2/3)+(1/12)*(44+12*69^(1/2))^(1/3)+2/3)*sin((1/1200)*(44+12*69^(1/2))^(1/3)*3^(1/2)*(3*(44+12*69^(1/2))^(1/3)*69^(1/2)-11*(44+12*69^(1/2))^(1/3)+100)*ln(x))

(8)

#test the above
odetest(y_general_direct_method,ode);

0

(9)

 


 

Download why_such_difference_in_dsolve_answer.mw

Hi i study as an marine engenieer and use phasors alot.

I came across Acers startup code to use. 

At the moment i have been been using the gym package for my calculations. Is there a way to setup this startup code to function every time when i load maple? Also how does it go about using units in general? 

I currently have an issue where it outputs some strange format i can not understand 

I do not know why there is added so many decimals. I work on a macOS computer and have thought about using mathCAD for the ease of use instead of all of this. I am hoping for a helping hand to stay with maple because this is what i know and have used the last 3 years. 

I'm confused.  How come the two "is" aren't "true"?

assume(x <= y);
is(-5*x <= -5*y);
                             false

is(-5*(x <= y));
                              true

THis came up in another maple forum.  Any one knows why

restart;
expr := -(r0+Delta_r)^2*(46*r0-41*Delta_r)*r0^5;
subsop(1=a,2=b,3=c,4=d, expr);

gives error Error, improper op or subscript selector

but changing the order works ok

subsop(4=d,3=c,2=b,1=a, expr);

               # a*b*c*d

Looked at help and nothing there I could see that would explain this. 

Maple 2023.2. 

I am solving 3 nonlinear equations for 3 variables: lambda_1, lambda_2, and lambda_3. I would expect these lambdas to be real and positive.

Instead of solving my original equations, which are convoluted and not in polynomial form, I try to solve for their numerators first (since their numerators are polynomials). Broadly speaking, such solutions should also solve the original non-polynomial system. More specifically, the solutions thus obtained may be a nontrivial superset of the solutions of the original system. They need to be verified, which should be a much much easier process than obtaining that superset. In the case at hand, my original system is rational functions, and thus the only thing that really needs to be verified is that the solutions do not make any of the original denominators zero.

1st question: How to actually implement such verification? In other words, how to verify that the polynomial solution that I obtain also solves the original non-polynomial system?

2nd question: As you can see from my attached script, I obtain one polynomial solution. How to analyze it? What can I say about its roots? In case there are an infinite number of roots, how can I pin down a closed-form, real, and positive expression of lambda_1, lambda_2, lambda_3 in terms of the four parameters gamma, p, sigma_e and sigma_v?*

*Please note that in SolveTools:-PolynomialSystem I set backsubstitute=false to favour compactness and computational efficiency (which means that I need to do the backsubstitution myself now - how to do it?).

**Perhaps is useful to know that gamma, sigma_e and sigma_v are all real and positive and that p is a real, positive number between 0 and 1 (it represents a probability).

SCRIPT: 141123_Problem_NoCorrelation.mw

Thanks a lot!

Hi,

I would like to calculate Laplacian(1/r) in spherical coordinates

Considering that 1/r in spherical coordinates defines a distribution function (understood in Laurent Schwartz meaning) , the result has to be -4πDirac(r)

I tried to establish this result on Maple but that doesn't work. The result given is -Dirac(r)/r²  (see below)

What is the mistake I made?

Thanks

with(Physics[Vectors]);

SetCoordinates(spherical[r, phi, theta]);

F := Laplacian(1/r);
                               Dirac(r)
                        F := - --------
                                    r²  

Perhaps a stupid question but I fail to convert 21/4a1/4/pi1/4 (a result of a calculation performed by maple) into (2a/pi)1/4.

I tried simplify, combine, collect, ... with options. None of them work.

Thank you. 

Could you please help me to solve this error.

my code is here.

CR-C.mw

This question is an expansion of my previous reply. 

There exist sixty kinds of statements in Maple, whose major ​​​​portion can be used as an expression or within an expression (e.g., assignment, loop, and condition). But why is use an exception?

Moreover, since it is reasonable to think of use as a (partial) generalization (see below) of the subs function, shouldn't the behaviour of use be consistent with do/if?

Compare: "seq((…;…;…), x in x__0):" (not allowed) vs. "for x in x__0 do …;…;… od:" (allowed); "subs(x = x__0, (…;…;…)):" (not allowed) vs. "use x = x__0 in …;…;… od:" (Not allowed! Why?).)

Edit. Besides that, is there some workaround to do something like

  # If use can be used as an expression or within an expression, 
use x = 2 + y in 'use y = 4 in x + y end' end;
  # should return “use y~ = 4 in (2 + y) + y~ end use;” and 
(use y = 2 + x in x -> x + y end);
  # should output “x~ -> x~ + (2 + x);”. 
  # Unfortunately, I cannot find a workaround to stimulate them.

 at present? Note that the `subs` function is unable to do so, so in my opinion, only when the use of `use` is no longer limited to statements will it become a sweeping generalization of `subs`.

Hi,

The procedure below returns the plots of 3 matrices whose eigenvalues are given and fixed (but chosen randomly). Plots are returned simultaneously via the command display. When I run the procedure 2-3 times, I realize that the drawings are not directly comparable. I have to say that I have naively used the command (three times, i.e. for each plot):

implicitplot("function", -2 .. 2, -2 .. 2, axes = boxed, color = blue, gridrefine = 3, scaling = constrained, resolution = 1000); 

Is there a way to "force" maple to return -- each time I run the procedure -- plots of the same size, same scaling and so on ? I would like also to put names on the axis with consistent writings and fonts. Is it possible ?

Many thanks,

Best,

Rachid

-----

with(plots);
with(LinearAlgebra);
P0 := proc(n, epsilon)
local m, N, D1, Modu, fs, f1, f2, f, q, s, r, t, eps, pp, k;
eps := epsilon;
m := n;
N := eval(RandomMatrix(m, m));
N := N/evalf(Norm(evalf(N), 2));
D1 := DiagonalMatrix(Eigenvalues(N));
pp := pointplot({seq([Re(D1[k, k]), Im(D1[k, k])], k = 1 .. m)});
f := (i, j) -> if i = j then D1[i, i]; elif i = j + 1 then (1 - abs(D1[i, i])^2)^(1/2)*(1 - abs(D1[j, j])^2)^(1/2); elif j + 1 < i then (1 - abs(D1[i, i])^2)^(1/2)*(1 - abs(D1[j, j])^2)^(1/2)*mul(-conjugate(D1[t, t]), t = j + 1 .. i - 1); else 0; end if;
Modu := Matrix(m, (i, j) -> f(i, j)); fs := (x, y) -> Norm(1/((x + y*I)*IdentityMatrix(m) - N), 2) - 1/eps;
f1 := (x, y) -> Norm(1/((x + y*I)*IdentityMatrix(m) - D1), 2) - 1/eps;
f2 := (x, y) -> Norm(1/((x + y*I)*IdentityMatrix(m) - Modu), 2) - 1/eps;
s := implicitplot(fs, -2 .. 2, -2 .. 2, axes = boxed, color = blue, gridrefine = 3, scaling = constrained, resolution = 1000);
q := implicitplot(f1, -2 .. 2, -2 .. 2, axes = boxed, gridrefine = 3, scaling = constrained, resolution = 1000);
r := implicitplot(f2, -2 .. 2, -2 .. 2, axes = boxed, color = green, gridrefine = 3, scaling = constrained, resolution = 1000); RETURN(display({q, s, r, pp}));
end proc;

I make a function 
myf := (a, b, c) -> [a*x^2 + b*x + c = 0, solve(a*x^2 + b*x + c = 0, {x})];

I tried 

myf(1, 2, -3);

and get

[x^2 + 2*x - 3 = 0, {x = 1}, {x = -3}]

With list mylist := [[1, 2, -3], [3, 2, -1]];

How can I map myf  onto mylist?

I tried 

myf := (a, b, c) -> [a*x^2 + b*x + c = 0, solve(a*x^2 + b*x + c = 0, {x})];
mylist := [[1, 2, -3], [3, 2, -1]];
map(myf, mylist);

I can not get the result. 

Apparently max and max[index] don't work with tables.

I'd like to put that on a wish list for future development.

Right now the workaround for the first one would be max(entries(atable)) I think.

Haven't solved max[index] yet.

When the Fourier transform to the heat equation for example it is useful to represent the Fourier transform of a derivative as the derivative of the transform.  Thus

        FT{d(U(x, t)/dt}  = d(FT{U(t))} / dt,

Where FT => Fourier transform wrt the variable x.

How do I get Maple to obtain the above.

Joe Salacuse

l*`ℏ`*t*sqrt(4*`ℏ`^2*a^2*t^2 + m^2)/(sqrt(2*I*`ℏ`*t*a + m)*sqrt(-2*I*`ℏ`*t*a + m)*m) can be simplified :l *h*t/m

How can I ask Maple to do this.

First 33 34 35 36 37 38 39 Last Page 35 of 2097