Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

61
Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur Lösen von Gleichungssystemen und symbolische Gleichungen in R Kolja Hopfmann Betreuer: Eugen Betke Universität Hamburg Informatik PIR 2016 08/06/2016 Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 1 / 54

Transcript of Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Page 1: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Lösen von Gleichungssystemenund symbolische Gleichungen in R

Kolja HopfmannBetreuer: Eugen Betke

Universität HamburgInformatikPIR 2016

08/06/2016

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 1 / 54

Page 2: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

1 Einführung

2 Gleichungssysteme

3 Symbolische Manipulationen

4 CAS Schnittstellen

5 Zusammenfassung

6 Literatur

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 1 / 54

Page 3: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhaltsverzeichnis

1 Einführung

2 Gleichungssysteme

3 Symbolische Manipulationen

4 CAS Schnittstellen

5 Zusammenfassung

6 Literatur

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 2 / 54

Page 4: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Definition

Definition

„In Computeralgebrasystemen(CAS) bedeutet der Ausdrucksymbolische Mathematik, dass Operationen und Kalkulationen vonmathematischen Ausdrücken mit Variablen auf Computernausgeführt werden.“ [Planetmath.org]

CAS: Programm für Verarbeitung symbolischer Ausdrücke.Variable: Symbol für Wert aus einer Wertemenge.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 3 / 54

Page 5: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Operationen

Symbolische Manipulationen

Lösung eines Gleichungssystems(GLS) bilden.Matrix-Operationen.Arithmetische Operationen auf Polynomen.Vereinfachen von komplizierten symbolischen Ausdrücken ineine Standardform.Wertzuweisung der Variablen und Berechnung.Ableiten von symbolischen Ausdrücken.Bilden von Integralen.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 4 / 54

Page 6: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Operationen

Symbolische Manipulation in R[1]

R als CAS?

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 5 / 54

Page 7: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Operationen

Symbolische Manipulationen in R[2]

Wir behandeln folgende Pakete zur symbolischen Mathematik:SolvempolySimplrDIntegrate

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 6 / 54

Page 8: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Schnittstellen zu Algebrasystemen

Schnittstellen zu Algebrasystemen

Ryacas [CRAN:Ryacas]Yacas: alleinstehendes opensource-CAS.

RSymPy[Sympy.org]SymPy: CAS Library unter Python.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 7 / 54

Page 9: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhaltsverzeichnis

1 Einführung

2 Gleichungssysteme

3 Symbolische Manipulationen

4 CAS Schnittstellen

5 Zusammenfassung

6 Literatur

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 8 / 54

Page 10: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Solve

Vorstellung

Build-in package in RFunktionen:

Lösen von Gleichungssystemen in Matrix-form.Invertieren einer Matrix.

Syntax:solve(a,b)Mit a als Matrix und b als Matrix/VektorIst b nicht gegeben, so wird die Matrix a invertiert.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 9 / 54

Page 11: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Solve

Beispiele[1]

Lösen eines Gleichungsystems.

1x + 2y = 53x + 4y = 6

[1 2 53 4 6

]

1 >A = matrix (c(1 ,2 ,3 ,4) ,nrow =2, ncol =2, byrow=T)2 >B = c(5 ,6)3 >solve(A,B)4 [1] -4.0 4.5

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 10 / 54

Page 12: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Solve

Beispiele[2]

Invertieren einer Matrix.

A × A−1 = I[1 23 4

]× A−1 =

[1 00 1

]

1 >A = matrix (c(1 ,2 ,3 ,4) ,nrow =2, ncol =2, byrow=T)2 >solve(A)3 [,1] [,2]4 [1,] -2.0 1.05 [2,] 1.5 -0.5

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 11 / 54

Page 13: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Solve

Beispiele[3]

Fehlermeldung bei nichtlösbarem GLS.

1x + 2y = 50x + 0y = 4

[1 2 30 0 4

]

1 >A = matrix (c(1 ,2 ,0 ,0) ,nrow =2, ncol =2, byrow=T)2 >solve(A,c(3 ,4))3 Error in solve. default (A, c(3, 4))

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 12 / 54

Page 14: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Solve

Vor-/Nachteile

Vorteile:Bequemliche Lösung zum behandeln von GLS und Invertieren.Fehlerminimierung.

Nachteile:Keine Angabe von Lösungsmengen.Bei großen GLS wird die Ausgabe unübersichtlich.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 13 / 54

Page 15: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhaltsverzeichnis

1 Einführung

2 Gleichungssysteme

3 Symbolische Manipulationen

4 CAS Schnittstellen

