Die Suche ergab 20 Treffer

von SimPy
Donnerstag 9. Mai 2013, 18:15
Forum: Allgemeine Fragen
Thema: Berechnung einer Jacobi-Matrix eines Gleichungssystems
Antworten: 0
Zugriffe: 1064

Berechnung einer Jacobi-Matrix eines Gleichungssystems

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 ...
von SimPy
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?
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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'
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...
von SimPy
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 ...