Lektion 1


In [1]:
from sympy import *
init_printing()

Einfache Arithmetik


In [2]:
2+2


Out[2]:
$$4$$

In [3]:
2*3


Out[3]:
$$6$$

In [4]:
2**3


Out[4]:
$$8$$

In [5]:
1/3


Out[5]:
$$0.3333333333333333$$

In [6]:
1/0


---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-6-05c9758a9c21> in <module>()
----> 1 1/0

ZeroDivisionError: division by zero

Symbolische Rechnung


In [7]:
3 * (1/3)


Out[7]:
$$1.0$$

In [8]:
3**100 * (1/3)**100


Out[8]:
$$0.9999999999999944$$

In [9]:
drittel = Rational(1,3)
drittel


Out[9]:
$$\frac{1}{3}$$

In [10]:
3**100 * drittel**100


Out[10]:
$$1$$

In [11]:
drittel**100


Out[11]:
$$\frac{1}{515377520732011331036461129765621272702107522001}$$

In [12]:
3**100


Out[12]:
$$515377520732011331036461129765621272702107522001$$

beliebig genaue Fließkommazahlen


In [13]:
(1/3)**1000


Out[13]:
$$0.0$$

In [14]:
3**1000 * (1/3)**1000


---------------------------------------------------------------------------
OverflowError                             Traceback (most recent call last)
<ipython-input-14-4c3ad28e3b02> in <module>()
----> 1 3**1000 * (1/3)**1000

OverflowError: int too large to convert to float

Beides ist nicht hilfreich


In [15]:
pi


Out[15]:
$$\pi$$

In [16]:
N(pi, 20)


Out[16]:
$$3.1415926535897932385$$

In [17]:
N(pi, 200)


Out[17]:
$$3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930382$$

In [18]:
print(N(pi,200))


3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303820

In [19]:
N(1/3, 200)


Out[19]:
$$0.333333333333333314829616256247390992939472198486328125$$

Böse Falle!


In [20]:
N(Rational(1,3), 200)


Out[20]:
$$0.33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333$$

In [21]:
N(Rational(1,3), 200)**1000


Out[21]:
$$7.5638913231040998047574498974057316364042448856095234455200663316710977361426404768891548707455227125428677184833301291900453415960602024847503910604919173382646766637018179101786118311000891082040681 \cdot 10^{-478}$$

In [22]:
N(Rational(1,3), 200)**1000 * 3**1000


Out[22]:
$$1.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004$$

Sympyfizierungen


In [23]:
3


Out[23]:
$$3$$

In [24]:
S(3)


Out[24]:
$$3$$

In [25]:
type(3)


Out[25]:
int

In [26]:
type(S(3))


Out[26]:
sympy.core.numbers.Integer

In [27]:
S(1)/3


Out[27]:
$$\frac{1}{3}$$

In [28]:
S(0.1)


Out[28]:
$$0.1$$

Symbole


In [29]:
x = S('x')
x


Out[29]:
$$x$$

In [30]:
type(x)


Out[30]:
sympy.core.symbol.Symbol

In [31]:
type(drittel)


Out[31]:
sympy.core.numbers.Rational

In [32]:
y = S('y')
y


Out[32]:
$$y$$

In [33]:
f = (x - y)**2
f


Out[33]:
$$\left(x - y\right)^{2}$$

In [34]:
x = 5

In [35]:
f


Out[35]:
$$\left(x - y\right)^{2}$$

In [36]:
x


Out[36]:
$$5$$

Das $x$ in $f$ ist ein unerreichbares Objekt geworden. (Na ja, nicht wirklich.)


In [37]:
f.atoms()


Out[37]:
$$\left\{-1, 2, x, y\right\}$$

Funktionen


In [38]:
sqrt(81)


Out[38]:
$$9$$

In [39]:
sqrt(-81)


Out[39]:
$$9 i$$

In [40]:
I**2


Out[40]:
$$-1$$

In [41]:
sqrt(243)


Out[41]:
$$9 \sqrt{3}$$

In [42]:
sqrt(243.)


Out[42]:
$$15.5884572681199$$

In [43]:
sqrt(9*y**2)


Out[43]:
$$3 \sqrt{y^{2}}$$

Annahmen über Variablen sind möglich.


In [44]:
factorial(5)


Out[44]:
$$120$$

In [45]:
factorial(70)


Out[45]:
$$11978571669969891796072783721689098736458938142546425857555362864628009582789845319680000000000000000$$

In [46]:
N(factorial(70))


Out[46]:
$$1.19785716699699 \cdot 10^{100}$$

In [47]:
sin(pi)


Out[47]:
$$0$$

In [48]:
cos(pi)


Out[48]:
$$-1$$

In [49]:
tan(pi/2)


Out[49]:
$$\tilde{\infty}$$

In [50]:
print(tan(pi/2))


zoo

In [51]:
?zoo

In [52]:
alpha = Symbol('alpha')
alpha


Out[52]:
$$\alpha$$

