an introduction to
(IEEE) floating-point data representation and arithmetic;

illustrations of how naïve implementations of obvious mathematics can go badly wrong;

a study of several standard numerical processes, algorithms and techniques.

An overall implicit aim is to encourage caution when using any
floating-point value produced by a computer program. A variety of code
fragments are provided and most are available in multiple languages.
Students are strongly encouraged to experiment with these fragments.

(Changes from last year: One fewer topics will be lectured. A full-text Learners’ Guide PDF will be available as well as slide hardcopies.)

Integer and floating-point representation and arithmetic.
Signed and unsigned integers and fixed-point; arithmetic, saturating arithmetic.
Long division and multiplication.
Floating point I/O in ASCII.
What numbers are exactly representable in bases 2 and 10.
Accuracy in terms of significant figures.

Efficient and Approximate Implementations
A subset of the following topics will we be lectured/examinable as announced on the website:
Chebychev orthogonal basis (for power series economisation)
Practical implementation of scientific (trig/log) functions.
Splines. Comparison of Taylor, Chebychev and Cordic.

Finite-Difference Time-Domain Simulation.
Numerical simulation of SHM, charge/discharge, waves and other various examples (such as a Moniac Simulator).

Fluid Flow Analysis. Using a matrix representation
of a linear flow circuit (water, electricity etc) to find steady
state. Extensions for non-linear and time-varying branches (as used by SPICE).

Adaptive Methods and Custom Encodings
A subset of the following topics will we be lectured/examinable as announced on the website:
Arbitrary precision floating point, adaptive floating point, interval arithmetic.
Rounding errors in PCM. Logarithmic and other non-linear representations. Their use in a-posteriori decision algorithms.
Eg for rapid multiplication in Viterbi/Bayes and specialist ALUs (e.g. for low-density parity).
Simulated Annealing. Non-linear spatial quantisation.