|
As thi s Preface is being written, th e twent ieth century is coming to an end .
Historians may perhaps come to refer to it as the cent ury of information, jus t
as its predecessor is associated with the proce ss of indust rialisation. Successive
technological developments such as the telephone, radio, television , compute rs
and the Internet have had profound effects on th e way we live. We can see pict
ures of the surface of Mars or the early shape of the Universe. Th e conte nts of
a whole shelf-load of library books can be compressed onto an almost weightless
piece of plastic. Billions of people can wat ch the same football mat ch, or
can keep in instant touch with friends around the world without leaving home.
In shor t , massive amounts of informati on can now be sto red, transmitted and
processed, with surprising speed, accuracy and economy.
Of course, these developments do not happen without some theoret ical basis,
and as is so often the case, much of this is provided by mathematics. Many
of t he first mathemat ical advances in this area were made in the mid-twent ieth
cent ury by engineers, often relying on intuition and experience rather th an a
deep th eoretical knowledge to lead them to their discoveries. Soon the mathematicians
, delighted to see new applicat ions for their subject , joined in and
developed the engineers' pr act ical examples into wide-ranging theories, complete
with definitions, theorems and proofs . New branches of mathematics were
created, and several older ones were invigorated by unexpected appli cations:
who could have predicted that erro r-correct ing codes might be based on algebraic
curves over finite fields, or that cryptographic systems might depend on
prim e numbers?
This text is an elementary introduction to information and coding theory. The first part focuses on information theory, covering uniquely decodable and instantaneous codes, Huffman coding, entropy, information channels, and Shannon’s Fundamental Theorem. In the second part, linear algebra is used to construct examples of such codes, such as the Hamming, Hadamard, Golay and Reed-Muller codes. Contains proofs, worked examples, and exercises. |
|