C_R

3412 Reputation

21 Badges

5 years, 316 days

MaplePrimes Activity


These are replies submitted by C_R

@Carl Love

For completenes, my refined attempt fits now to homogeneous, Class A ode

simplify(isolate(ode,diff(y(x), x))):
lhs(%)=simplify(eval(rhs~(%), y(x)= x*v)): 
subs(v=y(x)%/x,%);

Could you provide a link to a nonlinear homogeneous definition? I could not find anything useful.

@nm

Thank you for confirming. I could also test it on a 2024.0 installation. The 2024.0 installation shows the output in 2D-Math and in 1D-Math on the first call.

@Ohmyus 

You do forward kinematics where the d[i] are inputs into the system and the platfrom orientation and position are the outputs.

As you have leanred form the other comments, there are no explicit solutions known. If you find one, you can publish it.

As Carl said, you have to solve the problem numerically.

@nm 

I do not have 2024.0 any more. It was uninstalled at the update.

Still no hangs with 30, 40 and 50.

With restart timing was always precise within one second.

500 does not termiante and could not be interputed. Termination of mserver was required.

To give you an idea: This is what my computer offers in terms of speed.

from

https://www.mapleprimes.com/posts/222505-Maple-Performance

                                  

As you describe your problem it sound as if you want to simulate a stewart platform (i.e. hexapod). If not, a drawing of the structure would be helpfull.

Do you want to do forward or inverse kinematics? Solving for your variables is forward, i.e. for a set of given distances d[i] you want to calculate the position and orientation of the platform.

Depending on how you setup the governing equations, your problem might be solvable (even symbolically).

Tip: solve without assumptions will assume that the variables are complex. Your problem is real valued and ranges of variables are limited. This can make a huge difference on the solution process.

@Joseph Poveromo 

Maybe this helps in the discussion. How did you get the suggestion to isolate y(x)?

NULL

infolevel[dsolve]:=5:
 expr:=int(diff(y(x),x)*f(x), x) =int(sqrt(y(x)) *f(x),x)^(-2/3);
dsolve(%);

int((diff(y(x), x))*f(x), x) = 1/(int(y(x)^(1/2)*f(x), x))^(2/3)

 

Methods for first order ODEs:

 

--- Trying classification methods ---

 

trying homogeneous types:

 

differential order: 1; looking for linear symmetries

 

trying exact

 

-> Calling odsolve with the ODE (2*G(x)^(1/2)*f(x)+Intat(f(_a)*(diff(G(x) x))/G(x)^(1/2) _a = x))/Intat(G(x)^(1/2)*f(_a) _a = x)^(8/3) G(x) explicit [quadrature separable linear Bernoulli homogeneous]

 

   *** Sublevel 2 ***

 

   Classification methods on request

 

   Methods to be used are: [quadrature, separable, linear, Bernoulli, homogeneous]

 

   ----------------------------

 

   * Tackling ODE using method: quadrature

 

   --- Trying classification methods ---

 

   ----------------------------

 

   * Tackling ODE using method: separable

 

   --- Trying classification methods ---

 

   ----------------------------

 

   * Tackling ODE using method: linear

 

   --- Trying classification methods ---

 

   ----------------------------

 

   * Tackling ODE using method: Bernoulli

 

   --- Trying classification methods ---

 

   ----------------------------

 

   * Tackling ODE using method: homogeneous

 

   --- Trying classification methods ---

 

   trying homogeneous types:

 

<- exact successful

 

(3/4)*y(x)^(4/3)+Intat((2/3)*y(x)^(5/6)/(Int(y(x)^(1/2)*f(_b), _b))^(5/3), _b = x)+c__1 = 0

(1)

NULL

DETools:-odeadvisor(expr)

[`y=_G(x,y')`]

(2)

NULL


 

Download integro.mw

@Preben Alsholm 

I experimented and found

