Analysis ist ein Zweig der Mathematik, der sich auf Grenzwerte, Funktionen, Ableitungen, Integrale und unendliche Reihen konzentriert. Wir werden die SymPy- Bibliothek verwenden, um Kalkül mit Python durchzuführen. SymPy ist eine Python-Bibliothek für symbolische Mathematik. Es zielt darauf ab, ein voll funktionsfähiges Computeralgebrasystem (CAS) zu werden, während der Code so einfach wie möglich gehalten wird, um verständlich und leicht erweiterbar zu sein. SymPy ist komplett in Python geschrieben.

Installation:

pip install sympy

Wenn wir einen symbolischen Ausdruck schreiben wollen, müssen wir zuerst seine symbolischen Variablen deklarieren. Dazu können wir die folgenden zwei Funktionen verwenden:

  • sympy.Symbol(): Es wird verwendet, um eine einzelne Variable zu deklarieren, indem die Variable als Zeichenfolge an ihren Parameter übergeben wird.
  • sympy.symbols(): Es wird verwendet, um multivariable zu deklarieren, indem die Variablen als String an seinen Parameter übergeben werden. Alle Variablen müssen durch ein Leerzeichen getrennt werden, um eine Zeichenfolge zu bilden.

Unterscheidung

Wir können jeden Sympy-Ausdruck differenzieren, indem wir die Methode diff (func, var) verwenden. Der Parameter func bezeichnet den zu differenzierenden Sympy-Ausdruck und var bezeichnet die Variable, nach der wir differenzieren müssen.

Beispiel 1:

Python3

# Importing library
import sympy as sym
 
# Declaring variables
x, y, z = sym.symbols('x y z')
 
# expression of which we have to find derivative
exp = x**3 * y + y**3 + z
 
# Differentiating exp with respect to x
derivative1_x = sym.diff(exp, x)
print('derivative w.r.t x: ',
      derivative1_x)
 
# Differentiating exp with respect to y
derivative1_y = sym.diff(exp, y)
print('derivative w.r.t y: ',
      derivative1_y)

Ausgabe: 

derivative w.r.t x:  3*x**2*y
derivative w.r.t y:  x**3 + 3*y**2

Wir können auch höhere Ableitungen mit der Methode diff(func, var, n) finden . Dabei bezeichnet der Parameter n die zu findende n-te Ableitung.

Beispiel 2: 

Python3

# Finding second derivative
# of exp with respect to x
derivative2_x = sym.diff(exp, x, 2)
print('second derivative w.r.t. x: ',
      derivative2_x)
 
# Finding second derivative
# of exp with respect to y
derivative2_y = sym.diff(exp, y, 2)
print('second derivative w.r.t. y: ',
      derivative2_y)

Ausgabe: 

second derivative w.r.t. x:  6*x*y
second derivative w.r.t. y:  6*y

Integration

Sie können eine unbestimmte und bestimmte Integration von transzendentalen elementaren und speziellen Funktionen über die Funktion Integrate() durchführen. 

Syntax für unbestimmte Integration: sympy.integrate(func, var)



Syntax für definitive Integration: sympy.integrate(func, (var, lower_limit, upper_limit))

Der Parameter func bezeichnet den zu differenzierenden Sympy-Ausdruck, var bezeichnet die Variable, nach der wir differenzieren müssen, lower_limit bezeichnet die untere Grenze der bestimmten Integration und upper_limit bezeichnet die obere Grenze der bestimmten Integration.

Hinweis: ∞ in SymPy ist oo.

Beispiel 1: 

Python3

# Indefinite integration of cos(x) w.r.t. dx
integral1 = sym.integrate(sym.cos(x), x)
print('indefinite integral of cos(x): ',
      integral1)
 
# definite integration of cos(x) w.r.t. dx between -1 to 1
integral2 = sym.integrate(sym.cos(x), (x, -1, 1))
print('definite integral of cos(x) between -1 to 1: ',
      integral2)
 
# definite integration of exp(-x) w.r.t. dx between 0 to ∞
integral3 = sym.integrate(sym.exp(-x), (x, 0, sym.oo))
print('definite integral of exp(-x) between 0 to ∞: ',
      integral3)

Ausgabe: 

indefinite integral of cos(x):  sin(x)
definite integral of cos(x) between -1 to 1:  2*sin(1)
definite integral of exp(-x) between 0 to ∞:  1

Grenzen

Sie können die Grenze einer Funktion berechnen, indem Sie limit(function, variable, point) verwenden. Wenn Sie also den Grenzwert von f(x) als x->0 berechnen möchten, geben Sie limit(f, x, 0) aus.

Beispiel: 

Python3

# Calculating limit of f(x) = x as x->∞
limit1 = sym.limit(x, x, sym.oo)
print(limit1)
 
# Calculating limit of f(x) = 1/x as x->∞
limit2 = sym.limit(1/x, x, sym.oo)
print(limit2)
 
# Calculating limit of f(x) = sin(x)/x as x->0
limit3 = sym.limit(sym.sin(x)/x, x, 0)
print(limit3)

Ausgabe: 

oo
0
1

Serienerweiterung

Wir können auch Taylorreihenentwicklungen von Funktionen um einen Punkt herum berechnen. Um die Erweiterung von f(x) um den Punkt x=x 0 Terme der Ordnung x n zu berechnen , verwenden Sie sympy.series(f, x, x 0 , n) . x 0 und n können weggelassen werden, in diesem Fall werden die Voreinstellungen x 0 =0 und n=6 verwendet.

Beispiel: 

Python3

# assign series
series1 = sym.series(sym.cos(x), x)
print(series1)
 
# assign series
series2 = sym.series(1/sym.cos(x), x, 0, 4)
print(series2)

Ausgabe: 

1 - x**2/2 + x**4/24 + O(x**6)
1 + x**2/2 + O(x**4)

Der Term O(x 4 ) oder O(x 6 ) am Ende bedeutet, dass alle x Terme mit einer Potenz größer oder gleich x 4 oder x 6 weggelassen werden.