roman_pearce

Mr. Roman Pearce

1678 Reputation

19 Badges

20 years, 215 days
CECM/SFU
Research Associate
Abbotsford, British Columbia, Canada

I am a research associate at Simon Fraser University and a member of the Computer Algebra Group at the CECM.

MaplePrimes Activity


These are replies submitted by roman_pearce

Implicitplot doesn't use a high enough resolution. Try
plots[implicitplot](x*y - 1/18*(3*x+1)^2, x = 1/4 .. 1/2, y = 0..10, grid=[100,100]);
I second this suggestion, not because I personally need a better dae solver, but because I think Maplesoft needs to stay focused on the nasty problems with real applications. Of course, solving these things is much easier said than done :) but that's what people will pay for, especially if they can't get it anywhere else.

Thank you for your informative post.  I would like to suggest a fix.  The kernel could have a PRINT dag which the pretty printer generates and the interface parses.  This structure would have a pointer back to the original object and a pointer to whatever the print command generates if `print/...` is used.  Clearly there could be some mess if `print/...` is called recusively, but I think it could work.


Is there a way to have the Classic GUI on OSX other then dual booting or having Linux as a virtual operation system on OSX?

Basically no.  Maplesoft did have a build for Maple 9.5 or Maple 10 which was available to institutions with extended maintenance contracts, but it was totally unsupported and it had a lot of rough edges (not being part of the official product and all).  You can use the command line interface however, and with the Mac console font it looks quite good.  If I remember correctly, it is  /Library/Frameworks/Maple.Framework/Current/bin/maple

I really like the new version of the site. The look is cleaner and the new features (submit SCR, flag content) are excellent.
The seq command uses "special evaluation rules", which evaluate "i" to the global variable "i" in the body of each procedure. For example:
L := [seq(x->i*x, i=1..3)];
i := 2;
L[1](x);  # prints 2*x
You can use the subs command to get the desired effect:
[seq(subs(j=i,x->j*x),i=1..3)];
For exact roots, Maple factors the polynomial using the Berlekamp-Zassenhaus algorithm. For real roots of univariate polynomials with rational coefficients Maple 11's fsolve routine calls the RS library of Rouillier, which implements "Descartes' method" (actually due to Vincent, with modern algorithm by Collins and Akritas). For complex roots I believe Newton's method is used, but it might call a NAG routine.
It can probably be made to work, however you should be comfortable hacking around in Linux. The EeePC uses a custom Linux distribution, so installing software could be difficult (I don't actually know). It is said to have 1.3GB free space out of the box, of which Maple will use 650MB. It has a 900MHz low voltage Intel chip and 512MB of RAM, so the Java interface is going to be very slow and possibly unusable. The classic interface should be fine for you to use but it is very obsolete if you need to open other peoples' worksheets. If you just use the classic or command line interfaces then the EeePC would be a nice little machine. 800x480 is a very low resolution though. For what it's worth, I used to run Maple 10 on a 133MHz Pentium w/ 48MB of RAM. It was quite slow but it did the job admirably. I found the 800x600 resolution to be a little constricting, so I'm not sure about 800x480. The EeePC has ten times more CPU and memory, so it should actually run Maple quite well. Just don't expect too much from it. It won't be fast. You won't want to run the Java interface. The small screen will be annoying. But at $400 and 2 lb you can take it anywhere.
Write a double loop over all A[i,j] and use two local variables for the maximum and minimum. This is linear time and constant space.
Maplesoft holds an annual Maple conference/workshop in Waterloo with published proceedings. There was no conference last year because the ISSAC conference was in Waterloo, but in previous years it has been good.
Maplesoft holds an annual Maple conference/workshop in Waterloo with published proceedings. There was no conference last year because the ISSAC conference was in Waterloo, but in previous years it has been good.
Ok, so maybe HermiteH needs to be inert, but the first line of the help page is: "For a non-negative integer n, the HermiteH(n, x) function computes the nth Hermite polynomial." It doesn't. They need to fix the documentation to say something like "HermiteH is used to represent the polynomial."
I was ready to dismiss this and then I tested it. An empty Maple worksheet consumes 40-60% of cpu on an iBook 1GHz with OS X 10.3.9. Worse, when you are editing 1D input text (not 2d math or anything) the Maple kernel mserver uses 20% of cpu. This is a serious problem, but it does not happen on my Linux machine (although editing takes a ridiculous amount of cpu) Is the idle cpu use specific to the PowerPC version ? Can someone with an Intel Mac check this ? On a related note, how is it that typing a line of text consumes more processing power than was used to put a man on the moon ? That is not "bad", that is simply broken.
This design is stupid. HermiteH should return the polynomial if n is an integer. Right now it doesn't do anything. By comparison, when you call sin(x) the sin function computes sin if possible and only if it is not possible does it return 'sin(x)'. The HermiteH function needs to do the same thing.
I occasionally use e.g. expr := 1+a^2; eval( expr, 2=-1 ); to convert expr to 1+1/a. This is generally a bad idea, for reasons you have started to see. Internally, Maple uses the structures you see with the dismantle command. It is unfortunate that ToInert is inconsistent, but needs a consistent design to be backwards compatible because people use it for programs. The actual kernel data structures can and do change or weird exceptions are made to improve performance. For example, 2*x is a sum. The point is that eval(expr, x=a); is dangerous when x is not a variable. If x is something complicated it might work or it might not. For example:
f := sqrt(x)+sqrt(y)+sqrt(z);
eval(f,sqrt(x)+sqrt(z)=2);
is probably not going to give you sqrt(y)+2. Honestly I don't know why they don't change the help page to discourage the use of eval for anything other than a variable. I guess because it mostly works and the Maple hackers like it. It's easy to criticize the results of this design, but a side effect of trying to make software too logically consistent is that you end up crippling it. Maple prefers to shoot you in the foot rather than hold your hand.
First 19 20 21 22 23 24 25 Last Page 21 of 39