67 lines
1.3 KiB
Markdown
67 lines
1.3 KiB
Markdown
# Linear Algebra Refresher
|
|
|
|
## Grundgerüst
|
|
|
|
```python
|
|
# -*- coding: iso-8859-15 -*
|
|
from math import sqrt
|
|
|
|
class Vector(object):
|
|
def __init__(self, coordinates):
|
|
try:
|
|
if not coordinates:
|
|
raise ValueError
|
|
self.coordinates = tuple(coordinates)
|
|
self.dimension = len(coordinates)
|
|
|
|
except ValueError:
|
|
raise ValueError('Die Koordinaten dürfen nicht leer sein')
|
|
|
|
except TypeError:
|
|
raise TypeError('Die Koordinaten müssen iterierbar sein')
|
|
|
|
def __str__(self):
|
|
return 'Vector: {}'.format(self.coordinates)
|
|
|
|
def __eq__(self, v):
|
|
return self.coordinates == v.coordinates
|
|
```
|
|
|
|
## Addition von Vektoren
|
|
|
|
$\left[ {\begin{array}{*{20}{c}}
|
|
5\\
|
|
0
|
|
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
|
|
2\\
|
|
2
|
|
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
|
|
7\\
|
|
2
|
|
\end{array}} \right]$
|
|
|
|
```python
|
|
veka1 = Vector([0,5])
|
|
veka2 = Vector([2,2])
|
|
|
|
print (veka1.plus(veka2))
|
|
```
|
|
|
|
<img src="vektor_add.png" style="zoom:40%;" />
|
|
|
|
```python
|
|
veka1 = Vector([0,5])
|
|
```
|
|
|
|
$\left[ {\begin{array}{*{20}{c}}
|
|
7\\
|
|
2
|
|
\end{array}} \right] + \left[ {\begin{array}{*{20}{c}}
|
|
-3\\
|
|
2
|
|
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
|
|
4\\
|
|
4
|
|
\end{array}} \right]$
|
|
|
|
<img src="vector_add_2.png" style="zoom:30%;" /> |