# Why learn to solve differential equations when computers can do it?

I'm getting started learning engineering math. I'm really interested in physics especially quantum mechanics, and I'm coming from a strong CS background.

One question is haunting me.

Why do I need to learn to do complex math operations on paper when most can be done automatically in software like Maple. For instance, as long as I learn the concept and application for how aspects of linear algebra and differential equations work, won't I be able to enter the appropriate info into such a software program and not have to manually do the calculations?

Is the point of math and math classes to learn the big-picture concepts of how to apply mathematical tools or is the point to learn the details to the ground level?

Just to clarify, I'm not trying to offend any mathematicians or to belittle the importance of math. From CS I recognize that knowing the deep details of an algorithm can be useful, but that is equally important to be able to work abstractly. Just trying to get some perspective on how to approach the next few years of study.

• One idea is that if you can find a formula for a general solution, it might provide much more insight into the physics than can be obtained by looking at numerical solutions to isolated problems. For example, it might shed a lot of light on how the qualitative behavior of a physical system depends on various parameters or initial conditions. – littleO Aug 14 '14 at 8:17
• There is no general-purpose algorithm for solving differential equations. Heck, there is no general-purpose algorithm for integration in the first place. So I'm not sure what you mean when you say computers can do it. – user541686 Aug 14 '14 at 9:02
• Why learn anything if someone/something else can do it? – fretty Aug 14 '14 at 15:51
• My eight year old just asked me the same question about adding and subtracting. – Chris Cudmore Aug 14 '14 at 16:08
• My second answer is three fold. Firstly, computers are not magic boxes that tell you the answers to problems, it takes knowledge and understanding to interpret and understand the answers. Secondly, why be lazy and trouble a computer to do something (possibly numerically) when you can do it exactly on paper in minutes? Thirdly what happens when the computer breaks or cannot answer your question? Someone that just pushes buttons would be stuck whereas others might be able to adapt what they know! – fretty Aug 14 '14 at 16:33

Is the point of math and math classes to learn the big-picture concepts of how to apply mathematical tools or is the point to learn the details to the ground level?

I will second Bennett, the point is both. Consider the analogy that learning mathematics and physics is much like constructing maps. First, you will see maps others have created, how details are crafted, norms, what are usual rules, what are the great maps for certain regions. This is the highview.

However, you must be sure these maps are correct. Therefore, you'll go to the places they give you directions to and check if it matches. This is the ground level. You have to make sure you are following instructions correctly, arriving at the same results, be able to walk yourself through the path.

It's the only way you have a firm, solid, sharp knowledge of anything you study. Learning how to switch between the bird's-eye view and sniffing the ground is part of the apprenticeship of anyone in science.

I will end this answer with a quote from Richard Hamming:

The purpose of computing is insight, not numbers.

• Because differential equations are fun! At least I always thought so. Once you have learned how to do it properly, solving equations of all kinds is one of the great pleasures of engineering and maths. It's not a bug, it's a feature. – RedSonja Aug 15 '14 at 7:44
• Assuming I understand your analogy, I don't see why you can't trust the maps to be correct. I presume the map-makers were professionals who were more competent at map-making than I am. To be more concrete, I make errors ~100% of the time when solving finding limits in complex problems, and my boy WolframAlpha makes errors ~0% of the time, so me checking Wolfram's work seems almost worthless. – Kelmikra Oct 17 '15 at 4:21
• @Kyth'Py1k Just because in the cases you have investigated you are completely correct-free and WolframAlpha is error-free does not mean you can trust it blindly. There are plenty of situations where WolframAlpha does not give the right answer nor gives any answer at all. I don't know what those "limits in complex problems" are, but WA has given wrong answers to simple two-variable limits. Complex analysis and special functions are other areas where it screws up. In particular, if you are making errors ~100% of the time you should stop relying on it for a while and learn limits correctly. – Mark Fantini Oct 19 '15 at 12:00
• I've learned limits correctly. I just make silly algebraic mistakes like forgetting minus signs. WA doesn't get every problem right, but I bet WA gets more correct than most knowledgeable people do. If WA doesn't give an answer, some other equation solver probably does, and if none can, then I am doubtful many people could. – Kelmikra Oct 19 '15 at 16:41
• @RedSonja No they are not. – Marko Karbevski Dec 31 '16 at 12:36

