L-functions L-functions are certain complex-valued functions that can be associated to arithmetic objects, such as algebraic varieties over number fields. The best known example of an L-function is the Riemann zeta function. Our interest in L-functions centres on their extraordinary capacity for reflecting the fine algebraic structure of the objects to which they are associated. A basic example of this is the analytic class number formula, which relates arithmetic invariants of number fields to values of L-functions. An important direction of current research concerns far-reaching conjectures that vastly generalise this formula, linking fundamental questions in number theory to properties of L-functions and their p-adic valued analogues.