5 Zusammenfassung

6 Literatur

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 14 / 54

Page 16: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

mpoly

Vorstellung

Package in R unter 3.2.5.Funktionen:

Einführung von mp als Objekt für Polynome.Rechenoperationen zum Bearbeiten der Polynome.Umwandeln der Polynome in Funktionen.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 15 / 54

Page 17: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

mpoly

mp

Eingabe eines String der zu einem Polynom übersetzt wird.Syntax:

mp(string)

1 > f = mp("x^3+x^2+x+1")2 >f3 x^3 + x^2 + x + 1

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 16 / 54

Page 18: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

mpoly

mp Arithmetik

Rechenoperationen auf mp Objekten:1 >f-f2 03 >f+f4 2 x^3 + 2 x^2 + 2 x + 25 >f*f6 x^6 + 2 x^5 + 3 x^4 + 4 x^3 + 3 x^2 + 2 x + 1

Abfragen auf Gleichheit:1 >f==f2 [1] TRUE3 >f == mp("x")4 [1] FALSE

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 17 / 54

Page 19: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

mpoly

Listen

Möglichkeit mp Objekte in Listen zu verwalten.Syntax:

mpolyList(...)Übergabe von mp Objekten als Parameter.

1 >f = mp("x^3+x^2+x+1")2 >g = mp("x^2")3 >h = mp("2y")4 >k = mpolyList (f,g,h)5 >k6 x^3 + x^2 + x + 17 x^28 2 y

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 18 / 54

Page 20: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

mpoly

Listen-Arithmetik[1]

Rechenoperationen auf mpListen:Wie mit Vektoren in RDas i-te Element der 1. Liste wird mit dem i-ten Element der 2.Liste verknüpft.

1 >k+k2 2 x^3 + 2 x^2 + 2 x + 23 2 x^24 4 y5 >k-k6 07 08 0

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 19 / 54

Page 21: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

mpoly

Listen-Arithmetik[2]

Rechenoperationen auf mpListen:Wie mit Vektoren in RDas i-te Element der 1. Liste wird mit dem i-ten Element der 2.Liste verknüpft.

1 >k*k2 x^6 + 2 x^5 + 3 x^4 + 4 x^3 + 3 x^2 + 2 x + 13 x^44 4 y^2

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 20 / 54

Page 22: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

mpoly

as.functionUmwandlung von Polynomen zu Funktionen.

Syntax:as.function(x)x als mp Objekt.

f (x) = x2

f (0) = 0f (2) = 4

1 >f = as. function (mp(x^2))2 f(.) with . = x3 >f(0)4 [1] 05 >f(2)6 [1] 4

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 21 / 54

Page 23: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

mpoly

deriv

Ableiten einer ganzrationalen Funktion:Syntax:

deriv(mp,x)mp als beliebiges mp Objektx als abzuleitende Variable.

f (x) = x3 + x2 + x + 1f ′(x) = 3x2 + 2x + 1

1 >f = mp("x^3+x^2+x+1")2 >deriv(f, ’x’)3 3 x^2 + 2 x + 1

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 22 / 54

Page 24: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

mpoly

weitere Funktionen

Zur Untersuchung von Polynomen und Funktionen:totaldeg(x)

Gibt den Grad des Polynoms an.monomials(x)

Gibt die Mononome des Polynoms aus.

1 >f = mp("x^3+x^2+x+1")2 >totaldeg (f)3 [1] 34 >monomials (f)5 x^36 x^27 x8 1

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 23 / 54

Page 25: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

mpoly

Vor-/Nachteile

Vorteile:Großer Umfang an Funktionen bezüglich grundlegender AnalysisPraktisches einsetzen und Auslesen von Funktionen.Eigene Exemplare für Polynome und Funktionen.

Nachteile:Behandelt nur ganzrationale Funktionen.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 24 / 54

Page 26: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Simplr

Vorstellung

Paket in R zur Vereinfachung von Polynomen.Syntax:

simplifyq(expression)expression als zu vereinfachender Ausdruck.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 25 / 54

Page 27: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Simplr

Beispiele

Koeffizient mit 0: direkte Ausgabe von 0.Vereinfachen von Trigonometrischen Ausdrücken.Bilden einer Standardform.

1 >simplifyq ((a+b)*0)2 [1] 03 >simplifyq (sin(x)^2+ cos(x)^2)4 [1] 15 simplifyq (a+a+a+b+b+b+c+c+c)6 [1] 3 * c + (3 * b + 3 * a)

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 26 / 54

Page 28: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Simplr

Vor-/Nachteile

