C_R

1960 Reputation

19 Badges

5 years, 279 days

MaplePrimes Activity


These are answers submitted by C_R

I only get the error with 2023 (from time to time). All on Windows 10.

By the way: 2022 uses considerably more time and memory.

interface(version)

`Standard Worksheet Interface, Maple 2018.2, Windows 10, November 25 2018 Build ID 1364888`

(1)

CodeTools:-Usage( DEtools:-symgen(ode));

memory used=10.28GiB, alloc change=364.97MiB, cpu time=5.97m, real time=6.79m, gc time=25.78s

 

interface(version)

`Standard Worksheet Interface, Maple 2019.2, Windows 10, November 26 2019 Build ID 1435526`

(2)

CodeTools:-Usage(DEtools:-symgen(ode));

memory used=19.75GiB, alloc change=338.66MiB, cpu time=12.38m, real time=13.79m, gc time=62.39s

 

interface(version)

`Standard Worksheet Interface, Maple 2020.2, Windows 10, November 11 2020 Build ID 1502365`

(3)

CodeTools:-Usage(DEtools:-symgen(ode));

memory used=28.45GiB, alloc change=416.93MiB, cpu time=18.74m, real time=20.33m, gc time=83.95s

 

interface(version)

`Standard Worksheet Interface, Maple 2021.2, Windows 10, November 23 2021 Build ID 1576349`

(4)

CodeTools:-Usage(DEtools:-symgen(ode));

memory used=53.43GiB, alloc change=355.87MiB, cpu time=15.76m, real time=15.26m, gc time=107.69s

 

interface(version)

`Standard Worksheet Interface, Maple 2022.2, Windows 10, October 23 2022 Build ID 1657361`

(5)

CodeTools:-Usage(DEtools:-symgen(ode));

memory used=86.76GiB, alloc change=175.63MiB, cpu time=51.35m, real time=48.15m, gc time=9.84m

 

interface(version)

`Standard Worksheet Interface, Maple 2023.2, Windows 10, November 24 2023 Build ID 1762575`

(6)

CodeTools:-Usage(DEtools:-symgen(ode));

memory used=8.62GiB, alloc change=110.76MiB, cpu time=4.37m, real time=4.10m, gc time=39.73s

 

Download trig_reduce_reply.mw

To your question: How did you learn Maple?

I learned pretty much as you did, through examples. Not so long ago, the descriptive part of the help pages was often unclear to me. This was due to several reasons. In particular, I did not understand or misinterpreted terms used in the descriptions. Take, for example, the term operator. If you've learned it from a simple programming language context (as I did), you most likely won't understand descriptions in a mathematical context or in Maple’s programming language context. There are many more nuances than you might expect. Maple help distinguishes these two contexts by providing definitions (which are mostly mathematical/logical and indicated by a D symbol) and help pages for Maple language elements indicated by a question mark in the Search Result Tab of the help system.

Some tips:

  1. Look up all terms in a sentence you do not understand and search first in the help system (then in other resources).
  2. Read slowly and stay focused. This may sound silly but helps to spot important nuances in phrases. Consider that the pages have been written with a mathematical mindset, striving for exactness and reduction to the essential. No fluff and no repetition.
  3. Do not overlook the “See also” links of a help page. They sometimes provide what you were searching for.
  4. Ask here if you have difficulties interpreting a description.
  5. Make yourself familiar with computer algebra specialties like the evaluation of expressions, types, operators, functions, and procedures. If you understand that the sine function in Maple is referred to as an elementary mathematical function but is of (Maple) type procedure, then you are not a newbie anymore.
  6. Walk through the table of contents to get an overview of what is contained in the help system. You will be amazed at how many things you discover for the first time.
  7. Be persitent. There will be a moment when the descriptions start making sense.

Quick learning?

Depends on your objectives. I sometimes feel that reaching the bottom is impossible. I would still recommend studying advanced examples and consulting help resources. That's a good mixture of improving your skills and understanding Maple. Maybe ?ProgrammingGuide is good to learn in a structured manner after you got started (which I assume you have).

Have a look also at these: ?StudyGuides, ?Student, ?worksheet,help,appsexamples.", ?examples,index

 

Hope this helps

The reason why the system is inconsistent can be found by anaylsing the equations.

The Jacobain of your equations reveals that equations 5 to 8 have the same pattern of unknowns than equation 1 to 4. They cannot contribute in the ellimination process. In ohter words the ` C: Costitutive Continuity Conditions:` do not provide additional information to the problem. You might want to check them and the Costitutive Boundary Conditions.

Attached is a manual way of solving sets of equations which I use to analyse and to solve by hand in cases where solve cannot find a solution (without addtional guidance) or provides large output.

Timoshenko_Beam-1_reply.mw

 

If you mean equation labels within text passages, the answer is no. It seems to require a substantial rework of the current implementation of equation labels.

What you could do alternatively to refer to equations inside text passages is using document blocks and hidden variable names. Here is an example

Labeling_inside_text_passages.mw

KernelConnection Server 1 corresponds to the blank document Maple that opens after start up.

You can shut this server down either by closing the document or by killing the first mserver.exe in the task manager process list (if you use windows 10 or above). If you opt for the second choice the document is still open in the GUI but not working as normal. Sometimes you get a message that the server was disconnected from the GUI.

If you kill server 2 and create a new document that uses server 2 you end up in a situation shown bellow (startup page turned off)

The GUI opens a new window (pretending a connection to server 2) but no server is connected.

You can continue working by creating a new document with a new math engine but then all Maple processes have disappeared from the task manager.

In a nutshell, Server 2 is special and serves at least for the purpose that mservers are listed in Windows task manager correctly.

