Differences between revisions 11 and 20 (spanning 9 versions)
Revision 11 as of 2008-01-20 15:37:14
Size: 4722
Editor: schilly
Comment:
Revision 20 as of 2008-01-20 21:14:15
Size: 3784
Comment: added more systems (still incomplete)
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Eine kurze Einleitung in Sage ==
["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
= Sage: freies Softwarepaket für Mathematik =
[:SAGE:Sage] ist eine Distribution freier Mathematiksoftware, bestehend aus zahlreichen eingebundenen Paketen, die eine einheitliche Oberfläche zum Behandeln verschiedenster Themen der Mathematik bereitstellt.
Line 4: Line 4:
 * 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.
Außerdem ist es eine Schnittstelle zu bestehenden Computer Algebra Systemen und eine Python-Bibliothek zum Einbinden in andere Programme. Die Umsetzung geht auf eine Idee von ["William Stein"] und zahlreiche andere Mitwirkende aus der ganzen Welt zurück. Sage ist unter den Bedingungen der GNU General Public License (GPL) verfügbar.
Line 9: Line 6:
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). Webseite: http://sagemath.org
Line 11: Line 8:
Die langfristigen Hauptziele und Prinzipien von Sage sind: == Inhalt der Sage-Distribution ==
Line 13: Line 10:
 * 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://sagemath.org/ heruntergeladen werden.
Sage beinhaltet diverse mathematische Open-Source Bibliotheken und bietet eine vereinheitlichte Schnittstelle zu ihnen an:

 * für kommutative '''Algebra''': ["Singular"], ["PolyBoRi"]
 * '''Analysis''': ["Maxima"], ["SymPy"]
 * '''Gruppentheorie''': ["GAP"]
 * Elliptische Kurven: John Cremona's ["MWRANK"] Bibliothek
 * '''Zahlentheorie''': ["PARI"], Shoup's Zahlentheorie Bibliothek ["NTL"]
 * '''Grafiken''': [:matplotlib:Matplotlib] (für 2D und 3D Graphiken), jmol (ein 3D Renderer)
 * Numerik: ["NumPy"], ["SciPy"]
 * Intervallarithmetik: MPRI
 * Statistik: R
 * '''Graphentheorie''': NetworkX
Line 26: Line 24:
 . http://sagemath.org/
