Vorlesung 16.11.2012 Inhaltsverzeichnis. Einfache Rechnungen



Ähnliche Dokumente
Vorlesung Inhaltsverzeichnis. Einfache Rechnungen

Vorlesung Inhaltsverzeichnis. 1. Einfache Rechnungen

Vorlesung Inhaltsverzeichnis. 1. Einfache Rechnungen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

7 Rechnen mit Polynomen

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Computerarithmetik ( )

3.1. Die komplexen Zahlen

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

Sage 2: Formales Rechnen, Gleichungen, 3. Polynome. Inhaltsverzeichnis. Rechnen mit formalen Ausdrücken

Binäre Gleitkommazahlen

Grundbegriffe der Informatik

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Kostenstellen verwalten. Tipps & Tricks

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Sage2 Inhaltsverzeichnis. Rechnen mit formalen Ausdrücken

Einführung in. Logische Schaltungen

Gleitkommaarithmetik und Pivotsuche bei Gauß-Elimination. Lehrstuhl für Angewandte Mathematik Wintersemester 2009/

Zeichen bei Zahlen entschlüsseln

Vorkurs Mathematik Übungen zu Polynomgleichungen

Grundlagen der Informatik

Zahlensysteme. von Christian Bartl

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Musterlösungen zur Linearen Algebra II Blatt 5

Repetitionsaufgaben Wurzelgleichungen

1 Mathematische Grundlagen

Was meinen die Leute eigentlich mit: Grexit?

Zahlensysteme Seite -1- Zahlensysteme

Anwendungsbeispiele Buchhaltung

Der Zwei-Quadrate-Satz von Fermat

Informationsblatt Induktionsbeweis

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Einführung in die Java- Programmierung

Einführung in die Algebra

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Rechnung Angebot Zeiterfassung

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Lehrer: Einschreibemethoden

Version 0.3. Installation von MinGW und Eclipse CDT

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Arbeitsschritte EAÜ Leistungserbringer Einnahmen erfassen

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: :: WINTERSEMESTER 08 09

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

Die Invaliden-Versicherung ändert sich

nessbase Projekte Über Projekte I

Was ist Sozial-Raum-Orientierung?

Herr Müller möchte anderen Menschen helfen. Er bekommt kein Geld für diese Arbeit. Aber die Arbeit macht ihm Freude.

Was ich als Bürgermeister für Lübbecke tun möchte

DHBW Karlsruhe, Vorlesung Programmieren, Klassen (2)

Eigenen Farbverlauf erstellen

DIE SUCHFUNKTION VON WINDOWS 7

6.2 Scan-Konvertierung (Scan Conversion)

EMIS - Langzeitmessung

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Zwischenablage (Bilder, Texte,...)

Umgekehrte Kurvendiskussion

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Objektorientierte Programmierung. Kapitel 12: Interfaces

Tevalo Handbuch v 1.1 vom

Professionelle Seminare im Bereich MS-Office

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Vertreterabrechnung DdD Cowis backoffice

Lineare Gleichungssysteme

DIFFERENTIALGLEICHUNGEN

Leichte-Sprache-Bilder

Nicht über uns ohne uns

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Updatehinweise für die Version forma 5.5.5

Fotos verkleinern mit Paint

Analysis I für Studierende der Ingenieurwissenschaften

Erklärung zum Internet-Bestellschein

teischl.com Software Design & Services e.u. office@teischl.com

Codierungsverfahren SS Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

Um das Versenden von Anhängen an s zu ermöglichen, wurde der Assistent für die Kommunikation leicht überarbeitet und wo nötig verbessert.

Eine Logikschaltung zur Addition zweier Zahlen

Theoretische Grundlagen der Informatik WS 09/10

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

2.1 Briefkopf Klicken Sie im Menü Einstellungen auf den Button Briefkopf. Folgendes Formular öffnet sich:

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Zahlensysteme: Oktal- und Hexadezimalsystem

Sage2 Inhaltsverzeichnis. 1. Rechnen mit formalen Ausdrücken

Technische Informatik - Eine Einführung

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Transkript:

Vorlesung 16.11.01 Inhaltsverzeichnis 1.. 3. 4. 5. 6. Einfache Rechnungen Hilfe! Gleitkommazahlen Formales Rechnen Polynome Endliche Körper Einfache Rechnungen Sage kann alles was ein Taschenrechner kann, und das entweder mit Gleitkommazahlen beliebiger Genauigkeit oder exakt mit ganzen Zahlen, Brüchen und "formalen Ausdrücken". Die Auswertung einer Eingabe erfolgt mit Shift+Enter. 1+1 (*3+5)/ ^10 ^100 11/ 104 1676506008940149670305376 1/6 + 7/13 55/78 sqrt(4) Wenn nicht explizit gewünscht, werden irrationale Zahlen nicht ausgewertet, sondern symbolisch weitergeführt. sqrt() sqrt() und zwar so, daß soweit wie möglich die Rechenregeln erhalten bleiben; (allerdings nicht uneingeschränkt, weil bewiesen werden kann, daß es keinen Algorithmus gibt, der jeden Ausdruck zu einer eindeutigen "Normalform" vereinfachen kann). sqrt()^ 1 of 9 01-11-6 09:33

