master > master: Repo
commit
5ead061d2b
@ -0,0 +1,60 @@
|
||||
*
|
||||
!/.gitignore
|
||||
|
||||
################################################################################################################################
|
||||
# Hauptordner
|
||||
################################################################################################################################
|
||||
!/README.md
|
||||
|
||||
################################################################################################################################
|
||||
# Projekt
|
||||
################################################################################################################################
|
||||
!/docs
|
||||
/docs/*.md
|
||||
/docs/*.tex
|
||||
/docs/*.pdf
|
||||
!/docs/loesungen.tex
|
||||
!/docs/loesungen.pdf
|
||||
!/code
|
||||
!/code/geogebra
|
||||
!/code/geogebra/*.ggb
|
||||
!/code/python
|
||||
!/code/python/*.py
|
||||
!/code/R
|
||||
!/code/R/*.r
|
||||
!/notes
|
||||
!/notes/**/*.tex
|
||||
!/notes/**/*.md
|
||||
!/notes/**/*.rtf
|
||||
!/notes/**/*.pdf
|
||||
!/uebung
|
||||
!/uebung/woche1
|
||||
!/uebung/woche2
|
||||
!/uebung/woche3
|
||||
!/uebung/woche4
|
||||
!/uebung/woche5
|
||||
!/uebung/woche6
|
||||
!/uebung/woche7
|
||||
!/uebung/woche8
|
||||
!/uebung/woche9
|
||||
!/uebung/woche10
|
||||
!/uebung/woche11
|
||||
!/uebung/woche12
|
||||
!/uebung/woche13
|
||||
!/uebung/**/*.md
|
||||
!/uebung/**/*.txt
|
||||
!/uebung/**/*.rtf
|
||||
!/uebung/**/*.tex
|
||||
!/contacts
|
||||
!/contacts/*.py
|
||||
|
||||
################################################################################################################################
|
||||
# Artefakte
|
||||
################################################################################################################################
|
||||
/**/*.spec
|
||||
/**/__pycache__
|
||||
|
||||
################################################################################################################################
|
||||
# gitkeep: präserviert alle Ordner mit einer .gitkeep Datei drin (damit auch leere Ordner synchronisiert werden).
|
||||
################################################################################################################################
|
||||
!/**/.gitkeep
|
@ -0,0 +1,144 @@
|
||||
# Repository für Lineare Algebra / Übungsgruppe #
|
||||
|
||||
In diesem Repository werden Ressourcen hochgeladen,
|
||||
zum Beispiel Skripte oder Dokumente für mathematische Argumente.
|
||||
Gründe hierfür:
|
||||
|
||||
- um den Umstand zu vermeiden, per Email, Moodle, BBB, usw. Dateien zu schicken.
|
||||
- technische Kritzelei irgendwo festzuhalten.
|
||||
|
||||
Dieses Repo enthält
|
||||
|
||||
1. Code/Codeschnippsel: siehe [/code](./code).
|
||||
2. Dokument inklusive meiner Lösungen zu den Übungsblättern (die nach dem Abgabetermin hochgeladen werden): siehe [/docs](./docs) und [/docs/loesungen.pdf](./docs/loesungen.pdf).
|
||||
3. Notizen/Kritzelei für mathematische Argumente, Berechnungen, usw.: siehe [/notes](./notes).
|
||||
4. Protokolle von den Übungsgruppen: siehe [/uebung](./uebung).
|
||||
|
||||
## Mathematisches Denken ##
|
||||
|
||||
Mathematik ist eine präzise aber abstrakte Kunst.
|
||||
Pflegen muss man zwei den Umgang mit zwei Aspekten:
|
||||
|
||||
- Anschauung,
|
||||
- Formalismen.
|
||||
|
||||
Es gibt ein Zwischenspiel zwischen beiden dieser Aspekte.
|
||||
|
||||
### Anschauung ###
|
||||
|
||||
Stichwörte: **Konzepte** (en: _notion_), **Vorstellung**, **Visualisierung**, **Intuition**, ...
|
||||
|
||||
Mit _Anschauung_ meine ich nicht bloß _Visualisierung_, sondern vielmehr das intuitive Begreifen von Mathematik.
|
||||
Mit Intuition nun meine ich aber _nicht_ »common sense«,
|
||||
sondern eine Fähigkeit, die man antrainieren muss, um abstrakte Sachverhalte
|
||||
zu visualisieren, internalisieren, und um sich mit den mathematischen »Gegenständen« vertraut zu machen.
|
||||
|
||||
### Formalismen ###
|
||||
|
||||
Stichwörte: **Symbole**, **Notation**, **Axiome**, **Rahmen**, **Aussagen**, **Beweise**, **Argumentation**, ...
|
||||
|
||||
Der Begriff _Formalismen_ geht eigentlich auf die Grundlagen der Mathematik ab der Mitte des 19. Jh zurück.
|
||||
Ab dieser Zeit fingen Mathematiker an, nicht mehr lose zu berechnen, sondern Erkenntnisse in _formalen Systemen_ aufzuschreiben.
|
||||
Im Grunde (und im Falle von Church, Turing, Kleene, usw. buchstäblich) legten sie die Bausteine für das moderne Konzept von Berechenbarkeit, Algorithmen, und Rechnern.
|
||||
Es stellt sich heraus (siehe insbesondere das Löwenheim-Skolem-Tarski Paradoxon), dass mathematische Aussagen komplett unabhängig von Anschauungen ausgelegt und bewiesen werden können.
|
||||
Mit anderen Worten, man kann einen seelenlosen Rechner mit mathematischen Aufgaben beauftragen,
|
||||
und dieser ohne jegliche Vorstellungskraft wäre in der Lage _richtige_ Berechnungen durchzuführen und Schlüsse zu ziehen.
|
||||
|
||||
Kurz gesagt, die _formalen_ Aspekte bestehen aus technischen Symbolen, mithilfe derer wir Aussagen schreiben, und der Struktur von Argumenten.
|
||||
|
||||
### Die Rolle von beiden Aspekten ###
|
||||
|
||||
Einerseits sind formale Mitteln notwendig, um Aussagen _klar und eindeutig_ zu formulieren,
|
||||
und notwendig und hinreichend, um diese zu beweisen.
|
||||
Andererseits benötigen wir als _denkende Menschen_ aber auch Anschauungen,
|
||||
|
||||
1. um formale Aussagen _deuten_ zu können und deren Informationsgehalt zu _begreifen_,
|
||||
2. damit einem Ideen und Ansätze einfallen, um Behauptungen zu beweisen.
|
||||
|
||||
Wir brauchen also die formale Seite, um **präzis** zu kommunizieren und richtig zu argumentieren,
|
||||
und die anschauliche Seite, um uns überhaupt orientieren zu können.
|
||||
|
||||
### Wie trainiere ich das? ###
|
||||
|
||||
Es gibt einige Möglichkeiten für verschiedene Lerntypen:
|
||||
|
||||
- Selbstlernen: sich alleine mit dem Skript auseinandersetzen. Am besten ein paar Stunden in einem ruhigen Ort wie einem Café, der Bibliothek, zu Hause.
|
||||
Gründlich die Definitionen und Resultate durchgehen.
|
||||
- Durch Gruppenarbeit.
|
||||
- Austausch von konkreten Fragen in eurer Chat-Gruppe oder in online Foren wie stackexchange, math.hashcode, usw..
|
||||
- In der Übungsgruppe. Bei wichtigen Fragen, die wir gemeinsam bearbeiten, werde ich versuchen, diese in dem Repository festzuhalten.
|
||||
|
||||
## Software für Text/Notizen ##
|
||||
|
||||
Unter Mathematikern, Wissenschaftlern, (womöglich auch Ingenieuren), und Informatikern sind folgende Optionen sehr beliebt:
|
||||
|
||||
- LaTeX
|
||||
- Markdown, sowie die verschiedenen Kombinationen mit anderer Software:
|
||||
- Pandocs (kombiniert so ziemlich alles!)
|
||||
- Rmd (R Markdown)
|
||||
- pynb/JyPyter (Python notebooks)
|
||||
|
||||
Am Rechner schreibe ich alles meistens in Markdown oder LaTeX-Dateien.
|
||||
Wenn ich wirklich schnell schreiben will, und mir die Formattierung egal ist,
|
||||
benutze ich sogar Notepad / TextEditor / rtf.
|
||||
Freunde benutzen Apps, in denen man zeichnen kann. Das ist auch sehr nützlich.
|
||||
|
||||
## Software für Berechnungen und Anschauungen ##
|
||||
|
||||
Es gibt einige Hilfsmittel, derer man sich bedienen kann, um entweder Konzepte zu visualisieren oder zu berechnen.
|
||||
**Diese Möglichkeiten sind keineswegs verpflichtend!**
|
||||
|
||||
### Geogebra ###
|
||||
|
||||
Diese App ist ein lustiges aber sehr nützliches Programm, um schnell im 2-d Raum ($\mathbb{R}^{2}$) oder 3-d Raum ($\mathbb{R}^{3}$) geometrische Objekte und Konzepte zu realisieren.
|
||||
Man kann GeoGebra [hier](https://www.geogebra.org/download?lang=de) herunterladen.
|
||||
|
||||
**Vorteile:** man braucht hier _null_ Programmierkenntnisse. Mit der App kann man ohne Weiteres direkt loslegen.
|
||||
|
||||
**Nachteile:** Man sollte es aber nicht zu weit betreiben, denn diese App wird schnell überfordert.
|
||||
Es scheint, dass man nicht mehr Dateien lokal speichern kann (?!).
|
||||
Anscheinend wollen die „klugen“ Betreiber dieser App einen rein online Gebrauch erzwingen 🤦.
|
||||
|
||||
### R ###
|
||||
|
||||
Für **R** braucht man
|
||||
|
||||
- Den **R** Compiler (siehe z. B. [hier](https://cran.rstudio.com))
|
||||
- (optional) einen Editor wie **RStudio** (siehe [hier](https://rstudio.com/products/rstudio/download/#download)).
|
||||
|
||||
Man kann auch ohne Installation R-Skripte ausführen: einfach nach »R compiler online« googeln (oder z. B. <https://repl.it> -> `<>Start coding` —> Sprache auswählen).
|
||||
|
||||
**Vorteile:** man braucht hier nur _sehr minimale_ Programmierkenntnisse.
|
||||
Diese Sprache wurde für Naturwissenschaftler und Statistiker entwickelt, und Menschen rund um den Globus entwickeln immer neue Packages für alles Mögliche in dieser Sprache.
|
||||
Es gibt eine große Community und damit kann man für alle Probleme Hilfe finden.
|
||||
Visualisierung mag zwar umständlicher als mit Geogebra sein, aber ist nicht so schwer.
|
||||
|
||||
**Nachteile:**
|
||||
Man sollte im Laufe seines Studiums **R** nicht _ausschließlich_ bedienen,
|
||||
denn diese Sprache fördert einen richtig schlechten Programmierstil.
|
||||
Für die Logiker und Informatiker unter euch, wird es bspw. nerven, dass in **R**-Arrays (sog. lists/vectors) Indexes mit `1` anfangen.
|
||||
Für Programmierer, wird stören, dass **R** keine saubere Implementierung von Klassen, (lokalen) Imports, usw. anbietet
|
||||
(diese Dinge existieren, aber sind sehr umständlich).
|
||||
|
||||
### Python ###
|
||||
|
||||
_„Pfft! Python ist nichts anderes als glorifiziertes Bash!“_ — ein ehem. Arbeitskollege
|
||||
|
||||
Von diesem Zitat abgesehen ich persönlich liebe diese Sprache.
|
||||
Man kann den Python-Compiler [hier](https://www.python.org/downloads/) herunterladen.
|
||||
(ACHTUNG! Version 3.9.0 scheint mit C-libraries Probleme zu haben. Ich persönlich hatte Schwierigkeiten gewisse mathe-Module dafür zu installieren. Ich würde deshalb erstmals v3.8.xx empfehlen.)
|
||||
|
||||
Man kann auch ohne Installation python Skripte ausführen: einfach nach »python compiler online« googeln (oder z. B. <https://repl.it> -> `<>Start coding` —> Sprache auswählen).
|
||||
|
||||
**Vorteile:** Da man kein Memory-Allocation o. Ä., oder Typisierung pflegen muss, kann man mit grundlegenden Programmierkenntnissen sehr leicht in Python einsteigen.
|
||||
Es gibt eine immense Community für Python und man kann sehr schnell online durch Foren u. Ä. Hilfe holen.
|
||||
Die Python-Dokumentation ist sehr ausführlich und alles ist gut versioniert.
|
||||
Möglicherweise werden einige von euch etwas im Bereich Data Science machen.
|
||||
Dafür ist python (aktuell) mit das gängigste Tool.
|
||||
Generell (nicht nur wegen DS) lohnt es sich, Python (samt Modulen wie **numpy**/**numpy.linalg**, **pandas**, usw.) zu können.
|
||||
|
||||
**Nachteile:** Python ist nicht sonderlich schnell, aber bzgl. Geschwindigkeit definitiv besser als Geogebra.
|
||||
Für Programmierer gibts an Python viel Grund zu meckern (z. B. keine echten privat/public/protected access modifiers, unsauberer Umgang mit Typing.).
|
||||
|
||||
Für Visualisierungen von Vektoren wäre Python nicht die beste Option.
|
||||
Für unseren Kurs würde ich dies nur für die Ausführung von Algorithmen Empfehlen.
|
@ -0,0 +1,188 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# IMPORTS
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
import os;
|
||||
import sys;
|
||||
import re;
|
||||
import numpy as np;
|
||||
from numpy import int32;
|
||||
import numpy.linalg as npLA;
|
||||
import pandas as pd;
|
||||
from typing import Dict;
|
||||
|
||||
# erzwing wd:
|
||||
SOURCEDIRECTORY = os.path.dirname(os.path.realpath(__file__));
|
||||
os.chdir(SOURCEDIRECTORY);
|
||||
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# GLOBAL VARIABLES
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
INPUT_CONTACTS = 'kontakte.csv';
|
||||
OUTPUT_GROUPS = 'teilnehmer.csv';
|
||||
OUTPUT_EMAILS = 'EMAILS';
|
||||
AUFGABEN: Dict[int, str] = dict();
|
||||
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# HAUPTVORGANG
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
def main():
|
||||
contacts = get_contacts();
|
||||
write_emails(contacts);
|
||||
contacts = assign_groups(contacts);
|
||||
contacts = assign_exercises(contacts);
|
||||
contacts = censor_data(contacts);
|
||||
write_groups(contacts);
|
||||
print_groups(contacts);
|
||||
return;
|
||||
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# SEKUNDÄRVORGÄNGE
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
def get_contacts() -> pd.DataFrame:
|
||||
contacts = {};
|
||||
lines = [];
|
||||
with open(INPUT_CONTACTS, 'r') as fp:
|
||||
lines = fp.readlines();
|
||||
data = [];
|
||||
for line in lines:
|
||||
line = line.strip();
|
||||
if line == '':
|
||||
continue;
|
||||
parts = line.split(r',');
|
||||
for i, part in enumerate(parts):
|
||||
parts[i] = part.strip();
|
||||
for i in [0, 1]:
|
||||
parts[i] = re.sub(r'_', r' ', parts[i]);
|
||||
data.append(dict(
|
||||
key=(parts[1] + ' ' + parts[0]).lower(),
|
||||
surname=parts[0],
|
||||
name=parts[1],
|
||||
email=parts[2],
|
||||
group=parts[3] if len(parts) >= 4 else None,
|
||||
exercise=0
|
||||
));
|
||||
contacts = pd.DataFrame(
|
||||
data=data,
|
||||
index=None,
|
||||
columns=('key', 'surname', 'name', 'email', 'group', 'exercise')
|
||||
);
|
||||
contacts.group = pd.to_numeric(contacts.group, errors='coerce');
|
||||
contacts = contacts.astype(dict(
|
||||
key='string',
|
||||
surname='string',
|
||||
name='string',
|
||||
email='string',
|
||||
group='Int32',
|
||||
exercise='string',
|
||||
));
|
||||
del lines;
|
||||
del data;
|
||||
return contacts;
|
||||
|
||||
def assign_groups(contacts: pd.DataFrame) -> pd.DataFrame:
|
||||
index = 0;
|
||||
lines = [];
|
||||
with open('GROUPS', 'r') as fp:
|
||||
lines = fp.readlines();
|
||||
for line in lines:
|
||||
line = line.strip();
|
||||
if line == '':
|
||||
continue;
|
||||
index += 1;
|
||||
pattern = [];
|
||||
for word in line.split(r','):
|
||||
key = word.strip().lower();
|
||||
if key == '':
|
||||
continue;
|
||||
pattern.append(key);
|
||||
pattern = re.compile('|'.join(pattern));
|
||||
contacts.loc[contacts.key.str.contains(pattern), 'group'] = index;
|
||||
return contacts;
|
||||
|
||||
def assign_exercises(contacts: pd.DataFrame) -> pd.DataFrame:
|
||||
global AUFGABEN;
|
||||
lines = [];
|
||||
with open('EXERCISES', 'r') as fp:
|
||||
lines = fp.readlines();
|
||||
for _, line in enumerate(lines):
|
||||
g = _ + 1;
|
||||
line = line.strip();
|
||||
if line == '':
|
||||
continue;
|
||||
ex = line;
|
||||
AUFGABEN[g] = ex;
|
||||
contacts.exercise = contacts.group.apply(lambda g: AUFGABEN[g] if g in AUFGABEN else pd.NA);
|
||||
return contacts;
|
||||
|
||||
def censor_data(contacts: pd.DataFrame) -> pd.DataFrame:
|
||||
contacts.email = contacts.email.apply(lambda i: re.sub(r'^(.*)(@.*)$', r'____\2', i));
|
||||
return contacts;
|
||||
|
||||
def write_emails(contacts: pd.DataFrame):
|
||||
with open(OUTPUT_EMAILS, 'w') as fp:
|
||||
line = ', '.join(list(contacts.email));
|
||||
fp.write(line + ',\n');
|
||||
return;
|
||||
|
||||
def write_groups(contacts: pd.DataFrame):
|
||||
contacts = contacts \
|
||||
.sort_values(
|
||||
by=['group', 'surname', 'name'],
|
||||
ascending=[True, True, True],
|
||||
na_position='last'
|
||||
) \
|
||||
.reset_index(drop=True);
|
||||
with open(OUTPUT_GROUPS, 'w') as fp:
|
||||
fp.write('GRUPPE, AUFGABE, NACHNAME, VORNAME\n');
|
||||
for _, entry in contacts.iterrows():
|
||||
fp.write('{group}, {ex}, {surname}, {name}\n'.format(
|
||||
surname=entry.surname.upper(),
|
||||
name=entry['name'], # nötig, weil 'name' auch der Index ist
|
||||
email=entry.email,
|
||||
group=entry.group,
|
||||
# group='' if pd.isnull(contacts.group[i]) else contacts.group[i],
|
||||
ex=entry.exercise
|
||||
));
|
||||
return;
|
||||
|
||||
def print_groups(contacts: pd.DataFrame):
|
||||
contacts = contacts \
|
||||
.sort_values(
|
||||
by=['group', 'name', 'surname'],
|
||||
ascending=[True, True, True],
|
||||
na_position='last'
|
||||
) \
|
||||
.reset_index(drop=True);
|
||||
n_groups = max([0] + [_ for _ in contacts.group if isinstance(_, int32)]);
|
||||
for g in list(range(1, n_groups + 1)) + [0]:
|
||||
if g == 0:
|
||||
group = contacts[pd.isnull(contacts.group)].reset_index(drop=True);
|
||||
print('- _keiner Gruppe zugeordnet!_', end='');
|
||||
else:
|
||||
group = contacts[contacts.group == g].reset_index(drop=True);
|
||||
ex = AUFGABEN[g] if g in AUFGABEN else '???';
|
||||
print('- **Gruppe {}** | {} |'.format(g, ex), end='');
|
||||
Ng = len(group);
|
||||
for _, entry in group.iterrows():
|
||||
endchar = ',';
|
||||
if _ == Ng - 1:
|
||||
endchar = '\n';
|
||||
print(' {name}.{surname}'.format(
|
||||
surname=entry['surname'][0].upper(),
|
||||
name=entry['name'][:3].upper(),
|
||||
), end=endchar);
|
||||
return;
|
||||
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# SEKUNDÄRVORGÄNGE
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
if __name__ == '__main__':
|
||||
main();
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,51 @@
|
||||
# Kritzelei aus Woche 3 #
|
||||
|
||||
## Übungsblatt 1 ##
|
||||
|
||||
Für volle Lösungen siehe Datei [/docs/loesungen.pdf](../docs/loesungen.pdf).
|
||||
### Anmerkung zu Aufgabe 2 ###
|
||||
|
||||
Seien **A** eine m x n Matrix über IR, und **b** in IR^m.
|
||||
|
||||
_Lösungsmenge vor Transformation:_
|
||||
|
||||
Sei L_1 := { x ∈ IR^n | Ax = b }
|
||||
|
||||
_Lösungsmenge nach Transformation:_
|
||||
|
||||
Sei L_2 := { x ∈ IR^n | A'x = b' },
|
||||
wobei (A'|b') das Resultat einer Transformation (Art I, II, III) ist.
|
||||
|
||||
**BEHAUPTUNG.** Es gilt L_1 = L_2.
|
||||
|
||||
**BEWEIS.**
|
||||
|
||||
- **Zu zeigen 1:** L_1 ⊆ L_2
|
||||
- Sei x aus L_1 beliebig. D. h. **x** ist eine Lösung zu (A|b)
|
||||
- **Zu zeigen:** x in L_2, d. h. dass x eine Lösung zu (A'|b') ist.
|
||||
- Fall 1. Transformation vom Typ I:
|
||||
- ...
|
||||
- Fall 2. Transformation vom Typ II:
|
||||
- ...
|
||||
- Fall 3. Transformation vom Typ III:
|
||||
- ...
|
||||
|
||||
- **Zu zeigen 2:** L_2 ⊆ L_1
|
||||
- Sei x aus L_2 beliebig. D. h. **x** ist eine Lösung zu (A'|b')
|
||||
- **Zu zeigen:** x in L_1, d. h. dass x eine Lösung zu (A|b) ist.
|
||||
- _Unvollständige Argumentation:_ Die Transformationen sind umkehrbar. Also ist x eine Lösung von (A|b) auch.
|
||||
- !! **Fehlt:** Warum bedeutet diese Umkehrbarkeit, dass x noch eine Lösung von (A|b) ist? !!
|
||||
- Richtiger Ansatz 1:
|
||||
- Gegeben ist, dass A'x = b' gilt.
|
||||
- Nun gilt: A' = E·A, b' = E·b, wobei E die Zeilenumformung ist.
|
||||
- **Umkehrbarkeit der Transformation bedeutet:** E ist umkehrbar.
|
||||
- Also, aus A'x = b' (d. h. E·A·x = E·b) folgt Ax = b.
|
||||
- Richtiger Ansatz 2:
|
||||
- (A'|b') entsteht durch Anwendung von I, II, od. III. aus (A|b)
|
||||
- **die Umkehrung (von (A'|b') ---> nach (A|b)) ist selbst eine Transformation vom Typ I, II, od. III.**
|
||||
- Also (A|b) ist eine Transformation von (A'|b')
|
||||
- Der erste Teil des Beweis hat gezeigt, dass
|
||||
- **x** Lösung von (A'|b') ==> **x** Lösung von Transformation von (A'|b')
|
||||
- d. h. **x** Lösung von (A'|b') ==> **x** Lösung von Transformation von (A|b).
|
||||
|
||||
**QED**
|
@ -0,0 +1,40 @@
|
||||
# Kurs #
|
||||
|
||||
Die URL vom Kurs findet man hier: <http://www.math.uni-leipzig.de/~sinn/lehre/LA1.html>.
|
||||
|
||||
## Leistungen ##
|
||||
|
||||
Klausurzulassung, wenn
|
||||
|
||||
- ≥ 50% der Punkte aus den insgesamt 12 Übungsblättern (je 15 Pkt).
|
||||
- ~~?/? Quizzes~~ —> keine Voraussetzung mehr. Die Quizzes sind freiwillig!
|
||||
|
||||
Klausur:
|
||||
|
||||
- voraussichtlich am 16.02.2021
|
||||
- 90 min Dauer
|
||||
- ??? Fragen
|
||||
|
||||
## Übungsgruppen ###
|
||||
|
||||
Die Übungsgruppen sind Pflichtveranstaltungen.
|
||||
|
||||
Jede Woche besteht der Ablauf grob aus folgenden Teilen:
|
||||
|
||||
- allgemeine Ankündigungen
|
||||
- Präsentation von SKA von jeder Gruppe (sofern anstehend)
|
||||
- Besprechung von ÜB aus vorheriger Woche (sofern korrigiert)
|
||||
- Besprechung vom Stoff aus VL
|
||||
- Quiz 10min
|
||||
- Breakout-Rooms für SKA
|
||||
|
||||
Je nach Zeit und Nachfrage fallen manche Dinge aus, damit wir uns den wichtigeren Dingen widmen können.
|
||||
|
||||
## Notizen aus jeder Woche ##
|
||||
|
||||
Jede Woche werden Anmerkungen in Markdown-Dateien hier festgehalten:
|
||||
|
||||
- Woche 1: ---
|
||||
- Woche 2: ---
|
||||
- Woche 3: [/uebung/woche3/README.md](./woche3).
|
||||
- Woche 4: [/uebung/woche4/README.md](./woche4).
|
Loading…
Reference in New Issue