Differences between revisions 6 and 9 (spanning 3 versions)
Revision 6 as of 2006-11-23 10:27:03
Size: 7085
Comment: started correcting the german translation, I'm not done, it's still funny
Revision 9 as of 2008-01-18 11:44:35
Size: 7141
Editor: SimonKing
Comment: Leichte grammatische Änderungen
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Eine kurze Einleitung in SAGE: Software für Algebra und Geometrie Experimente == == Eine kurze Einleitung in SAGE: Software für Algebra- und Geometrie-Experimente ==
Line 3: Line 3:
SAGE ist eine mathematische Software für die Zahlentheorie, sowie Algebra- und Geometrieberechnungen. Die Implementierung geht im wesentlichen auf an William Stein und weitere 30 anderen Mitwirkende aus der ganzen Welt zurück. SAGE ist freie Software und verfügbar unter den Bedingungen der GNU General Public Lizens (GPL). SAGE ist ["SAGE"] ist eine mathematische Software für Zahlentheorie sowie Algebra- und Geometrieberechnungen. Die Implementierung geht im Wesentlichen auf William Stein und etwa 30 weitere Mitwirkende aus der ganzen Welt zurück. SAGE ist freie Software und ist unter den Bedingungen der GNU General Public License (GPL) verfügbar. SAGE ist
Line 5: Line 5:
 * eine Distribution freier Mathematiksoftware, die von gewöhnlichen Sterblichen aus den Quellen übersetzt werden,
 * Eine neue Pythonbibliothek für mathematische Berechnungen mit einer graphischen und einer zeilenbasierten Schnittstelle sowie
 * Eine Schnittstelle zu bestehenden Computer Algebra Systemen.
 * eine Distribution freier Mathematiksoftware, die ohne besondere Software-Kenntnisse aus den Quellen übersetzt werden kann,
 * eine neue Python-Library für mathematische Berechnungen mit einer graphischen und einer zeilenbasierten Schnittstelle sowie
 * eine Schnittstelle zu bestehenden Computer Algebra Systemen.
Line 9: Line 9:
SAGE wird in Python, C++ und C (über Pyrex) geschrieben. Python ist eine Open-Source, objektorientierte, intepretierte Sprache, mit viele Bibliotheken z.B. für numerische Mathematik, die für SAGE Benutzer ebenfalls zugänglich sind. Python kann auch als Bibliothek von C/C++ Programmen verwendet werden.  SAGE wird in Python, C++ und C (über ["Pyrex"]) geschrieben. Python ist eine quelloffene, objektorientierte, interpretierte Sprache, mit vielen Bibliotheken z.B. für numerische Mathematik, die für SAGE Benutzer ebenfalls zugänglich sind. Python kann ebenso als Library von C/C++ Programmen verwendet werden.
Line 11: Line 11:
SAGE beinhaltet einige wichtige Open-Source Bibliotheken und bietet einen vereinheitlichte Schnittstelle zu ihnen an: Singular (für kommutative Algebra), GAP (für Gruppentheorie), John Cremona's MWRANK Bibliothek (für elliptische Kurven), die PARI Bibliothek für Zahlentheorie, Shoup's Zahlentheorie Bibliothek NTL und Maxima (für symbolische Berechnungen). SAGE bietet ebenso Schnittstellen zu vielen kommerziellen, propritären oder anderen quelloffenen mathematischen Softwarepaketen an, wie MAPLE, MATLAB, Mathematica, KASH/KANT, MAGMA, Axiom und viele anderen. Zur Darstellung von Graphiken nutzt SAGE Matplotlib (für 2D und 3D Graphiken) sowie Tachyon (ein 3D Renderer). SAGE beinhaltet einige wichtige Open-Source Bibliotheken und bietet eine vereinheitlichte Schnittstelle zu ihnen an: ["Singular"] (für kommutative Algebra), ["GAP"] (für Gruppentheorie), John Cremona's ["MWRANK"] Bibliothek (für elliptische Kurven), die ["PARI"] Bibliothek für Zahlentheorie, Shoup's Zahlentheorie Bibliothek ["NTL"] und ["Maxima"] (für symbolische Berechnungen). SAGE bietet ebenso Schnittstellen zu vielen kommerziellen, proprietären oder anderen quelloffenen mathematischen Softwarepaketen an, wie MAPLE, MATLAB, Mathematica, KASH/KANT, MAGMA, Axiom sowie viele anderen. Zur Darstellung von Graphiken nutzt SAGE [:matplotlib:Matplotlib] (für 2D und 3D Graphiken) sowie [:Tachyon_ray_tracer:Tachyon] (ein 3D Renderer).
Line 15: Line 15:
 * Open-Source: Der Quellecode muß frei vorhanden und lesbar sein, so dass jeder Benutzer verstehen kann, was das System wirklich tut sowie das System verändern kann. Genau wie Mathematiker ein tieferes Verständnis eines Theorems erlangen indem sie einen Beweis sorgfältig lesen oder zumindest überfliegen, sollte Programmbenutzer verstehen können, wie die Berechnungen zustande kommen, indem sie die kommentierten Quellen lesen. Alle Software die im Kern von SAGE mit SAGE verbreitet wird, muss freie Software sein, und willkürliche Änderungen sowie die Wiederverteilung jeder einzelnen Zeile muss erlaubt sein.  * Open-Source: Der Quellcode muss frei einsehbar sein, so dass jeder Benutzer verstehen kann, was das System wirklich tut sowie die Möglichkeit hat, das System zu verändern. So wie Mathematiker ein tieferes Verständnis eines Theorems erlangen, indem sie einen Beweis sorgfältig lesen oder zumindest überfliegen, sollten Programmbenutzer verstehen können, wie Berechnungen zustande kommen, indem sie die kommentierten Quellen lesen. Alle Software, die im Kern von SAGE mit SAGE verbreitet wird, muss freie Software sein und Änderungen sowie die Weiterverbreitung des Codes muss erlaubt sein.
