Meine hier veröffentlichten Softwareprojekte stehen quelloffen unter der in der jeweiligen Projektbeschreibung angegebenen Lizenz zur Verfügung.
LinAlg stellt Datentypen und Operationen für algebraische Vektoren und Matrizen zur Verfügung.
Vektor- und Matrixelemente können von beliebigem Typ sein, vorausgesetzt, dass eine Factory für den jeweiligen Elementtyp existiert. Zur Zeit gibt es solche Factories für Double
, Float
, Long
, Int
, Short
, Byte
und Char
.
Vektor- und Matrix-(Zeilen- und Spalten-)Indizes sind beliebige ganze Zahlen (genauer: ein Index muss im Intervall [Mindex, Maxdex]
liegen wie es im Index
-Objekt definiert ist). Es werden aber nur solche Elemente tatsächlich gespeichert, die einer Untermenge des gesamten Integer-Bereichs entsprechen (die konkreten Elemente), während alle anderen Elemente definitionsgemäß null sind (virtuelle Elemente).
Dieses Konzept (das ich vor langer Zeit im Zusammenhang mit der ALGOL68-Library-Prelude TORRIX wertzuschätzen gelernt habe) liefert nicht nur einen natürlichen Ansatz für Operationen mit Vektoren und Matrizen mit verschiedenen Indexbereichen, sondern beugt auch Index-out-of-Bounds-Exceptions vor.
Konkrete Indexbereiche (die konkreten Elementen entsprechen) werden implizit oder explizit beim Erzeugen eines Vektors oder einer Matrix zugeordnet. Standardmäßig beginnt der Bereich mit 1 und läuft bis zur Anzahl der spezifizierten Elemente, aber diese Voreinstellung lässt sich überschreiben.
Diese Bibliothek bietet Hilfsmittel zur Grafikprogrammierung in Scala. Sie ist zugeschnitten auf möglichst einfaches Zeichnen von Figuren und Funktionen, ohne das Grafiksystem mit Dutzenden von Einstellungen konfigurieren zu müssen, nur um ein simples Bild anzuzeigen. Hingegen ist die Bibliothek nicht gedacht zur Programmierung grafischer Benutzeroberflächen mit Knöpfen, Menüs usw.
Diese Scala-Biliothek zum Rechnen mit Maßeinheiten beruht auf dem Internationalen Einheitensystem (SI).
Die wichtigsten Typen sind Quantity
und Unit
.
Eine Größe (Quantity
) besteht aus einem Wert und einer Einheit. Sie stellt arithmetische Operationen bereit, wobei das System -- in vielen Fällen -- automatisch den richtigen Typ des Resultats herleiten kann: So wird etwa einer Größe, deren Einheit sich als Masse * ((Länge / Zeit) / Zeit) berechnet, eine Kraft-Einheit zugeordnet. Es gibt auch eine intuitive, abgekürzte Schreibweise für Größen, z. B. kann man statt Quantity(10, metre)
auch 10.m
schreiben.
Es sind Einheitentypen für die sieben SI-Basisgrößen verfügbar mit zugehörigen wie üblich benannten Objekten wie metre
, kilogram
, second
usw. Zudem werden eine Reihe von abgeleiteten SI-Einheiten angeboten wie squareMetre
, newton
, pascal
, joule
, watt
oder volt
. Die Prefix
-Klasse enthält Objekte für die gebräuchlichen SI-Vorsätze für dezimale Vielfache wie kilo
oder milli
und einen passenden Multiplikationsoperator für Einheiten.
Diese Bibliothek bietet diverse Utilitys für das Programmieren in Scala. Es handelt sich dabei nicht um eine systematische Zusammenstellung, sondern um eine Reihe von Werkzeugen, die sich einfach für mich als nützlich erwiesen haben und somit auch für andere interessant sein könnten.
Diese Bibliothek enthält zunächst eine Reihe von in Scala implementierten Algorithmen aus dem Buch Algorithms 4 von Robert Sedgewick and Kevin Wayne [1]. Weitere Implementierungen von Algorithmen aus diesem Buch werden von Zeit zu Zeit dazukommen. Auch andere Algorithmen können Bestandteil dieser Bibliothek werden.
[1] R. Sedgewick, K. Wayne, Algorithms, 4th edition (link is external) (Addison-Wesley Professional, 2011, ISBN 0-321-57351-X)
Diese Java-Bibliothek enthält einige Werkzeuge, die in einem Predictive-Analytics-Umfeld nützlich waren. Tatsächlich sind die meisten davon allerdings nicht spezifisch für dieses Gebiet und mögen daher von allgemeinem Interesse sein.
Für einige Submodule gibt es auch ein Scala-Interface, z. Zt. für pa-toolbox-linalg und pa-toolbox-plotting. Es vereinfacht die Benutzung dieser Module mit Scala im Allgemeinen und auch speziell mit meiner Lineare-Algebra-Bibliothek LinAlg für Scala.
Hier sind einige Beispielgrafiken, dir mit dem Plotting-Modul produziert wurden:
h2taglets
ist eine Sammlung von Javadoc-Taglets, die mathematischen Formelsatz, bibliografische Verweise und allgemeine numerische Querverweise bereitstellen. Folgende Tags werden Javadoc hinzugefügt:
@math
fügt mathematische Formeln ein als HTML (mit einfachen aber nützlichen Erweiterungen), MathML oder als Grafik
@label
erzeugt eine numerische Marke für Querverweise
@ref
bezieht sich auf diese Marke
@biblio
erstellt einen Bibliografieblock
@cite
zitiert diesen Block
Diese Tags sind für den Gebrauch mit dem Javadoc-Standarddoclet bestimmt; es wird mindestens Java, Version 1.5.0, vorausgesetzt. Die vollständige Syntax dieser Tags und Beispiele für die Verwendung findet man in der Dokumentation der entsprechenden Taglets (s. apidocs). Die Software einschließlich Dokumentation und zusätzlicher Dateien unterliegt der GNU General Public License, Version 2 (s. Lizenz).
Online-Dokumentation
LiesMich
Herunterladbare Zip-Archive für Binärdateien, Dokumentation (equivalent zur Online-Dokumentation) und Quellen befinden sich im Anhang. Mab beachte, dass die drei Downloads fast disjunkt sind. Nichtsdestotrotz werden sie in dasselbe Verzeichnis entpackt. Das funktioniert, da alle überlappenden Dateien identisch sind.
Zur Verwendung in den eigenen Dokumentationskommentaren sind nur die Binärdateien erforderlich. Man sollte aber trotzdem einen Blick auf die Dokumentation werfen – entweder online oder in der Zip-Datei.
Anhang | Größe |
---|---|
h2taglets-0.1-bin.zip | 29.43 KB |
h2taglets-0.1-doc.zip | 273.75 KB |
h2taglets-0.1-src.zip | 90.24 KB |
Dieses Modul ist nur zusammen mit dem Content-Management-System Drupal zu verwenden. Es stellt einige Blöcke mit Ansichten für administrative Zwecke zur Verfügung:
Letzte Benutzer | zeigt eine Liste der zuletzt angemeldeten Benutzer |
Neueste Beiträge | zeigt zuletzt erstellte oder aktualisierte Beiträge |
Offene Kommentare | zeigt die letzten freizugebenden Kommentare |
Das Modul ist für den Gebrauch mit Drupal 6 und Views 2 bestimmt. Die Software einschließlich Dokumentation und zusätzlicher Dateien unterliegt der GNU General Public License, Version 2 (s. Lizenz).
Die README-Datei enthält weitere Informationen zur Installation und Benutzung des Moduls.
Das gesamte Paket kann über den Link im Anhang heruntergeladen werden.
Anhang | Größe |
---|---|
adminviews-6.x-1.0.tar.gz | 9.89 KB |