sursumCorda

922 Reputation

13 Badges

2 years, 206 days

MaplePrimes Activity


These are questions asked by sursumCorda

I would like to get a (necessary and sufficient) condition on real parameters a, b, and c for which there exists (at least) one non-negative solution to 9*x**4 + c < 9*a*(x - 1) + 3*b*(x**2 - 1) + c*x**3
A convenient way to formulate this is using quantifiers. Unfortunately, if I run 

QuantifierElimination:-QuantifierEliminate(:-exists([x],:-And(x>=0,9*x^4+c<9*a*(x-1)+3*b*(x^2-1)+c*x^3)));

Maple will simply output 

Error, (in RootFinding:-RSGateway:-refine_uni_tri) invalid input: RootFinding:-RSGateway:-try_refine_iso_tri expects its 1st argument, box, to be of type nonemptylist([rational, rational]), but received [8019*x^2+(-9*v__2^2-96552*v__2-279834912)*x+49*v__2^3+78318*v__2^2-387436932*v__2+121801800168, v__2^4+2052*v__2^3-5536296*v__2^2+3575222064*v__2-710903793888]

As an alternative method, one can execute 

RealDomain:-solve([x >= 0, 9*x**4 + c < 9*a*(x - 1) + 3*b*(x**2 - 1) + c*x**3], 'parameters' = {a, b, c});
Warning,  computation interrupted

Regretfully, this time the computation is not done in several minutes (so one may have to abort it manually). 

So, what is the proper approach to the above problem in Maple (without any a priori knowledge, if possible)?

For instance, considering the expression  ≔ exp(1+LambertW(0,x))*(exp(1)*x+log[exp(1)](sqrt(2*Pi))-lnGAMMA(1/2+exp(1+LambertW(0,x))))

restart;
expr := exp(1+LambertW(x))*(exp(1)*x+ln(sqrt(2*Pi))-lnGAMMA(1/2+exp(1+LambertW(x)))) assuming x >= -1/exp(1):

The following limit can be calculated directly: 

1/:-limit(expr, x = +infinity, 'left');
                               24

We can also evaluate , 

:-limit(1/expr, x = +infinity, 'left'); # MultiSeries:-limit also returns wrong result. 
                               0

However, according to plot([1/(exp(1+LambertW(x))*(exp(1)*x+ln(sqrt(2*Pi))-lnGAMMA(1/2+exp(1+LambertW(x))))), 24], x = -1/exp(1) .. +exp(Pi), 'legend' = [1/expr, 24]), the limit value 0 cannot be correct. 
So is this a bug? (And has this been fixed in the forthcoming version?)

GraphTheory:-IsReachable can be used to "determine if there is a path between two vertices", and GraphTheory:-ShortestPath can be used to "find a path between two vertices with minimum distance", but which command can be used to "enumerate all (simple) paths from one node to another" like MatLab's allpaths in Maple? 

For instance, I would like to enumerate (not simply count) at most 3483192 paths with total weights at least 45 in the graph constructed from  that begin at node 30 and end at node 29
There exists a practically ready-made procedure  (where only a limited subset of its local variable  is needed) in a previous question. Nevertheless, after waiting for a quarter of an hour, the evaluation still did not terminate and I had to abort it manually. Meanwhile, MatLab completed the same computation within one minutes: 

So, how to list those 1008252 paths (without knowing the actual total number beforehand) faster in Maple?

Note. MatLab also has a built-in function allcycles, whose efficient Maple equivalent has been proposed in How to obtain all cycles in a graph from its cycle basis - MaplePrimes, yet I cannot find an analogue to MatLab's allpaths

For instance, here is a worksheet where I have replaced 1 + 2; with 1 + 1; in advance: 
 

1+1 = 21+1 = 3

1 + 1;

2

(1)

1 + 1;

3

(2)


 

But without re-evaluations, how do I know the second input and the fourth input have been stealthily substituted?

In a Mma notebook, this can be displayed by shadowing the input label: 

But in order to detect changes, which method should be used in Maple?
(Note that I do not mean that no changes are allowed. So I don't think setting the “editable” property is a workaround.)

`lprint` is officially interpreted as “linear printing of expressions”, but in the most recent release, its output looks just like "left printing" (under the default zoom 100%), 

while in some legacy version, `lprint` printed expressions not only on the left but also on the right. 

How to render `lprint` print its arguments not only on the left half?
Although I believe that similar questions must have been asked before, I cannot find such a question. 

Code: 

lprint(_bigPi):
showstat(ellipsoid)
1 2 3 4 5 6 7 Last Page 2 of 19