Line 17: Line 17:
 * Ein gutes Programmierumfeld: Es wird gehofft dieser SALBEI bildet ein beständiges Klima zu anfangen, neue mathematische Software zu programmieren Projekte. SALBEI stellt ein Modell für zur Verfügung mathematische Gemeinschaft von Software Entwicklung mit einem starken Hauptgewicht an Offenheit, Gemeinschaft, Mitarbeit und Zusammenarbeit.  * Ein gutes Programmierumfeld: SAGE soll eine stabile Umgebung für neue mathematische Softwareprojekte bieten. SAGE ist ein Software Entwicklungsmodell für die mathematische Gemeinschaft mit einer starken Betonung auf Offenheit und Zusammenarbeit.
Line 19: Line 19:
 * Erweiterbar: Definieren neue Daten Arten oder leiten von eingebauten Arten ab und den Code bilden, der in eine Lieblingssprache geschrieben wird (einschließlich C/C++) Teil des Systems.
 * Benutzerfreundlich: Die Hoffnung ist zu schließlich ein hochqualifiziertes der Benutzerunterstützung erreichen.
 * Erweiterbar: Die Möglichkeit, neue Datentypen zu entwerfen, von bestehenden Datentypen zu erben und Code in anderen Programmiersprachen (z.B. C/C++), zum Teil des Systems machen zu können.
Line 22: Line 21:
 * Einfach zu kompilieren: SALBEI sollte verhältnismäßig sein einfach, von der Quelle für Linux, OS zu kompilieren X und MS Windows Benutzer. Dieses liefert mehr Flexibilität, wenn das System geändert wird.  * Benutzerfreundlich: Nutzern soll ein hohes Maß an Unterstützung geboten werden.
Line 24: Line 23:
 * Plattformübergreifend: SALBEI-Durchläufe unter Linux, OS X, Windows. Komplett: Genügende Algorithmen einführen wirklich nützlich sein. Geöffnete Quelle frei vereinheitlichen Mathematik-Software. Ein komplettes sein Hauptströmungsqualität geöffnete Quelle frei Mathematik-Software-System.  * Einfach zu kompilieren: SAGE soll verhältnismäßig einfach aus den Quellen - unter Linux, Mac OSX und MS Windows - übersetzbar sein. Dieses bietet mehr Flexibilität, wenn das System verändert werden soll.
