Maple 2021 Questions and Posts

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

How is the matrix of the affinity of base the plan of equation x+2*y-z=1, of direction u <1,0,-1>and of ratio 2 determined? Thank you.

I used to have this kind of code without problem:

myModule := module()
    option package;
    export myFunc;
    # local i;
    myFunc := proc()
        [seq(i, i in 1..10)]
    end proc;
end module;

But after upgrading to the latest version of Maple 2021, I get a warning

Warning, (in myModule:-myFunc) `i` is implicitly declared local |myModule.mpl:5|

I have to uncomment the local i declaration for the warning to go away. Has the behavior of seq changed in Maple 2021?

how to export my data in sheet excel for this file 

 

Nnew.mw  

Hello,

I am having some trouble with the "Seq" command of the "Threads" package. This is a parallel implementation of the usual "seq" command.

I namely defined a (very long) procedure "f" which defines a (very complicated) function $f: R^2 -> R$, taking as arguments an $x$ and a $y$ and returning $f(x,y)$. I want to plot its graph in 3D, which I try to do by making a 3D data structure consisting of points making up the $x$ range, $y$ range, and the evaluations $f(x,y)$. I then want to plot it with the "SurfacePlot" command from the "Statistics" package.

If I define my data structure as

 data := [seq([seq([i/10, j/10, f(i/10, j/10)], i = 1 .. 10)], j = 1 .. 10)]

the SurfacePlot(data) works. However, it is very slow because it runs in serial and the function evaluation "f(x,y)" takes a long time to compute.

I therefore wanted to compute the data in parallel. For this, I use

 data := [Seq([Seq([i/10, j/10, f(i/10, j/10)], i = 1 .. 10)], j = 1 .. 10)]

Sometimes this works, but often it does not and I get the following error after a number of datapoints have been computed (i.e. after evaluations of f have been made).

Error, (in simplify/float) invalid arguments for Float constructor

This is the first time I use parallel computing, so I am not familiar with potential problems that could trigger errors and don't understand very well how parallel computing works. Does "Seq" only compute the different data points [x,y,f(x,y)] in parallel, or does it compute stuff within the procedure "f" also in parallel when evaluating "f(x,y)" at some fixed arguments "(x,y)"? Because another procedure is defined within "f" and it is called multiple times within one "f" call, so in that case it could be a problem with lexical scope. Any suggestion to help me understand and correct my error would be greatly appreciated.

This is a just a general type question. Often reading questions posted to do with modules and packages I see "foo" used. I have put together some simple packages for routines I find useful. I am week in general programming knowledge. I would like to know is "foo" something special or a generic name used for testing? Is is an acronym? ...

Hi,

This is my first post here and I am really hoping someone can help me. I just started using Maple and I am using Maple 2021.

I generated numbers using a SEQUENCE and the sequence is called y. I am trying to extract the element (y[n]) and the index (n) of that element based on the CONDITION that y[n] has to lie in between 0 and 1 exclusive (so the element of the sequence or y[n] has to be such that 0 < y[n] < 1). How can I achieve this using select commad and also using a LOOP. Are there any other methods that can be used to achive this result. Any or all help would be really appreciated.

 

Thank you all.

In mathematica, CommunityGraphPlot attempts to draw the vertices grouped into communities. 

g = Graph[{1 \[UndirectedEdge] 2, 2 \[UndirectedEdge] 3, 
   3 \[UndirectedEdge] 4, 1 \[UndirectedEdge] 4, 
   1 \[UndirectedEdge] 5, 5 \[UndirectedEdge] 6, 
   5 \[UndirectedEdge] 7, 7 \[UndirectedEdge] 8, 
   8 \[UndirectedEdge] 9, 7 \[UndirectedEdge] 9}, 
  VertexLabels -> "Name"];
ged = {{6, 7, 8, 9}, {5}, {1, 2, 3, 4}};# Gallai-Edmonds decomposition
CommunityGraphPlot[
 HighlightGraph[g, FindIndependentEdgeSet[g], 
  GraphHighlightStyle -> "Thick"], 
 Thread[Labeled[ged, {"D(g)", "A(g)", "C(g)"}]], PlotTheme -> "Web"]

