Aachener Numerik-Bibliothek

Auf dieser Seite finden Sie Informationen zur Numerik-Bibliothek von Frau Prof. Dr. Gisela Engeln-Müllges, welche im Verlauf der vergangenen Jahre im Umfeld ihrer Bücher: 

  • Gisela Engeln-Müllges, Klaus Niederdrenk, Reinhard Wodicka
    Numerik-Algorithmen (10. Auflage)
    Springer 2010
  • Gisela Engeln-Müllges, Klaus Niederdrenk, Reinhard Wodicka
    Numerik-Algorithmen
    Springer 2005
  • Engeln-Müllges, Reutter
    Numerik-Algorithmen, Entscheidungshilfe zur Auswahl und Nutzung
    VDI-Verlag 1996
  • G. Engeln-Müllges, F. Reutter
    Numerk-Algorithmen mit ANSI-C-Programmen
    BI-Wissenschaftsverlag 1993
  • G. Engeln-Müllges, F. Reutter
    Numerik-Algorithmen mit FORTRAN 77-Programmen
    7. Auflage, BI-Wissenschaftsverlag 1993
  • ...

(realisiert in unterschiedlichen Programmiersprachen) entstanden ist.

 

Die Bibliothek enthält über 150 numerische Algorithmen aus den Gebieten:

  • Nullstellenverfahren
  • lineare Gleichungssysteme
  • nichtlineare Gleichungssysteme
  • Interpolation
  • nichtparametrische und parametrische Splines
  • zweidimensionale Splines
  • Approximation und Fourieranalyse bzw. Fouriersynthese
  • Eigenwertbestimmung
  • Quadratur
  • Kubatur
  • gewöhnliche Differentialgleichungen

 

aktuelle Versionen (verfügbar oder in Bearbeitung):

C-Version

Die C-Version der Numerik-Bibliothek von Frau Prof. Dr. Gisela Engeln-Müllges steht nur FH-Angehörigen zur Verfügung.

Nach Anmeldung mit einer FH-Kennung wird unten stehender Link zu den Downloads aktiv.

 

Link: (FH-interne) Downloads zur C-Version

C++-Version

Die C++-Version der Numerik-Bibliothek von Frau Prof. Dr. Gisela Engeln-Müllges ist noch nicht ganz fertig. 

Aufgrund zahlreicher Nachfragen (und zeitlicher Engpässe) wird hier schon mal eine Vorab-Version (Version 0.9) der Bibliothek und die zugehörige Dokumentation zum Download zur Verfügung gestellt.

Die Bibliothek wird unter der LGPL (Lesser Gnu Public License) veröffentlicht, die Dokumentation steht unter der GFDL (Gnu Free Documentation License).

 

Anfragen, Anregungen und Anmerkungen zur Bibliothek bitte per EMail an "AcNumBib(at)fh-aachen.de" (in der Hoffnung, dass diese zeitnah behandelt werden können).

 

Diese Vorab-Version der Bibliothek ist kostenfrei.
Wenn Sie die Weiterentwicklung der Bibliothek mit einer Spende unterstützen möchten, wenden Sie sich bitte per EMail an die oben genannte EMail-Adresse.

 

Link: (freie) Downloads zur C++-Version

Excel-Interface

Informationen und Downloads zum Excel-Interface zur C-Numerik-Bibliothek:

 

Mit dem Excel-Interface ist es möglich, die als DLL vorliegende (32-Bit-) Version der Numerik-Bibliothek in C von Excel aus zu nutzen - zu (nahezu) jedem Algorithmus der C-Numerik-Bibliothek wurde ein (in Excel aufrufbares) VBA-Makro ("Function" oder "Subroutine") geschrieben, welches 

  • vom Aufrufer die notwendigen Argumente übernimmt
  • intern den entsprechenden C-Algorithmus aus der DLL aufruft
  • die (durch den C-Algorithmus) berechneten Ergebnisse an den Aufrufer zurückgibt.