Line 26: Line 25:
 * Effizient: Sehr schnell sein---vergleichbar mit oder schneller als noch etwas vorhanden. Dieses ist sehr schwierig, da viele Systeme sind geschlossene Quelle, Algorithmen sind manchmal nicht veröffentlicht und schnelle Algorithmen zu finden ist häufig extrem schwierig (Jahre der Arbeit, Ph.D. Thesen, Glück, etc.).  * Plattformübergreifend: SAGE läuft unter Linux, Mac OS X und Windows.
Line 28: Line 27:
 * Werkzeuge: Robuste Schnittstellen zu einigem von zur Verfügung stellen die Funktionalität von PARI, GAP, GMP, Maxima, EIGENHEIT, MWRANK und NTL. Diese sind alle sind GPL'd und SALBEI liefert a vereinheitlichte Schnittstelle für das Verwenden sie.
 * Gut dokumentiert: Handbuch, Tutorial, API Hinweis mit Beispielen für jede Funktion und ein umfangreiches „wie kann… im SALBEI konstruiert werden? „Dokument.
 * Komplett: Das Angebot von Algorithmen aus allen Bereichen der computerbasierten Mathematik sowie die Vereinheitlichung aller wichtigen bereits bestehenden quelloffener mathematischer Programme. SAGE soll ein vollständiges und qualitativ hochwertiges Mainstream Computer Algebra System sein.
Line 31: Line 29:
SAGE, einen Installation Führer und a downloaden Tutorial, von seiner Webseite http://sage.scipy.org/.  * Effizient: SAGE soll sehr schnell sein - vergleichbar mit oder schneller als alles andere. Dies ist sehr schwierig, da viele Systeme keine offenen Quellen bieten, Algorithmen manchmal nicht veröffentlicht sind und das Finden schneller Algorithmen häufig extrem schwierig (gemessen in Arbeitsjahren, Doktorarbeiten, Glück, etc.) ist.
Line 33: Line 31:
Obgleich SAGE Pythonschlange und PARI verwendet und andere Pakete, halten im Verstand, daß er nicht ist notwendig, diese Software zu haben preinstalled auf dem Computer. Installation des SAGE ist wirklich zu entworfen verhältnismäßig schmerzlos sein, aber, wenn es gibt alle mögliche Probleme, bitten bitte (die Webseite hat Verbindungen zu den email Listen für SAGE Unterstützung). Es gibt Montagevorschriften an http://sage.scipy.org/sage/doc/html/inst/index.html. Außerdem wenn SAGE einmal angebracht wird, die Höhereinstufung zur neuesten Version ist besonders einfach mit dem „Aufsteigen“ Befehl Wahl.  * Werkzeuge: SAGE soll eine robuste Schnittstelle zur Funktionalität von PARI, GAP, GMP, Maxima, Singular, MWRANK und NTL zur Verfügung stellen. Diese stehen alle unter der GPL und SAGE liefert vereinheitlichte Schnittstellen für sie an.
Line 35: Line 33:
Sobald SAGE in ein Verzeichnis angebracht wird wie sage-x.y.z. In Linux Cd zu diesem Verzeichnis und schreiben den Befehl „. /sage“ zu SALBEI beginnen und den SALBEI anzeigen Aufforderung „sage: “. Dieses ist Einweg zu verwenden SALBEI. Eine andere Weise ist, in zunächst zu schreiben SAGE „Notizbuch (open_viewer=True)“ an SAGE Aufforderung, der (a) den SALBEI beginnt Bedienerbetrieb (ladendes vorher verwendet Bogen, wenn irgendein) und (b) öffnet firefox Datenbanksuchroutine (oder Anfänge ein neuer Vorsprung wenn es ist bereits) geöffnet und zeigt den SAGE an Notizbuchwebseite.  * Dokumentation: Handbuch, Tutorial, API-Referenz mit Beispielen für jede Funktion sowie ein umfangreiches "wie kann ... in SAGE konstruiert werden?" Dokument.
Line 37: Line 35:
An der SAGE Aufforderung „Faktor (100)“ schreiben (Erfolg Rückkehr); SAGE gibt die höchste Vollkommenheit aus Faktorisierung von 100. „Faktor schreiben?? (Rückkehr) und das Quellenprogramm von Funktion Faktor wird gezeigt. Ctrl-d betreten (den Ctrl Schlüssel und das d gleichzeitig halten) oder Art „beendigte“ (Rückhol), und SALBEI wird Ausgang. Diese Berechnung in tun Notizbuch, tragen „Faktor (100)“ in eine „Zelle“ ein (ein leeres weißes Fenster im web browser) und dann betätigen verschieben-eingeben. SALBEI wird die Faktorisierung im Raum gerade anzeigen unterhalb der Zelle. Um das Notizbuch herauszunehmen, gehen zurück zu der Befehl Linie und der Presse Ctrl-c. Zunächst die Datenbanksuchroutine herausnehmen. Dieses beendigt des SAGE Notizbuch. SAGE, eine Installationsanleitung und das Tutorial können von der SAGE Webseite unter http://sage.scipy.org/ heruntergeladen werden.
Line 39: Line 37:
Es gibt Tausenden der zusätzlichen Beispiele im Tutorial Aufbauten und Handbücher, die an vorhanden sind die SAGE Webseite. Sie bitte heraus versuchen! Obgleich SAGE Python, PARI und andere Pakete verwendet, sei darauf hingewiesen, dass es nicht notwendig ist, diese Software auf dem eigenen Computer vorinstalliert zu haben: Sie sind alle in der SAGE-Distribution enthalten. Der Installationsprozess von SAGE ist mit dem Ziel entworfen worden, verhältnismäßig einfach sein. Sollte es dennoch Probleme geben, können Fragen an die SAGE-Entwickler gestellt werden (auf der Webseite befinden sich Links auf die Mailingliste für den SAGE-Support). Eine Installationsanleitung ist unter http://sage.scipy.org/sage/doc/html/inst/index.html zu finden. Sobald SAGE einmal installiert ist, ist ein Upgrade zur jeweils neuesten Version besonders einfach mit dem "upgrade" Befehl möglich.
Line 41: Line 39:
Aktiv wachsendes SALBEI-IS-IS und ist bereits verwendbar. Es gibt ein SAGE Diskussion Brett, Wanzeverfolger und Wunschliste. Bitte Besuch Wie kann man SAGE verwenden? Unter Linux wechselt man mit "cd" in das Verzeichnis, in dem SAGE installiert ist, und schreibt den Befehl "./sage". SAGE zeigt daraufhin den Prompt "sage: ". Dies ist ein Weg SAGE zu verwenden. Eine andere Möglichkeit ist, den Befehl "notebook(open_viewer=True)" nach dem SAGE-Prompt zu schreiben. Dies startet (a) den SAGE-Server und lädt mögliche frühere Worksheets und (b) öffnet Firefox (oder öffnet einen neuen Tab, wenn dieser schon läuft), um die SAGE Notebook Webseite anzuzeigen.

