Advertisement

MuPAD-Objekte

  • Christopher Creutzig
  • Kai Gehrs
  • Walter Oevel

Zusammenfassung

Nachdem wir in Kapitel 2 den Umgang mit MuPAD-Objekten wie Zahlen, symbolischen Ausdrücken, Abbildungen oder Matrizen exemplarisch vorgestellt haben, wenden wir uns diesen Objekten nun systematischer zu.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ein einfaches Beispiel ist in der „Demonstration II“ zu finden, zu der man auf Windows-Systemen durch Wählen von Einführungen“ im „Hilfe“-Menü des MuPAD-Fensters gelangt.Detaillierte Informationen erhält man in[Dre 02]Google Scholar
  2. 2.
    Dieses Model list eine Annäher an interne Arbeitsweise MuPADs, es gibt jedoch Ausnahmen. So können z.B.rationale Zahlen mit op zerlegt warden, warden jedoch Ausnahmen. So können Zeichenketten nicht mit op zerlegt warden, trotzdem kann man auf die einzelnen Zeichen zugreifen(Abschnitt4.11)Google Scholar
  3. 3.
    Bemerkenswerterweise gilt fü MuPAD, dass eigentlichen Funktionsaufrufen (z.B. sin(0.2), Zuweisungen oder Arithmetik-Operationen auch Konstruk (Kapitel) vom Kern als Funktionsauswertungen behandelt warden.Google Scholar
  4. 4.
    Das Objekt xmodp wird intern in den Funktionsaufruf _mod(x, p) umgewandelt. Definiert man die Funktion _mod z. B. durch _mod :=modp um, soändert sich das Ergebnis des Aufrufs xmodp entsprechend. Kandidaten zur Umdefinition von _mod sind die Systemfunktionen modp und mods, deren Funktionalität auf den entsprechenden Hilfeseiten beschrieben ist.Google Scholar
  5. 5.
    Man beachte, dass der Folgenbezeichner F als Argument an op zuübergeben ist. Ein direkter Aufruf der Form op(a, b, c, d, e, 2) wird von der op-Funktion als (unzulässiger) Aufruf mit 6 Argumenten interpretiert und führt zu einer Fehlermeldung. Durch Verwendung zusätzlicher Klammern kann dieser Fehler vermieden werden: op((a, b, c, d, e), 2).Google Scholar
  6. 6.
    Man beachte das unterschiedliche Verhalten von contains bei Listen: Dort ist die Reihenfolge der Elemente bei der Erzeugung festgelegt, und contains liefert die Position des Elementes in der Liste.Google Scholar
  7. 7.
    Natürlich können Gleitpunkt-Approximationen verglichen werden: bool (3 = float(PI)) liefert TRUE.Google Scholar
  8. 8.
    Bis MuPAD 2.5 begann die Zkählung in Zeichenketten bei 0, im Gegensatz zu anderen ObjektenGoogle Scholar
  9. 9.
    Dies ist relevant, wenn man mehrdeutige Funktionen wie z. B. um x = 0 entwickelt. Hierzu muss statt taylor die Funktion series benutzt werden. Der Taylor-Entwickler ruft intern auch series aufGoogle Scholar
  10. 10.
    Dom: :Real entspricht dabei symbolischen Darstellungen reeller Zahlen, während Dom: :Float den Gleitpunktzahlen entspricht.Google Scholar
  11. 11.
    Sollen nur einige Modulo-Operationen durchgeföhrt werden, so ist oft die Benutzung des im MuPAD-Kern implementierten schnellen Operators mod gönstiger. Dabei sind aber Feinheiten zu beachten. Beispielsweise dauert die Berechnung von 17–29999 mod 7 recht lange, da als erstes eine sehr große ganze Zahl berechnet wird. In diesem Fall ist die Berechnung durch x-29999 mit x:= Dom: : IntegerMod(7) (17) schneller, da intern in der modularen Arithmetik keine großen Zahlen anfallen. Mit powermod(17,29999,7) kann das Ergebnis mit Hilfe der speziellen Funktion powermod aber auch ohne Benutzung von Dom: :IntegerMod(7) schnell berechnet werden.Google Scholar
  12. 12.
    Streng genommen handelt es sich hierbei nicht uni einen Körper, da es beispielsweise voneinander verschiedene Null-Elemente gibt. Es ist für das Arbeiten mit dem System aber von Vorteil, hier die mathematische Strenge nicht zu weit zu treiben.Google Scholar
  13. 13.
    Mit MuPAD Version 3.0 wurde die interne Darstellung von Matrizen dieses Typs umgestellt. Ein Matrixobjekt vom Typ Dom: :Matrix (R) in Version 3.0 entspricht einer Matrix vom Typ Dom: :SparseMatrix(R) in Version 2.5. Matrizen vorn Typ Dom: :Matrix(R) in Version 2.5 existieren immer noch und können mittels Dom: :DenseMatrix(R) in Version 3.0 erzeugt werden.Google Scholar
  14. 14.
    Nach dem Exportieren (Abschnitt 3.2) der Bibliothek Dom mittels export (Dom) kann man kürzer Erzeuger:=Matrix(Rational) eingebenGoogle Scholar
  15. 15.
    Vgl.Seite 90.Google Scholar
  16. 16.
    nom(A,1) liefert die Spaltensummennorm, norm(A, Frobenius) die FrobeniusNorm(\({\left( {\sum\limits_{i,j} {{{\left| {Aij} \right|}^2}} } \right)^{{\raise0.7ex\hbox{$1$} \!\mathord{\left/ {\vphantom {1 2}}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{$2$}}}}\).Google Scholar
  17. 17.
    Zur allgemeinen Organisation von Bibliotheken, dern Exportieren, etc. verweisen wir auf Kapitel 3.Google Scholar
  18. 18.
    Dieser Koeffizientenring hätte auch in der Form poly(4*x+11, [x] , IntMod(3)) übergeben werden können, wobei als Repräsentanten der ganzen Zahlen modulo 3 nicht wie bei Dom: : IntegerMod(3) die Zahlen 0,1,2, sondern -1, 0,1 benutzt werden. Die Arithmetik ist bei Benutzung von IntMod(3) schneller.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Christopher Creutzig
    • 1
  • Kai Gehrs
    • 1
  • Walter Oevel
    • 2
  1. 1.Fakultät EIM-MUniversität PaderbornPaderbornDeutschland
  2. 2.SciFace Software GmbH & Co.KGPaderbornDeutschland

Personalised recommendations