Why aren't all important differential equations solved and codified once and for all?

6.9k Views Asked by At

This is not a number question, and I hope it is on topic.

I always wondered how come, with modern supercomputers, the most important DE, especially the ones that refer to Physics, haven't been patiently solved one by one, and codified for reference, the way a century ago they did with sines, trig values and log tables.

Do you have an answer and an explanation, if the answer is negative?

8

There are 8 best solutions below

0
On

Possible reason #1: trig values and log tables are nicely behaved in the sense that a sampling of values is useful to interpolate between them. DEs on the other hand are not nearly as nicely behaved.

Possible reason #2: trig and log functions yield one single value for any given input. In contrast, solutions to a DE can often be expressed in different forms, which are not always obviously equivalent to one another, and there may be no consensus on which form should be chosen as "reference".

0
On

A good reason is that one couldn't carry tables weighting fifty megatons. (I don't mean paper tables, I mean fifty megatons of blue rays. But actually this figure is well below reality.)

A function such as the sine has a single independent variable, requiring say $10,000$ table entries. A function of two parameters would require $10,000^2$ of them. The solution of a PDE is a function of the independent variable, but also of the equation coefficients and the initial conditions. For instance, a tabulated second order homogeneous PDE could require $10,000^5$ $=100,000,000,000,000,000,000$ entries.

It is wrong to say that all important differential equations haven't been solved and codified. On the opposite, the solution of linear equations with constant coefficients is well established, both in theory and in practice (as it boils down to solving polynomial equations and linear systems).

For several other equation types, an integration procedure is known and can be fed to symbolic computation systems.

The modern way to "tabulate" solutions is by embedding symbolic and numerical computation algorithms in software such as Mathematica and others.

1
On

A large amount of effort has gone into algorithms for finding closed-form solutions to differential equations, and classification of differential equations of various types, and there has been a lot of progress. You don't need a supercomputer though: your average run-of-the-mill computer will do fine. Maple will find solutions of very many of the "important" differential equations that have closed-form solutions. It's a big field, though, and there's still lots of work to be done.

2
On

The Lorenz Attractor is a set of differential equations. It's also chaotic, in the sense that slight perturbations of the initial conditions rapidly diverge to different results.

A pre-calculated "solution" for it is thus meaningless, because a table could only contain finitely many values but you cannot usefully interpolate between them.

This also applies to many real-world fluid dynamics and gravitational systems: no analytic solutions available, only numerical ones, and you have to be aware of the stability and convergence limitations of numerical solutions.

0
On

Several very important differential equations have been solved and codified once for all. Among them,

$$\begin{align}&y'(x)=\ln(10)y(x),&y(0)=1\\ &y'(x)=\frac1{\ln(10)x},&y(1)=0\\ &y''(x)=-\frac{\pi^2}{32400}y(x),&y(0)=1,y'(0)=0\\ &y''(x)=-\frac{\pi^2}{32400}y(x),&y(0)= 0,y'(0)=\frac\pi{180}.\end{align}$$

0
On

You do not need a supercomputer to solve most differential equations numerically. For instance, I use Maple (computer algebra software) a fair bit, and it has a very decent numerical solver that can deal with a wide class of differential equations and provide numerical solutions with relative ease. (A good thing, too, because as others pointed out, tabulating the solution of even a simple differential equation is just not practical, given the large number of combinations of the independent variable(s) and initial/boundary condition(s).)

However... most of the time I'm not interested in numerical solutions. I don't want to calculate a specific case. I may not even know what the right initial/boundary conditions are for a specific case (and without initial/boundary conditions, you don't know which of the infinitely many numerical solutions to choose from.)

Rather, I want to find a symbolic, formal solution that tells me how quantities relate to one another in general.

By way of example, suppose that the equation in question is Poisson's equation for gravity, which is a system of second-order partial differential equations in three dimensions: $\nabla^2\phi({\mathbf r}) = 4\pi G\rho({\mathbf r})$, where $\phi({\mathbf r})$ is Newton's gravitational potential and $\rho({\mathbf r})$ is the matter density, both functions of the position vector ${\mathbf r}$. Given $\rho({\mathbf r})$, I can numerically solve for $\phi({\mathbf r})$. But this gives me no insight.

If, however, I learn how to solve such equations in general through Green's functions, I arrive at an explicit solution in the form, $\phi({\mathbf r})=-\int_Vd^3{\mathbf r}' \rho({\mathbf r}')/|{\mathbf r}-{\mathbf r}'|$. Moreover, if I substitute a point mass in the form of a delta function, $\rho({\mathbf r})=M\delta^3({\mathbf r}-{\mathbf r}_0)$, I get $\phi({\mathbf r})=-GM/|{\mathbf r}-{\mathbf r}_0|$, which tells me something I could not get from a numerical solution alone: that the potential is inversely proportional to the distance from the source.

In short, an analytic solution to differential equations allows me to understand relationships between quantities; in contrast, a numerical solution only allows me to calculate them.

And by the way, there are thick tomes, including Abramowitz and Stegun, that contain analytic solutions to many important classes of differential equations. In fact, modern computer algebra systems that can solve differential equations symbolically, not just numerically, do not deduce these solutions from scratch; rather, they contain rule sets that are derived from the literature.

0
On

One big difference between sin and log tables and a differential equation is that there are a very powerful set of tools to manipulate sines and logarithms to reduce the complexity. For example, you only need to have the logarithm table for a single base because there's a conversion function $log_b(x) = \frac{log(x)}{log(b)}$. You also don't need to make the tables infinitely big, because $log(10x) = log(x) + 1$ and $sin(2\pi + x) = sin(x)$. In differential equations, it's much harder to turn equations into some "canonical form."

We do, of course, do this. But we do it symbolically and for special cases. We create series' of functions like the Bessel functions to capture this.

In reality, the numeric solution to an individual differential equation has very little use in the applications that we actually want to use differential equations for. For example, in aerospace, control loops are a big deal. They are governed by differential equations. An important aspect of these control loops is called the "region of stability," where the control loop will actually maintain control of the vehicle without oscillating out of control. In these situations, we actually don't know what the initial state is going to be -- the whole point of a control loop is to remove the unknowns. Accordingly, we do a lot of symbolic manipulation to transform the differential equation into a form that permits us to do stability analysis. Sadly, this form does not look like a table.

0
On

There are many possible ways to answer this question, and I recommend perusing all of the answers given.

My own take is this: You are correct that people used to work with tables for sin, log etc. But now we don't, and neither do computers. A computer doesn't store a table of values for a function like sin; rather it computes on the spot any value it needs.

Why do you think that is?

The reason is space-time tradeoff. Sure, having a ready-made table could save us some computation time. But it will take up a lot of space - space which could have been used for something more productive.

If the table is precise enough, it can easily be so large it doesn't fit in memory. You'll have to store it on a hard drive, and access it every time you need to find a value for the function. I/O access can easily take a million times longer than just computing the damn thing, so not only you've wasted space, you end up with slower computation.

For many types of computation, using a lookup table wisely can greatly increase performance without requiring a lot of storage. But storing a table of values for a function like sin is not an example of wise usage.

The problem is orders of magnitude worse for storing numerical solutions to differential equations. You don't have a function of one variable, but of several - you need to store values for every combination of boundary values, coefficients, and the values of actual variables (the equation can be partial and have more than one variables). If you have 5 parameters, a million possibilities per parameter becomes a nonillion entries and millions of yottabytes of data. The parameters aren't necessarily bounded because you don't have neat periodic behavior like sin, the solutions may need to be even more precise, there could be chaotic behavior, and no matter how precise the table is, there will always be a case that you need even more precision for a specific application. For a PDE, the boundary condition isn't even a finite set of numbers but a function, and you'll want a solution for each possibility.

So the necessary conclusion is - if you want a numerical solution for a differential equation, it is much, much easier to simply compute it on the spot with the specific parameters you need.