Is the point of math and math classes to learn the big-picture concepts of how to apply mathematical tools or is the point to learn the details to the ground level?

Both. One is difficult without the other. How are you going to solve equations that Maple can't solve? How are you going to solve it, exactly or numerically? What's the best way to solve something numerically? How can you simplify the problem to get an approximate answer? How are you going to interpret Maple's output, and any issues you have with its solution? How can you simplify the answer it gives you? What if you are only interested in the problem for a particular set of values/parameters/in a particular range? What happens if a parameter is small? How many solutions are there? Does a solution even exist?

Using a CAS without knowing the background maths behind the problems you're trying to solve is like punching the buttons on a calculator without knowing what numbers are, what the operations mean or what the order of operations might be.

• I think it's worthwhile to play Devil's Advocate here by stating that "is like punching the buttons on a calculator without knowing what numbers are, what the operations mean or what the order of operations might be" is exactly what we all do every day, whether we realize it or not. We eat using silverware manufactured using metallurgical processes which are a mystery to anyone but experts, we proceed forth with commerce subject to legal regulations which most of us have only a vague notion, and we type on computers which compute based on architectures which are a mystery to nearly everyone. – DumpsterDoofus Aug 14 '14 at 19:35
• There is a certain degree of "outsourcing of expertise" which we are all collectively guilty of, and claiming that knowing how to hand-solve differential equations somehow makes us purer and closer to the ground-level is just a drop in the bucket of the grand scheme of how society functions. So the real question that the OP should be asking is not "should I know the explicit inner workings of everything I work with", but rather "when I undertake a high-level task, how much expertise am I willing to outsource to others (including computer systems!) who know more than I do?" – DumpsterDoofus Aug 14 '14 at 19:37
• As for the OP's situation, in certain research areas of quantum mechanics where analytical solutions are nonexistent but which are still computationally tractable, it is very often the case that numerical methods via computer are the only way in which one can make any real progress, and the exact numerical methods themselves are often not even known in complete detail to the people who apply them (think "Gaussian company" by John Pople and various density functional methods, etc.). – DumpsterDoofus Aug 14 '14 at 19:46
• @DumpsterDoofus Your first comment is correct, but the OP's situation is different. Presumably, OP wants to get involved in higher-level physics or applied mathematics. If OP was, say, an English major, then I would answer "Do it for your own enjoyment, or don't," because there wouldn't be too much utility in learning them. Similarly, most of us are not interested in manufacturing silverware, so there is no reason we need to understand their methods of production unless we find it entertaining. – user2258552 Aug 15 '14 at 21:15

Many, many reasons...

1. I was in a number theory program in high school that prohibited calculators. You know how many more things you notice about the theory when you have to find ways to figure out the details yourself? Maybe you have to compute something absurd like $3^{24} (\mod 7)$, but you know what? That's actually really easy once you realize the powers start repeating cyclically. You would never learn this if you let the computer go up 24 powers and spit out the number 1 (which I just calculated in my head).
2. You learn intelligence that you will need everywhere. Try saying "well I usually use a computer to do this" in a job interview. In other words, I'm saying that even employers, often, think so.
3. You will have a hard time solving related problems or even modeling properly with a diffeq if you do not understand how diffeqs work. Say the computer can't just quite solve it; can you reduce it to a problem it can solve? Can you try solving it by hand and see where you get stuck to understand why this is an interesting diffeq?
4. The best way to make sure you understand the high level concepts is by working out a detailed problem of tolerable but significant difficulty. Otherwise you are just cheating yourself that you can understand high level concepts.
5. The details will reveal to you why the high level concepts are important, and you will remember them better. If your theorem has X, Y and Z hypotheses, it may be hard to keep track of this, unless you prove the theorem or solve a problem and explicitly see where you need X, Y and Z hypotheses. Perhaps you can even visualize why you need them, so if a different problem looks different in your head, you will realize you were about to do something illegal.
6. The devil is in the details. When working out the details may be the time you notice you are missing a prerequisite or modeled it wrong. e.g., "At this point in the problem, I would usually move this term here, but that would imply the water is bending upward which isn't happening in my physical problem... did I make a mistake somewhere?"
7. It's interesting. Maybe you won't be that interested in it, but someone else in your class is. Or maybe you will be surprised and find one technique particularly cool, and learn a bit more about that area of diffeq and the physics behind it and for the rest of your life be better at dealing with those kinds of problems. But that person will go on to get a Ph.D. in mathematics, and work for Wolfram and develop Mathematica, so the next generation of professionals will have fewer diffeq's the computer cannot solve.

