Funktionen
- Exactly one output for each inputnoch nicht geprüft
- Dirichlet's rule that needs no formulanoch nicht geprüft
- Composition, inverse, injective, surjective, bijectivenoch nicht geprüft
- Every dependency between quantities is a functionnoch nicht geprüft
Den größten Teil ihrer Geschichte hindurch meinte Funktion eine Formel. Newton sprach von Fluenten, Leibniz von Größen, die von einer Variablen abhängen, und in beiden Fällen ging man davon aus, sich die Abhängigkeit mit Arithmetik, Wurzeln und gelegentlich einem Sinus aufschreiben zu lassen. Dann, 1837, gab der deutsche Mathematiker Peter Gustav Lejeune Dirichlet eine Definition, die diese Annahme leise sprengte: eine Funktion, so sein Vorschlag, sei eine Regel, die jedem Element einer Menge genau ein Element einer anderen zuordnet — eine Formel ist nicht nötig. Das Beispiel, das er anführte, war bewusst monströs: eine Funktion, die 1 liefert, wenn die Eingabe rational ist, und 0, wenn sie irrational ist. Kein Ausdruck, kein zeichenbarer Graph — und dennoch eine Funktion. Mit diesem Zug öffnete sich die Tür zum größten Teil der modernen Mathematik.
Eine Funktion ƒ aus einer Menge X (der Definitionsmenge) in eine Menge Y (der Wertemenge) ist formal eine Menge geordneter Paare (x, y), in der jedes x ∈ X genau einmal vorkommt. Die Eindeutigkeitsforderung ist der ganze Gehalt der Definition: jedes x bekommt ein y. Aus diesem Minimum ergibt sich der Rest — Komposition (ƒ ∘ g auf x angewandt heißt ƒ(g(x))), Umkehrfunktion (eine Funktion, die ƒ rückgängig macht, falls eine existiert), Injektivität (verschiedene x landen auf verschiedenen y), Surjektivität (jedes y in der Wertemenge wird getroffen), Bijektivität (beides zugleich, der Fall, in dem eine Umkehrfunktion existiert). Funktionen verschlangen die Mathematik aus einem schlichten Grund: jede Abhängigkeit zwischen Größen ist eine Funktion. Die Position eines Planeten als Funktion der Zeit. Die Wahrscheinlichkeit einer Stichprobe als Funktion des Parameters. Die Ausgabe eines neuronalen Netzes als Funktion der Eingaben. Der Wechsel von Formeln zur abstrakten Abhängigkeit selbst befreite die Mathematik von der Sorge, ob sich die Regel überhaupt aufschreiben ließ. Funktionen höherer Ordnung — Funktionen, die Funktionen als Eingaben nehmen und Funktionen als Ausgaben liefern — wurden zur Grundlage des Lambda-Kalküls (Church, 1930er) und durch ihn zur Grundlage jeder funktionalen Programmiersprache und des größten Teils der theoretischen Informatik. Die tiefe Beobachtung dahinter lautet: hat man die Funktion einmal, ist die Eingabe Datum und die Ausgabe Konsequenz — eine Trennung, die es erlaubt, einen Algorithmus einmal zu schreiben und auf alles anzuwenden, was hineinpasst.