This function is very useful, for example, if I get a partition of vertices, such as the gallai-Edmonds decomposition below, I use  CommunityGraphPlot to easily see the overall layout of the graph. I don't know if Maple has a corresponding function.

PS: The Gallai-Edmonds decomposition of a graph g is the partition {D(g),A(g),C(g)} of its vertices, where D(g) consists of every vertex v for which there exists a maximum matching of g that misses v, A(g) consists of every vertex v that is not in D(g) but neighbors some vertex in D(g) and C(g) consists of all remaining vertices.

Hello,

I encounter the same error for upgrading the physics package

which was never solved for Maple 2020 !

See the screenshot.

This is again a problem of permission.

Best

I am trying to plot a Runge-Kutta method for 1+ tsin(tx). When ever I try to do the plot data command an empty graph shows up. I noticed that some of my values from the algorithm did not calculate properly. How do I fix this problem? This is what I typed in for the calculations. 

f := (t, x) -> 1 + t*sin(x);
t[0] := 0;x[0] := 0;
h := 0.1;
 

for n to 20 do
    t[n] := n*h;
    m1 := f(t[n - 1], x[n - 1]);
    m2 := f(t[n - 1] + h/2, x[n - 1] + m1*h/2);
    m3 := f(t[n - 1] + h/2, x[n - 1] + m2*h/2);
    m4 := f(t[n - 1] + h, h*m3 + x[n - 1]);
    x[n] := x[n - 1] + h/6*(m1 + 2*m2 + 2*m3 + m4);
end;
 

Hi I have experienced another Maple 2021 error with those of my students who Maple 2021 Mac edition. 

Lets say their have saved a .mw on their main drive and tries to open the file from inside Maple. Maple gives an error like "file cannot be opened - please try to another". This also happens when trying to open the file from outside Maple. 

This never happens on the Windows version. So any idea what could be causing this ?

I have the following expression.

Ps = (x - 600)(15000 + 400*(y - 4000)/2000 + 15000*0.40*(850 - x)/100) - y

Maple will evaluate this to:

Ps = (x - 600)(15000 + 400*(y - 4000)/2000 + 15000*0.40*(850 - x)/100) - y

Screenshot:

Plotting these two in 2D on Desmos to demonstrate: https://www.desmos.com/calculator/tvp4rbzxzp

These two are not the same expression. Is Maple broken or am I doing something wrong?

When I was drawing a plane graph, I found that the labels  of vertices were not displayed  and some edges even overlap when drawing because they were too close due to embedding.

restart:
with(GraphTheory):
g:=ConvertGraph("GsaCB{");
DrawPlanar(g,stylesheet=[vertexborder=false,vertexpadding=5,edgecolor = maroon,vertexcolor=gray,edgethickness=3])

So I thought that  option  Interactive  can adjust the position manually, but  at the same time I found that the style of  edges, such as the color and thickness, etc., is lost.  How to handle it? Is this a bug?

restart:
with(GraphTheory):
g:=ConvertGraph("GsaCB{");
DrawPlanar(g,stylesheet=[vertexborder=false,vertexpadding=5,edgecolor = maroon,vertexcolor=gray,edgethickness=3],layout=interactive)

Hi everyone! It's been a remarkably long time since I posted on MaplePrimes -- I should probably briefly reintroduce myself to the community here. My name is Erik Postma. I manage the mathematical software group at Maplesoft: the team that writes most of the Maple-language code in the Maple product, also known as the math library. You can find a longer introduction at this link.

One of my tasks at Maplesoft is the following. When a request for tech support comes in, our tech support team can usually answer the request by themselves. But no single person can know everything, and when specialized knowledge of Maple's mathematical library is needed, they ask my team for help. I screen such requests, answer what I can by myself, and send the even more specialized requests to the experts responsible for the appropriate part of the library.

Yesterday I received a request from a user asking how to unwrap angles occurring in an expression. This is the general idea of taking the fact that sin(phi) = 'sin'(phi + 2*Pi), and similarly for the other trig functions; and using it to modify an expression of the form sin(phi) to make it look "nicer" by adding or subtracting a multiple of 2*Pi to the angle. For a constant, real value of phi you would simply make the result be as close to 0 as possible; this is discussed in e.g. this MaplePrimes question, but the expressions that this user was interested in had arguments for the trig functions that involved variables, too.