Unten zum Download angeboten werden eine ausführliche Dokumentation der Schnittstelle als PDF-Datei "VB_CNumLib.pdf" sowie im Zip-Archiv "VB_CNumLib_doc.zip" die LaTeX-Quellen der Dokumentation und die mittels "latex2html" nach HTML umgewandelte Dokumentation.

 

Für FH-Angehörige steht nach Anmeldung mit der persönlichen FH-Kennung in einem weiteren Downloadbereich die Datei "VB_CNum_I.zip" mit dem vollständigen Interface und der Dokumentation zur Verfügung.

 

Zur Nutzung der C-Numerik-Bibliothek sind aus diesem Archiv folgende Dateien notwendig:

  1. "CNum.dll": 
    C-Numerik-Bibliothek als DLL (32 Bit-Version)
    (in obiger Zip-Datei unter "C/cnum/dynamic/CNum.dll" zu finden)
  2. "VB_CNum_I.dll":
    C-seitige Schnittstelle (Anpassung der Aufrufkonventionen)
    (in obiger Zip-Datei unter "C/build/dynamic/VB_CNum_I.dll" zu finden)
  3. "VB_CNum_I.bas":
    VBA-seitige Schnittstelle (Sammlung von VBA-Makros zum Aufruf der Algorithmen aus der C-DLL)
    (in obiger Zip-Datei unter "VB/VB_CNum_I.bas" zu finden)

Zur Nutzung der C-Numerik-Bibliothek in Excel müssen die beiden DLL's in ein Verzeichnis kopiert werden, in dem das Windows- Laufzeitsystem sie findet (etwa nach "C:\Windows\System32").

Wenn dann die Visual-Basic-Datei "VB_CNum_I.bas" in Excel importiert ist, steht (über die in dieser Datei enthaltenen Makros) die Funktionalität der Numerik-Bibliothek innerhalb von Excel zur Verfügung.

 

Unter "VB/VB_CNum_Demo_*.bas" finden Sie im Zip-Archiv (nach Kapiteln der Bibliothek in einzelne Dateien aufgeteilt) in Excel aufrufbare VBA-Makros zur Demonstration der einzelnen Algorithmen.

 

Link: (freie) Downloads zum Excel-Interface

Link: (FH-interne) Downloads zum Excel-Interface

Python-Interface

Informationen und Downloads zum Python-Interface zur C-Numerik-Bibliothek:
 

Mit diesem Python-Interface ist es möglich, die (sowohl für Windows als auch für Linux) als dynamische Programm-Bibliothek vorliegende C-Version der Numerik-Bibliothek von einem Python-Interpreter aus zu nutzen.

Nach Import des zum Interface gehörenden Python Moduls "CNumlib.py" kann ein (nahezu) beliebiger Algorithmus "XYZ" der C-Numerik-Bibliothek über den Namen "py_XYZ" in der Python-Umgebung aufgerufen werden, wobei beim Aufruf in der Parameterliste geeignete Argumente zu übergeben sind und alle vom Algorithmus berechneten Werte als Python-Liste zurückgegeben werden.
 

Unten zum Download angeboten werden eine Kurzanleitung zur Verwendung des Python-Interfaces als PDF-Datei sowie das Interface selbst als Zip-Datei.
 

Das Zip-Archiv beinhaltet neben dem (aus zwei Python-Moduln bestehenden) Interface zahlreiche Python-Beispiele, die den Aufruf der einzelnen Algorithmen aus der Numerik-Bibliothek demonstrieren.

Die dynamischen Versionen der C-Bibliothek für Windows (Datei "CNum.dll") und für Linux (Datei "libCNum.so.9.1") - jeweils als 32-Bit Bibliothek - sowie die PDF-Dokumentation der C-Numerik-Bibliothek, in der die Ein- und Ausgabeparameter der C-Funktionen erläutert sind, sind ebenfalls im Zip-Archiv enthalten.

 

Link: (freie) Downloads zum Python-Interface