Brotkrumen-Navigation
Funktionen
Wenn du an einem Getränkeautomat eine Auswahltaste drückst und den dazu passenden Geldbetrag einwirfst, dann erhältst du die gewünschte Flasche, wobei die Beziehung durch die Automatensteuerung elektromechanisch hergestellt wird. Genauso erhältst du aus Zutaten in passender Proportion und Verarbeitung die gewünschte Menge Linsensuppe, wobei das Rezept hier für die Beziehung sorgt. Eine eindeutige Beziehung kann auch durch Kleber hergestellt werden, wenn etwa die Kisten in einem Lager mit unterschiedlich nummerierten Zetteln versehen werden. Anschließend ist es dann kein Problem, die Nummer 42 aus dem Lager anzufordern, um genau die gewünschte Kiste zu erhalten.
Als Pendant zu solchen Beziehungen werden in der Mathematik Funktionen verwendet. Sie verwandeln Objektdarstellungen der Eingabeobjekte in Darstellungen der zugehörigen Ausgabeobjekte und treten dadurch als abstrakte (Beziehungsherstell-) Objekte in Erscheinung. Wie die Verwandlung stattfinden soll, kann dabei mit einer Zuordnungsregel angegeben werden. Als Beispiel betrachten wir die einfache Regel:
Die Funktion \(f\) stellt aus einem Element \(x\) der Menge \(\mathbb R\) das Ergebnis \(x+2\) her.
Charakteristisch ist hier, dass die Funktion \(f\) nicht beliebige Arten von Eingaben verarbeiten kann, sondern dass diese auf die sogenannte Definitionsmenge \(\mathbb R\) eingeschränkt sind. Wendet man die Regel auf ein zulässiges Element an, etwa \(7\), so ergibt sich das Ergebnis zunächst durch stures Ersetzen des Platzhalters \(x\), was auf \(7+2\) führt. Da die Funktion den Namen \(f\) trägt, kann das Ergebnis auch alternativ durch den Auswertungsausdruck \(f(7)\) angesprochen werden, wobei der Eingabeausdruck in einer Klammer hinter dem Funktionsnamen notiert wird (dass das Ergebnis auch durch \(9\) beschrieben werden kann, verlangt dagegen Zusatzwissen in Form der Aussage \(7+2=9\)).
Wie im Fall der Mengen und der Quantoraussagen haben sich für die Angabe der Zuordnungsregeln bei Funktionen spezielle Schreibweisen etabliert. Unser Beispiel sieht in Kurzform so aus:
\(f := \left\{\begin{array}{ccl} \mathbb R & \to & \mathbb R\cr x & \mapsto & x+2\end{array}\right.\)
Hier wird dem Namen \(f\) auf der linken Seite das rechts notierte Funktionsobjekt zugewiesen. Neben den entscheidenden Angaben für die Zuordnungsregel (Definitionsmenge und Ausdruck für den Funktionswert), wird hier zusätzlich rechts vom Pfeil \(\to\) eine sogenannte Zielmenge angegeben. Der Mengenausdruck darf dabei nicht frei gewählt werden, sondern es muss sichergestellt sein, dass alle möglichen Funktionswerte in dieser Menge liegen.
Auch wenn in dieser Notation für Funktionsausdrücke die Mengenebene und die darunterliegende Elementebene schön getrennt sind, ist es aus schreibtechnischen Gründen oft angenehmer, die Information in einer Zeile unterzubringen. In diesem Kurs werden wir deshalb die Schreibweise \([\mathbb R\to\mathbb R; x\mapsto x+2]\) benutzen, die die gleiche Information beinhaltet, aber besonders in den Übungen zu kompakteren Ausdrücken führt. Außerdem verwenden wir eine Schreibvariante, die ohne Angabe der Zielmenge auskommt. Für das vorliegende Beispiel wäre dies \([x\in\mathbb R\mapsto x+2]\) (weitere praxisübliche Funktionsdarstellungen werden im Kapitel Alternative Schreibweisen erwähnt).
Funktionen werden durch Ausdrücke der Form \([A\to B;x\mapsto y_x]\) oder auch \([x\in A\mapsto y_x]\) beschrieben. Hier steht \(x\) für einen beliebigen Platzhalternamen, der im Elementausdruck \(y_x\) verwendet werden darf, während \(A,B\) für Mengenausdrücke stehen. Für die erste Schreibweise muss sichergestellt sein, dass \(y_x\in B\) für jedes Element \(x\) aus \(A\) gilt. Wegen der Klammerung mit \([\,]\) wird der Ausdruck beim Schreiben wie ein geklammerter Ausdruck behandelt.
Wie bereits angedeutet gibt es zu jedem Funktionsobjekt automatisch einige zugehörige Objekte, die mit einer einheitlichen Notation angesprochen werden können. Neben der bereits erwähnten Definitionsmenge und dem Ergebnis zu einer vorgegebenen Eingabe gehört dazu auch die sogenannte Bildmenge als Zusammenfassung aller Funktionswerte. Diese ist zu unterscheiden von der in der Definition angebbaren Zielmenge, da diese auch größer sein kann, was am Beispiel \([\mathbb R\to\mathbb R;x\mapsto x^2]\) deutlich wird. Hier ist die Bildmenge \(\{s\in\mathbb R:s\geq 0\}\), während als Zielmenge \(\mathbb R\) angegeben wurde. Wichtig ist nur, dass die Zielmenge die Bildmenge umfasst.
Auswertungsausdrücke haben die Form \(F(a)\) mit einem beliebigen Ausdruck \(a\) und einem Grundausdruck oder einem geklammerten Ausdruck \(F\). Sie werden insgesamt wie geklammerte Ausdrücke behandelt. Den Ausdruck \(a\) nennt man auch Argumentausdruck.
Steht \(f\) für eine Funktion, dann stehen die Auswertungsausdrücke \(\mathrm{Def}(f)\) und \(\mathrm{Bild}(f)\) für Mengen. Gilt für eine Ausdruck \(x\) die Aussage \(\mathrm{Def}(f)\), dann steht der Auswertungsausdruck \(f(x)\) für ein Element von \(\mathrm{Bild}(f)\).
Steht \(f\) für eine Funktion, dann stehen die Auswertungsausdrücke \(\mathrm{Def}(f)\) und \(\mathrm{Bild}(f)\) für Mengen. Gilt für eine Ausdruck \(x\) die Aussage \(\mathrm{Def}(f)\), dann steht der Auswertungsausdruck \(f(x)\) für ein Element von \(\mathrm{Bild}(f)\).
Eine ganz besondere Rolle spielen die Funktionen, deren Definitionsmenge aus allen natürlichen Zahlen von \(1\) bis zu einem Endwert \(n\) bestehen Sie werden als \(n\)-Tupel bezeichnet.
Steht der Ausdruck \(n\) für eine natürliche Zahl, dann sind \(\mathbb N_{\leq n}\) und \(\{1,\ldots,n\}\) Abkürzungen für die Aussonderungsmenge \(\{m\in\mathbb N: m\leq n\}\).
Anstelle von 2-Tupeln sprechen wir auch von Paaren, statt 3-Tupel sagen wir auch Tripel und 4-Tupel werden als Quadrupel bezeichnet. Gerade für diese Funktionen mit sehr kleinen Definitionsmengen ist es oft unpraktisch, die Zuordnungsvorschrift durch einen platzhalterabhängigen Ausdruck zu beschreiben. Viel einfacher ist es dann, die Funktionswerte zu den Eingabemöglichkeiten \(1,\ldots,n\) direkt hinzuschreiben. Dazu notiert man die Ergebnisse der Reihe nach durch Kommas getrennt und eingeschlossen in runde Klammern. Zum Beispiel steht \((7,11)\) für die gleiche Funktion [1] wie \([\mathbb N_{\leq 2}\to\mathbb{N}; x\mapsto 4\cdot x+3]\), aber der Ausdruck \((7,11)\) beschreibt die Konsequenz der Zuordnung einfach viel prägnanter.
Schreibt man zwei oder mehr Elementausdrücke kommagetrennt nebeneinander und schließt sie in runde Klammern ein, dann entsteht ein Funktionsausdruck, den man auch als Liste oder Tupel bezeichnet. Wegen der Klammerung werden Tupel wie geklammerte Ausdrücke behandelt.
Wenn wir den ersten Eintrag des Paars \(s:=(5,8)\) ansprechen wollen, können wir dies mit dem Auswertungsausdruck \(s(1)\) tun. Gerade bei Tupeln hat sich aber eine alternative Schreibweise etabliert, die du wahrscheinlich bereits aus der Schule kennst. Man setzt dabei das Argument als unteren Index an den Tupelausdruck und spart so die Klammerung. Anstelle von \(s(1)\) können wir also auch \(s_1\) schreiben.
Indizierte Ausdrücke \(B_i\) und \(B^i\) bestehen aus einem Grund- oder Klammerausdruck \(B\) (der Basis) und einen beliebigen Ausdruck \(i\) (dem unteren bzw. oberen Index). Indizierte Ausdrücke werden wie geklammerte Ausdrücke behandelt, es sei denn, sie treten als Basis eines indizierten Ausdrucks auf. Dort müssen sie geklammert werden.
Da Tupel wieder als Einträge anderer Tupel auftreten können, lassen sich komplex verschachtelte Strukturen erzeugen. Ist zum Beispiel \(s\) eine Abkürzung für \((5,8)\) und \(t\) eine Abkürzung für \((4,s)\), dann ist das Tripel \(u:=(s,t,1)\) ausführlich geschrieben von der Form \(((5,8),(4,(5,8)),1)\). Insbesondere kann \(u_2=u(2)=(4,(5,8))\) als Paar erneut ausgewertet werden, wobei \((u_2)_2=u(2)(2)=(5,8)\) wieder ein Paar ist. Erst die dreifache Auswertung \(((u_2)_2)_1=u(2)(2)(1)\) führt auf eine Zahl - in diesem Fall auf \(5\).
Wie immer gilt im Umgang mit solch verschachtelten Ausdrücken, dass eine sehr systematische und sorgfältige Analyse am erfolgreichsten ist. Hektisches Handeln führt dagegen oft zu Fehlern, deren Suche am Ende mehr Zeit in Anspruch nimmt. Bei einer mehrfachen Auswertung wie \(v(4)(12)(2)(1)\) ist es zum Beispiel hilfreich, sich zunächst das Ergebnis \(v(4)\) zu notieren und von diesem Ausdruck dann die
Auswertung an der Stelle \(12\) aufzuschreiben, davon dann den Wert an der Stelle \(2\) usw.
Auswertung an der Stelle \(12\) aufzuschreiben, davon dann den Wert an der Stelle \(2\) usw.
[1] Zwei Funktionen \(f\) und \(g\) sind gleich, wenn sie genau die gleichen Elemente als Eingabe zulassen, also \(\mathrm{Def}(f)=\mathrm{Def}(g)\) und wenn jede zulässige Eingabe bei den Funktionen zu den gleichen Ausgaben führt.