Seite 1 von 1

quadpy Kubatur eines Tetraeders

Verfasst: Donnerstag 10. August 2017, 09:38
von moja
Hallo,
ich möchte gerne mit quadpy Funktionen in Tetraedern integrieren und bekomme bei dem Beispiel aus https://github.com/nschloe/quadpy

Code: Alles auswählen

import numpy
import quadpy
val = quadpy.tetrahedron.integrate(
    lambda x: numpy.exp(x[0]),
    [[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.5, 0.7, 0.0], [0.3, 0.9, 1.0]],
    quadpy.tetrahedron.Keast(10)
    )
Die Fehlermeldung
[codebox=text file=Unbenannt.txt]Traceback (most recent call last):
File "<stdin>", line 4, in <module>
File "/home/moja/data_ssd0/sync/programm/integration/python/quadpy/quadpy/nsimplex/tools.py", line 10, in integrate
x = transform(scheme.points.T, simplex.T)
AttributeError: 'list' object has no attribute 'T'[/code]

Ich nutze Fedora 25 und hatte es mti python 3.5.3 und auch 2.7.13 probiert, bei beiden Versionen gelange ich zur gleichen Fehlermeldung.
Ich habe quadpy über pip installiert. Fehlen mir irgendwelche Argumente bei dem Aufruf der Integrationsmethode? :?:
Viele Grüße

Re: quadpy Kubatur eines Tetraeders

Verfasst: Donnerstag 10. August 2017, 09:49
von BlackJack
@moja: Wenn man anstelle der Liste ein Numpy-Array übergibt, dann läuft es ohne Ausnahme durch.

Re: quadpy Kubatur eines Tetraeders

Verfasst: Donnerstag 10. August 2017, 10:03
von moja
super, vielen Dank BlackJack

jetzt läuft es ohne Probleme

Code: Alles auswählen

import numpy as np
import quadpy
tetr = np.array([[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.5, 0.7, 0.0], [0.3, 0.9, 1.0]])
val = quadpy.tetrahedron.integrate(lambda x: np.exp(x[0]),tetr,quadpy.tetrahedron.Keast(10))
print val