If you do not kill mservers server 2 is allways available. After closing a document connected to server 2 all declared variables are still there (connect a new document and check the variables palette)

Plot annotations allow you to retrieve cursor positions. See here

https://www.maplesoft.com/support/help/maple/view.aspx?path=plot%2Fannotation

For me it looks like that dsolve has a kind of remember functionality which is independent from remember tables and cache (forget did not work on dsolve). It could be that remembering results depends on the differential equations.  

And yes: The text "calling dsolve with the ode" is missleading. It should rather be "with the arguments"

dsolve(diff(y(x), x, x) = 4*diff(y(x), x) - y(x) - 3*x + 1, y(x));

 

Works for sums

2*A*B/(A*m+m)+C^2+D^2;

convert([op(%)],Vector);
expand~(numer~(%)/A);
collect((x->1/x)~(expand~(denom~(%%)/A)),m);
(%.%%)assuming real;

By coincidence, I found what you were looking for in the layout palette.

Simply select whatever is selectable with the mouse and click on one of the layout brakets.

Your can make them your favorites for easier access as I have done here

Carl Love has provided an answer for a=b=c=d here.

inrt := `%*`(a*b);
inrt2 := subs(a = `%*`(2*Unit('m')), b = `%*`(3*Unit('m')), inrt);
MultiEquation(((A = inrt) = inrt2) = value(inrt2));

I could not find a way to remove the brackets in the output

We get closer (still one pair of brackets left) to what you are looking for by modifing an answer from acer (same link above)

p := proc(A,B,C,CC) # modified a=b=c proc form acer
  uses Typesetting;
  mrow(Typeset(A),mo("="),
       Typeset(B),mo("="),
       Typeset(C),mo("="),
       Typeset(CC));
end proc:

ee := p(a,b,c,d);

Typesetting:-mrow(Typesetting:-mi("a"), Typesetting:-mo("="), Typesetting:-mi("b"), Typesetting:-mo("="), Typesetting:-mi("c"), Typesetting:-mo("="), Typesetting:-mi("d"))

(1)

ee;

a = b and b = c and c = d

(2)

inrt := `%*`(a*b);
inrt2 := subs(a = `%*`(2*Unit('m')), b = `%*`(3*Unit('m')), inrt);

`%*`(a*b)

 

`%*`(`%*`(2*Units:-Unit(m))*`%*`(3*Units:-Unit(m)))

(3)

p(A,inrt,inrt2,value(inrt2))

0, "%1 is not a command in the %2 package", _Hold, Typesetting

(4)

NULL

Maybe someone has an idea how to remove the brackets.

I cannot see a way to write from the above a proc with only one parameter. A, a and b must somehow be given. Or at least a and b if A is fixed.

Download abc_modif.mw

@Carl Love 

Your explantion makes sense: only curved arrows are affeted (curve and comet).  Each time either the head or the tail of a curve extends into the complex domain an error is thrown (the curves midpoints are centered on the grid).

Algorithmwise I see only two simple options. Clipping of the curves or suppression of arrows in case of boundary extension. The later case is implemented and works for straight arrows and for curved arrows if the inital point for arrow calculation matches the singularity.

For curved boundaries (or boundaries not parallel to the axes) clipping of arrows might be better looking since the plot will stay complete and the boundary of the domain can be better guessed and is not jagged. Or the opposite ... we have to see how it looks like

A slight reduction of the plotrange helps in this case without changing the grid and the labels.

restart;
ode:=diff(y(x),x)-1/(-x^2+1)^(1/2) = 0;
x_range:=-0.98 .. 0.98;
DEtools:-DEplot(ode,y(x),x =x_range,y = -1.6 .. 1.6,[y(0) = 0],arrows = 'curve')

Or a larger range and clipping the view

restart;
ode := diff(y(x), x) - 1/(-x^2 + 1)^(1/2) = 0;
x_range := -1.1 .. 1.1;
DEtools:-DEplot(ode, y(x), x = x_range, y = -1.6 .. 1.6, [y(0) = 0], arrows = 'curve', iterations = 1, view = [-1 .. 1, -1.6 .. 1.6]);

This is only works for odes with simple singularities on the x-axis.

By the way: dfieldplot (probably used by DEplot) throws the same error

restart;
ode := diff(y(x), x) - 1/(-x^2 + 1)^(1/2) = 0;
x_range := -0.99 .. 0.99;
DEtools:-dfieldplot(ode, y(x), x = x_range, y = -1.6 .. 1.6, [y(0) = 0], arrows = 'curve');

Entering solve with 6 equations in 3 variables:

     This can be explained by solve interpreting the assumptions on the variables lambda as 3 new equations.
     These assumptions alone trigger the Solutions lost message.

There a quite some assumptions in the document. I feel a bit uneasy about which assumptions solve uses when called with useassumptions.

I also feel a bit uneasy about the indexed subscripts because of typos that may not be visible.

I have to stop here but attach my attempts. Maybe this gives you some ideas.

061123_solving_with_assumptions-1_reply.mw

To add the example in your own worksheet, place the cursor where you want to add the task.

Then goto the task an insert the content and replace the integrand and boundaries by yours if you want

 

See the attached. Is that what you are looking for?

task_example.mw

If you mean by coordinat node the points where the three curves intersect

you can can define a procedure and use fsolve. Here is a code snippet for one point that you can paste at the end of you worksheet and see how ist works

dd:=proc(tt) 
    rhs(Solusi5(tt)[2])- rhs(Solusi5(tt)[3])
end;
A5x:=fsolve(dd,0..5);
A5y:=rhs(Solusi5(A5x)[2]);
plots:-pointplot([[A5x,A5y]]);
display(PlotA5, PlotI5, PlotS5,%)
1 2 3 4 5 6 7 Page 3 of 10