Wenn man nach dem SAGE-Prompt "faktor(100)" (Enter) schreibt, gibt SAGE die Primfaktorzerlegung von 100 aus. Gibt man "factor??" (Enter) ein, wird der Quellcode der Funktion factor angegezeigt. Wird Strg-d gedrückt (die "Strg" Taste und das "d" gleichzeitig halten) oder "quit" (Enter) eingegeben, wird SAGE beeendet. Um die gleiche Berechnung im Notebook zu machen, schreibt man "factor(100)" in eine "Zelle" (ein leeres weißes Fenster im Webbrowser) und drückt dann Shift-Enter. SAGE wird die Faktorisierung im Bereich unter der Eingabezelle anzeigen. Um das Notebook zu beenden, muss auf der der Kommandozeile Strg-C eingegeben werden. Wenn dann der Browser beendet wird, ist das SAGE Notebook vollständig geschlossen.

Mehr Beispiele, sowie eine Einführung, finden Sie im Tutorial, das Sie auf der SAGE Webseite finden. Viel Spaß!

SAGE ist ein ständig wachsendes, jedoch schon lange stabiles System. Es gibt ein SAGE Diskussionsforum, einen Bug-Tracker sowie eine Feature Request Liste. Unter folgenden Websites kann man SAGE erreichen
Line 43: Line 48:
Line 44: Line 50:
Line 45: Line 52:
Line 46: Line 54:
Line 47: Line 56:
oder
email William Stein an [email protected] zu mehr Information. Vor allem Spaß haben mit SALBEI!