(?) Für Hilfe und Fragen besuchen Sie bitte die Google groups sage-devel, sage-supprt oder sage-newbie. (!) Achtung, nur englischsprachig (!)
== langfristigen Hauptziele und Prinzipien ==
Line 29: Line 26:
Anleitung zur Installation: ["SAGE-Kurzanleitung-German"]  * '''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. Außerdem soll das Teilnehmen an der Entwicklung der Software gefördert werden, indem es Hilfestellungen und Vereinfachungen für Programmierer gibt.
Line 31: Line 28:
Kurzreferenz als Einführung in Sage: ["SAGE-Kurzreferenz-German"]  * '''Vollständigkeit''': Das Spektrum von Algorithmen soll alle Bereiche der computerbasierten Mathematik abdecken und eine Vereinheitlichung aller wichtigen bereits bestehenden quelloffenen mathematischen Programme liefern. Sage soll ein vollständiges, qualitativ hochwertiges und konkurrenzfähriges Computer Algebra System sein.

 * '''Effizienz''': Sage soll zügig arbeiten und gut skalieren. Das erklärte Ziel ist, mindestens so gut wie die Konkurrenz zu sein.

 * '''Plattformunabhängigkeit''': Sage läuft unter Linux (auch andere Unix-Systeme), Mac OS X und Windows.

 * '''Programmierumfeld''': Sage soll eine attraktive Umgebung für neue mathematische Softwareprojekte in der mathematischen Gemeinschaft bieten. Es gibt eine starke Betonung auf Offenheit und Zusammenarbeit.

 * '''Benutzerfreundlich''': Nutzern soll ein hohes Maß an Unterstützung geboten werden: Dokumentation, interaktive Hilfe, Diskussionsgruppen und Wiki.

{i} Für Hilfe und Fragen besuchen Sie bitte die Google groups sage-devel, sage-supprt oder sage-newbie. (!) Achtung, nur englischsprachig

 * '''Dokumentation''': Es gibt ein Handbuch, Tutorial, API-Referenz mit Beispielen für jede Funktion sowie ein umfangreiches Dokument zum Generieren von mathematischen Objekten in Sage und eine Installationsanleitung.

 * '''Entwicklung''': Sage soll verhältnismäßig einfach aus den Quellen kompilierbar sein. Dieses bietet mehr Flexibilität, wenn das System verändert werden soll.


== Anleitung zur Installation ==
siehe: ["SAGE-Kurzanleitung-German"]

== Einführung und Kurzreferenz ==

 * siehe: ["SAGE-Bedienung-German"]
 * siehe: ["SAGE-Kurzreferenz-German"]

Sage: freies Softwarepaket für Mathematik

[:SAGE:Sage] ist eine Distribution freier Mathematiksoftware, bestehend aus zahlreichen eingebundenen Paketen, die eine einheitliche Oberfläche zum Behandeln verschiedenster Themen der Mathematik bereitstellt.

Außerdem ist es eine Schnittstelle zu bestehenden Computer Algebra Systemen und eine Python-Bibliothek zum Einbinden in andere Programme. Die Umsetzung geht auf eine Idee von ["William Stein"] und zahlreiche andere Mitwirkende aus der ganzen Welt zurück. Sage ist unter den Bedingungen der GNU General Public License (GPL) verfügbar.

Webseite: http://sagemath.org

Inhalt der Sage-Distribution

Sage beinhaltet diverse mathematische Open-Source Bibliotheken und bietet eine vereinheitlichte Schnittstelle zu ihnen an:

  • für kommutative Algebra: ["Singular"], ["PolyBoRi"]

  • Analysis: ["Maxima"], ["SymPy"]

  • Gruppentheorie: ["GAP"]

  • Elliptische Kurven: John Cremona's ["MWRANK"] Bibliothek
  • Zahlentheorie: ["PARI"], Shoup's Zahlentheorie Bibliothek ["NTL"]

  • Grafiken: [:matplotlib:Matplotlib] (für 2D und 3D Graphiken), jmol (ein 3D Renderer)

  • Numerik: ["NumPy"], ["SciPy"]

  • Intervallarithmetik: MPRI
  • Statistik: R
  • Graphentheorie: NetworkX

langfristigen Hauptziele und Prinzipien

  • 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. Außerdem soll das Teilnehmen an der Entwicklung der Software gefördert werden, indem es Hilfestellungen und Vereinfachungen für Programmierer gibt.

  • Vollständigkeit: Das Spektrum von Algorithmen soll alle Bereiche der computerbasierten Mathematik abdecken und eine Vereinheitlichung aller wichtigen bereits bestehenden quelloffenen mathematischen Programme liefern. Sage soll ein vollständiges, qualitativ hochwertiges und konkurrenzfähriges Computer Algebra System sein.

  • Effizienz: Sage soll zügig arbeiten und gut skalieren. Das erklärte Ziel ist, mindestens so gut wie die Konkurrenz zu sein.

  • Plattformunabhängigkeit: Sage läuft unter Linux (auch andere Unix-Systeme), Mac OS X und Windows.

  • Programmierumfeld: Sage soll eine attraktive Umgebung für neue mathematische Softwareprojekte in der mathematischen Gemeinschaft bieten. Es gibt eine starke Betonung auf Offenheit und Zusammenarbeit.

  • Benutzerfreundlich: Nutzern soll ein hohes Maß an Unterstützung geboten werden: Dokumentation, interaktive Hilfe, Diskussionsgruppen und Wiki.

{i} Für Hilfe und Fragen besuchen Sie bitte die Google groups sage-devel, sage-supprt oder sage-newbie. (!) Achtung, nur englischsprachig

  • Dokumentation: Es gibt ein Handbuch, Tutorial, API-Referenz mit Beispielen für jede Funktion sowie ein umfangreiches Dokument zum Generieren von mathematischen Objekten in Sage und eine Installationsanleitung.

  • Entwicklung: Sage soll verhältnismäßig einfach aus den Quellen kompilierbar sein. Dieses bietet mehr Flexibilität, wenn das System verändert werden soll.

Anleitung zur Installation

siehe: ["SAGE-Kurzanleitung-German"]

Einführung und Kurzreferenz

  • siehe: ["SAGE-Bedienung-German"]
  • siehe: ["SAGE-Kurzreferenz-German"]

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