nm

11353 Reputation

20 Badges

13 years, 13 days

MaplePrimes Activity


These are replies submitted by nm

@ecterrab 

Thanks for the information. Maple sometimes makes videos to show things, like Maple youtube channel

It will be useful to have one Video showing what you just explain there. Will be easier to follow that way. 

My code is all in a library. (.mla) and all source is in .mpl files. I do not use code in worksheet, other than to open a worksheet in order to call the functions I want in the .mla from the worksheet. 

I am trying to see if I can reproduce what you described. I do not know how to use emacs. Last time I used it, was many many years ago now. 

 

 

@vv 

I did not know about Not(symbol). But is 

                 type("abc", Not(symbol));  

better than writing the following, which for me is more clear also:

                  not type("abc",symbol)

 

 

@Karishma 

While the interface for Maple’s debugger is still very command-line oriented, it is very powerful.

Yes, the Maple debuggers have many useful commands. Just like gdb, but it is hard to use, since it is command line based.

As one steps in the code, they do not see the actual listing of the code itself, only an echo of the current line. This what makes it hard to use. Adding more commands, does not help with this core issue.

I keep hitting "showstats" to see the listing of the code I am stepping in and to see which line I am on within. Then scroll and search for that small "!" marker on the left to see the line I am in.  And keep repeating this every few steps. Sometimes I do not see the "!" so had to do "where" then read the line number and scroll back to that line.

This what makes it hard to use.  Few people use gdb these days, since people have put a nice easy to use GUI interface on top of it to make it more user friendly.

Btw, your main competition in CAS, do not have a good build-in debugger (well, there is one, but only one person in the world have figured how to use it I read).

So since Maple already have a good debugger, but not a good interface on it, this is a chance for Maplesoft to build on one of its strength here and put a simple user friendly interface on top of Maple debugger which at least shows the line number as one steps into the code, and market this as one main feature against your competition in market place. 

You will also be pleased to know that Maple 2021 addresses the timelimit() issue that you mentioned.

This is great. I now look forward to trying it in next version. This is the most critical problem in Maple for me, since it makes running long scripts unpredictable, as timelimit() now can hang in some random places and have to restart the script many times until it completes. Sometimes it takes 2-3 days to complete instead of 2-3 hrs.

And good luck with MapeLearn. I just wish the few critical resources  that Maplesoft has are allocated on core Maple issues first, before these external apps.

Thanks for the link. 

I tried it. I did not find it useful for me. For an example, I typed an ODE and got solution OK, but could not figure how to ask it to show the steps used to obtain the solution.  I also found it hard to use.

But this app might be of use for some high school students. 

I just wish Maple have used the few resources and the money it has on making this app on something much more critical and important for developers.

Like improving the Maple debugger, which is very hard and frustrating to use and not user friendly with very little change in it for years.

Also fixing major problems where Maple sometimes hangs on timelimit() calls and do not time out and server just hangs. This problem has been there for years now and is completely ignored by Maplesoft. 

There are also many improvements that can be made to basic math inside Maple, such as improving the integrator and fixing many bugs in the software instead of spending resources on making yet another click/slider apps. 

I do not know what Maple strategy is in all of this but Maplesoft does not seem to have its product priorities right.

 

what is the domain?

@Kitonum 

Thanks to all the answers. 

I added combine to the list to try. (now my list is about 15 items in it, which I try each time I want to simplify an expression).

But this is really more of a design issue. For simplify(), as a user, I would expect simplify() to try all these different ways to simplify the expression. Compare to Mathematica, where all one needed to do is tell it that x>0 and nothing more. I am sure internally Mathematica used combine at one point. It did not need to be told to do that.

With Maple, Why is a  user expected to try 10 different ways until one works with simplify()? I am not taking about assumptions, but about manipulating the expression before calling simplify, such as combine, expand, collect, and such.

I think CAS sould internally try any mathematically allowed operation to make the expression as simple as possible. Having the user tell it what to do each time, it becomes not easy to use, specially for users who might not know all the tricks to use each time.

