1762 Reputation

11 Badges

12 years, 49 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


Using Kitonum's a[2] and aa[2], I find that simplify(a[2]/aa[2]) returns 1. However, simplifying the difference does not produce zero.

The Plane command in the Student MultivariateCalculus package will generate the representation of a plane from a list of three points it contains. The return already has had the equivalent of the primparts operator applied. It was in an attempt to understand just what the primparts command did that I spent time looking at these calculations. I ended up with the following code to generate all the planes induced by the given list L.

for k from 1 to nops(L) do
end do:

The Plane command creates a "plane object," which is, I believe, a module containing all the information about the plane. To see an equation for the plane, apply the GetRepresentation command. This returns an equation in the form a x+...=d, so some jiggering is needed to move everything to the left. Then, multiplication by the signum of the lead coefficient puts the equation in the desired form (as suggested by vv). Kitonum suggests a different strategy to make the lead coefficient positive.

By printing every equation on a separate line, it was easier to compare equations. I noticed that every equation contained the variable x. I added [[0,0,0],[1,0,0],[0,0,1]] to L and was happy to see that my code returned y=0 for that case.

I find that if I don't explore the various bits of code provided in the responses to the questions on MaplePrimes, I really don't learn much just by reading through these replies.



In an attempt to understand both the original question and Kitonum's procedure that answered it, I tinkered around with the notion of permutations. I then wrote the following lines of code.

end proc:


for k from 0 to 5 do
end do;

I got the same results as Kitonum. Of course, my code has no error checks, etc., so is rather simplistic, but I think it captures the task, and helped me understand what was initially asked. Kitonum writes wonderful and sophisticated code, but personally, I find it very difficult to extract mathematical concepts from slick computer code. I guess that's because I never studied coding formally, but came to it the way an amateur comes to woodworking. Something gets built, but there's a lot of noise and sawdust as a by-product.


Thank you for your kind words and your tolerance for my pedagogical leanings. I really believe that students learn more efficiently and effectively when a tool like Maple is used intellegently. Let's hope that Maplesoft provides me a platform for articulating this belief for a long time to come.

@Scot Gould 

Scot, thanks for the kind words. I guess Maplesoft is pretty fortunate that back then, you refrained from raising the question of a position at your institution. Don't know how I would have responded ten years ago, but I do know how I would respond now that I've retired from Maplesoft and am nearing my 76th birthday. And, yes, I'll continue being an active member of the MaplePrimes community.



Your kind words and encouragement is greatly appreciated. Thanks!


@Zahid Shareef 

I appreciate your kind words. Thanks.




In '91, I would have been teaching at the Rose-Hulman Institute of Technology in Terre Haute, Indiana. If you took your calculus at some other institution, then perhaps I have a clone I never knew about.

In any event, the real me will continue participating in the discussions on MaplePrimes.

Thanks for the kind words and encouragement.


Is the essential question "Can Maple be made to solve all the equations at once?" or is it "How can the separate sets of solutions be joined into one set?"

I don't know the answer to the first possiblity, but for the second, pdsolve returns a set of solutions, so if you want one big set, use the union command. The syntax is `union`(ans1,ans2,ans3,ans4) for forming the union of the individual sets.

@Carl Love 

As a reminder to all readers: The % refers to the CHRONOLOGICALLY last command executed, so if the worksheet is then executed out of the original order, the % will point to the wrong item. When I was teaching, my policy was to forbid the use of %, and to refuse to even look at a student's worksheet if it has a % in it. I took this draconian approach because of the many entanglements I had to sort out when students used this device.


If x is real and positive, x^(1/3) is the "cube root of x" and one expects the principal value to be real. However, if x is real but negative, the principal value is complex. In fact, there are three "roots", two complex, one real. Unfortunately, the principal root is the one with the smallest argument in the complex plane, and that one is not the real root. In Maple, the real root can be obtained by writing x^(1/3) as surd(x,3). This returns the real cube root of x when x is negative. The surd structure was in Maple before the RealDomain package was written.

Roots and powers of real and complex numbers are studied in the precalculus realm under the heading of DeMoivre's law. That's where you will learn about taking roots and powers, and will learn the adage "roots before powers". In other words, for something like x^(5/3), one computes the root first, then raises that root the the 5th power. Do it the other way around and you can end up with the wrong value. Try some experiments with things like x^(2/3) and x^(5/3). Let x be real positive, and then real negative. Try root-before-power, and then reverse the calculation. See how it all plays out.

The expression in blue would be zero for even integers n, but the factor in black that you claim the answer should be is zero for odd integers n. I don't see how the blue expression could ever become the "right answer", so something deeper is going on.


If V is a vector of complex numbers, the command


will graph the points in the "complex plane". No need to separate into real and imaginary parts.

Given a set of linear equations, the GenerateMatrix command in the LinearAlgebra package will put the equations into matrix/vector form. However, to pass from the vector x that you have defined to a set of equations on which the GenerateMatrix command will work requires the use of the Equate command, a command which takes two lists or two vectors and equates corresponding components. So, define a vector X with components X1..Xn, and equate X with x to form a list of equations. Convert this list to a set and apply the GenerateMatrix command. Look up the help page for GenerateMatrix to determine the precise options that fit your needs.

Use the orientation option in the plot3d command. It takes a list of three numbers, the angles (in degrees) that you can see in the plot toolbar.

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