Without knowing the details of a process, it is extremely difficult to program tools yourself that compute this process. Put more succinctly, without understanding an algorithm, it is nearly impossible to implement the algorithm. This is not nearly its only justification, but I would wager it is the most relevant, given your background.

• +1 Exactly what I would have said. "Who would program the computers?" – michaelb958--GoFundMonica Aug 15 '14 at 2:32

So that someone can teach the computer how to do it better.

(First, read my related answer on Why do we still do symbolic math?)

Unlike mathematicians of long ago, I don't have to look up logarithm tables whenever I need to calculate $\log(24)$. My calculator or computer can do that for me, and that's a great advantage. They are great tools. Likewise, my tools can tell me what $298379187912 / 81238.235$ is, or whether or not $e^9$ is greater than $3^8$.

What these operations have in common is that they are simple, mechanical operations. Solving a differential equation is far more complicated, especially when it comes to PDEs. That doesn't mean computers can't help you solve some of them, but observe that a numerical solution is quite different from an analytical solution, and the latter can provide added information that the numerical solution cannot. There are also still a lot of PDEs that we simply do not know how to solve analytically (yet).

On the whole, computers are stupid, and when faced with a completely different equation, might completely fail to solve it. You, as human, are better than that.

At the simplest level of 'why?' - and a lot of these other answers are very correct - but at the simplest level, so you can do a sanity-check on the result you get back.

For instance. Why learn to do basic math, when calculators are so omnipresent? Well, there was a situation a few years back where the register had gone down, so the cashier was having to add up the amounts 'by hand' using a hand calculator. This one lady further up the line got up to the register and when the cashier added it up, she objected to the amount.

Why? Well, because she could do basic math in her head. The cashier couldn't. So the cashier just kept typing in the quantities, and the same amount came out, so the cashier was just trusting the calculator. Long story short - the battery on the calculator was going and who knows how long it had been spitting out bad data and customers had been getting charged the wrong amount. The manager apologized, batteries were replaced.

Same thing for your Differential Equations. You need to know how DifEQs work so that when you do some little problem somewhere in setting up Maple to solve it for you, and don't realize you have a setting off, and it spits out a very wrong answer ... you know enough to sanity-check the result that Maple gives you.

• Numerical data of more than 3 dimensions are difficult to visualize on screen.
• Our computational power is still limited. But it IS still faster than analytic solving unless you already solved similar problems analytically.
• Floating/fixed-point operations even on 64 bit processors are granular, and can't represent arbitrarily large/small numbers.
• Computers don't know about the domain, or are unable to represent it accurately internally. You won't get Infinity at the edge of your domain, but a very big number instead. Or the other way around.

Please remember that there exists software that can rearrange equation elements in a way to avoid floating point errors, but it's still not mature enough AFAIK.

For what it's worth I think we really should learn the basics with a computer at hand. And this is not the case on any University I've been to.

You're going to need to know how to solve differential equations, especially if you're interested in quantum mechanics. Even some of the most basic examples of potentials used for quantum mechanics make CAS choke.

Examples: Delta potential, finite potential well (a lot easier to use the basic theory of differential equations to get a transcendental equation and use a root finding algorithm), and the quantum harmonic oscillator (look up the ladder operator method, really cool way of looking at problems like this).

All of these will be found in a basic upper division quantum mechanics class.

The whole point is by understanding the basic theory, when you find these problems that can't be solved well by a computer, you'll know how to turn the problem into a form that can be solved.