In such cases, the easiest solution is usually to write a small piece of custom code that the user can use. You might think that we should just add all these bits and pieces to the Maple product, so that everyone can use them -- but there are several reasons why that's not usually a good idea:

  • Such code is often too specialized for general use.
  • Sometimes it is reliable enough to use if we can communicate a particular caveat to the user -- "this will not work if condition XYZ occurs" -- but if it's part of the Maple library, an unsuspecting user might try it under condition XYZ and maybe get a wrong answer.
  • This type of code code generally doesn't undergo the careful interface design, the testing process, and the documentation effort that we apply to the code that we ship as part of the product; to bring it up to the standards required for shipping it as part of Maple might increase the time spent from, say, 15 minutes, to several days.

That said, I thought this case was interesting enough to post on MaplePrimes, so that the community can take a look - maybe there is something here that can help you with your own code.

So here is the concrete question from the user. They have expressions coming from an inverse Laplace transform, such as:

with(inttrans):
F := -0.3000*(-1 + exp(-s))*s/(0.0500*s^2 + 0.1*s + 125);
f := invlaplace(F, s, t)*u(t);
# result: (.1680672269e-1*exp(1.-1.*t)*Heaviside(t-1.)*(7.141428429*sin(49.98999900*t-
#         49.98999900)-357.*cos(49.98999900*t-49.98999900))+.1680672269e-1*(-7.141428429*sin
#         (49.98999900*t)+357.*cos(49.98999900*t))*exp(-1.*t))*u(t)

I interpreted their request for unwrapping these angles as replacing the expressions of the form sin(c1 * t + c0) with versions where the constant term was unwrapped. Thinking a bit about how to be safe if unexpected expressions show up, I came up with the following solution:

unwrap_trig_functions := module()
local ModuleApply := proc(expr :: algebraic, $)
  return evalindets(expr, ':-trig', process_trig);
end proc;

local process_trig := proc(expr :: trig, $)
  local terms := convert(op(expr), ':-list', ':-`+`');
  local const, nonconst;
  const, nonconst := selectremove(type, terms, ':-complexcons');
  const := add(const);
  local result := add(nonconst) + (
    if is(const = 0) then
      0;
    else
      const := evalf(const);
      if type(const, ':-float') then
        frem(const, 2.*Pi);
      else
        frem(Re(const), 2.*Pi) + I*Im(const);
      end if;
    end if);
  return op(0, expr)(result);
end proc;
end module;

# To use this, with f defined as above:
f2 := unwrap_trig_functions(f);
# result: (.1680672269e-1*exp(1.-1.*t)*Heaviside(t-1.)*(7.141428429*sin(49.98999900*t+
#         .27548346)-357.*cos(49.98999900*t+.27548346))+.1680672269e-1*(-7.141428429*sin(
#         49.98999900*t)+357.*cos(49.98999900*t))*exp(-1.*t))*u(t)

Exercise for the reader, in case you expect to encounter very large constant terms: replace the calls to frem above with the code that Alec Mihailovs wrote in the question linked above!

Hello all,

The following minimal worksheet leads to a "Kernel Connection Lost" message. At seemingly random times, I get a `System error, `, "bad id" message in the worksheet output instead.

Temporarily disabling ESET Internet Security did not help. Before I contact technical support, I would like to ask if there is anything obvious that I am overlooking that could cause this problem.

Thank you very much.

kernelopts(version);

`Maple 2021.1, X86 64 WINDOWS, May 19 2021, Build ID 1539851`

(1)

with(Iterator):

P := CartesianProduct([1,2,3,4],[1,2,3,4]):

add(p,p in P);


Download Minimal.mw

with(Student:-Basics); simplify((b - 1)/(b + 2 - (b^2 + 2)/(b - (b - 2)/(b + 1)))); b - 1 This is correct, but I want to see the step-by-step solution. P.D. I try the ExpandSteps command already but the result doesn't give me the solution. Please, help me. Thanks in advance

2 3 4 5 6 7 8 Last Page 4 of 15