2493 Reputation

12 Badges

15 years, 80 days

Dr. Robert J. Lopez, Emeritus Professor of Mathematics at the Rose-Hulman Institute of Technology in Terre Haute, Indiana, USA, is an award winning educator in mathematics and is the author of several books including Advanced Engineering Mathematics (Addison-Wesley 2001). For over two decades, Dr. Lopez has also been a visionary figure in the introduction of Maplesoft technology into undergraduate education. Dr. Lopez earned his Ph.D. in mathematics from Purdue University, his MS from the University of Missouri - Rolla, and his BA from Marist College. He has held academic appointments at Rose-Hulman (1985-2003), Memorial University of Newfoundland (1973-1985), and the University of Nebraska - Lincoln (1970-1973). His publication and research history includes manuscripts and papers in a variety of pure and applied mathematics topics. He has received numerous awards for outstanding scholarship and teaching.

MaplePrimes Activity

These are answers submitted by rlopez

The VectorField command in the Student VectorCalculus package both defines a vector field and graphs its arrows. Try


From the Application Centre,


This is a link to a package written by Prof. Wilhelm Werner. Not only does it provide commands to produce Fourier series, it has commands to draw relevant graphs of the periodic extensions with graphs of partial sums superimposed.

Of all the user-written packages that have appeared over the years, I believe this one is the best.

I wrote about this in a Reporter article maybe 10 years ago, but the worksheet capturing that article seems to need some revision because of changes to Maple over the years.

As has already been pointed out, w=f(x,y,z) can only be graphed in 4 dimensions. However, for each value c of w, the equation f=c defines a surface implicitly. Such surfaces are level sets (I like to call them level surfaces). If you Explore on the values of c, you get an animated collection of level surfaces f=c.

For example, take f as the function x+y+z. Then, after installing the plots package,


creates an animation of the level surfaces f=c. This approach is a modification of Kitonum's. If you try this, you should include the view option in the implicitplot3d command so that you see the level surfaces move, and not the bounding frame. Also, be sure to make the range on c be floats, otherwise c will only take on integer values (by default).

The Student LinearAlgebra package has the ApplyLinearTransformPlot command that does what I believe is wanted. To test this, I implemented the following.



The Student MultivariateCalculus package has commands for this. Define the lines as "line objects" then query with commands such as AreSkew, AreParallel. Examples are in the recorded webinars (Maple's YouTube channel) on Clickable Calculus-Multivariate Calculus, and the one on Lines&Planes.

In addition to the solution from first principles provided by Carl Love, there are three other tools that might be of use to anyone looking to draw a phase portrait in Maple.

1) Tools/Tutors/Differential Equations/DE Plots

2) Tools/Tasks/Browse/Differential Equations/ODEs/Phase Portrait - Autonomous Systems

3) The phaseportrait command in the DEtools package

The first is a Tutor; the second, a Task Template; and the third, a command.

Acer has provided the 1D math input for what amounts to Atomic Variables.

How does the naive user learn all the coding for such names?

I refuse to learn the abstruse lingo that it takes to code these names in 1D math, so here's how I do it.

In a Document, using 2D math mode, create the name as it should appear. Select it all. Use the Format menu and select the option Convert To/Atomic Variable (note the keyboard shortcut Control+Shift+A). Press the enter key. The echo will have an equation label. Execute the command lprint(*), where * is the equation label (referenced through the Equation Label dialog, Control+L).

The echo of the lprint command will be the 1D code for this Atomic Variable. Copy and paste it to wherever it's needed.

The prime as the differentiation operator d/dx only works in 2D math.

The control over this behavior is via commands in the Typesetting package. There is a Typesetting Assistant (View Menu) that implements some of these behaviors.

Working in 2D math, fractions can be shilled upon input, but the Maple pretty-printer does not shill fractions on output. If I'm wrong about output behavior, I, too, would like to know how to make it happen.

The simplest way to graph vectors is to use the appropriate commands in the VectorCalculus package. I prefer the Student VectorCalculus package because it is more forgiving with respect to the need for defining coordinate systems and coordinate-variable names.

The commands to use are PlotVector and RootedVector. The PlotVector command will graph various kinds of vectors, including ones defined simply with angle brackets: <1,2,3>. The RootedVector command will attach a starting point to the definition of the vector so that you don't have to make the adjustments needed when using either of the "arrow" commands in Maple, one in the plottools package, and one in the plots package.

In addition to these two commands, I recommend the PositionVector and PlotPositionVector commands. The PositionVector command is for defining a curve or surface as a position vector. The PlotPositionVector command then draws the curve or surface, and admits the addition of arrows from a variety of vector fields defined along the curve or surface. These two commands are an extremely powerful and useful pair of visualization tools.

I have just completed an extensive project on surface curvature in which I installed the Student MultivariateCalculus package to get access to a CrossProduct and DotProduct command. I also used the alias command to define a shortcut to the commands I wanted in VectorCalculus. This way, I avoided the conflict between the simple dot and crossproduct operations in the MultivariateCalculus package, and the more entangled versions in VectorCalculus. So, I'd make calculations along the following lines.




Took the function y=sqrt(1+x^2) (suggested by hyperbola, which has an asymptote), applied the asympt command to get its expansion about the point at infinity, and took the limit of the ratio of y to the first term in the asymptotic expansion, and got 1.

asympt(y,x,2) # the "2" determines the order of the expansion. First term is x


In Windows, Control= will implement "Evaluate and Display Inline", and this option also appears in the Context Panel.

There are several errors and misconceptions in the post.

The with command should not be followed by a multiplication operator. It would be entered as with(VectorCalculus), for example.

There is no package named Linalg. There is a deprecated package "linalg" but please don't use that package - it's no longer supported.

There is a Jacobian command in both the VectorCalculus, and the Student:-MultivariateCalculus packages. But they have different syntax, so read the help pages.

There is no Jacobian command in the LinearAlgebra package, although there was a "jacobian" command in the old linalg package.

The page "Definition,curvature" is from a third-party work that Maple incorporated into its help system many years ago. There is no guarantee that the definitions the Maple developers use when coding procedures match the definitions in that third-party work.

That being said, newer calculus books typically define curvature with |y"| in the numerator, so the curvature is always positive. This is in keeping with the generalization to higher dimensions where curvature of a space curve is defined as the length (necessarily positive) of a "curvature" vector.

I had an old calculus text (1927?) that defined plane curvature with just y" in the numerator, so there has been a drift in what is taken as "correct" over the years.

The DiscretePlot command in the DynamicSystems package will draw the graph. This was detailed in a Maple Reporter article in November of 2011. Here's a link to the article that is stored in MapleApps.


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