r mehr Informationen können Sie sich an William Stein ( [email protected] ) gewendet werden. Viel Spass mit SAGE.

Eine kurze Einleitung in SAGE: Software für Algebra- und Geometrie-Experimente

["SAGE"] ist eine mathematische Software für Zahlentheorie sowie Algebra- und Geometrieberechnungen. Die Implementierung geht im Wesentlichen auf William Stein und etwa 30 weitere Mitwirkende aus der ganzen Welt zurück. SAGE ist freie Software und ist unter den Bedingungen der GNU General Public License (GPL) verfügbar. SAGE ist

  • eine Distribution freier Mathematiksoftware, die ohne besondere Software-Kenntnisse aus den Quellen übersetzt werden kann,
  • eine neue Python-Library für mathematische Berechnungen mit einer graphischen und einer zeilenbasierten Schnittstelle sowie
  • eine Schnittstelle zu bestehenden Computer Algebra Systemen.

SAGE wird in Python, C++ und C (über ["Pyrex"]) geschrieben. Python ist eine quelloffene, objektorientierte, interpretierte Sprache, mit vielen Bibliotheken z.B. für numerische Mathematik, die für SAGE Benutzer ebenfalls zugänglich sind. Python kann ebenso als Library von C/C++ Programmen verwendet werden.

SAGE beinhaltet einige wichtige Open-Source Bibliotheken und bietet eine vereinheitlichte Schnittstelle zu ihnen an: ["Singular"] (für kommutative Algebra), ["GAP"] (für Gruppentheorie), John Cremona's ["MWRANK"] Bibliothek (für elliptische Kurven), die ["PARI"] Bibliothek für Zahlentheorie, Shoup's Zahlentheorie Bibliothek ["NTL"] und ["Maxima"] (für symbolische Berechnungen). SAGE bietet ebenso Schnittstellen zu vielen kommerziellen, proprietären oder anderen quelloffenen mathematischen Softwarepaketen an, wie MAPLE, MATLAB, Mathematica, KASH/KANT, MAGMA, Axiom sowie viele anderen. Zur Darstellung von Graphiken nutzt SAGE [:matplotlib:Matplotlib] (für 2D und 3D Graphiken) sowie [:Tachyon_ray_tracer:Tachyon] (ein 3D Renderer).

Die langfristigen Hauptziele und Prinzipien von SAGE sind:

  • Open-Source: Der Quellcode muss frei einsehbar sein, so dass jeder Benutzer verstehen kann, was das System wirklich tut sowie die Möglichkeit hat, das System zu verändern. So wie Mathematiker ein tieferes Verständnis eines Theorems erlangen, indem sie einen Beweis sorgfältig lesen oder zumindest überfliegen, sollten Programmbenutzer verstehen können, wie Berechnungen zustande kommen, indem sie die kommentierten Quellen lesen. Alle Software, die im Kern von SAGE mit SAGE verbreitet wird, muss freie Software sein und Änderungen sowie die Weiterverbreitung des Codes muss erlaubt sein.
  • Ein gutes Programmierumfeld: SAGE soll eine stabile Umgebung für neue mathematische Softwareprojekte bieten. SAGE ist ein Software Entwicklungsmodell für die mathematische Gemeinschaft mit einer starken Betonung auf Offenheit und Zusammenarbeit.
  • Erweiterbar: Die Möglichkeit, neue Datentypen zu entwerfen, von bestehenden Datentypen zu erben und Code in anderen Programmiersprachen (z.B. C/C++), zum Teil des Systems machen zu können.
  • Benutzerfreundlich: Nutzern soll ein hohes Maß an Unterstützung geboten werden.
  • Einfach zu kompilieren: SAGE soll verhältnismäßig einfach aus den Quellen - unter Linux, Mac OSX und MS Windows - übersetzbar sein. Dieses bietet mehr Flexibilität, wenn das System verändert werden soll.
  • Plattformübergreifend: SAGE läuft unter Linux, Mac OS X und Windows.
  • Komplett: Das Angebot von Algorithmen aus allen Bereichen der computerbasierten Mathematik sowie die Vereinheitlichung aller wichtigen bereits bestehenden quelloffener mathematischer Programme. SAGE soll ein vollständiges und qualitativ hochwertiges Mainstream Computer Algebra System sein.
  • Effizient: SAGE soll sehr schnell sein - vergleichbar mit oder schneller als alles andere. Dies ist sehr schwierig, da viele Systeme keine offenen Quellen bieten, Algorithmen manchmal nicht veröffentlicht sind und das Finden schneller Algorithmen häufig extrem schwierig (gemessen in Arbeitsjahren, Doktorarbeiten, Glück, etc.) ist.
  • Werkzeuge: SAGE soll eine robuste Schnittstelle zur Funktionalität von PARI, GAP, GMP, Maxima, Singular, MWRANK und NTL zur Verfügung stellen. Diese stehen alle unter der GPL und SAGE liefert vereinheitlichte Schnittstellen für sie an.
  • Dokumentation: Handbuch, Tutorial, API-Referenz mit Beispielen für jede Funktion sowie ein umfangreiches "wie kann ... in SAGE konstruiert werden?" Dokument.

