Projekte

Hanspeter Schmid ist Mitglied des SymPy-Entwicklungsteams geworden

6. April 2023

SymPy ist eine Python-Bibliothek für symbolische Mathematik. Sie wird von vielen Freiwilligen unter der Leitung eines Kernteams entwickelt. Hanspeter Schmid, ein Professor für Analog-IC und Signalverarbeitung am ISE, wurde gebeten, Teil des Kernteams von SymPy zu werden.

Es gibt mehrere kommerzielle Softwarepakete, die symbolische Mathematik beherrschen, aber sie sind alle teuer. Wir vom ISE der FHNW sind der Meinung, dass auch Ingenieurinnen und Ingenieure im Umgang mit geeigneten Werkzeugen geschult werden müssen und dann in der Lage sein sollten, diese Werkzeuge ohne hohe Kosten für ihre Karriere zu nutzen, weshalb wir Open-Source-Software einsetzen und unterstützen, wo immer wir können.

SymPy ist eine solche freie (unter BSD-Lizenz) Python-Bibliothek für symbolische Mathematik.

SymPy Logo

Prof. Dr. Hanspeter Schmid ist eigentlich Analog-IC-Designer und unterrichtet auch Signalverarbeitung. In der Signalverarbeitung sind die Integraltransformationen (Laplace- und Fourier-Transformationen) von großer Bedeutung. Während des Unterrichts erzählten ihm Studenten, dass die Ergebnisse der inversen Laplace-Transformationen in kommerziellen SW-Tools nicht mit dem übereinstimmten, was er lehrte, und auch nicht mit dem, was in den Lehrbüchern stand. Also begann er, mit den Entwicklungsteams von zwei kommerziellen Anbietern zu sprechen, nur um festzustellen, dass diese nicht wirklich bereit waren, die Funktionsweise ihrer Software zu ändern. Der Grund dafür ist, dass kommerzielle Softwareanbieter mehr daran interessiert sind, dass jeder einzelne Teil gut steuerbar ist, und weniger daran, dass verschiedene Integraltransformationen und andere mathematische Teile wie die Faltung auf eine insgesamt konsistente und nahtlose Weise zusammenarbeiten.

Dann bemerkte er, dass das Entwicklungsteam von SymPy an einer generellen Konsistenz des Tools interessiert war. Also begann er mit der Arbeit an der Laplace-Transformation. Ihm gefällt besonders, dass vergleichsweise wenig Programmierung mit viel mathematischem Hintergrund nötig ist – was ihm viel mehr Spaß macht als Anwendungsprogrammierung.

Seine Arbeit an der Laplace-Transformation veranlasste die beiden Leiter der SymPy-Entwicklung, ihn in das Mitgliedsteam von SymPy einzuladen, was er gerne annahm. In dieser Funktion prüft er nun auch die Beiträge anderer Entwickler und führt sie zusammen, verwaltet Problemberichte und moderiert Diskussionen, die sich alle auf mathematische Aspekte der Signalverarbeitung und Elektronik beziehen.

Ursprünglich machte SymPy Laplace-Transformationen nur durch Integrieren. Hanspeters wichtigster Beitrag zu SymPy ist, die Laplace-Transformation komplett neu zu programmieren, um die bekannten Regeln dieser Transformation zu verwenden. Es ist wirklich erstaunlich, wie viele Regeln der Laplace-Transformation bekannt sind! Am ISE der FHNW geben wir unseren Bachelor-Studierenden eine Tabelle mit zwei Seiten Transformationsregeln und Transformationspaaren. Wenn wir ihnen ein modernes Lehrbuch wie das „Handbook of Mathematics for Engineers and Scientists“ von Polyanin zeigen, sind sie erstaunt, dass es 20 Seiten mit Regeln und Transformationspaaren enthält. Es handelt sich aber immer noch um eine kurze Tabelle. Batemans zwei Bände über Integraltransformationen enthalten fast 200 Seiten über Laplace-Regeln und -Paare. Batemans Bücher sind über das Bateman-Manuskript-Projekt digital online verfügbar (https://en.wikipedia.org/wiki/Bateman_Manuscript_Project). Wenn der moderne Ingenieur die Laplace-Transformation braucht aber nicht kennt, ist seine Reaktion leider nicht, im Internet nach einem Buch von 1954 zu suchen, sondern ein Software-Tool zu verwenden – ohne es zu verstehen. So war unsere Idee in SymPy daher, die Laplace-Transformation (und die anderen Integraltransformationen) so umzuschreiben, dass sie das enorme Wissen nutzen, das in diesen alten Büchern enthalten ist. So sollen sie von zukünftigen Ingenieuren und Mathematikern nicht vergessen werden.

Ein Beispiel für Hanspeters jüngste Arbeit war ein Algorithmus für die Laplace-Transformation für Produkte trigonometrischer Funktionen. Das Codesegment

ergibt einen ziemlich komplizierten rationalen Bruch mit einem Polynom 81. Ordnung im Nenner.

In der SymPy-Version 10.1 lieferte dies nach 100 Minuten Laufzeit nicht einmal ein Ergebnis (woraufhin er aufgegeben hatte), in SymPy 12, das jetzt veröffentlicht wird, wird es weniger als zwei Sekunden dauern.  Falls Sie sich für das Ergebnis interessieren, es lautet:

Kontakt: Prof. Dr. Hanspeter Schmid

Schlagworte: Laplace Transformation, Python, Signalverarbeitung, SymPy

zurück zu allen Beiträgen

Kommentare

Keine Kommentare erfasst zu Hanspeter Schmid ist Mitglied des SymPy-Entwicklungsteams geworden

Neuer Kommentar

×