2468 Reputation

12 Badges

14 years, 317 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

@Annonymouse  Add in a graph of the intersection drawn by the intersectplot command from the plots package.


There is no value declared for x[0]. Add such a line to the first batch of initializations and the code runs.

If w is real and z complex, this is the root-locus problem of control theory. As noted by other contributors, there is no way to solve a sixth-degree polynomial equation in closed form, so obtaining exact (analytic) solutions for z=z(w) is a challenge. Depending on what you need z(w) for, some of the following devices might be of help.

Although Maple's plots package contains a rootlocus command, it numerically solves and graphs solutions for 1+k*h(z), where k is a real parameter (called a "gain" in the language of controls).

If z is real, then a graph of z=z(w) can be obtained by solving for w=w(z), then graphing via plot([w(z),z,z=a..b]).

If z is complex, solve for w=w(z) and replace z with x+I*y. Let Wr be the real part and Wi be the imaginary part. (This takes evalc(Re(... and evalc(Im(... but for polynomials, Maple can do this.) Now, if w is real, then Wi is zero, so an implicitplot of Wi=0 is a graph of the root locus. Each point on the resulting graph is a z=x+I*y value in the xy-plane for which some w satisfies the original equation P=0. The trick now is to obtain that w-value for each point on the curve.

For example, pick an x-value and count how many y-values will correspond. Then set x in Wr equal to that value and fsolve for y. Make a procedure of this process and you will be able to see the values of w for each z on the root locus. In control theory, a value of z indicates a possible state of a system. The idea is to determine the gain that will put the system into that state, so knowing the gain as a function of the state is a useful thing, something not ordinarily discussed in elementary texts in the subject.

As an isolated mathematical problem, I have always found this topic interesting. Just what is the trajectory in the z-plane of the solutions of P=0 as w varies, even if w isn't real. It's a hard problem to solve directly, so looking at it "backwards" certainly leads to interesting options.

The help page for pdsolve,numeric clearly states that the pdsolve command accepts a single, or a set, or a list, of time-dependent PDEs in two independent variables. Time is one of the independent variables, so there can be at most one spatial variable. Unfortunately, the situation is the same in Maple 2016.

RJL Maplesoft



In Maple 2016, open a help page and click the rightmost button appearing here under the Help menu. This toggles the examples between typeset input and text input. Not sure how the toggle looks, or where it's located in earlier versions, but the toggle has been available for a number of releases.


If you make the assignment A:=(1,2,3) and then ask Maple what is A, you find that A is just the sequence 1,2,3. In other words, round parentheses are for function evaluation, or for algebraic grouping. The construction (1,2,3) by itself has no meaning in Maple. That's why the Context Menu does not recognize it. It would recognize the sequence 1,2,3, or the set {1,2,3} or the list [1,2,3].

There is a way to trick Maple into including the round parentheses: write A=``(1,2,3) and the Context Menu will provide the option Assign Name. But be careful with this device. At some point either Maple will become confused as to the meaning of the object, or will simply strip the parentheses and treat the object as a sequence.

The equilibrium points of a system such as the one exhibited are solutions of the equations x'=y'=0. In this case, the graphical approach of plots:-implicitplot([sin(x)+y=0,y^2-x=0],x=-5..5,y=-5..5) willl show that the only real solution is (0,0). Alternatively, a bit of algebra leads to sin(y^2)=-y, and a graph of sin(y^2) and -y will suggest the same result.

Analytically, the solve command applied to the equations results in complicated expressions and complex solutions, along with the single real solution (0,0).

Maple has other tools for solving these equations; a proof that there is only one real solution is probably beyond the scope of the original question.

In Maple, stepwise calculations are available for a limited number of operations. They include


Differentiation - use the Differentiation Methods tutor in the Student Calculus1 package

Limit              - use the Limit Methods tutor in the Student Calculus1 package

Integration     - use the Limit Methods tutor in the Student Calculus1 package

Solving a single linear equation - Use the LinearSolveSteps command in the Student Basics package

Expand a product of polynomials - Use the ExpandSteps command in the Student Basics package

Solving a linear or quadratic equation - Use the Equation Manipulator (Assistant) launched from the Context Menu

Finding eigenvalues - use the Eigenvalues tutor in the Student LinearAlgebra package

Finding eigenvectors - use the Eigenvectors tutor in the Student Linear Algebra package

Gauss reduction of a matrix to an upper triangular form - use the Gaussian Elimination tutor in Student LinearAlgebra, or load this package and use the Context Menu options Elementary Operations

Gauss reduction of a matrix to reduced row-echelon form - use the Gauss-Jordan Elimination tutor in Student LinearAlgebra, or load this package and use the Context Menu options Elementary Operations

Invert a matrix - use the Matrix Inverse tutor in Student LinearAlgebra, or load this package and use the Context Menu options Elementary Operations

Obtain an implicit derivative - Use one of three Task Templates in Calculus-Differential/Derivatives/Implicit Differentiation

For most calculations in mathematics, what Maple does "under the hood" is not, in general, useful for the student to experience. Maple commands are coded to produce results, not steps. On the other hand, Maple is robust enough that the individual steps in most calculations can be requested of Maple and assembled to represent a typical "by hands" solution of most problems.

Look at the examples in the "Teaching Concepts" section on the Maple web site. Here, you will find some 150+ examples of how to implement standard calculations in math, from precalculus, through calculus, linear algebra, differential equations, and vector calculus.

In addition, look at the ebook study guides for Calculus and Multivariate Calculus where hundreds of examples in these subjects are presented in a format that begins with a high-level Maple solution, followed by a stepwise solution in which Maple is induced to implement each of the requisite steps.

This two-step approach to using Maple in engineering mathematics can be seen in the Advanced Engineering Mathematics with Maple ebook. For a glimpse of how Maple can be used to augment insight and understanding in some engineering math examples, look at the recorded AEM webinar where six (out of 273) sections in the ebook are demonstrated.

Feel free to contact me if you want details on any of these options.


RJL Maplesoft

At first, the word "contour" had me pretty confused because I associate it with a curve on a surface. No surface was given, so what "contour" could the OP have meant. Eventually, I realized that the OP probably wanted to see the field arrows emanating from the plane z=0.

Well, early in 2009 I was asked the question "How can a slice of a vector field be graphed?" I answered this in the Maple Reporter's Tips&Techniques article Plotting a Slice of a Vector Field, available in the Maple Application Center here:


In essence, do the following.




There are many options available in the PlotPositionVector command for adjusting the look of the field arrows.

I hope this is what the OP wants.

RJL Maplesoft

Prior to Maple 17, the multivariate limit was an iterated limit taken along the coordinate axes, not a true multivariate limit wherein deleted neighborhoods are used as per the definition of a multivariate limit.

In Maple 17, a new funtionality was added to Maple, the bivariate limit for rational functions. By means of a new algorithm, the bivariate limit of a rational function is returned as if neighborhoods were used, and the limit is no longer just an iterated limit taken along the coordinate axes.

So, if the goal is to take the true bivariate limit as (x,y)->(a,b), then use limit(x-a+y-2,{x=a,y=b}); it will return the true bivariate limit in the plane, provided it is executed in Maple 17 or beyond.

(Recently, the restriction to rational function has been removed, and this version of the bivariate limit will appear in an upcoming version of Maple.)

RJL Maplesoft

From the help page for the ExpandSteps command:

The ExpandSteps command accepts a product of polynomials and displays the steps required to expand the expression.

Sorry, but there is no command in this package, or in Maple, that will show the steps for factoring.

RJL Maplesoft

Here's how I would do it.

In a Document block using typeset math, write the notation you want. For example, form x-hat and hit the Enter key.

Then execute the lprint command with argument a reference to the echoed symbol. It can either be an equation label or the % symbol.

The return of the lprint command shows the underlying Maple code that typeset math uses to create the notation x-hat. Copy and paste that into the code-edit region. Executing the contents of the code-edit region will re-create the x-hat symbol.

There may be other ways to do this, but this is a trick I learned from the Maple developers long ago.

RJL Maplesoft

The output shown for equation b is not what you would get if the input were processed by Maple. In the denominator of the output it appears that ycos has been typed without either a space or an explicit multiplication. It looks like the display assigned to your letter b might have been modified elsewhere and used in the solve command.

Compare your output display with the display obtained by gkolovidis. Similar inputs, but very different outputs.

RJL Maplesoft

To escape the tedium of using textplot, I've moved to the use of the drawing tools (click on Drawing in the plotting tools toolbar). Insert a text region, and in it use typeset math to write math notation. The text region can be moved with the mouse to exactly the right place.

Because a re-execution of the worksheet will not preserve what was written on the graph with the drawing tools, I export the marked-up graph, generally as a PNG file, and then import it back into the worksheet.

This is not a perfect solution, but it has allowed me to write content more quickly than otherwise.

RJL Maplesoft

Check the task template "Tangent Line" in Tools/Tasks/Browse : Calculus-Differential/Applications

RJL Maplesoft

First 8 9 10 11 12 13 14 Last Page 10 of 22