John May

Dr. John May

2616 Reputation

18 Badges

17 years, 32 days
Maplesoft
Pasadena, California, United States

Social Networks and Content at Maplesoft.com

Maple Application Center
I have been a part of the Mathematical Software Group at Maplesoft since 2007. I have a Ph.D in Mathematics from North Carolina State University as well as Masters and Bachelors degrees from the University of Oregon. I have been working on research in computational mathematics since 1997. I currently work on symbolic solvers and visualization as well as other subsystems of Maple.

MaplePrimes Activity


These are replies submitted by John May

 In Drupal it is possible to allow other choices on the "Input format" selector based on the user role.  I think in Mapleprimes, all users are the same type after they have 2? points. 

It should be possible to assign some users (possibly based on points 50+, 100+ ?) to a "trusted user role" that is allowed to post full HTML in blog posts. At least, I think the reason for allowing only "filtered HTML" is for security.

John

It looks like you  can create an account and choose the Wikipedia style Monobook theme.  That cleans things up quite a bit.  Changing the theme doesn't let you pretend that most of the content on Wikia is not video game and pop-media related, however.  :D

John

Using the inertifying operator %, I like:

id := x->x;
expr := (x+1)^5/a+(x+2)^6/(y+1)^3:
numer(evalindets(expr, anything &+ integer, %id)):
value(%);

It would be nice if there were an inert identity function that typeset like the empty function ``.

Howver, I think, the  more problematic expressions are going to be ones like:

expr:=((x+1)^5/a+(x+2)^6/(y^2+y)^3 + 1) / (x^37-1) + ((a^2-a-b)^2)/(x-1) - 1/x;

I suspect you might be able to get somewhere by mapping over the sum or handling things recursively.

John

Using the inertifying operator %, I like:

id := x->x;
expr := (x+1)^5/a+(x+2)^6/(y+1)^3:
numer(evalindets(expr, anything &+ integer, %id)):
value(%);

It would be nice if there were an inert identity function that typeset like the empty function ``.

Howver, I think, the  more problematic expressions are going to be ones like:

expr:=((x+1)^5/a+(x+2)^6/(y^2+y)^3 + 1) / (x^37-1) + ((a^2-a-b)^2)/(x-1) - 1/x;

I suspect you might be able to get somewhere by mapping over the sum or handling things recursively.

John

I thought this rational function might be bad for the above code:

expr:=(x+1)^5/(y-1) + (x+2)^6/(y^31-1);

but numer/denom do not try to return canonical results, so it also ends up pretty compact.

numer(expr); # is also not too bad when compared to
numer(normal(expr)); # bad

John

I thought this rational function might be bad for the above code:

expr:=(x+1)^5/(y-1) + (x+2)^6/(y^31-1);

but numer/denom do not try to return canonical results, so it also ends up pretty compact.

numer(expr); # is also not too bad when compared to
numer(normal(expr)); # bad

John

One thought I had about this was to do the following:

expr := (x+1)^5/a + (x+2)^6/(y+1)^3; 
nm1:=numer(expr):
dm:=denom(expr):
nm2:=map(`*`,expr,dm):
`if`(length(nm1) < length(nm2), nm1, nm2);
		(x+1)^5*(y+1)^3+(x+2)^6*a

I imagine one could find an example where this doesn't give a compact expression either

John

One thought I had about this was to do the following:

expr := (x+1)^5/a + (x+2)^6/(y+1)^3; 
nm1:=numer(expr):
dm:=denom(expr):
nm2:=map(`*`,expr,dm):
`if`(length(nm1) < length(nm2), nm1, nm2);
		(x+1)^5*(y+1)^3+(x+2)^6*a

I imagine one could find an example where this doesn't give a compact expression either

John

A possibly unexpected, but well documented property of numer:

If x is not in normal form, Maple converts it into a normal form (not
necessarily the same form that would be returned by the normal function) and
a common denominator is found so that x can be expressed in the form
numerator/denominator.

This means numer should be used with care in a case like:

expr := ((x*z-a)^100 +1 )/ z;

John

A possibly unexpected, but well documented property of numer:

If x is not in normal form, Maple converts it into a normal form (not
necessarily the same form that would be returned by the normal function) and
a common denominator is found so that x can be expressed in the form
numerator/denominator.

This means numer should be used with care in a case like:

expr := ((x*z-a)^100 +1 )/ z;

John

...Except this is not quite right:

sols2:=solve(Equations(sol[1], R));
sys2:=remove(x->is(x=0),eval(sys,sols2));
# set y2 = 1 and solve for x8
solve(eval(sys2,y2=1));
allvalues(%)[1];
                                             1/2
                  61042969   3726368095584961
            {x8 = -------- + -------------------}
                   31250            31250

sols3:={(op(%), y2=1)};
radnormal(eval(eval(sys, sols2), sols3));
                 [0, 0, 0, 0, 0, 0, 0, 0, 0]

So clearly y2 and x8 are not really free variables and something wierd is happening inside solve (probably related to why vanilla solve does not get an answer to this system).

John

...Except this is not quite right:

sols2:=solve(Equations(sol[1], R));
sys2:=remove(x->is(x=0),eval(sys,sols2));
# set y2 = 1 and solve for x8
solve(eval(sys2,y2=1));
allvalues(%)[1];
                                             1/2
                  61042969   3726368095584961
            {x8 = -------- + -------------------}
                   31250            31250

sols3:={(op(%), y2=1)};
radnormal(eval(eval(sys, sols2), sols3));
                 [0, 0, 0, 0, 0, 0, 0, 0, 0]

So clearly y2 and x8 are not really free variables and something wierd is happening inside solve (probably related to why vanilla solve does not get an answer to this system).

John

It seems pretty rough and pretty out of date, but there is a Maple project at WikiBooks for any aspiring Wikinauts:

http://en.wikibooks.org/wiki/Maple

John

It seems pretty rough and pretty out of date, but there is a Maple project at WikiBooks for any aspiring Wikinauts:

http://en.wikibooks.org/wiki/Maple

John

For what it is worth, I was able to install and run the Maple Standard GUI on an Asus Eee 701 (4 GB SSD and 512 MB RAM).  The space is pretty tight on the SSD, so I installed to an ext2 formatted SDHC card, but if you started with a full 1.3 GB free, you would probably have enough space to install it directly to the SSD.  If you just have the 700MB free for Maple, you can play some games to use a USB stick or SD card as tmp space,  and still install just fine.

Anyway, I plan to mostly run TTY maple on this.  Some initial tests show that it is about 1/4 to 1/3 the speed of my Core2 desktop machine running some solve() benchmarks.

John

First 14 15 16 17 18 19 Page 16 of 19