Recently, the Mathcad Team was mulling over a user inquiry about the following integral:

How would you evaluate this integral? It is easy enough by hand if you know the calculus.

Having spent much of my life introducing concepts like integration to middle and high school students, I might think of it this way:

At this point you are probably thinking, why? Why am I reading a Mathcad blog about such a simple integral? Why is the Mathcad team spending time on such a simple integral? Here’s the reason. When one of our users asked Mathcad to evaluate the integral and then expand the result Mathcad returned:

The user was expecting Mathcad to return the same result that I generated above. Obviously, Mathcad’s symbolic solver produced a different result. Puzzled, he emailed to ask us why Mathcad was adding a constant to the result and how it was choosing the constant.

**What is going on here?**

If you are familiar with different integration techniques, you immediately realize that Mathcad is not using term-wise integration. Mathcad’s symbolic engine has chosen to integrate by substitution. Here is Kent Pitman’s explanation:

In this case, the integration facility has chosen to use integration by substitution, not term-wise integration. Work it with a substitution of u = 10x – 3 and you’ll see where the constant comes from.

The workings of the integrator are quite subtle and based on a pattern matching algorithm. The techniques used are designed to be as general as possible so they can be executed by software. What is obvious to a person is not always obvious to software.

–Kent Pitman, Software Development Manager for Mathcad

I followed Kent’s suggestion and here is what I got by performing the integration by substitution:

**Why is this important?**

Although some might differ with my opinion, I think that the case of ∫ 10x – 3 dx is a great example of Mathcad’s flexibility. Mathcad is a tool for thinking, problem solving, and documenting the results of engineering calculations. In this case Mathcad’s WYSIWIG interface enables further exploration and interpretation. Using standard math notation, a user can quickly and easily set up the integral so that Mathcad will use a different integration technique. When we use a computer algebra system like Mathcad’s for symbolics, the thinking does not go away.

This example also reminds us that integration is a process of estimating the area under a curve through the application of rigorous methods. Mathcad is returning two different results from a set of possible integrals, not two different, contradictory answers. The choice of method is important, determining the integral that is returned. In this case, both integrals are correct because they produce the same derivative with respect to x.

In the Mathcad Academic Program we hope that our users will always employ Mathcad in the way that good thinkers use mathematics to solve problems in science and engineering. Here’s a heuristic we often use when talking with teachers and students: Begin with a prediction, employ powerful tools to solve the problem, and interpret and explain the results carefully. Mathcad is an ideal environment to engage these habits.

If you have similar examples where Mathcad symbolics provoke, rather than replace, thinking please send them to me at MathcadEducation@ptc.com. Even better, if you would like to write a guest blog for the Mathcad blog, we are looking for good submissions.

Why does mathcad not provide integration constants?