C_R

3527 Reputation

21 Badges

6 years, 54 days

MaplePrimes Activity


These are replies submitted by C_R

                                  

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?

 

                                    

                                      

@nm 

With this one I get sdmp:-mull error

hangs_int_V3_june_16_2024_rply.mw

@nm 
Attached is the second run. The first run was aborded during trial 3 after a good hour with the interput button.
Time at the status bar was only upated after the interupt completed. (allocated pricate memory was 64 Gb at interput)

hangs_int_V2_june_16_2024_after_abort_and_rerun.mw

The new worksheet times out a factor of 3 faster.

Currently the thrid run (by !!!, without reload of the worksheet) hangs at trial 6. I saw again the memory jump to 64 Gb and the GUI time is frozen . Looks like a pattern. No sdmp:-mull error yet with the new worksheet.

On my machine the behaviour is deterministic (so far). These are the timestamps after the error message

Error, (in PDEtools/NumerDenom) time expired

243.078,481.625,683.578,923.734,1154.515,1380.953

So far, I never got another error message. The private bytes the system allocated for the mserver.exe task at termination were always around 3 Gb.

The second screen you show is unexpected.
What I have seen, when increasing the timelimit to 500, is that the private bytes jump from 3 Gb instatly to 64 Gb. Interputing at that stage takes "ages" to clear the memory.

This allocation jump also happens without timelimit. There is something strange with the integral that needs to be investigated. Did you ever get a result from int?
(This reply was on the original post. I have seen that you have send an update)

First 25 26 27 28 29 30 31 Last Page 27 of 69