2308 Reputation

11 Badges

13 years, 230 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 replies submitted by rlopez


csgn first appears with argument I*kappa^4+((2*I)*n^2+12*I)*kappa^2-24*kappa*n+I*n^2*(n^2-12). The value of csgn hinges on the signs of the real and imaginary parts of this argument. If you give values to n and kappa, you will find that the signs of the real and imaginary parts will change depending on what values you give. Maple does not know what these values might be, so no simplification is possible unless the assumptions on n and kappa are more specific.

I tried simplify(the product) assuming n>0, kappa>0 and got a much simpler expression that appears to be strictly real.



Couldn't stop thinking about this question. Here's what I would have done to examine this vector field.


Explore(VectorField(<((rho/rho0)^2*exp((rho/rho0)^2), rho*sin(phi)^2/rho0, 1>, coords = cylindrical[rho, phi, z], output = plot, fieldoptions = [arrows = SLIM, fieldstrength = fixed]), rho0 = 1 .. 10.)

Notice that F0 has been set to 1 because it is a simple multiple of each coordinate. It can be included if it really matters.

The Explore command generates a graph controlled by a slider that varies the value of rho0.

The BasisFormat command controls the display format for vectors. I prefer seeing column vectors and not a sum of components multiplied by basis vectors.

In the Student VectorCalculus package, the VectorField command is modified to accept the option "output=plot". A graph of the vector field's arrows is returned. This avoids the need for invoking the fieldplot or fieldplot3d commands. See the help page for the VectorField command for the options that modify the look of the graph drawn with the VectorField command.



The problem you want to view is the third, and it starts at approximately 21 minutes.

It appears that the Enter key was pressed after each of the three lines of the do-loop. The loop has to be in one single execution group, and this is done by use of Shift-Enter, not just Enter.

There was one more trig function without parentheses. Once I fixed that last guy, r-vec display properly.

There are syntax errors: all trig functions require round parentheses. It is an error to write sin x. It must always be sin(x).

Also, the red error message tells you about another error: The variable r has been assigned to. Therefore, it is no longer a free name, so you can't differentiate with respect to r.

I don't understand why the vector r_vec is printing as a column vector. I tried <x,y,z> and that prints in Basis Format with basis vectors displayed. When I execute About(r_vec) I see that it is being defined as a Matrix, not a vector. I don't understand why.

I tyically work in the Student version of VC because it is more forgiving with respect to defining and redefining coordinate systems. In that package, r_vec displayed in Basis Format, not as a column vector. That's as much as I've discovered so far.

@gmzsvsclk Please define what you mean by "the points (t,y)"? Which points? I gave you a method for finding those points on a graph that Maple could be  made to draw. Obviously, you didn't want that collection of points, so which points do you want? You have also been given recipes for finding arbitrary points by solving explicitly for y. So, which points do you want?

For a single variable, Newton's method takes x[n+1] as the x-intercept on the line tangent to the graph of f(x) at x[n]. The Secant method replaces this tangent line with a secant line drawn through x[n-1] and x[n].

In the multivariate case, the Jacobian matrix in Newton's method can be replaced with alternatives, such as in Broyden's method. I'm not sure that such methods follow from a simple geometry that generalizes a secant line. In fact, Newton's method in the multivariate case is derived via Taylor expansions of each function, and not through any obvious geometry. If it can be so based, I've never seen it, and would appreciate a pointer to it.


The Roots command will succeed if Digits is set to at least 17. As several responses indicate, the calculation is delicate and subject to roundoff. I guess I missed that the first time I looked. Thanks to all who provided a sharper analysis.


Delete the number=1 option, and don't specify a derivative condition as an initial condition for a first-order ODE.

With the DEtools package installed, the following syntax works:

phaseportrait(X(t) = diff(X(t), t), X(t), t = -1 .. 2.5,[[X(0)=1],[X(0)=-1]])

but not phaseportrait(X(t) = diff(X(t), t), X(t), t = -1 .. 2.5,[[X(0)=1],[D(X)(0)=-1]])

The dsolve command can obtain the solution with the derivative IC, which can be graphed separately, then joined to the plaseportrait via the display command in the plots package.

p1:=DEtools:-phaseportrait(X(t) = diff(X(t), t), X(t), t = -1 .. 2.5,[[X(0)=1]]):

@brian bovril 

Nice use of Maple to find a general pattern. I have to admit that I scratched around a bit before I came to the same conclusion. But I did end up using rsolve along the way.

I don't understand your statement that the loop should finish when the computed T is the same as the initial T. If it's the initial T that you want, why do any calculations? You already have it.

It would make more sense to terminate the loop when two successive computations of T are essentially the same.

Please clarify.

@Joe Riel 

The SpaceCurve command in either of the VectorCalculus packages will graph a curve defined parametrically by either a 2- or 3-dimensional vector. No need to switch graphing commands for different dimensions.

Have you followed the thread most recently appearing here:



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