Intern werden Irrationalzahlen anders behandelt als Rationalzahlen oder ganze Zahlen. Sage ist wie Python objektorientiert und jedes Objekt gehört einem eindeutig definierten Typ an, der die notwendigen Operationen bereitstellt. Den Typ kann man sich mit parent oder type anzeigen lassen: parent() type() Integer Ring <type 'sage.rings.integer.integer'> print(parent(1/)) type(1/) Rational Field <type 'sage.rings.rational.rational'> parent(sqrt()) Symbolic Ring Gleitkommazahlen; zur verwendeten Rechengenauigkeit siehe unten sqrt(1.) 1.09544511501033 parent(1.) Real Field with 53 bits of precision Komplexe Zahlen sqrt(-4) *I Die imaginäre Einheit ist vorab in der Variable I angelegt: I^ -1 Weitere mathematische Konstante: pi pi Numerische Approximation: numerical_approx(pi) 3.1415965358979 Zwischenergebnisse können in Variablen abgespeichert werden. In diesem Fall wird nichts auf den Bildschirm ausgegebe, weil das Ergebnis ja in der of 9 01-11-6 09:33

zugewiesenen Variable zur Verfügung steht. a=sqrt() a^ Hilfe! parent(pi) Symbolic Ring Die zur Verfügung stehenden Methoden kann man sich durch pi. und anschließendes Drücken von TAB anzeigen lassen. pi.n() 3.1415965358979 Information über eine Methode erhält man durch ein Fragezeichen pi.n?; will man es noch genauer wissen, macht man zwei Fragezeichen pi.n?? und erhält den Quellcode der Funktion Gleitkommazahlen R = RealField(300) Umwandlung in den gewünschten Typ R(1) 1.000000000000000000000000000000000000000000000000000000000000000000\ 00000000000000000000000 a = R(1.1) a 1.100000000000000000000000000000000000000000000000000000000000000000\ 00000000000000000000000 parent(a) Real Field with 300 bits of precision Zu beachten ist, daß Precision sich auf das Binärsystem bezieht, mit dem intern gerechnet wird. Das sind bei gleicher Genauigkeit in etwa dreimal soviele wie im Dezimalsystem 3 of 9 01-11-6 09:33

pi100= pi.n(digits=100) pi100.parent() Real Field with 336 bits of precision Beim Addieren von Zahlen unterschiedlicher Genauigkeit wird das Resultat in der jeweils kleinsten Genauigkeit berechnet a+1..30000000000000 a+r(1.).300000000000000000000000000000000000000000000000000000000000000000\ 00000000000000000000000 Rechnen mit formalen Ausdrücken Um mit formalen Ausdrücken zu rechnen, muß man entsprechende Variablennamen deklarieren var('x,y,z') x+y (x, y, z) x + y wenn man das nicht tut, dann kommt ein Fehler x+u Traceback (click to the left of this block for traceback)... NameError: name 'u' is not defined Die Ausdrücke werden vorerst nicht ausmultipliziert p1=(x+y+z)^ p1 (x + y + z)^ man mache sich den prinzipiellen Unterschied zwischen der "Variable" p1 und der "Variable" x klar: p1 bezeichnet einen Platz im Speicher des Computers, in dem ein gewisser Wert abgelegt ist, während x eine Variable im Sinne der Analysis ist, d.h., ein Platzhalter, für den verschiedene Werte eingesetzt werden können. nur die elementarsten Vereinfachungen werden gemacht p1+y + y 4 of 9 01-11-6 09:33