Quantum Mechanics problems cannot yet be solved automatically on the computer. We're not even close to that point. There are many computational theories and approximations, but no canned program that can reliably give you solutions to a wide range of Quantum problems. Not even narrow ranges of problems can be solved so easily at this point. Maybe you'll be someone who makes significant contributions to computing, but you won't get there in Quantum Mechanics without knowing a tremendous amount of theory; this is because intuition in Quantum doesn't come from personal experience so much as it does through Math.

The computer architecture was designed by one of the most brilliant Mathematicians of the 20th century specifically to tackle non-linear problems, and the basic architecture hasn't significantly changed since. Great strides have been made in solving non-linear problems, but much of Quantum remains an enigma. By the way, it was this same Mathematician who invented the computer architecture who proposed the rigorous Mathematical framework for Quantum Mechanics that we still use today.

If you're interested in research, you'll have one type of career. If you interested in using existing tools to solve problems, you'll have another type of career. Each is equally valid, and it comes down to personal preference, talent, temperament, resources, etc.. Significant advances can be found in any field, but not usually by those who end up doing something they really don't like.

• Who are you talking about exactly? – Bennett Gardiner Aug 14 '14 at 11:50
• @BennettGardiner : en.wikipedia.org/wiki/John_von_Neumann – Disintegrating By Parts Aug 14 '14 at 13:36
• +1 because I know who you are talking about and I think this summarize the situation accurately (at least up to end of last century, no idea what happens now) – achille hui Aug 14 '14 at 13:47

Even computers can solve differential equations, they are not almighty. User must now, what is differential equation, if solution exists, if solution is unique. Conditions for unique solution. User must now what means initial condition, boundary condition. So if user wants to find solution of DE he necessary need good knowledge of theory of DE. Moreover, most of DE are solved numericaly, so user need also good knowledge of linear algebra. Unfortunately there is no blackbox, where on input is DE and output is solution.

There are many things that you will learn in school that will seem to be irrelevant. You need to know how to do certain things because it gives you a proper foundation for your field. These things will help train your brain for the unknowns that you will encounter later in life.

As an analogy, think about an athlete's training. Boxers often run miles and footballers perform high kicks. They are not actually going to use those activities directly in the ring or on the field. However, they will have built up their endurance, strength, and agility.

While studying differential equations, you may never realize that it is important for areas as disparate as fluid dynamics, robotics, or audio processing. A 200 years ago, engineers knew that differential equations were important for fluid dynamics, but robotics didn't exist, and audio processing was unimaginable. I do not know what the future will bring, but I am sure that my mathematical foundation will help.

Differential equations are among the more important computer applications. You need to have a basic understanding of the theory in order to "get" the applications.

So you need to understand them if you want to maintain your strong computer science background.

Just wanted to add something more relevant to the application of these answers to engineering in particular.

You learn things by hand and the "long" (usually more fundamental) way so that you can more easily check to see if the answer from a shortcut or program is reasonable. What if there was an error in Maple? Why should you trust that answer more than your own brain? It quickly allows you to tell the difference between a solution that looks correct and a solution that you (after having done a few similar problems the long way) know can't possibly be correct.

One issue is that you have to communicate your problem to the computer, before it can "automatically" solve it. Even if the computer understands the communicated problem, the actual form of the reported solution or whether any solution at all is reported can depend on "irrelevant" minor details. Here is an excerpt from a question about my most recent issue of this form:

I "suspect" that $\mathcal{F}\{(1-r^2)^n\operatorname{circ}(r)\}(\rho)=\frac{n!J_{n+1}(2\pi\rho)}{\pi^n\rho^{n+1}}$.

...

I tried to tell Wolfram Alpha that I want to know the 2d radially symmetric Fourier transform of $\operatorname{circ}(r)$, but it neither understands "$\operatorname{circ}$" nor "2d Fourier transform". Finally I wrote

The first query gave the correct answer $\frac{J_1(2\pi r)}{r}$, but the second gave a cryptic $\pi{}_0\tilde{F}_1(;3;-\pi^2r^2)$. But

where I omitted the $2\pi$ factors, gave the helpful answer $\frac{8J_3(r)}{r^3}$.

Note that the only answer to this question proposes a way to communicate this problem to the computer in a "more direct less preprocessed" way, with the result that the computer doesn't generate any answer at all.