2805 Reputation

14 Badges

17 years, 248 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

The ordinary technique of separating variables will not work on this BVP because the Neumann BCs are not homogeneous. You will not get a solution via the technique you are using. The ordinary method for solving this problem requires introducing a perturbation that replaces the nonhomogeneity in the BCs with an inhomogeneity in the PDE. There's an example in my AEM ebook, and I'm sure you can find similar examples in the internet. But be prepared to do a lot of work if you want an explicit (analytic) solution.


Given that Maple can use I in its represention of the real solutions of a cubic equation, simply removing anything with I might not be optimal. Floating the solutions can result in small imaginary parts, again causing a failure of the "remove I" approach. For example, the cubic x^3+7*x^2-5*x-12 has three real solutions but Maple represents them with I. Applying evalf results in numbers with a small imaginary part. For this particular cubic, using the solve command in the RealDomain package gives the three solutions as real numbers and without I. Without access to the OP's seq of equations, it's hard to say more.

@mathiaszip Round brackets (parentheses) are used for all mathematical operations. Square brackets denote a list. Curley braces (i.e., {...}) denote a set. A list can contain multiple copies of an object, and preserves the order of its objects. A set will not contain multiple copies of an object, and will not preserve the order of the objects. Is this enough of a hint?

@tsunamiBTP Type "Fourier series" in the search box in the upper-right portion of the MaplePrimes window. A list of relevant links will be generated. Follow the appropriate links to learn about the various packages that users have created for Fourier series.


It seems that the second derivatives are approximated with central differences, but the first derivative is approximated with a forward difference. I changed that to a central difference, and the case where I couldn't get a solution (nX=nY=8) now solves.

When I examined that case for nX=Ny=3, where I could reduce the equations to two in two unknowns, and obtain an implicitplot, now the curves intersect. However, there are multiple intersections, so determining programmatically which of the many possible solutions are the right ones will be difficult.

But it would appear that using two different types of differences for the derivatives was not appropriate.


Tried nX=nY=4..7 and got solutions in each case. At 8, fsolve returns unevaluated. But at 7, the solution takes a bit of time. So, the issue seems to be in Maple's ability to solve the set of equations generated in the worksheet. The equations are nonlinear, so at some point fsolve probably needs some help determining where to look for solutions.


eliminate(newEqs,[U[1,1],U[2,1]]); reduces the system to two equations in two unknowns. Then, an implicitplot shows the curves defined by these two equations do not intersect. So you are probably right about there being something wrong with the original equations.


I think your use of % gives the desired result, but that's not the & mentioned in your text. But your code seems to be the simplest way to obtain the desired result.


As far as I can tell, you have a first order ODE but you are applying two boundary conditions.

Maple can provide a general solution to the ODE itself. It contains only one constant, so you can't apply both boundary conditions, unless what appears to be "A" on the right-hand side is a second parameter that can be adjusted. Unfortunately, my experiments with this approach seem to indicate that the problem (as I've interpreted it) has no solution.

By the way, it is not true that dsolve only handles initial-value problems. It will also solve boundary-value problems as well.

Finally, rather than post an image of your work, post a worksheet containing this work by using the green "up-arrow" in the MaplelPrimes toolbar.



I just installed the .3 update to Maple 2017 and noted that the glitch exhibited by vv persists in the updated version.


I don't know if both packages can exist simultaneously in Maple. There may be clashes that lurk beneath the surface. These packages are not maintained by Maplesoft, so there's no guarantee that they are compatible. Perhaps someone with greater coding skills might be able to give a more definitive answer.


If you define f(t) on [0,2*Pi], but integrate or call some Fourier Series command on [-Pi,Pi], you are bound to have discrepancies in the results. You need to use the domain over which f(t) is defined.


If you use the plot command, add in the option "discont=true" so that Maple finds the discontinuity and does not connect the dots across the jump.

If you use the Plot Builder launched from the Context Menu, look for the Option "find discontinuities"


I don't recall if the OrthogonalExpansions package provides code for creating the periodic extension of a function defined on an interval, but you can find it in Example 3 of the first worksheet in the series of 4 that I mentioned earlier.


The extension can be defined in one line of code using the floor command as the greatest-integer function.

@vv Apparently, I didn't make myself clear. Let me try again: use the input style that is appropriate for the task at hand.

5 6 7 8 9 10 11 Last Page 7 of 18