pchin

Dr. Paulina Chin

1291 Reputation

12 Badges

17 years, 21 days
Maplesoft
Senior Architect
Waterloo, Ontario, Canada

MaplePrimes Activity


These are replies submitted by pchin

Robert writes, "It seems the parser for 2D input in Standard doesn't like parameter type specifications in functions defined with ->. "

Yes, there is indeed a bug in the parsing of functional operators with parameter type specifications. Unexpectedly, there's no error when more than one parameter is present.

Thanks also for pointing out the incorrect error message. It should say "functional operator" or "arrow procedure" instead of "inline function".

I see that these issues have already been entered recently into our bugs database.

Paulina Chin
Maplesoft

Robert writes, "It seems the parser for 2D input in Standard doesn't like parameter type specifications in functions defined with ->. "

Yes, there is indeed a bug in the parsing of functional operators with parameter type specifications. Unexpectedly, there's no error when more than one parameter is present.

Thanks also for pointing out the incorrect error message. It should say "functional operator" or "arrow procedure" instead of "inline function".

I see that these issues have already been entered recently into our bugs database.

Paulina Chin
Maplesoft

The line break between "0" and ".78443" causes problems for 2-D math, which allows implicit multiplication (but not between two numbers). Try entering the line without line breaks. You can delete the spaces in between the "0" and the ".78443" but that might not remove the spaces in the internal structure. To work around this, just select 0.78443 and retype it, and then re-execute.

Paulina Chin
Maplesoft

The line break between "0" and ".78443" causes problems for 2-D math, which allows implicit multiplication (but not between two numbers). Try entering the line without line breaks. You can delete the spaces in between the "0" and the ".78443" but that might not remove the spaces in the internal structure. To work around this, just select 0.78443 and retype it, and then re-execute.

Paulina Chin
Maplesoft

I can't believe I missed this post in March. Well, it's rather late for Easter eggs, but  "better late than never," as they say.

John's plots[implicitplot3d] egg is very nice, but with the plot3d command, you can use colour functions. I also used the lightmodel and glossiness options to make my egg extra shiny.

plot3d([(sqrt(w)+.2)*cos(v)*sin(w), (sqrt(w)+.2)*sin(v)*sin(w), 1.7*cos(w)], v = 0 .. 2*Pi, w = 0 .. Pi, grid = [50, 50], scaling = constrained, color = cos(w+v), style = surface, orientation = [30, 120], lightmodel = light4, glossiness = 1)

For my second egg, I used the plots[conformal3d] routine and altered the sphere with plottools[transform] to make the following (conformal plot on a Riemann egg?):

p := plots[conformal3d](cos(z), z = 0 .. 2*Pi+I*Pi, color = ["DeepPink", "Blue"], spherecolor = "LimeGreen", grid = [30, 30]);
f := plottools[transform](proc (x, y, z) options operator, arrow; [.8*(sqrt(z)+1)*x, .8*(sqrt(z)+1)*y, 2*z] end proc);
plots[display](f(p), scaling = constrained, orientation = [30, -90])

Paulina Chin
Maplesoft

Axel, have you had a chance to look at this link on our Web site?  This page summarizes the new academic features. There are similar pages for professional and student-oriented features.  Each of the links takes you to a page with more detailed information.  For example, the "Differential Equations Solving" link provides some technical details about updates to the solvers.

If you have a copy of Maple 12, the updates help pages will provide more information as well, including, in some cases, links to worksheets with examples.

If there is a particular feature that interests you and you want more information, try posting a question on MaplePrimes and perhaps one of our developers or other staff members can say more. I'm hoping, in the next few weeks, to find time to add a blog post or two about the new plot features I had worked on.

Paulina Chin
Maplesoft

Hello Rich,

You ask, "When I enter an expression as A*B, I get A dot B, which is OK while I am editing, but who wants to see that those dots in the final product?" When you say "final product", I assume you mean your input lines in a document or worksheet. When you use 2D math input, Maple understands implicit multiplication (in most cases). You can enter "A B" instead of "A*B", and Maple will interpret both inputs the same way. I say "in most cases" above because there are a few limitations; these are documented on the 2DMathDetails help page. There other many other useful tips on using 2D math on this help page so I highly recommend you browse through it.

