|
11.7.1 Komplexe Arithmetik
Die Numerik mit komplexen Zahlen findet bedeutende Anwendungen in den Bereichen
Strömungen in Flüssigkeiten, Strömungen an Tragflächen und
der Analyse von Schaltkreisen. Ein ebenso bedeutendes wie bekanntes Beispiel aus
der komplexen Analysis sei ebenso erwähnt: Jedes Polynom P vom Grad n besitzt
genau n (eventuell mehrfache) Nullstellen, d. h. P läßt sich als Produkt
folgendermaßen darstellen: wobei die Zahlen x1 bis xn als Nullstellen bezeichnet
werden. Diese Bezeichnung rührt daher, daß, wenn für die Variable
x eine dieser Zahlen eingesetzt wird, einer (oder mehrere) der Ausdrücke
(x - x i) zu Null wird und damit auch das ganze Produkt. In der reellen Analysis
kann dieser mathematische Satz nicht bewiesen werden. In einem Beispielprogramm
werden die Nullstellen eines Polynoms vom Grade 2 ausgerechnet.
Hier werden vier generische Pakete zur Numerik vorgestellt:
- Generic_Complex_Types
Dieses Paket enthält eine Typdeklaration der komplexen Zahlen samt einer
Vielzahl von Operatoren, um komplexe Zahlen zu addieren oder zu subtrahieren,
wie auch Operatoren, um Gleitpunktzahlen mit komplexen Zahlen zu verknüpfen.
- Generic_Complex_Elementary_Functions
Dieses Paket enthält elementare Funktionen, die als Eingabe- und Rückgabewert
komplexe Zahlen akzeptieren, wie die Quadratwurzel- oder die Sinusfunktion.
- Text_IO.Complex_IO
Dieses Paket enthält Routinen, um komplexe Zahlen in (aus) Dateien zu schreiben
(lesen), sowie komplexe Zahlen in (aus) Zeichenketten zu wandeln (berechnen).
- Wide_Text_IO.Complex_IO
Dieses Paket enthält zu "Text_IO.Complex_IO" identische Routinen,
nur mit dem Unterschied, daß der Zeichenkettentyp "String" durch
"Wide_String" ersetzt ist.
Die ersten beiden generischen Pakete sind Kindpakete des Pakets "Ada.Numerics".
|