In [53]:
exp(1)


Out[53]:
$$e$$

In [54]:
e


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-54-9ffbf43126e3> in <module>()
----> 1 e

NameError: name 'e' is not defined

In [55]:
log(exp(1))


Out[55]:
$$1$$

In [56]:
abs(-1)


Out[56]:
$$1$$

Vereinfachungen


In [57]:
x = Symbol('x')
y = Symbol('y')

In [58]:
f = (x-y)*(x+y)
f


Out[58]:
$$\left(x - y\right) \left(x + y\right)$$

In [59]:
f.expand()


Out[59]:
$$x^{2} - y^{2}$$

In [60]:
expand(f)


Out[60]:
$$x^{2} - y^{2}$$

In [61]:
f.expand().factor()


Out[61]:
$$\left(x - y\right) \left(x + y\right)$$

In [62]:
g = (x**2-y**2)/(x-y)
g


Out[62]:
$$\frac{x^{2} - y^{2}}{x - y}$$

In [63]:
g.ratsimp()


Out[63]:
$$x + y$$

In [64]:
g.simplify()


Out[64]:
$$x + y$$

In [65]:
h = x*x**y
h


Out[65]:
$$x x^{y}$$

In [66]:
h.powsimp()


Out[66]:
$$x^{y + 1}$$

In [67]:
h.powsimp().expand()


Out[67]:
$$x x^{y}$$

In [68]:
f = (sin(2*x)+cos(x)) / ((sin(2*x)**2 - cos(x)**2) * (sin(2*x)-cos(x)))
f


Out[68]:
$$\frac{\sin{\left (2 x \right )} + \cos{\left (x \right )}}{\left(\sin{\left (2 x \right )} - \cos{\left (x \right )}\right) \left(\sin^{2}{\left (2 x \right )} - \cos^{2}{\left (x \right )}\right)}$$

In [69]:
f.simplify()


Out[69]:
$$\frac{1}{\left(2 \sin{\left (x \right )} - 1\right)^{2} \cos^{2}{\left (x \right )}}$$

In [70]:
f.ratsimp()


Out[70]:
$$\frac{1}{\sin^{2}{\left (2 x \right )} - 2 \sin{\left (2 x \right )} \cos{\left (x \right )} + \cos^{2}{\left (x \right )}}$$

In [71]:
f.trigsimp()


Out[71]:
$$\frac{1}{\left(2 \sin{\left (x \right )} - 1\right)^{2} \cos^{2}{\left (x \right )}}$$

In [72]:
f.expand()


Out[72]:
$$\frac{\sin{\left (2 x \right )}}{\sin^{3}{\left (2 x \right )} - \sin^{2}{\left (2 x \right )} \cos{\left (x \right )} - \sin{\left (2 x \right )} \cos^{2}{\left (x \right )} + \cos^{3}{\left (x \right )}} + \frac{\cos{\left (x \right )}}{\sin^{3}{\left (2 x \right )} - \sin^{2}{\left (2 x \right )} \cos{\left (x \right )} - \sin{\left (2 x \right )} \cos^{2}{\left (x \right )} + \cos^{3}{\left (x \right )}}$$

In [73]:
f.expand(numer=True)


Out[73]:
$$\frac{\sin{\left (2 x \right )} + \cos{\left (x \right )}}{\left(\sin{\left (2 x \right )} - \cos{\left (x \right )}\right) \left(\sin^{2}{\left (2 x \right )} - \cos^{2}{\left (x \right )}\right)}$$

In [74]:
f.expand(numer=True, trig=True)


Out[74]:
$$\frac{2 \sin{\left (x \right )} \cos{\left (x \right )} + \cos{\left (x \right )}}{\left(\sin{\left (2 x \right )} - \cos{\left (x \right )}\right) \left(\sin^{2}{\left (2 x \right )} - \cos^{2}{\left (x \right )}\right)}$$

In [75]:
f.expand(numer=True, trig=True).factor()


Out[75]:
$$\frac{\left(2 \sin{\left (x \right )} + 1\right) \cos{\left (x \right )}}{\left(- \sin{\left (2 x \right )} + \cos{\left (x \right )}\right)^{2} \left(\sin{\left (2 x \right )} + \cos{\left (x \right )}\right)}$$

In [76]:
f.expand(gibtsnich=True)


Out[76]:
$$\frac{\sin{\left (2 x \right )}}{\sin^{3}{\left (2 x \right )} - \sin^{2}{\left (2 x \right )} \cos{\left (x \right )} - \sin{\left (2 x \right )} \cos^{2}{\left (x \right )} + \cos^{3}{\left (x \right )}} + \frac{\cos{\left (x \right )}}{\sin^{3}{\left (2 x \right )} - \sin^{2}{\left (2 x \right )} \cos{\left (x \right )} - \sin{\left (2 x \right )} \cos^{2}{\left (x \right )} + \cos^{3}{\left (x \right )}}$$

In [ ]: