
Italu – An Integral Table Lookup (1967) [pdf] - murkle
https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19680004891.pdf#page=156
======
thechao
The funding project is MAC; that is, the ‘MAC’ in ‘MACSYMA’. The codes are of
historical interest only—it was only a year later that Risch published his
decision procedure. SIN & SAINT are still wonderful bits of software to
explore.

~~~
murkle
Still potentially useful today for small libraries though:
[https://github.com/davidedc/Algebrite/issues/83](https://github.com/davidedc/Algebrite/issues/83)

------
bloodfire
somebody has a summary? :)

~~~
donquichotte
The Abstract is a good summary. I am unsure how useful this is today. We now
have battle tested numerical libraries that use Runge Kutta and similar to
solve ODEs.

Abstract: SIN and SOLDIER are heuristic programs written in LISP which solve
symbolic integration problems. SIN (Symbolic INtegrator) solves inde-finite
integration problems at the difficulty approaching those in the larger
integral tables. SIN contains several more methods than are used in the
previous symbolic integration program SAINT, and solves most of the problems
attempted by SAINT in less than one second. SOLDIER (SOLu-tion of Ordinary
Differential Equations Routine) solves first order, first degree ordinary
differential equations at the level of a good col-lege sophomore and at an
average of about five seconds per problem attempted. [...]

~~~
twic
In some situations, there is a huge performance advantage to symbolic
integration. The symbolic integration is expensive, but once it's done, you
can evaluate integrals of different parameterisations of your function in a
handful of cycles. With numerical integration, you have to spend however many
thousands of cycles it takes for every parameterisation.

If you're evaluating integrals as part of the objective function in an
optimisation over a multidimensional space, then you're going to be doing a
lot of optimisations, and that saving can add up.

~~~
donquichotte
Fair point. The same thing applies to differentiation, where e.g. computing
analytic Jacobians can be useful to save precious CPU cycles in embedded
control systems.

