Symbolische und Numerische Solver

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
sCode
Beiträge: 3
Registriert: Do 8. Dez 2022, 19:48

Symbolische und Numerische Solver

Beitrag von sCode »

Hallo liebe Community,

im Studium dürfte ich erstmalig mit Free Pascal Bekanntschaft machen, dies ist allerdings 7 Jahre her. Sie hat mir sehr gut gefallen, sodass ich sie nie aus dem Kopf bekommen konnte :-)

Im Zuge meines Studiums habe ich die eine oder andere Aufgabe nahezu immer per Hand rechnen müssen.

Aktuell würde ich gerne Berechnungen automatisieren. Daher stellt sich für mich die Frage, ob eine Library für die Umstellung von Gleichungen (symbolisch) für Free Pascal vorhanden ist? Bei Phyton habe ich sehen dürfen, dass dies mit Sympy gelöst wird. Zudem würde ich gerne auch greifbare Mathematik anwenden - die Numerik, bietet sich auch hier etwas ähnliches an wie bei Phyton die Numpy?

Evtl. gibt es ja die Möglichkeit die Bibliothek von Phyton in Free Pascal zu nutzen?

Vielen Dank und beste Grüße
sCode

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1435
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Symbolische und Numerische Solver

Beitrag von fliegermichl »

Hi,

ich sag mal so: Srgh grmf mph ebttdht3.

Sind wir jetzt ungefähr auf dem gleichen Level?

Bitte sei nicht böse aber stelle bitte konkrete Fragen, dann kann man auch konkrete Antwoten geben.

sCode
Beiträge: 3
Registriert: Do 8. Dez 2022, 19:48

Re: Symbolische und Numerische Solver

Beitrag von sCode »

Hallo,

ich verstehe leider nicht inwiefern die Frage unpräzise ist.

Gehen wir mal vor und verwenden 3 nichtlineare Gleichungen mit 3 Unbekannten, die numerisch zu lösen sind.

Gibt es einen Ansatz mit der man die Lösungen so etwa erhält
- numericSolve(Gleichung1, Gleichung2, Gleichung3, Unbekannte1, Unbekannte2, Unbekannte3)

Für die symbolische Mathematik eine identische Logik.

Grüße
sCode

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: Symbolische und Numerische Solver

Beitrag von wp_xyz »

Es gibt ein Package "symbolic" im Source-Verzeichnis von FPC (packages/symbolic). Ich habe damit noch nichts gemacht, aber ich bin ziemlich sicher, dass du damit keine Systeme aus nicht-linearen Gleichungen lösen kannst.

Soviel ich weiß, gibt es keine symbolische Solver für Lazarus. Vielleicht in den großen mathematischen Libs DMath / LMath, Jedi-Math, oder der des verstorbenen Wolfgang Ehrhardt (https://github.com/JulStrat/util). Aber ich denke eher nicht.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Symbolische und Numerische Solver

Beitrag von af0815 »

Ja es gibt Python 4 Lazarus. Damit wird der Python Interpreter von Lazarus aufgerufen. Für genauere Informationen musst du aber Google bemühen. Meines wissen wird das verwendet um ein besseres Userinterface für Python zu haben.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

sCode
Beiträge: 3
Registriert: Do 8. Dez 2022, 19:48

Re: Symbolische und Numerische Solver

Beitrag von sCode »

Besten Dank für die Rückmeldungen. Zusammenfassend kann man also sagen, es besteht keine Lazarus „interne“ Lösung.

Ein wenig habe ich recherchieren dürfen und habe zwei externe Anbieter gefunden:

1) kostenpflichtig (leider)
https://www.tmssoftware.com/site/tmsana ... istory&d=3

2) kostenlos, verfügt aber nur den numerischen Solver (kein symbolischer Solver)
https://www.alglib.net/download.php

Zum 2) Tool, wie lässt sich dieser in Lazarus einbinden und wie kann ich sie im Code beispielhaft nutzen?

u-boot
Beiträge: 306
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Re: Symbolische und Numerische Solver

Beitrag von u-boot »

sCode hat geschrieben:
So 11. Dez 2022, 22:12
Zum 2) Tool, wie lässt sich dieser in Lazarus einbinden und wie kann ich sie im Code beispielhaft nutzen?
per Eigeninitiative,
beispielsweise Anleitungen recherchieren und anwenden und/oder trial-and-error könnten weiterhelfen.
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Symbolische und Numerische Solver

Beitrag von theo »

sCode hat geschrieben:
So 11. Dez 2022, 22:12
Zum 2) Tool, wie lässt sich dieser in Lazarus einbinden und wie kann ich sie im Code beispielhaft nutzen?
Laufen tut's auf Linux.
Es reicht sogar, wenn du das ALGLIB.pas und das *.so in den gleichen Ordner legst.
Läuft.

Von dem was das tun soll verstehe ich nichts.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Symbolische und Numerische Solver

Beitrag von af0815 »

Bei 1 ) finde ich den Preis ganz ok für einen Developer, ABER man muss bei TMS nachfragen ob es wirklich für Lazarus/FreePascal geeignet ist. Sollte kein Problem sein,die Info zu bekommen, wo gerade TMS meines Wissens doch einige Erfahrung mit Lazarus/FPC hat.

Bei 2 ) ist ein Pascal-Wrapper dabei, den Theo schon ausprobiert hat. Nachteil ist da das es nur für 2 CPU-Plattformen das gibt. Den Rest müsstest du dir wahrscheinlich erst selbst erarbeiten (Apple, RasPi,..) und die library selbst kompilieren. Wobei die eine kleine Abspaltung der kommerziellen Verwandeten ist und man auch mit der GPL dann in der freien Version leben muß.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

TSchnuckenbock
Beiträge: 72
Registriert: Do 20. Jul 2017, 23:47
OS, Lazarus, FPC: Win7 und Win10
CPU-Target: xxBit
Wohnort: Südheide (Schnuckenland)

Re: Symbolische und Numerische Solver

Beitrag von TSchnuckenbock »

af0815 hat geschrieben:
Do 8. Dez 2022, 22:38
Ja es gibt Python 4 Lazarus. Damit wird der Python Interpreter von Lazarus aufgerufen. Für genauere Informationen musst du aber Google bemühen. Meines wissen wird das verwendet um ein besseres Userinterface für Python zu haben.
Laut Beschreibung ist

https://github.com/pyscripter/python4delphi

auch für Lazarus. Eventuell müßte sich damit was basteln lassen, um NumPy & Co, also Python-Stuff, in Lazarus einzubinden.

Ich hatte mir vor einiger Zeit mal ein Webinar von Embacadero dazu angesehen und ein paar Sachen aus Python4Delphi mit der Delphi Community Editor (CE) ausprobiert. Die Delphi CE ist kostenlos und man kann die CE für private Just-For-Fun-Projekte nutzen.
Von Emba gibt's wohl auch ein bischen Tutorial-Stuff zu dem Thema (z.B. ggf dieses bereits erwähnte Webinar).
Anschließend kann man sein Projekt ja bei Bedarf immer noch für Lazarus umtoasten.

Antworten