nm

11458 Reputation

20 Badges

13 years, 76 days

MaplePrimes Activity


These are questions asked by nm

I am trying the new Physics:-Latex command in version 774.

Couple of isssues I found:

1) One test I have failed with this error

Error, (in anonymous procedure called from anonymous procedure called from anonymous procedure called from anonymous procedure called from Physics:-*) invalid boolean expression: NULL
 

Using the normal latex() command works OK. I hope it is not too hard to fix since this new version seems to have fixed the fraction problem in latex(). Please see

restart;
sol:=dsolve(t*(t-2)^2*diff(diff(y(t),t),t)+t*diff(y(t),t)+y(t) = 0,y(t));
latex(sol);  #OK

Physics:-Latex(sol); #error

 

2) Maple now generates Latex using maple macro, which I do not know what it is.  Comparing

restart;
ode:=t*(t-2)^2*diff(diff(y(t),t),t)+t*diff(y(t),t)+y(t) = 0;
latex(ode)

which gives 

t \left( t-2 \right) ^{2}{\frac {{\rm d}^{2}}{{\rm d}{t}^{2}}}y
 \left( t \right) +t{\frac {\rm d}{{\rm d}t}}y \left( t \right) +y
 \left( t \right) =0

compare to

Physics:-Latex(ode)

which gives

t \left(t -2\right)^{2} \Mapleoverset{\ldots}{y}\left(t \right)
      +t \Mapleoverset{.}{y}\left(t \right)+y \left(t \right) = 0

What is \Mapleoverset ? googling around, these look like part of internal Maple style sheet for Latex?

Does this mean when using the new Physics Latex command, now one needs to use the package maplestd2e.sty?  With the normal latex() command, this was not needed. 

Just trying to understand the new setup.

why   print(lastexception);  gives `[Length of output exceeds limit of 1000000]` while just doing lastexception; gives no problem?

 

restart;
eq:=x*y*p = y^2+x*(4*x^2+y^2)^(1/2);
try
   sol:= timelimit(20,`assuming`([solve(eq,y)],[real]));
catch:
   print(lastexception);
end try;
lastexception

I know one should use something like

print(StringTools:-FormatMessage( lastexception ))

But I do not know why print(lastexception) gives the length exceeds error. 

whattype(lastexception) gives exprseq

 

Maple 2020.1

 

Just wondering why

restart;
x:=2*{};
has(x,{})

Clearly {} is special. But is there a way to make it return true? 

 

Maple's infolevel is very nice feature, good for learning.

But I'd like to see more steps/info sometimes. Using infolevel set to max 5, does not show everything I like to see. Is there a way to print more info?

This is what I am   interested in. dsolve goes into Kovacic algorithm to solve second oder ODE. This algorithm is general algorithm to solve second oder linear ODE. 

https://www.sciencedirect.com/science/article/pii/S0747717186800104

restart;
infolevel[dsolve]:=5;
ode:=x^2*diff(diff(y(x),x),x)+x*diff(y(x),x)+(x^2-1/4)*y(x)=0;
dsolve(ode)

Changing printlevel to high value, does not really help here. It just prints lots of stuff I am not interested in.

What othere options are there to show more information about flow of logic, like the above?

I do not even know how to trace Kovacic code in Maple, since do not know what function/proc it is in without having to step though dsolve, which could take very long time to reach this specfic proc.

Is it possible to have Maple print the name of each proc it enter and leaves as it runs? That will be very useful addition added to printlevel. 

 

I have set of assumptions. The set happend to be empty at  time I used it. I forgot to change the set to list when calling assuming. This cased 'numeric exception: division by zero'
 

Is this normal and expected?

restart;
u1:=-ln(csc(x)-cot(x));
the_assumptions_on_x:={};
`assuming`([simplify(u1)],[the_assumptions_on_x])

Error, (in assuming) when calling 'signum'. Received: 'numeric exception: division by zero'
 

I fixed my code to use list at time of the call and the error went away

restart;
u1:=-ln(csc(x)-cot(x));
the_assumptions_on_x:={};
`assuming`([simplify(u1)],convert(the_assumptions_on_x,list))

The question is, why passing {} caused division by zero? 

Maple 2020.1

 

First 117 118 119 120 121 122 123 Last Page 119 of 201