(x + y + z)^ + *y alles weitere muß explizit angefordert werden expand(p1) x^ + *x*y + *x*z + y^ + *y*z + z^ das gleiche in oo (=objektorientierter) Notation p1.expand() x^ + *x*y + *x*z + y^ + *y*z + z^ die inverse Operation zum ausmultiplizieren ist factor p= x^-*x*y+y^ p x^ - *x*y + y^ factor(p) (x - y)^ Zum Vergleich: Wenn man factor auf eine ganze Zahl anwendet, wird trotz gleichen Namens der Funktion eine ganz andere Methode aufgerufen: factor(104) ^10 Das Multiplikationszeichen muß immer explizit angeführt werden: x Traceback (click to the left of this block for traceback)... SyntaxError: invalid syntax Wie in der Vorlesung erklärt, werden formale Ausdrücke als Baum angelegt. Beim Substitutieren wird dieser Baum durchsucht und ggf. ein gefundener Teilausdruck ersetzt p.substitute(y=sin(z)) x^ - *x*sin(z) + sin(z)^ Lösen von Gleichungen solve(x^+1 == 0,x) [x == -I, x == I] solve(x^+x+1==0, x) [x == -1/*I*sqrt(3) - 1/, x == 1/*I*sqrt(3) - 1/] solve(x^3+x+1==0,x) 5 of 9 01-11-6 09:33

[x == -1/*(I*sqrt(3) + 1)*(1/18*sqrt(3)*sqrt(31) - 1/)^(1/3) + 1/6*(-I*sqrt(3) + 1)/(1/18*sqrt(3)*sqrt(31) - 1/)^(1/3), x == -1/*(-I*sqrt(3) + 1)*(1/18*sqrt(3)*sqrt(31) - 1/)^(1/3) + 1/6*(I*sqrt(3) + 1)/(1/18*sqrt(3)*sqrt(31) - 1/)^(1/3), x == (1/18*sqrt(3)*sqrt(31) - 1/)^(1/3) - 1/3/(1/18*sqrt(3)*sqrt(31) - 1/)^(1/3)] Für die Gleichung 5.Ordnung gibt es keine allgemeine Lösungsformel solve(x^5+*x^3+x^-3*x+1==0,x) [0 == x^5 + *x^3 + x^ - 3*x + 1] Polynome Wenn man von vorneherein weiß, daß man es nur mit Polynomen zu tun hat, ist es effizienter, in einem Polynomring zu arbeiten. Hier die Polynome in der Variable t über dem Körper der rationalen Zahlen P.<t> = QQ[] Exkurs in andere Zahlenbereiche RealField(100) Real Field with 100 bits of precision RR Real Field with 53 bits of precision QQ Rational Field ZZ Integer Ring P Univariate Polynomial Ring in t over Rational Field t muß nicht mehr deklariert werden, es weiß jetzt, wo es zu Hause ist: parent(t) Univariate Polynomial Ring in t over Rational Field t^+1 t^ + 1 Nullstellen findet man jetzt nicht mit solve solve(t^+1==0,t) Traceback (click to the left of this block for traceback) 6 of 9 01-11-6 09:33

... TypeError: The first argument must be a symbolic expression or a list of symbolic expressions. sondern mit der Methode roots (t^+1).roots() [] Allerdings werden Lösungen nur im zugrundegelegten Körper gesucht (siehe t.roots?), man kann aber den Suchbereich ausweiten, indem man einen größeren Ring angibt. (t^+1).roots(ring=cc) CC [(-1.00000000000000*I, 1), (1.00000000000000*I, 1)] Complex Field with 53 bits of precision Oder aber das Polynom selbst in einen anderen Typ umwandeln "Cast" SR Symbolic Ring p=sr(t^+1) p t^ + 1 parent(p) Symbolic Ring und die Gleichung dort lösen solve(p==0,sr(t)) [t == -I, t == I] manchmal geht das automatisch, z.b. enthält der Symbolic Ring alle rationalen Polynome. x+t t + x Endliche Körper heißen auf Englisch Galois field, so erhät man den Restklassenkörper Z/5Z durch GF(5) Finite Field of size 5 7 of 9 01-11-6 09:33

Z5=GF(5) a = Z5() a a*a*a 3 Auch lineare Algebra kann über beliebigen Körpern betrieben werden, davon später mehr v=vector([a,a,-a]) v 3*v (,, 3) (1, 1, 4) Vektoren sind streng von Listen zu unterscheiden l=[1,,3] l 3*l [1,, 3] [1,, 3, 1,, 3, 1,, 3] dieses seltsame Verhalten erklärt sich dadurch, daß die Addition von Listen durch Aneinanderhängen erklärt ist. [1,,3] + [4,5,6] [1,, 3, 4, 5, 6] Außerdem können Listen beliebige Objekte enthalten, während Vektoren nur über Ringen erklärt werden können (und nicht nur Körpern wie in der linearen Algebra) [1,[],"c"] [1, [], 'c'] vector(1,,"c") Traceback (click to the left of this block for traceback)... ValueError: incompatible degrees in vector constructor Manchmal geht es doch, aber mit unvorhergesehenen Konsequenzen v=vector([a,x]) v (, x) 8 of 9 01-11-6 09:33

parent(v) Vector space of dimension over Symbolic Ring d.h. die Zahl hat den endlichen Körper verlassen. Die Variable a ist davon natürlich nicht betroffen. parent(a) Finite Field of size 5 9 of 9 01-11-6 09:33