(Not sure if zero means empty.)
If I switch back to magnitude. A black color corresponds to the label value 1 which does not match the zeros in the Matrix.

What did you enter in odeadvisor?

A first step to find out what (edit) Maple dsolve is doing is entering 

infolevel[dsolve]:=5

@mmcdara 

I shoud have added MaplePrimes to express: A user that has gained enough experience to understand how MaplePrimes functions in terms of written and unwritten rules.

I did not have mathematical or Maple skilset in mind.

By the way, I voted many times for your answers, not only for the content  but also for the time you invested to help someone.

                                     

 

@mmcdara 

I reply here because this reply does not exactly answer your question.

Technically, if a question has been answered by a reply/comment and there is no other answer to the question this (now answered) question is still  listed under the MaplePrimes link "Unanswered".
In the past, I have tried to send an answer to an own unanswered question to removed it from the Unanswered list. This was transformed to a reply. I guess it was done to avoid that I could vote for my own answer.

IMO a math forum should try to be as exact as possible. To respect the personal choice of an experienced user, to intentionally opt for the category reply/comment, a moderator could provide an anwswer referencing to the reply by providing a link that points to the reply/comment.

If the moderator does not want to disclose his/her judgement (or avoid votes), he could use an additional user account for the answer. This account should have a name that indicates a moderator action: Link_to_answer for example. Voting for this user would not make sense and not impact the user ranking.

This reply/comment does not answer your question but might provide a pragmatic solution for intentionally inexact (and declared as such) categories as well as answers to your own.

 

 

@nm 

I assume it’s a combination of resources, priorities and risk of regression in other areas which are in the way of an improved timelimit implementation.

For me, the Maple kernel acts like an operating system on its own. Since the kernel interprets code form the GUI and libraries it should be capable to interrupt at each new command (from the GUI or libraries) to be processed. The kernel should have full control over timing here.

It could be that for built-in routines/procedures there are less options to interrupt them in middle of what they are doing. Making these routines/functions fit for “interrupt by the kernel” could require code rewrite and involvement of functions of the operating system of the computer (which ultimately manages tasks, threads, handles, and the like). To complicate things not all operating systems function the same. Sounds like allot of testing to be done to make sure that a new kernel version can be released. Maybe an overhaul of built-in routines is already ongoing which will incrementally improve the situation.

Since I do not have insight into timelimit I was wondering if nested timelimit calls could improve the situation. Probably not but maybe worth a trial.

Independent of current limitations of process monitoring, your test case without timelimit can lead to undesired conditions, which are: interrupt from the GUI not possible, allocation of a huge chunk of process memory, and GUI freeze – this also in single core, single thread mode. Worth investigating by a specialist.

 

Update for:

 mserver "unresponsive" after a while: interrupt from the GUI does not work, Time in the status bar is not updated, private bytes = system alloacted memory jump 64 Gb, physical memory (visible in Windows task manager) still piling up

The process thread that piles up the memory (here 21 Gb) is the function "maple_quo" of a dll called sdmp. The suffix +... after the function name changes all the time indicating activity.

The code did not hang and responded after about an hour to an interprut request from the GUI. The memory allocated went back from 64 Gb to 3 Gb. Looks to me as if timelimit and the GUI interrupt by the same way once they are triggered.


I am now more inclined to say that the integrand in combination with ParallelRisch leads to situation where a built-in Maple function cannot be interupted for quite some time. Similar situations might occur with other functions.

The big question is now:
Where in the threads of mserver.exe is timelimit running? Is it a function of a dll or part of mserver?

@acer 

Nowadays cpu's some with more than on core. Not sure how to interpret the help text about hyper threading. My computer has one cpu but I see a difference when I set to 1. Does numcpus=1 remove all logical cores from the computation?

@Ronan 

Didn't notice... 

Probably because I installed MapleSim some days ago which is already 2024.1.

Do we see a fix here?

First 23 24 25 26 27 28 29 Last Page 25 of 67