Frage

Ich werde anfangen, abstrakte Algebra zu lernen – Gruppen, Ringe usw.Ich bin daran interessiert, jede Programmiersprache zu kennen, wenn überhaupt, die mir beim Erlernen/Ausprobieren der Konzepte helfen kann, die ich in der Theorie lerne.

BEARBEITEN:Ich schaue nicht wirklich hin umsetzen was ich lerne.Ich bin daran interessiert, jede Sprache zu kennen, die sie bereits unterstützt.

War es hilfreich?

Lösung

Der Text, den Sie hier wollen, ist Abstrakte Algebra, A Computational Ansatz von Chuck Sims. Der Autor wird empfohlen, die Verwendung APL Programmiersprache. Das Buch ist vergriffen, aber man kann es wohl in Ihrer Bibliothek finden.

Es gibt auch die GAP Computer Algebra System , die Spaß für die Gruppentheorie zu verwenden ist.

Erweiterte Informationen:

Magma : ziemlich anspruchsvoll CAS die eine breite Palette von Konzepten aus der abstrakten Algebra verarbeiten kann.
Macaulay 2: verwendet Polynomringen zu studieren, vor allem Gröbner Basen .
SINGULAR . Benutzen Polynomringen zu studieren

Eine wichtige Tatsache Gruppentheorie in dem Studium ist, dass jede Gruppe zu einem Permutationsgruppe isomorph ist durch die regelmäßige Aktion. So Theorie der Schlüssel zum Verständnis Gruppe ist es, die Permutationsgruppen zu verstehen.

Schließlich wird jede Sprache, die Ihre eigenen Objekte sind und einen binären Operator auf zwei Instanzen des Objekts unterstützt die Definition unterstützt die Theorie über die Programmierung zu lernen.

Andere Tipps

Vielleicht eine etwas andere Perspektive auf Ihre Frage, aber immer noch ... Die funktionale Programmiersprache Haskell verwendet Konzepte aus der Algebra (insbesondere Kategorie Theorie) wie Monaden, Monoide, Pfeile und so weiter.

Haskells typeclasses verwenden, könnten Sie machen auch ein beliebiges Objekt in eine Gruppe oder einen Ring, beispielsweise einfach durch Operationen (Operatoren) auf sie zu definieren. Die Gewährleistung, dass die Operationen, die Sie definieren tatsächlich auf die Gruppe / Ring-Axiome entsprechen würde Ihre Verantwortung sein, aber.

Wenn Sie mit Gruppen spielen, möchten Sie vielleicht, sie visualisieren Gruppe Explorer verwendet wird.

Mathematica hat viele nützliche Funktionen für mit Konzepten in abstrakten Umgang Algebra. Leider ist es proprietäre Software und sehr teuer. Sage ist eine kostenlose Alternative, die auch ein ziemlich gutes Repertoire der abstrakten Algebra Funktionen hat, obwohl ich nicht haben so intensiv genutzt es also kann ich nicht viel dazu sagen.

Jede Sprache mit fester Größe Integer ohne Vorzeichen (z. B. die unsigned int Typ in C) ist ein Beispiel für eine solche Implementierung. Zusätzlich mit unsigned Werten ist im Wesentlichen die gleiche wie die Ergänzung über Z 2 32 (dh. Die ganzen Zahlen Modulo 2 32 ), die Sie wahrscheinlich lernen etwa in der abstrakten Algebra-Klasse.

Modular zusätzlich über eine solche Gruppe ist nicht besonders interessant, aber. Interessanter modulare Addition über eine Gruppe von Größe N sein könnte, wobei N Primfaktoren andere als nur 2 oder Größe P hat, wobei P eine Primzahl ist. Experimentieren mit solchen Gruppen, können Sie solche Rechenoperationen selbst implementieren müssen (es ist nicht schwer). Sprachen mit Überladen von Operatoren, die Umsetzung viel bequemer machen zu können.

Verwenden Sie die Sprache aus, die am meisten Sinn macht für Sie. Abstrakte Algebra enthält viel Symbolmanipulation (Symbol drücken) und Umschreiben, eine bescheidene Menge von Induktion und einen fairen Betrag von Langweiligkeit. Für mich klingt wie Logik oder funktionale Programmierung; Epigramm und Agda tun ein bisschen dies und Haskell tut zu einem gewissen Grad (obwohl ich nicht einverstanden, dass Monoid richtig ist, MZERO und mappend in Ordnung, mconcat: schlecht). Für abstrakten Algebra, die beste Programmiersprache Definition Notebook und Tonnen Papier. Obwohl dies eine ziemlich esoterisch in diesen Tagen immer.

Hmm ... leider zu sagen, aber ich glaube nicht, ist es effektiv, eine schicke neue Programmiersprache zu lernen, um Ihnen abstrakten Algebra lernen zu helfen.

Ja Haskellers Lieb Kategorie Theorie zu sprechen, aber das ist nicht wirklich ein guter Ausgangspunkt.

GAP und co. werden verwendet, um neues „Monster“ zu finden erwachsen Gruppe Theoretiker zu helfen - sie sind schlecht Tools Gruppentheorie lernen

.

Vielleicht können Sie einen Blick auf diese haben: http://freecomputerbooks.com/mathAlgebraBooks.html - es gibt rund um dieses Thema eine Menge kostenloser Bücher

.

Es ist ein wenig überraschend, dass bisher niemand etwas erwähnt hat Kakao (ein Akronym für Computations in Commutative Algebra), ein Link zur Hauptseite: http://cocoa.dima.unige.it/ wo man das neueste CoCoA 5.0 für die wichtigsten Plattformen (Linux, MacOS
Ein frei verfügbares Computeralgebrasystem (geschrieben in C), das seit über 20 Jahren entwickelt wird.Sein Ziel sind professionelle, wissenschaftliche Anwendungen, darunter Gröbner-basierte Berechnungen, Polynomfaktorisierung, exakte lineare Algebra, Hilbert-Funktionen, torische Ideale usw.

Es gibt gute Monographien wie Computational Commutative Algebra (2 Bde.) von Kreutzer und Robbiano, die sich mit CoCoA befassen: http://cocoa.dima.unige.it/kr/

Auf dem Gebiet der kommutativen Algebra verfügt es über fortgeschrittenere und spezialisiertere Funktionen als Mathematica, obwohl es in M ​​brillante Fähigkeiten (die in CoCoA fehlen) zur Quantoreneliminierung bietet (hilfreich beim Umgang mit Systemen polynomialer Gleichungen und Ungleichungen): http://www.wolfram.com/learningcenter/tutorialcollection/AdvancedAlgebra/.

Das einzige Computersprache Buch, das ich gelesen, die ernsthaft mit Konzepten der abstrakten Algebra zu tun versucht, sind Scientific and Engineering C ++: Eine Einführung mit Fortgeschrittene Techniken und Beispiele von John J. Barton, Lee R. Nackman.

Es ist ein gutes Buch über C ++, obwohl ziemlich alt.

Ich kann nicht sagen, ob der Ansatz 100% mathematisch korrekt ist.

In ähnlicher Weise zu Gregs Antwort, haben Gruppen eine schöne Darstellung in Form einer Matrix-Multiplikation, so dass Sie sehen oft Beispiele mit Matlab oder ähnlichen Werkzeugen gemacht ...

EAAM es ist ein Mathematica bestimmte Paket und kann auch installiert werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top