Dr. T.Sprenger Ubungen zur Vorlesung¨
Ubungsblatt 03¨ COMPUTERALGEBRA I 29.04.2010
Aufgabe 1: (Zahlkonversionen)
Die Mathematica-Funktionen FromCharacterCode[n], ToCharacterCode[s], IntegerDigits[n,b], FromDigits[l,n], BaseForm[n,b] und nˆˆb konvertieren zwischen verschiedenen Alphabeten. Ma- chen Sie sich die Funktionsweise dieser Funktionen klar und l¨osen sie die folgenden Aufgaben.
(a) Vervollst¨andigen Sie folgende Tabelle:
Basis 10 Basis 2 Basis 3 Basis 16 1000
1101101
1201201
ABBA77
(b) Konvertieren Sie mit Hilfe der Funktion Table die Zahl 123410 in das 2er,. . . ,16er-System.
(c) Erzeugen Sie aus der Liste
{21023,22113,21223,21203,21103,100013,21023}
mittels ASCII-Tabelle den zugeh¨origen String.
(d) F¨ullen Sie mit Hilfe der FunktionTablefolgende Tabelle aus, indem Sie eine Tabelle erzeugen, deren Zeilen selbst Listen sind.
Zahl ASCII-Zeichen Hex-Darstellung Bin¨are Darstellung
48 0 3016 1100002
... ... ... ...
95 5F16 10111112
Benutzen Sie Prepend, um die Zeile{“10er”, “Zeichen”, “16er”, “2er”}als ¨Uberschrift vor die Matrix zu h¨angen.
(8 Punkte)
Aufgabe 2: (Strassen-Algorithmus)
Studieren Sie zun¨achst den Strassen-Algorithmus (z.B. http://de.wikipedia.org/wiki/Strassen- Algorithmus).
(a) Erkl¨aren Sie den Vorteil des Strassen-Algorithmus gegen¨uber der blockweisen Matrix- Multiplikation.
(b) Bestimmen Sie die Komplexit¨atK(n) des Strassen-Algorithmus.
(c) Implementieren Sie - ¨ahnlich wie in Sitzung 3.6 (Karatsuba-Algorithmus) - eine Prozedur zur Matrix-Multiplikation nach dem Strassen-Algorithmus. N¨utzliche Befehle zur Implementation sind bspw. Take und ArrayFlatten (bei ¨alteren Mathematica-Versionen SubMatrix und BlockMatrixaus dem PackageLinearAlgebra‘MatrixManipulation‘). Es reicht aus eine Prozedur zu schreiben, die Matrizen der Dimension 2m (m∈N) multipliziert.
(d) Vergleichen Sie anhand eines Beispiels zweier großer Matrizen Ihre Prozedur mit der einge- bauten Matrix-Multiplikation . (Dot-Operator).
(10 Punkte)
Abgabetermin:bis sp¨atestens Donnerstag, 20.05.2010, 08.15 Uhr anmario.albert@gmx.de.