You also ask, "And who wants to see the colon that suppresses printout at the end of a line?" There is another way to remove output from a worksheet or document without using a colon. You can select the input and output, go to the Edit menu and choose "Remove Output",  "From Selection".  Note that this removes the output after it is generated rather than suppress it from the start.

Paulina Chin
Maplesoft

Doug, we'll certainly consider your suggestion.  It's always tricky adding new features to the plot command, as there are a lot of factors (ease of use, backward compatibility, etc.) to consider.  However, I agree that it would be useful to have a more natural way to plot vertical lines.

Paulina

 

I haven't had a chance to investigate thoroughly, but I suspect that the plot command is not doing anything smart with x=0. On the other hand, it is possible to plot a vertical line with the plot command, by using the parametric form: plot([1, y, y=0..1]). For plotting line segments, it's more efficient to use plottools[line] but you have to use plots[display] to create the final plot: plots[display](plottools[line]([x1,y1], [x2,y2])). See also Robert's earlier post about using plottools[rectangle] or defining a plot with points within the plot() command.

Paulina

The expression x=0 is not a valid first argument for the plot() command. The command plot(x=0, ...) returns an error. It's a weakness in plot() that it fails to catch the invalid expression when it's inside a list.  I'll add this bug report to our database and we'll try to get it fixed for a future release.

Paulina Chin
Maplesoft

In Maple, you can do a task in so many different ways. Sometimes this can cause confusion because it's not always obvious which is the best way. However, I see this as one of the great benefits of using Maple. It allows one to provide options to users, depending on ease-of-use, functionality and efficiency requirements. We use ToInert in our own code to analyze Maple expressions. This is the full-powered way to take apart expressions as it gives every bit of information you need to know. As others have pointed out, the output is not particularly readable and most users don't need all the information ToInert gives. To answer acer's question, ToInert/FromInert will probably provide all the functionality you'll ever need. However, John's offering a simplified version that might be more useful to some is a good contribution. Paulina
Congratulations, Robert and Jacques. You are both very deserving winners! Paulina
To clarify, our tracking system includes both bug reports and feature requests, and "Software Change Request" encompasses both. Also, I believe the term "tracking a bug" is fairly common and not specific to any particular software. I'm not ashamed to admit my code might have bugs, but I do get a good number of requests for enhancements too (e.g. new commands, new options for existing commands). We do try to include all of these requests in our system so they're not forgotten, and we evaluate and prioritize them so they can be considered for inclusion in future releases. Paulina Chin Maplesoft
DJKeenan, in your file, you mentioned that xtickmarks and ytickmarks should be included in the documentation. In Maple 11, we made the decision to remove these options from the documentation, though the option will continue to work in your existing code. This was done for a couple of reasons. First, it is reasonably easy to specify tickmarks in one direction only, either by including the name 'default' for the other direction (e.g. tickmarks=[default, 5]) or by using the axis option (e.g. axis[2]=[tickmarks=5]). Second, we wanted to make the plot commands more consistent and the help pages easier to read. In Maple 10, we had xtickmarks, but not xlabels, xview, etc. We felt this situation would be confusing for users but we were reluctant to add xview, yview, zview, etc., as this would generate a lot of unnecessary options. Instead, we'd like to encourage users to simply use 'default' for any direction with no option specification. I'd like to add that making the plotting commands more consistent and the documentation easier to use is an ongoing effort. In a different thread, Jacques talks about some of the problems we face with maintaining older code, and that one doesn't get immediate "rewards" from this work. That is true, but we do try to continue this work from release to release, hopefully without producing any negative impact to long-time users. That's why xtickmarks will continue to work, but we'd prefer new users to use the tickmarks option. Paulina Chin Maplesoft
I normally don't recommend building the plot data structure from scratch, for a number of good reasons. However, in this particular case, it is best to bypass the pointplot3d code and to send the structure directly to the GUI. The library code does various type checks and conversions that are unnecessary if you are absolutely sure your input is correct. For a large plot like this one, use > PLOT3D(POINTS(A), SYMBOL(POINT), AXES(BOXED)); We are hoping, in the future, to offer library routines or options that will allow you to avoid such difficulties with very large plots. Paulina
4 5 6 7 8 Page 6 of 8