nm

11378 Reputation

20 Badges

13 years, 42 days

MaplePrimes Activity


These are questions asked by nm

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)

Update:

thanks for the answers below, I can now get listing of content of an .mla like this:

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

But could not yet find a command that actually lists the standard *.mla libraries that come with Maple. I have to go to C:\Program Files\Maple 18\lib and copy the name of each file with .mla extention in there to get its content. Is there a way to obtain a list of all the .mla files or the standard libraries so that to automate all of this? Otherwise, I'll just copy the names of all the mla files in the above folder and make a list of them manually.

original question:

in Maple, I can do ?packages to get a help page showing list of packages available. But I need a way to do this in code, and obtain result as list or set. Next I'd like to go over each package and also obtain list of all symbols and functions/proc in this package.

For example, once I get list of packages, I'd like to get list of functions in say algcurves package, so I should get ["AbelMap", "algfun_series_sol",.....].  The list can be just strings. That is ok, I am just trying to enumerate all packages and build-in commands and symbols in Maple. May be make a small report of it for documentation purposes and to get better idea what is in Maple.

What are the commands I need to get such lists?

I am using Maple 18.02 on windows.

 

First 183 184 185 186 187 188 189 Last Page 185 of 200