Suggestion to Maplesoft: Introduce a new fullsimplify() function, or add an option try_hard=true to current simplify(), so that it will try harder.

I like that Maple does not rearrange expression on its own unless asked. That is something I want. But simplify() is a special case. The user is basically telling the software do whatever is legally needed to simplify this expression,

 

 

Posting your code in plain text is better. You can use the "insert code snippet" icone to past code in plain text.

@Carl Love 

Thanks for such a great insight into the problem. Your solution and Kitonum's are both very valuable as they give different light to the same issue.

@Kitonum 

But again, I do not know I need to solve for "u".  

I do not know that u is under sqrt on both sides of equation, on one side it is happend to be in numerator and on the other it is in the denomator.  I have a black box function that gets an expression, and would like to simplify it. I do not know what is inside it, without having then to parse it to do what you suggest.

And I do not know why you say I am confusing solving with simplifying.  The expression can be "simplfied" clearly as is. That is what we do by hand. But I will see if I can figure how to use solve for this to simplify it in my code, since the code is generic now for any expression.  I was hoping some sort of "simplify" with option would do it.

 

 

@acer 

I did not know there is abs(n,x). But this will not show up in what I am doing. Only normal abs() will show up in the input expression.

 

@acer 

And that produces zero (in my Maple 2020.1 at least) even before simplify is called.

No, it does not on my Maple 2020.2, that is why I used simplify.

Maple 2020.2 on windows 10

But case A, was not calling odetest with the assumption. It was first calling odetest, getting back the resullt, then calling simplify on that result, with the assumptions.

So the assumptions should be applied to the result on the stack from odetest, which is used by symplify. not by odetest.

I expected odetest not to see the assumption at all.   But I guess this is not the case, and that is what I find strange. Maple rules are sometimes are strange.

 

@Kitonum 

Yes, I saw I could also do what you did 

tickmarks=[default,default,10]

But becuase it then added empty major ticks, I did not like how it looked. Major ticks should all be labeled.

 

@dharr 

Thanks for the answer. 

"I'm guessing that odeadvisor's result is more of a hint"

I am sure this is not meant to be a hint, but a concrete result. odeadvisor is pretty good at determining the correct ode type. But I think it missed this one for some reason. 

What I have seen instead is that sometimes odeavisor does not detect all possible ode types. But not give wrong type. For example, the ode y'*y=x-1 is separable, but it is also d'Alembert. It is d'Alembert because it can be written as   y=x*f(p)+g(p) where both f,g are non-linear function in p.   Where  y=x*1/p-1/p where p=y'. So here f(p)=1/p and g(p)=-1/p. But odeadvisor says this is only separable. 

 

@vv 

two things. I tried before solving for _C1 but solve gives no solution.

solve((1 + sqrt(_C1*x^2 + 1))/(_C1*x)=0,_C1)

I tried allsolutions and other things.  But it gave no solution that is why I asked. (may be solve is not meant to find infinity as solution).

second: I have thought constant of integrations have to be finite. That is why I did not even think of trying infinity (using limit).

I have to ask the teacher at school about this, even though Maple say it can. I see now Maple says the constant of integation can "apperach infinity".

https://www.math24.net/singular-solutions-differential-equations/

For me infinity is not a "particular value". But I see now that

http://www.cfm.brown.edu/people/dobrush/am33/Mathematica/ch2/singular.html

Say that infinity is allowed. So may be Maple is correct.  But I still have to ask the teacher when I get the chance.

 

@vv 

"algsubs should return an error (division by 0). 1 is out of the question."

but that is what it returns. It returns 0. I did not make this up.

"ode:=diff(y(x),x)^2+2*x*diff(y(x),x)/y(x)-1 = 0;
sol:=y(x)=0;
odetest(sol,ode);

         0

is also wrong (division by 0 too)"

That is what odetest gives.  I did not make this up.

"Which is 0/0 but this is 1 in the limit. This is nonsense."

What I really meant is this

limit(z/z,z=0)

                    1

 

 

First 41 42 43 44 45 46 47 Last Page 43 of 91