SAGE, eine Installationsanleitung und das Tutorial können von der SAGE Webseite unter http://sage.scipy.org/ heruntergeladen werden.

Obgleich SAGE Python, PARI und andere Pakete verwendet, sei darauf hingewiesen, dass es nicht notwendig ist, diese Software auf dem eigenen Computer vorinstalliert zu haben: Sie sind alle in der SAGE-Distribution enthalten. Der Installationsprozess von SAGE ist mit dem Ziel entworfen worden, verhältnismäßig einfach sein. Sollte es dennoch Probleme geben, können Fragen an die SAGE-Entwickler gestellt werden (auf der Webseite befinden sich Links auf die Mailingliste für den SAGE-Support). Eine Installationsanleitung ist unter http://sage.scipy.org/sage/doc/html/inst/index.html zu finden. Sobald SAGE einmal installiert ist, ist ein Upgrade zur jeweils neuesten Version besonders einfach mit dem "upgrade" Befehl möglich.

Wie kann man SAGE verwenden? Unter Linux wechselt man mit "cd" in das Verzeichnis, in dem SAGE installiert ist, und schreibt den Befehl "./sage". SAGE zeigt daraufhin den Prompt "sage: ". Dies ist ein Weg SAGE zu verwenden. Eine andere Möglichkeit ist, den Befehl "notebook(open_viewer=True)" nach dem SAGE-Prompt zu schreiben. Dies startet (a) den SAGE-Server und lädt mögliche frühere Worksheets und (b) öffnet Firefox (oder öffnet einen neuen Tab, wenn dieser schon läuft), um die SAGE Notebook Webseite anzuzeigen.

Wenn man nach dem SAGE-Prompt "faktor(100)" (Enter) schreibt, gibt SAGE die Primfaktorzerlegung von 100 aus. Gibt man "factor??" (Enter) ein, wird der Quellcode der Funktion factor angegezeigt. Wird Strg-d gedrückt (die "Strg" Taste und das "d" gleichzeitig halten) oder "quit" (Enter) eingegeben, wird SAGE beeendet. Um die gleiche Berechnung im Notebook zu machen, schreibt man "factor(100)" in eine "Zelle" (ein leeres weißes Fenster im Webbrowser) und drückt dann Shift-Enter. SAGE wird die Faktorisierung im Bereich unter der Eingabezelle anzeigen. Um das Notebook zu beenden, muss auf der der Kommandozeile Strg-C eingegeben werden. Wenn dann der Browser beendet wird, ist das SAGE Notebook vollständig geschlossen.

Mehr Beispiele, sowie eine Einführung, finden Sie im Tutorial, das Sie auf der SAGE Webseite finden. Viel Spaß!

SAGE ist ein ständig wachsendes, jedoch schon lange stabiles System. Es gibt ein SAGE Diskussionsforum, einen Bug-Tracker sowie eine Feature Request Liste. Unter folgenden Websites kann man SAGE erreichen

oder

oder

Für mehr Informationen können Sie sich an William Stein ( [email protected] ) gewendet werden. Viel Spass mit SAGE.

David Joyner [email protected]

William Stein [email protected]

SAGE-intro-German (last edited 2014-07-25 07:31:06 by chapoton)