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

15.9k Views Asked by At

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.

15

There are 15 best solutions below

5
On BEST ANSWER

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.

1
On

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.

4
On

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.

0
On

(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.

0
On
  • 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.

3
On

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.

0
On

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.

0
On

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.

0
On

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.

0
On

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.

0
On

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.
0
On

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

0
On

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.

0
On

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.

0
On

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.