John May

Dr. John May

2351 Reputation

17 Badges

12 years, 72 days
Maplesoft
Guru
Pasadena, California, United States

Social Networks and Content at Maplesoft.com

Maple Application Center

I am a Senior Developer in the Mathematical Software Group and have been with Maplesoft since 2007. I am also an Adjunct Assistant Professor in the School of Computer Science at the University of Waterloo.

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.

My main research interests in are computational linear and polynomial algebra, especially numerical polynomial algebra. I currently work on the exact algebraic solvers as well as other subsystems of Maple.

MaplePrimes Activity


These are replies submitted by John May

Something to be aware of.  For each value of epsilon, your system has (generically) has four solutions.  fsolve by default only returns one of the solutions to a system. See with:

sol := solve({eq3, eq4, eq5, eq6}, {d[0], d[1], d[2], d[3]});
sols := allvalues(sol):
evalf(eval([sols], epsilon = -1/10));

 

It is possible to call Matlab solvers, but in fact Matlab mostly uses all the same numerical numerical solvers that Maple does ( ATLAS / MLK / LAPACK ).   The key to getting at the speed in Maple is making sure your matrix is stored as a hardware floating point (datatype=float[8]) array so that you avoid expensive copy and conversion overhead when you call linear algebra routines.

@AmusingYeti creating a function f as a procedure and then plotting it as a function call  plot(f(x), x=0..5) is a classic anti-pattern in Maple, it works OK in many cases, but you are almost always better off plotting the procedure directly:

plot(f, x=0..5);
plot(2*f, x=0..5);

etc

hellohihihi,

I would be interested to see your system of equations (and inequations), since solve will almost always call SolveTools:-PolynomialSystem directly on problems that are purely polynomial and so it should not usually be slower to use solve instead.

John

This seems to be hard one.   I stopped it after 17 hours on my i7.

memory used=7230230.4MB, alloc=5588.3MB, time=62626.80

John

This seems to be hard one.   I stopped it after 17 hours on my i7.

memory used=7230230.4MB, alloc=5588.3MB, time=62626.80

John

I am unable to view the file in the link (I get a login screen).  Is it possible to host it somewhere else?

 

John

Talking about trees all the time does not always make one very poplar.

 

John

The easiest option is to build your expression using the 2D math palettes and when done highlight the whole thing and select the context menu: 2-D Math > Convert To > Atomic Identifier

If you lprint() the result, and play around a little bit, you will see that something similar could also be entered programmaticly in Maple's typsetting markup:

`#msubsup(mi("σ"),mrow(mi("θ"),mi("θ")),mi("S"))`

Displayed as: 

 

John

The easiest option is to build your expression using the 2D math palettes and when done highlight the whole thing and select the context menu: 2-D Math > Convert To > Atomic Identifier

If you lprint() the result, and play around a little bit, you will see that something similar could also be entered programmaticly in Maple's typsetting markup:

`#msubsup(mi("σ"),mrow(mi("θ"),mi("θ")),mi("S"))`

Displayed as: 

 

John

It is hard to give an answer to this sort of question without having the actual input.  "Linear and nonlinear equations with inequalities" covers a lot of ground.

Here is a good collection of images of planets that map nicely to spheres: http://www.vendian.org/mncharity/dir3/planet_globes/

Here is my Earth:

im:=ImageTools:-Read("PathfinderMap.jpg");
n := 128;
p:=ImageTools:-Preview(ImageTools:-Transpose(im),2*n,n):

q:=plot3d(1, x=0..2*Pi, y=0..Pi, coords=spherical, style=surface,
          grid=[2*n,n]):

plots:-display(PLOT3D(MESH(op([1,1],q), op([1,4..-1],p)), op(2..-1,q)));

 

John

From now on, all my plots will be textured in classy woodgrain:

 

using this texture:

 

John

I had neglected to include it in the original post, but someone requested it, so here is the Maple code I used to generate the second set of plots.

plot3d(
[(3/5-(3/100)*(1-2*t/Pi)^10*cos(20*s)-(1/2)*sin(t)^(3/5))*cos(2*s)
+(1/1024)*s^10*((2/25)*sin(2*t)+(3/100)*cos(16*t))/Pi^10, (3/5+(3/100)*(1-2*t/Pi)^10*sin(20*s)-(1/2)*sin(t)^(3/5))*(sin(2*s)
+(1/1024)*s^10*((2/25)*sin(2*t)+(3/100)*sin(16*t))/Pi^10), (11/5)*t/Pi+7/10-(7/10)*cos((1/4)*s)], s=0..2*Pi, t=0..Pi/2, scaling=constrained, color="Khaki", grid=[225,225]);

 

John

1 2 3 4 5 6 7 Last Page 3 of 19