Hallo Leute,
ich muss eine Jacobi-Matrix eines Gleichungssystems berechnen. Habe hierzu bereits "AlgoPy", "Numdifftools" und "OpenOpt" ausprobiert. Jedoch stoße ich immer auf das Problem, dass "fancy indexing" nicht unterstützt wird. Hat jemand hier im Forum schon mal eine Jacobi-Matrix mit einer ...
Die Suche ergab 20 Treffer
- Donnerstag 9. Mai 2013, 18:15
- Forum: Allgemeine Fragen
- Thema: Berechnung einer Jacobi-Matrix eines Gleichungssystems
- Antworten: 0
- Zugriffe: 1064
- Dienstag 19. März 2013, 13:24
- Forum: Allgemeine Fragen
- Thema: Array indexing mit "algopy"
- Antworten: 4
- Zugriffe: 1539
Re: Array indexing mit "algopy"
@ anogayales: Dann frage ich mal anders: Wie wendest Du eine Array-Indizierung in "algoPy" an?
- Dienstag 19. März 2013, 09:25
- Forum: Allgemeine Fragen
- Thema: Array indexing mit "algopy"
- Antworten: 4
- Zugriffe: 1539
Re: Array indexing mit "algopy"
Wenn du später nur bestimmte Indizes addieren willst, kann man das ja auch anders lösen.
Gerade um die bestimmten Indizes geht es mir! Das Beispiel, das ich gegeben habe ist nur stellvertretend für ein viel größeres Anwendungsproblem. Wenn ich die Indizierung für das kleine Beispiel lösen kann ...
Gerade um die bestimmten Indizes geht es mir! Das Beispiel, das ich gegeben habe ist nur stellvertretend für ein viel größeres Anwendungsproblem. Wenn ich die Indizierung für das kleine Beispiel lösen kann ...
- Dienstag 19. März 2013, 00:22
- Forum: Allgemeine Fragen
- Thema: Array indexing mit "algopy"
- Antworten: 4
- Zugriffe: 1539
Array indexing mit "algopy"
Hallo Forum,
folgender Quellcode funktioniert einwandfrei:
import numpy
def fep(x):
""" some function """
y = numpy.zeros(3)
pos = numpy.array([0,1,2])
y[pos] = x[pos] + 1
return y
x_array = numpy.array([3,4,5])
print(fep(x_array))
Also habe ich versucht, das auf algopy zu übertragen ...
folgender Quellcode funktioniert einwandfrei:
import numpy
def fep(x):
""" some function """
y = numpy.zeros(3)
pos = numpy.array([0,1,2])
y[pos] = x[pos] + 1
return y
x_array = numpy.array([3,4,5])
print(fep(x_array))
Also habe ich versucht, das auf algopy zu übertragen ...
- Montag 18. März 2013, 23:46
- Forum: Allgemeine Fragen
- Thema: numdifftools: Berechnen einer Jakobi-Matrix
- Antworten: 5
- Zugriffe: 2133
Re: numdifftools: Berechnen einer Jakobi-Matrix
@ BlackJack: Ich habe nun eine Lösung gefunden. Die sieht so aus:
import numpy, algopy
from algopy import UTPM, exp
def eval_f(x):
""" some function """
y = algopy.zeros(2,dtype = x)
y[0] = x[0]*x[1]*x[2] + exp(x[0])*x[1]
y[1] = x[0] + x[1] + exp(x[2])
return y
# forward mode without ...
import numpy, algopy
from algopy import UTPM, exp
def eval_f(x):
""" some function """
y = algopy.zeros(2,dtype = x)
y[0] = x[0]*x[1]*x[2] + exp(x[0])*x[1]
y[1] = x[0] + x[1] + exp(x[2])
return y
# forward mode without ...
- Montag 18. März 2013, 23:15
- Forum: Allgemeine Fragen
- Thema: numdifftools: Berechnen einer Jakobi-Matrix
- Antworten: 5
- Zugriffe: 2133
Re: numdifftools: Berechnen einer Jakobi-Matrix
Code: Alles auswählen
print 'Jacobian = ', cg.jacobian([1,1,1])
File "C:\Python26\lib\site-packages\algopy\tracer\tracer.py", line 299, in jacobian
M = self.dependentFunctionList[0].size
AttributeError: 'list' object has no attribute 'size'- Montag 18. März 2013, 21:29
- Forum: Allgemeine Fragen
- Thema: numdifftools: Berechnen einer Jakobi-Matrix
- Antworten: 5
- Zugriffe: 2133
Re: numdifftools: Berechnen einer Jakobi-Matrix
Könnt Ihr mir auf die Sprünge helfen, was ich hier falsch mache?
import numpy, algopy
from algopy import UTPM, exp
def fun(x):
return [2*x[0] + 4*x[1] + 6*x[2] + exp(7*x[2] - 4*x[1]), 3*x[0] + 6*x[1] + 9*x[2] + exp(2*x[2] - 5*x[1])]
# ----------------------------------
# AlgoPy: reverse mode ...
import numpy, algopy
from algopy import UTPM, exp
def fun(x):
return [2*x[0] + 4*x[1] + 6*x[2] + exp(7*x[2] - 4*x[1]), 3*x[0] + 6*x[1] + 9*x[2] + exp(2*x[2] - 5*x[1])]
# ----------------------------------
# AlgoPy: reverse mode ...
- Montag 18. März 2013, 19:43
- Forum: Allgemeine Fragen
- Thema: numdifftools: Berechnen einer Jakobi-Matrix
- Antworten: 5
- Zugriffe: 2133
Re: numdifftools: Berechnen einer Jakobi-Matrix
Hallo Python-Forum,
ich habe jetzt die Bibiothek algoPy entdeckt.
from algopy import *
def fun(x):
r = x[0]*2 + x[1]*5 + x[2]**2
return r
# AlgoPy
x = UTPM.init_jacobian([1,1,1]) # definiere den Vektor, der in die Jakobi-Matrix eingesetzt werden soll
y = fun(x)
algopy_jacobian = UTPM.extract ...
ich habe jetzt die Bibiothek algoPy entdeckt.
from algopy import *
def fun(x):
r = x[0]*2 + x[1]*5 + x[2]**2
return r
# AlgoPy
x = UTPM.init_jacobian([1,1,1]) # definiere den Vektor, der in die Jakobi-Matrix eingesetzt werden soll
y = fun(x)
algopy_jacobian = UTPM.extract ...
- Montag 18. März 2013, 19:11
- Forum: Allgemeine Fragen
- Thema: numdifftools: Berechnen einer Jakobi-Matrix
- Antworten: 5
- Zugriffe: 2133
numdifftools: Berechnen einer Jakobi-Matrix
Hallo Forum,
habe hier die "numdifftools" Bibliothek heruntergeladen und versuche damit die Jakobimatrix einer Funktion zu berechnen. Hier habe ich mal folgenden Miniquellcode:
import numpy as numpy
import numdifftools as nd
def fun(x):
r = x[0]*2 + x[1]*5 + x[2]**2
return r
Jac = nd.Jacobian ...
habe hier die "numdifftools" Bibliothek heruntergeladen und versuche damit die Jakobimatrix einer Funktion zu berechnen. Hier habe ich mal folgenden Miniquellcode:
import numpy as numpy
import numdifftools as nd
def fun(x):
r = x[0]*2 + x[1]*5 + x[2]**2
return r
Jac = nd.Jacobian ...
- Mittwoch 13. März 2013, 20:01
- Forum: Allgemeine Fragen
- Thema: "RuntimeWarning: invalid value encountered in divide"
- Antworten: 3
- Zugriffe: 1087
Re: "RuntimeWarning: invalid value encountered in divide"
Zeig doch mal etwas von deinem Skript. Kannst du auf df oder v zugreifen?
@ xeike: ich verwende exakt den gleichen Aufruf, wie er hier gezeigt ist. Meine Funktion ist natürlich nicht die gleiche - aber sie lässt sich mit manchen solvern lösen, und bei manchen tritt dann plötzlich der beschriebene ...
@ xeike: ich verwende exakt den gleichen Aufruf, wie er hier gezeigt ist. Meine Funktion ist natürlich nicht die gleiche - aber sie lässt sich mit manchen solvern lösen, und bei manchen tritt dann plötzlich der beschriebene ...
- Dienstag 12. März 2013, 01:39
- Forum: Allgemeine Fragen
- Thema: "RuntimeWarning: invalid value encountered in divide"
- Antworten: 3
- Zugriffe: 1087
"RuntimeWarning: invalid value encountered in divide"
Hallo Python-Forum,
Problembeschreibung:
================
Ich löse ein nicht lineares Gleichungssystem mit scipy.optimize.root() . Hierbei benutze ich verschiedene Lösungsalgorithmen. Bei einem dieser Algorithmen, nämlich Anderson, tritt folgende Fehlermeldung auf:
scipy\optimize\nonlin.py:970 ...
Problembeschreibung:
================
Ich löse ein nicht lineares Gleichungssystem mit scipy.optimize.root() . Hierbei benutze ich verschiedene Lösungsalgorithmen. Bei einem dieser Algorithmen, nämlich Anderson, tritt folgende Fehlermeldung auf:
scipy\optimize\nonlin.py:970 ...
- Dienstag 5. März 2013, 19:41
- Forum: Allgemeine Fragen
- Thema: ConfigParser: Reihenfolge der sections erzwingen
- Antworten: 2
- Zugriffe: 949
Re: ConfigParser: Reihenfolge der sections erzwingen
@BlackJack: Blitzschnell, einfach erklärt und absolut treffend: "5 von 5 Sternen"!
Ich habe nun "configobj" installiert und spiele damit herum. Es funktioniert sehr gut! Leider habe ich noch nicht herausgefunden, wie man eine Leerzeile zwischen den Sections einfügt. Es ist nicht zwingend notwendig ...
Ich habe nun "configobj" installiert und spiele damit herum. Es funktioniert sehr gut! Leider habe ich noch nicht herausgefunden, wie man eine Leerzeile zwischen den Sections einfügt. Es ist nicht zwingend notwendig ...
- Dienstag 5. März 2013, 16:27
- Forum: Allgemeine Fragen
- Thema: ConfigParser: Reihenfolge der sections erzwingen
- Antworten: 2
- Zugriffe: 949
ConfigParser: Reihenfolge der sections erzwingen
Hallo Python-Forum,
Problembeschreibung:
================
Ich erzeuge ein Object von ConfigParser. Darin erzeuge ich sections und weise diesen options mit values zu. Beim Speichern in einer Datei bemerke ich, dass die gespeicherte Reihenfolge der sections nicht derjenigen entspricht, die ich ...
Problembeschreibung:
================
Ich erzeuge ein Object von ConfigParser. Darin erzeuge ich sections und weise diesen options mit values zu. Beim Speichern in einer Datei bemerke ich, dass die gespeicherte Reihenfolge der sections nicht derjenigen entspricht, die ich ...
- Donnerstag 21. Februar 2013, 00:09
- Forum: Allgemeine Fragen
- Thema: Lösungsalgorithmen für nichtlineare Gleichungssystem
- Antworten: 15
- Zugriffe: 8016
Re: Lösungsalgorithmen für nichtlineare Gleichungssystem
Wenn Du Geschwindigkeit willst, dann lass Python-Schleifen möglichst ganz weg ... und verwende `numpy`-Arrays. Also nicht nur als Datencontainer sondern tatsächlich auch als Datentypen mit den Operationen die sie zur Verfügung stellen.
@BlackJack: Genau das hat alles deutlich erleichtert und den ...
@BlackJack: Genau das hat alles deutlich erleichtert und den ...
- Mittwoch 20. Februar 2013, 16:07
- Forum: Allgemeine Fragen
- Thema: Lösungsalgorithmen für nichtlineare Gleichungssystem
- Antworten: 15
- Zugriffe: 8016
Re: Lösungsalgorithmen für nichtlineare Gleichungssystem
@BlackJack: ICH VERNEIGE MICH VOR DIR! Das war ein riesen Schritt nach vorne! Ich habe nun folgenden Pseudo-Code:
def fun(x,M):
n = len(M) # Meine Matrix ist immer quadratisch --> Anz. der Gleichungen
Result = [] # Liste, die am Ende ausgegeben wird
Result = [sum( M[index,:n]*x[:n] + exp(x[-2 ...
def fun(x,M):
n = len(M) # Meine Matrix ist immer quadratisch --> Anz. der Gleichungen
Result = [] # Liste, die am Ende ausgegeben wird
Result = [sum( M[index,:n]*x[:n] + exp(x[-2 ...
- Mittwoch 20. Februar 2013, 12:40
- Forum: Allgemeine Fragen
- Thema: Lösungsalgorithmen für nichtlineare Gleichungssystem
- Antworten: 15
- Zugriffe: 8016
Re: Lösungsalgorithmen für nichtlineare Gleichungssystem
@pillmuncher wegen "xrange": VIELEN DANK! Das habe ich einfach nicht gekannt. xrange geht tatsächlich schneller.
@pillmuncher wegen ListComprehension: Ich verstehe leider nicht, wie ich die List Comprehension auf mein Problem anwenden kann. Was ich brauche ist eine Implementierung, die eine Funktion ...
@pillmuncher wegen ListComprehension: Ich verstehe leider nicht, wie ich die List Comprehension auf mein Problem anwenden kann. Was ich brauche ist eine Implementierung, die eine Funktion ...
- Dienstag 19. Februar 2013, 23:48
- Forum: Allgemeine Fragen
- Thema: Lösungsalgorithmen für nichtlineare Gleichungssystem
- Antworten: 15
- Zugriffe: 8016
Re: Lösungsalgorithmen für nichtlineare Gleichungssystem
Bisher sehe ich noch nicht die Vorschrift, wie Du Dein Gleichungssystem „bauen“ willst.
@Sirius: Hier mal ein grobes Schema, das der Sache aber recht nahe kommt:
# Anzahl der Gleichungen meines Gleichungssystems (beispielhaft)
n_equations = 10**20
def func1(x, ArgumentTuple):
# func1() "baut ...
@Sirius: Hier mal ein grobes Schema, das der Sache aber recht nahe kommt:
# Anzahl der Gleichungen meines Gleichungssystems (beispielhaft)
n_equations = 10**20
def func1(x, ArgumentTuple):
# func1() "baut ...
- Dienstag 19. Februar 2013, 21:31
- Forum: Allgemeine Fragen
- Thema: Lösungsalgorithmen für nichtlineare Gleichungssystem
- Antworten: 15
- Zugriffe: 8016
Re: Lösungsalgorithmen für nichtlineare Gleichungssystem
@ BlackJack: OK, dann mache ich ein einfaches Beispiel: Du lässt ein Programm zwei Mal laufen. Beim ersten Mal erzeugt das Programm ein Gleichungssystem bestehend aus 5 Gleichungen. Beim zweiten Mal erzeugt das Programm ein Gleichungssystem bestehend aus 10 Gleichungen. Das Gleichungssystem soll ...
- Dienstag 19. Februar 2013, 19:20
- Forum: Allgemeine Fragen
- Thema: Lösungsalgorithmen für nichtlineare Gleichungssystem
- Antworten: 15
- Zugriffe: 8016
Re: Lösungsalgorithmen für nichtlineares Gleichungssystem
@ BlackJack: erst mal Danke für Deine Antwort!
Die Funktion kann man völlig ohne `append()` schreiben, denn die ist äquivalent zu dem hier
Das ist schon richtig. Aber erst während der Simulation wird das Gleichungssystem "dynamisch erstellt" und dessen Größe ist zuvor nicht bekannt. Daher kann ich ...
Die Funktion kann man völlig ohne `append()` schreiben, denn die ist äquivalent zu dem hier
Das ist schon richtig. Aber erst während der Simulation wird das Gleichungssystem "dynamisch erstellt" und dessen Größe ist zuvor nicht bekannt. Daher kann ich ...
- Dienstag 19. Februar 2013, 16:20
- Forum: Allgemeine Fragen
- Thema: Lösungsalgorithmen für nichtlineare Gleichungssystem
- Antworten: 15
- Zugriffe: 8016
Lösungsalgorithmen für nichtlineare Gleichungssystem
Kurzfassung:
===============
Ich versuche verschiedene Lösungsalgorithmen wie newton(), broyden1(), broyden2(), broyden3(), broyden_generalized(), anderson() und anderson2() auf ein Gleichungssystem anzuwenden, das in meiner Simulation auftritt. Mein Ziel ist es, die jeweils benötigten Dauern zur ...
===============
Ich versuche verschiedene Lösungsalgorithmen wie newton(), broyden1(), broyden2(), broyden3(), broyden_generalized(), anderson() und anderson2() auf ein Gleichungssystem anzuwenden, das in meiner Simulation auftritt. Mein Ziel ist es, die jeweils benötigten Dauern zur ...
