6219 Reputation

17 Badges

7 years, 317 days

MaplePrimes Activity

These are replies submitted by mmcdara


See HERE for some hint.


Thanks for taking over.


Z has an trivial root theta=0 and I focus on the other one

What is HDT? Read my code (equation (5) )

The she sign of -HDT is "+"  if HDT < 0 and "-" if HDT > 0.

By the way, if you are puzzled by the meaning of HDT , make your choice here acronyms


What do you think will happen if you add this constraint?
Do you sincerely believe that this will change something?


I believe you should put in question your intuition or, if you are certain of it, write the assumptions in your problem PRIOR to verify if your intuition is right or not.
What you are trying to achieve right now is to find, through trial and error, the assumptions that will prove A POSTERIORI that your intuition is good... which has never been a scientific way to proceed.


You "might be missing out some additional constraint" ?
No, you surely did.

Your equation (6) writes

convert(difference_term, horner, theta)
 theta ((-lambda__1 - lambda__2 - lambda__3) theta

    - X__3 lambda__3 + X__2 lambda__2 + X__1 lambda__1

    + lambda__1 (X__1 + delta__1) + lambda__2 (X__2 + delta__2)

    - lambda__3 (X__3 + delta__3))

Considered as a polynom in theta it has 2 zeros (one of them being trivial).
The other one is.

Z = (2*X__1*lambda__1+2*X__2*lambda__2-2*X__3*lambda__3+delta__1*lambda__1+delta__2*lambda__2-delta__3*lambda__3)/(lambda__1+lambda__2+lambda__3)

Then right to Zdifference_term has one sign and left to it it has the oppposite sign.
The only possibility would be that, for any values of the Xs, deltas  and lambdas,  this difference_term > 0 right to AND Z < 0.
Nothing in your assumptions enable to think this is the case.

Take a numerical example

ru := rand(0. .. 10.0):
indets(wo_theta, name):
pars := convert(% minus {DEV, X__1, X__2, X__3}, list):
simplify( eval( wo_theta-with_theta, pars=~[seq(ru(), k=1..numelems(pars))] ) ):

expl := collect(%, theta);
   6.308500620 theta  + (0.6008920768 X__3 - 5.051628992 X__2 - 6.964480172 X__1 - 30.63867180) theta

Why would this expression be positive?

For instance expl < 0 as soon as X__3 verifies

solve(expl < 0, X__3) assuming theta > 0
{X__3 < -10.49855850 theta + 8.406882345 X__2 + 11.59023465 X__1 + 50.98864336}


eval(%, theta=1)
   {X__3 < 40.49008486 + 8.406882345 X__2 + 11.59023465 X__1}

So even assuming the Xs are > 0, there exist X__3 such that wo_theta-with_theta < 0.


Sorry for this late reply.
I've just seen that  @acer identified the problem.


I'm going to try to adapt your code to the coloring I want.

By the way, you're right emphasising on the "big problem" related to ISOSURFACE.
Many times I've had to deal with the problems you mention. Note this kind of problem also exists with intersectionplot, whose the output is a segment-wise representation of the intersection curve, but the segments do not form a continuous path.


Thanks for your reply.
I had more or less the same primary idea to separate the surface into two components I could color separately (see at the end of the attached file).
But I got stuck with the construction of the colouring function and didn't have the idea of replacing z by f1(x, y) for instance.

Could you please look to the attached file? In Maple 2015 the surface you draw presents two holes that my initial attempt doesn't.
It looks like 

plot3d([f1, f2] , -1..1, -1..1, ....)

doesn't give (Maple 2015) the same result than 

plot3d([z1, z2] , x=-1..1, y=-1..1, ....)


If that is an issue corrected in more recent version just don't bother.
But perhaps this could reveal something more profound that still persists in the most recent versions?

Look the help page plot/options


Modifying an expression (P) and mindlessly using the code designed for another expression is generally unlikely to work.
A word of advice: pay more attention to what you're doing and try to understand a code before using it casually.

The main point is P is an expression in your new file, sa it was a relation (P=0)in your first one.
Then you  MUST NOT keep writting Fop:=lhs(P) but Fop:=P (which is even useless).
To integrate just write 

intFop := unapply(int(P, x1), [entries(titles, nolist)]);

(Of course which follows assumes Maple is capable to return a closed form of this integral.)

Second point secure your code and stop using parameters which are not indeterminates of (yellow highlighted text).

Here is the solution



Look this Question  and my final reply here  (sand15 is my professional account)
Or maybe no-one has yet given me a a satisfying answer.


Let x^2/2 = X.
Then the numerator of A is a 5th degree polynomial in X.
As you may know there is no method for solving such a polynomial (except special cases where it can be factorized, which is not your case).
This is why solve(A, x) will never give you ananswer unless, maybe, for specifiv values of lambda[1].

So the only way id to use a numeric approach.

You write "Sometimes it is not possible to write an expression in terms of either lambda or x" ....???
What does that mean?

You wrote "... I am interested in learning how to make data points directly."
Does this way 

p   := plots:-implicitplot(A, x=0..1, lambda[1]=-2..2):
pts := plottools:-getdata(p)[3]:  # Your data points
lambda__1 = evalf[5]( Statistics:-LinearFit(x^~[$0..2], pts, x) );
        lambda__1 = 0.021807 - 0.0020884 x + 0.025999 x 

the "direct" way you are lookng for?


Maybe you didn't understand my question 2, but you answered it in a very satisfactory manner. 

Maybe my reply to @Carl Love will clarify Q2.
Reading your answer I realized I probably looked for noon at 2 pm.




1 2 3 4 5 6 7 Last Page 1 of 126