nm

11353 Reputation

20 Badges

13 years, 12 days

MaplePrimes Activity


These are questions asked by nm

one of the most confusing thing for me with learning Maple, is pi vs. Pi. I keep mixing them up since do not remember half the time which one to use.

What is the point of having both? Mathematica only has Pi. If one wants numerical value for it, simply do N[Pi] which is similar to Maple evalf(Pi).

I just spend 5 minutes trying to figure why int((sin(x))^3*sin(k*x),x=-pi..pi); was giving me

 

While in Mathematica it gives

Then I noticed the Pi vs. pi, and now Maple gives same output.

Why pi was even introduced? was this done early on, or added in later versions? Why not keep Pi a symbolic and with evalf it gives numerical value as with Mathematica? Also, would one use pi?  It if just symbol (evalf(pi)) does nothing, then what is its use? if I can see a good use for pi vs. Pi, may be I'll understand the logic behind this duel system.

 

 

How would one in Maple solve this, which is an inequality equation in some variables, which can be nonlinear, with constraints on range of each variable. I.e. I want to find conditions on the variables to make the inequality satisfied.

In Mathematica, I use the Reduce command

Clear[x, y];
eq = 1/2 - x + x^2 - y + y^2;
Reduce[{eq > 0, 0 < x < 1 && 0 < y < 1}, {x, y}, Reals]

How would one do the same in Maple? I tried solve, but can't give constraints.

restart;
eq:=1/2 -x+x^2-y+y^2:
solve(eq>0 , {x1, x2});

So I need to do the same as in the Mathematica command, but in Maple. I do not want numerical solution, but algebraic as shown above.

Using Maple 18.2 on windows.

I noticed this in Student:-NumericalAnalysis:-Romberg, here are the lines of interest:

The question  is: Why create rtable, apply algorithm, then convert to Matrix at end? Why not replace line 4 below with Matrix command from start? Could not the same thing be done using Matrix from the start?

-----------------------------------------
proc(expr, var, a, b, n)
local f, R, j, k, i, oldDigits;
   4   R := rtable(1 .. n,1 .. n,('storage') = ('triangular')['lower']);  #Why not create Matrix here?
   6   R[1,1] := evalf(1/2*(b-a)*(f(a)+f(b)));
   7   for k from 2 to n do
   8     R[k,1] := 1/2*evalf(R[k-1,1]+(b-a)/(2^(k-2))*add(f(a+(2*i-1)*(b-a)/(2^(k-1))),i = 1 .. 2^(k-2)))
       end do;
  10   for j from 2 to n do
  11     for k from j to n do
  12       R[k,j] := evalf(4^(j-1)*R[k,j-1]-R[k-1,j-1])/(4^(j-1)-1)
         end do
       end do;
  13   R := evalf[oldDigits](R);
  14   return convert(R,Matrix,('shape') = ('triangular')['lower']) #Why not use Matrix from the start?
end proc
------------------------------------------

Maple 18.02

I noticed, when using

restart;
with(LibraryTools);
Browse();

That some procedures have lost all its formating. No line numbers, no spaces in between, very hard to read. For example, dsolve() in maple.mla is like this. While other procs are well formated and easy to read.

Is there a reason for this? And is there a way to fix this in Browse() to be able to read the source? It is impossible to read it like this readlly. Maple 18.02 on windows.

I have couple questions on displaying/printing items I see from ShowContents(LibLocation). Here is an example

restart;
with(LibraryTools):
LibLocation:=cat(kernelopts(mapledir),"/lib/maple.mla");
c:=ShowContents(LibLocation):


First quesionNow, when I do
c[1];
then I see

When is "%?.m" there? Is this suppoed to be an actual function one can print?

second question

c[30]; gives

But when I do:

interface(verboseproc=3);
print(AiryBiZeros);

I get listing that ends up calling

---------------------------
proc(n::{algebraic, algebraic .. algebraic})
local fn;
   1   if nargs <> 1 then
   2     error "wrong number of arguments"
       end if;
   3   fn := traperror(evalf(n));
   4   if type(fn,'numeric') and not type(n,'posint') or type(fn,('numeric') .. ('anything')) and not type(op(1,n),'posint') or type(fn,('anything') .. ('numeric')) and not type(op(2,n),'posint') then
   5     error "expecting positive integers in argument"
       elif type(n,('integer') .. ('integer')) and op(2,n) < op(1,n) then
   6     NULL
       else
   7     ('AiryBiZeros')(n)   <----- Is this C function/compiled that is why it does not show?
       end if
end proc
--------------------------------------

Which is the same name I printed. So it seems to be another internal procedure with same name? How can I print it as well?

Is there a better way to print Maple procedures/command than what I am doing above so one gets full listing?
I tried Browse(); command in LibraryTools, but found it very cluncky to use (keeps losing listing and screen become blank. Very buggy)

First 182 183 184 185 186 187 188 Last Page 184 of 199