Vorteile:Überführung von großen Polynomen in eine Standardform.Trigonometrischen Funktionen und Exponentiale Funktionen.

Nachteile:simplifyq als einzige Operation.Keine Verknüpfung mit mpoly.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 27 / 54

Page 29: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

D

Vorstellung

Built-in function in RDeklarieren von AusdrückenAbleiten der AusdrückeSyntax:

f = expression(x1, ’x2’)x1 als Eingabe für den Ausdruck.x2 als Parameter für die abhängige Variable.D(f,’ x’)f als Polynom in Form eines Ausdrucks.’x’ als abzuleitende Variable.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 28 / 54

Page 30: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

D

Beispiele[1]

Ableiten einer ganzrationalen Funktion:

f (x) = x3 + x2 + x + 1f ′(x) = 3x2 + 2x + 1

1 >fx = expression ("x^3+x^2+x+1", ’x’)2 >fx3 fx = expression ("x^3+x^2+x+1, ’x’)

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 29 / 54

Page 31: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

D

Beispiele[2]

Ableiten einer trigonometrischen Funktion:

h(x) = sin(x2)h′(x) = 2x ∗ cos(x2)

1 >D(fx , ’x’)2 3 * x^2 + 2 * x + 13 >hx = expression (sin(x^2) ,’x’)4 >D(hx ,’x’)5 cos(x^2) * (2 * x)

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 30 / 54

Page 32: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

D

Beispiele[3]

Ableiten einer exponential Funktion:

g(x) = ex

g ′(x) = ex

1 >gx = expression (e^x,’x’)2 >D(gx ,’x’)3 e^x * log(e)

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 31 / 54

Page 33: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

D

Vor-/Nachteile

Vorteile:Built-inExponentialfunktionen und trigonometrische Funktionen.

Nachteile:Ableiten und Arithmetik als einzige Funktion.Integrieren nicht möglich, weitere Pakete vonnöten.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 32 / 54

Page 34: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Integrate

Vorstellung

Paket in R zur Bestimmung von Integralen eindimensionalerFunktionen.

Benutzt die Gauß-Quadratur als Annäherungsverfahren.[math.ethz.ch](vereinfachte) Syntax:

integrate(f, upper, lower)f als Eingabe für eine Funktion.upper und lower als Grenzen des gewünschten Intervalls.Unbegrenzte Intervalle möglich mit dem Parameter int/-inf.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 33 / 54

Page 35: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Integrate

Beispiele

1 >integrate (dnorm , -1.96, 1.96)2 >integrate (dnorm , -Inf , Inf)3 ## a slowly - convergent integral4 >f<- function (x) {1/((x+1)*sqrt(x))}5 >integrate (f, lower = 0, upper = Inf)6 ## don ’t do this if you really want the integral from

0 to Inf7 integrate (integrand , lower = 0, upper = 10)8 integrate (integrand , lower = 0, upper = 100000)9 integrate (integrand , lower = 0, upper = 1000000 , stop.

on.error = FALSE)10 ## fails on many systems11 integrate (dnorm , 0, 20000)12 integrate (dnorm , 0, Inf) ## works

[math.ethz.ch]Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 34 / 54

Page 36: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Integrate

Vor-/Nachteile

Vorteile:Effiziente Lösung von komplexen Integralen.Möglichkeit zur bestimmung von unbegrenzten Integralen.

Nachteile:Hohe Fehlerquote bei enorm großen Intervallen.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 35 / 54

Page 37: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhaltsverzeichnis

1 Einführung

2 Gleichungssysteme

3 Symbolische Manipulationen

4 CAS Schnittstellen

5 Zusammenfassung

6 Literatur

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 36 / 54

Page 38: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Ryacas

Vorstellung

Yacas: Yet Another Computer Algebra System.Open-Source unter GPL(GNU).Eingebettet in eigener Programmiersprache.Funktionen zum Plotten über Gnuplot.Ryacas als Interface/Schnittstelle zu Yacas in R.

Kompletter funktionaler Zugriff auf Yacas als CAS in derR-Umgebung.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 37 / 54

Page 39: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Ryacas

Beispiele[1]

R expressions:Call an Yacas durch eine R expressionAchtung: Rückgabewert als Yacas-Objekt.

1 > f = yacas( expression ( Factor (x^3+x^2+x+1))) #Yacas -Funktionsaufruf .

2 > f3 expression ((x^2 + 1) * (x + 1))4 > Eval(f,list(x=1))5 [1] 46 > Eval(f,list(x=0))7 [1] 1

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 38 / 54

Page 40: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Ryacas

Beispiele[2]Sym objects:

Sym als Klasse zur Bestimmung von Symbolen.Ermöglicht Umgang als Funktion.

1 x = Sym("x")2 f = function (x){(x^3+x^2+x+1)}3 > f(0)4 [1] 15 > f(1)6 [1] 47 > f(42)8 [1] 758959 > g = yacas(deriv (f(x), x)) #Yacas - Funktionsaufruf .

10 > g11 expression (3 * x^2 + 2 * x + 1)

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 39 / 54

Page 41: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Ryacas

Beispiele[3]

integrate:Integrieren von Funktionen.Trigonometrisch:

f (x) = −x2 + 1∫ 1

−1f (x) dx = 1, 3333

1 > f = function (x)-x^2+12 > integrate (f,-1,1)3 1.333333 with absolute error < 1.5e -14

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 40 / 54

Page 42: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Ryacas

Beispiele[4]

integrate:Integrieren von Funktionen.Ganzrational:

g(x) = sin(x)∫ π

0g(x) dx = 2

1 > g = function (x)sin(x)2 > g3 function (x)sin(x)4 > integrate (g,0,pi)5 2 with absolute error < 2.2e -14

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 41 / 54

Page 43: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Ryacas

Pretty Printing

Funktion in Ryacas zum formatieren:ASCIILATEX

1 > h = expression (x + x^2/2 + x^3/6 + 1)2 > PrettyForm (h)3

4 2 35 x x6 x + -- + -- + 17 2 68 >TeXForm (h)9 expression ("$x + \frac{x ^{2}}{2} + \frac{x ^{3}}{6}

+ 1$")

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 42 / 54

Page 44: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Ryacas

Pretty Printing

1 > h = expression (x + x^2/2 + x^3/6 + 1)2 >TeXForm (h)3 expression ("$x + \frac{x ^{2}}{2} + \frac{x ^{3}}{6}

+ 1$")

Übersetzt in LATEX:x + x2

2 + x3

6 + 1

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 43 / 54

Page 45: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

SymPy

Vorstellung

SymPy: CAS Python-LibraryOpen-Source unter GPL(GNU).Direktes Ansprechen der Python Umgebung.Syntax in Python.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 44 / 54

Page 46: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhaltsverzeichnis

1 Einführung

2 Gleichungssysteme

3 Symbolische Manipulationen

4 CAS Schnittstellen

5 Zusammenfassung

6 Literatur

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 45 / 54

Page 47: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhalt

Zusammenfassung

Wir haben behandelt:Lösen von Gleichungssystemen mit SolveRechenoperationen auf Polynommen und Funktionen mit mpoly.Vereinfachung von Polynomen mit simplrAbleiten von Funktionen mit deriv.Bilden von Integralen mit Integrate.Verfügbare CAS Schnittstellen in R mit weiteren Funktionen.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 46 / 54

Page 48: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhalt

Symbolische Manipulationen

1 Lösung eines Gleichungssystems bilden. [Solve] X

2 Matrix-Operationen [Matrix-Datentyp] X3 Arithmetische Operationen auf Polynomen. [mpoly] X4 Vereinfachen von komplizierten symbolischen Ausdrücken in

eine Standardform. [simplr] X5 Wertzuweisung der Variablen und Berechnung. [mpoly] X6 Ableiten von symbolischen Ausdrücken. [D] X7 Bilden von Integralen [Integrate] X

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 47 / 54

Page 49: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhalt

Symbolische Manipulationen

1 Lösung eines Gleichungssystems bilden. [Solve] X2 Matrix-Operationen [Matrix-Datentyp] X

3 Arithmetische Operationen auf Polynomen. [mpoly] X4 Vereinfachen von komplizierten symbolischen Ausdrücken in

eine Standardform. [simplr] X5 Wertzuweisung der Variablen und Berechnung. [mpoly] X6 Ableiten von symbolischen Ausdrücken. [D] X7 Bilden von Integralen [Integrate] X

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 47 / 54

Page 50: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhalt

Symbolische Manipulationen

1 Lösung eines Gleichungssystems bilden. [Solve] X2 Matrix-Operationen [Matrix-Datentyp] X3 Arithmetische Operationen auf Polynomen. [mpoly] X

4 Vereinfachen von komplizierten symbolischen Ausdrücken ineine Standardform. [simplr] X

5 Wertzuweisung der Variablen und Berechnung. [mpoly] X6 Ableiten von symbolischen Ausdrücken. [D] X7 Bilden von Integralen [Integrate] X

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 47 / 54

Page 51: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhalt

Symbolische Manipulationen

1 Lösung eines Gleichungssystems bilden. [Solve] X2 Matrix-Operationen [Matrix-Datentyp] X3 Arithmetische Operationen auf Polynomen. [mpoly] X4 Vereinfachen von komplizierten symbolischen Ausdrücken in

eine Standardform. [simplr] X

5 Wertzuweisung der Variablen und Berechnung. [mpoly] X6 Ableiten von symbolischen Ausdrücken. [D] X7 Bilden von Integralen [Integrate] X

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 47 / 54

Page 52: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhalt

Symbolische Manipulationen

1 Lösung eines Gleichungssystems bilden. [Solve] X2 Matrix-Operationen [Matrix-Datentyp] X3 Arithmetische Operationen auf Polynomen. [mpoly] X4 Vereinfachen von komplizierten symbolischen Ausdrücken in

eine Standardform. [simplr] X5 Wertzuweisung der Variablen und Berechnung. [mpoly] X

6 Ableiten von symbolischen Ausdrücken. [D] X7 Bilden von Integralen [Integrate] X

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 47 / 54

Page 53: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhalt

Symbolische Manipulationen

1 Lösung eines Gleichungssystems bilden. [Solve] X2 Matrix-Operationen [Matrix-Datentyp] X3 Arithmetische Operationen auf Polynomen. [mpoly] X4 Vereinfachen von komplizierten symbolischen Ausdrücken in

eine Standardform. [simplr] X5 Wertzuweisung der Variablen und Berechnung. [mpoly] X6 Ableiten von symbolischen Ausdrücken. [D] X

7 Bilden von Integralen [Integrate] X

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 47 / 54

Page 54: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhalt

Symbolische Manipulationen

1 Lösung eines Gleichungssystems bilden. [Solve] X2 Matrix-Operationen [Matrix-Datentyp] X3 Arithmetische Operationen auf Polynomen. [mpoly] X4 Vereinfachen von komplizierten symbolischen Ausdrücken in

eine Standardform. [simplr] X5 Wertzuweisung der Variablen und Berechnung. [mpoly] X6 Ableiten von symbolischen Ausdrücken. [D] X7 Bilden von Integralen [Integrate] X

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 47 / 54

Page 55: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Fazit

Fazit

R bietet in Kombination mit CRAN Funktionen fürgrundlegende symbolische Mathematik.

Zusammenarbeit der Pakete ist nicht vorhanden.Kein kontinuierlicher workflow.

Ryacas und rSympy bieten CAS Schnittstelle an.größerer Funktionsumfang.Zusammenhang innerhalb des Computeralgebrasystems.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 48 / 54

Page 56: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Fazit

R als CAS?

R als primitives Computeralgebrasystem.Entwickelt als System zur Datenanalyse und Statistik.Interpretierte Programmiersprache

R ist schwach in hoher numerischer Berechnung.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 49 / 54

Page 57: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Fazit

R als CAS?

R als ausgereiftes CAS unzureichend.Daher: Interface zu existierenden CAS.

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 50 / 54

Page 58: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Fazit

Danke für Ihre Aufmerksamkeit!

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 51 / 54

Page 59: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Inhaltsverzeichnis

1 Einführung

2 Gleichungssysteme

3 Symbolische Manipulationen

4 CAS Schnittstellen

5 Zusammenfassung

6 Literatur

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 52 / 54

Page 60: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Quellen[1]

[Sympy.org] Sympy, http://www.sympy.org/en/index.html

[CRAN:Ryacas] Ryacas, https://cran.r-project.org/web/packages/Ryacas/index.html,http://www.r-bloggers.com/using-r-as-a-computer-algebra-system-with-ryacas/

[Planetmath.org] Planetmath, http://planetmath.org/

[EconBS:D] Differentiation in Rhttp://www.econometricsbysimulation.com/2012/08/symbolic-differentiation-in-r.html

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 53 / 54

Page 61: Lösen von Gleichungssystemen und symbolische Gleichungen in R€¦ · [Sympy.org]Sympy,

Einführung Gleichungssysteme Symbolische Manipulationen CAS Schnittstellen Zusammenfassung Literatur

Quellen[2]

[mathe-werkstatt] Computeralgebrasystemehttp://www.mathe-werkstatt.de/themen/cas.htm

[CRAN] Pakete: https://cran.r-project.org/

[math.ethz.ch] Integrate https://stat.ethz.ch/R-manual/R-devel/library/stats/html/integrate.html

Kolja Hopfmann Betreuer: Eugen Betke Lösen von Gleichungssystemen und symbolische Gleichungen in R 54 / 54