2635 Reputation

12 Badges

15 years, 361 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


What is puzzling, however, is "...recieve in response x^4=4." Is that actually the response or is that just a typo in the post?

After changing pi to Pi, the simplification succeeds if accompanied with the assumption that rho__m is real.

simplify(expression) assuming rho__m::real

Replace the function being integrated over the hemisphere with the generic f(x,y,z) and add the option "inert" to the integral so the unevaluated integral is returned. It will contain f(1,s,t), indicating that x, y, z, were respectively replaced with 1, s, and t, not with the correct x(phi,theta), y(phi,theta), and z(phi). The error is the incorrect handling of the function being integrated over the surface.

f := piecewise(t<0,0,t=0,1,t>0,0);

plot(f,t=-1..1,discont=[showremovable=0],color=red, thickness=3, symbol=solidcircle, symbolsize=15)

The essence of this approach is the use of the showremovable option. The other options to plot simply enhance the graph.

q := a^2 + 2*a*b + b^2 + c^2;

The attached worksheet shows a stepwise solution that a student would be able to implement by hand. It parallels what I learned more than 50 years ago when I first met this material.

By the way, the standard way to show the existence of a scalar potential is to show that the curl of the vector field is the zero vector. That's what all the OP's derivatives are - the components of the curl.


If you mean that you didn't get a 3D graph at the end, well, you did. It has constrained scaling, a vertical of 800, and a base 20x20. So the image is pretty squished. Remove the constrained scaling and you will see a surface.

The February 2013 Maple Reporter contained the article that this worksheet generated. A worksheet was used to generate a pdf that was then disseminated as the Reporter article. The worksheet was then stored in the Maple Application Center without any adjustments needed to make the worksheet run correctly.

I dug out the original worksheet and noted that in Maple 2020, several changes are needed for the worksheet to run properly now. Those adjustments are in the attached version of the worksheet.

Basically, the issues are that several of the display commands were never executed, so when the worksheet is re-executed stepwise with the single exclamation or entirely with the triple exclamation, these display statements won't execute. Then, The procedure in Method 3 was set in non-executable math. Also, the rules for declaring locals and procedure parameters appear to have changed in the last 7 years.


(The R-90 designation means this was the 90th article in a series that ran to a little over 100.)

The following commands will do what has been asked.


The Gradient command in the Student VC package produces a VectorField. The correct way to evaluate a VectorField at a point is to use the evalVF command, which produces a RootedVector, one that remembers where its "tail" is. The easiest way to graph a vector is to use the PlotVector command. Of course, there's a Gradient command in the Student MultivariateCalculus command, but it would create a vector whose "tail" is at the origin, and this would have to be followed by an arrow command in either the plots package or the plottools package. (Both these packages have an arrow command, but each uses different syntax that I can never remember. I always use PlotVector because of its simplicity.)

If I read the worksheet correctly, there are three equations in P, V, W, and t; ln(V) and ln(W) both appear in the third equation. I suppose that an invocation of the implicit function theorem will show that a solution for P(t), V(t), W(t) exists, but I doubt that it can be found explicitly. It's not that Maple can't do it, but rather, that there is no set of algebraic manipulations that can do it.

If graphs of P(t),V(t), W(t) are all that are needed, then look into applying the Draghilev method. Search for it in MaplePrimes, or see the Reporter article here that's stored in the collection of MapleApps (www.MapleApps.com). The article is easily found by going to MapleApps and doing a simple search on "Dragilev".

(Unfortunately, the article dropped the "h" in the name "Draghilev," an error that was subsequently pointed out but not corrected in MapleApps.)


The worksheet at the end of the link below shows how to use the syntax-free Direction Field Task Template. From the earlier responses, it seemed to me that the issue in using the DEplot command was mastery of the syntax. The built-in Task Template is a way to avoid the struggle with syntax.


The worksheet in the link below contains an example I just happened to have completed just before this present thread appeared. It's complete, but not "pretty."

In short, the line integral of a scalar geometrically is the area of a surface defined by the path of integration and the graph of the function f(x,y) that is the integrand. The example in the worksheet shows that indeed, this is true. And if you write the Riemann sum for the integral and visualize the rectangles in the surface whose area is purportedly being computed, you can easily accept that this line integral does measure surface area.


Try something along the following lines.

C := PositionVector([t, 0, (2*t^(3/2))/3]):
V := PlotPositionVector(C, 0 .. 2, tangent = true, points = [1], tangentoptions = [color = green]):
plots:-display(V, view = [0 .. 2, -1 .. 1, 0 .. 2], labels = [x, y, z]);

The help page for PlotPositionVector points out that arrows of various fields along the curve can be graphed. Moreover, the arrows of arbitrary VectorFields can be drawn. This is a very versitile command that has built into it features of the primitives such as spacecurve and arrow. Note also that this package contains the SpaceCurve command that draws what spacecurve in the plots package draws, but also draws a plane curve with the same syntax, something that spacecurve does not do.


Click here

At 52 minutes, 25 seconds into this video, Problem 10 (distance from a point to a plane) is solved via the tools in the Student MultivariateCalculus package. All 11 problems in this video illustrate a variety of tools in this package related to the typical section in a calculus text "Vectors, Lines, and Planes."


PlotVector([p1, p2, v, V], color = [black, red, green, gold], width = 0.2, scaling = constrained, labels = [x, y, z])

The vector V retains as an attribute the location of its initial point. The parallel transport of v to its new location is thereby built into the definition of V, and is not an artifact of how it is graphed. 

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