{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Matrizen" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![Folie 43](Folien/10/slide-14.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Vektoren im Matrizenraum\n", "\n", "Ein $m$-Vektor $v$, also z.B. der senkrechte Vektor $v=\\begin{pmatrix}3\\\\4\\\\\\pi\\end{pmatrix}$ mit $m=3$ Zeilen, ist im Matrizenraum eine Matrix mit $n=1$ Spalte." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![Folie 44](Folien/10/slide-15.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hier wird der Matrizenraum $K^{m\\times n}$ definiert. Im Gegensatz zum Vektorraum mit $K^n$ (Vektor mit $n$ Stellen) enthält er jetzt Matrizen aus $K^{m\\times n}$. Wenn $K=\\mathbb{R}$, sehen Elemente dieses Matrizenraums so aus wie die Matrizen auf den nächsten Folien." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![Folie 45](Folien/10/slide-16.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Matrizenaddition\n", "\n", "Die Matrizenaddition ist die oben definierte Operation $+:K^{m\\times n}\\times K^{m\\times n} \\to K^{m\\times n}$. Sie funktioniert folgendermaßen: Nimm zwei Matrizen mit gleicher Zeilen- und Spaltenzahl und addiere die Elemente in den Zellen mit den gleichen Zellen- und Spaltenindizes. Das Ergebnis ist wieder eine $m\\times n$-Matrix. Beispiele sieht man auf der Folie, im Internet oder im guten alten Mathebuch.\n", "\n", "### Multiplikation Skalar mit Matrix\n", "\n", "Nimm einen Skalar und eine Matrix. Das Ergebnis ist die Matrix, bei der jedes Element der Ausgangsmatrix mit dem Skalar multipliziert wird." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![Folie 46](Folien/10/slide-17.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Video zur Matrizenmultiplikation\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![Folie 47](Folien/10/slide-18.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Aussagen: \n", "1. $(A+B)^T=A^T+B^T$\n", "Wenn man zwei Matrizen addiert und das Ergebnis transponiert, könnte man genausogut erst beide Matrizen transponieren und die Ergebnisse addieren.\n", "![Beispiel](pic/09_plusEq.png)\n", "2. Wenn man ein Skalar mit einer Matrix multipliziert und das Ergebnis transponiert, könnte man genausogut die Matrix transponieren und dann den Skalar multiplizieren. Bei der Skalarmultiplikation wird schließlich jeder Wert der Matrix mit dem selben Skalar multipliziert, es koommt nicht auf seine Position an. \n", "![Beispiel](pic/09_scalarEq.png)\n", "3. Das ist wie doppelte Negation. Hier ein Beispiel:\n", "$(\\begin{pmatrix}1 & 2 & 3 \\\\ 4 & 5 & 6\\end{pmatrix}^T)^T = \\begin{pmatrix}1 & 4 \\\\2 &5\\\\3&6\\end{pmatrix}^T=\\begin{pmatrix}1 & 2 & 3 \\\\ 4 & 5 & 6\\end{pmatrix}$\n", "\n", "4. $(A\\cdot B)^T=B^T\\cdot A^T$\n", "Dieser Zusammenhang ist etwas weniger intuitiv, man kann ihn sich aber schrittweise herleiten. Schauen wir uns die Dimensionen der Matrizen an. \n", "Sei $A\\in K^{m\\times n}$ und $B\\in K^{n\\times o}$. Dann ist $A\\cdot B$ eine Matrix in $K^{m\\times o}$. Also gilt $(A\\cdot B)^T \\in K^{o\\times m}$. \n", "Außerdem gilt: $B^T \\in K^{o\\times n}$ und $A^T \\in K^{n\\times m}$. Also ist $B^T\\cdot A^T \\in K^{o \\times m}$. Das Ergebnis auf beiden Seiten der Gleichung ist also in $K^{o \\times m}$.\n", "\n", "Ein Beispiel kann man sich leicht selbst kreieren, indem man 2 (überschaubar große) Matrizen $A,B$ bildet und die Rechnung durchführt. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![Folie 48](Folien/10/slide-19.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ![Folie 49](Folien/10/slide-20.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Homomorphismen haben wir schon gesehen, z.B. unter [ordnungserhaltenden Abbildungen](./04_Ordnungserhaltende-Abbildungen.ipynb).\n", "\n", "\n", "### Bemerkung 1\n", "\n", "Veranschaulichen wir dies mit einem Beispiel.\n", "$A \\in K^{2\\times3}, A=\\begin{pmatrix}1&2&3\\\\4&5&6\\end{pmatrix}$\n", "\n", "Diese Matrix $A$ definiert die folgende lineare Abbildung. Diese lineare Abbildung hat als \"Namen\" die Matrix $A$.\n", "$\\begin{pmatrix}1&2&3\\\\4&5&6\\end{pmatrix}:K^3\\to K^2$\n", "\n", "Jetzt wählen wir einen beliebigen Vektor $v\\in K^3$, z.B. $v = \\begin{pmatrix}2\\\\4\\\\6\\end{pmatrix}$\n", "Übergibt man den Vektor $v$ der Abbildung $A$ als Argument, erhält man durch Multiplikation von $A$ mit $v$ den Wert $A(v) \\in K^2$. \n", "$A(v)=A\\cdot v = \\begin{pmatrix}1&2&3\\\\4&5&6\\end{pmatrix}\\cdot \\begin{pmatrix}2\\\\4\\\\6\\end{pmatrix}= \\begin{pmatrix}1\\cdot 2 +2\\cdot 4+3\\cdot 6\\\\4\\cdot 2+5\\cdot 4+6\\cdot 6\\end{pmatrix}\n", "=\\begin{pmatrix}2 +8+18\\\\8+20+36\\end{pmatrix}=\\begin{pmatrix}28\\\\64\\end{pmatrix}$\n", "\n", "Auf diese Weise kann jede andere Matrix $A'\\in K^{m\\times n}$ eine andere Abbildung definieren. Die Abbildung sieht dann immer gleich aus: $A' : K^n\\to K^m$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bemerkung 2\n", "\n", "$\\dots$ sagt Folgendes aus: Wir haben 2 Matrizen $A,B$ mit passender Zeilen- und Spaltenzahl gegeben. Dann definieren diese Matrizen beide Abbildungen, wie gerade beschrieben. Die [Komposition](./02_Funktionen.ipynb#Komposition-von-Funktionen) dieser beiden Abbildungen, $B\\circ A$, ist wieder eine Abbildung. Und diese Abbildung kann auch durch die Matrix $B\\cdot A$ beschrieben werden. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![Folie 50](Folien/10/slide-21.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dieses Thema besprechen wir nicht im Detail, viele könnten es noch aus der Schule kennen. Was man sich merken sollte: Große Gleichungssysteme lassen sich i.d.R. einfacher lösen, wenn man sie in Matrizen umformt. Einige Programmiersprachen bieten dafür fertige Implementierungen an." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Wofür man Matrizen auch verwenden kann\n", "\n", "In der [Term-Document Matrix](https://youtu.be/9Ib0SQkQmNA) stehen die Zeilen für Wörter und die Spalten für die Dokumente, in denen diese Wörter vorkommen. Je nach Anwendung enthält eine Zelle der Matrix z.B. eine 1, wenn das Wort im Dokument vorkommt, und eine 0, wenn es nicht vorkommt. Oder jede Zelle enthält die Anzahl der Vorkommen im Dokument.\n", "\n", "Mit Methoden, die wir später lernen, können wir z.B. folgende Themen bearbeiten. Unsere Sammlung von Dokumenten enthält alle Bücher von Tolkien und alle englischen Fachartikel über Computerlinguistik. Die Vektoren der Spalten, die für die Bücher des Hobbits und des Herr der Ringe stehen, haben eine geringere Distanz zueinander als zu einem Artikel über Deep Learning.\n", "\n", "Hier ein Beispiel, wie ein kleiner Teil so einer Matrix aussehen könnte. Die Zahlen sind ausgedacht." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![Termdocument](pic/09_termdocument.png)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }