quadpy Kubatur eines Tetraeders

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
moja
User
Beiträge: 2
Registriert: Donnerstag 10. August 2017, 09:27

quadpy Kubatur eines Tetraeders

Beitragvon moja » Donnerstag 10. August 2017, 09:38

Hallo,
ich möchte gerne mit quadpy Funktionen in Tetraedern integrieren und bekomme bei dem Beispiel aus https://github.com/nschloe/quadpy
  1. import numpy
  2. import quadpy
  3. val = quadpy.tetrahedron.integrate(
  4.     lambda x: numpy.exp(x[0]),
  5.     [[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.5, 0.7, 0.0], [0.3, 0.9, 1.0]],
  6.     quadpy.tetrahedron.Keast(10)
  7.     )

Die Fehlermeldung
  1. Traceback (most recent call last):
  2.   File "<stdin>", line 4, in <module>
  3.   File "/home/moja/data_ssd0/sync/programm/integration/python/quadpy/quadpy/nsimplex/tools.py", line 10, in integrate
  4.     x = transform(scheme.points.T, simplex.T)
  5. AttributeError: 'list' object has no attribute 'T'


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
Zuletzt geändert von Anonymous am Donnerstag 10. August 2017, 09:41, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

Re: quadpy Kubatur eines Tetraeders

Beitragvon BlackJack » Donnerstag 10. August 2017, 09:49

@moja: Wenn man anstelle der Liste ein Numpy-Array übergibt, dann läuft es ohne Ausnahme durch.
moja
User
Beiträge: 2
Registriert: Donnerstag 10. August 2017, 09:27

Re: quadpy Kubatur eines Tetraeders

Beitragvon moja » Donnerstag 10. August 2017, 10:03

super, vielen Dank BlackJack

jetzt läuft es ohne Probleme
  1. import numpy as np
  2. import quadpy
  3. 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]])
  4. val = quadpy.tetrahedron.integrate(lambda x: np.exp(x[0]),tetr,quadpy.tetrahedron.Keast(10))
  5. print val
Zuletzt geändert von Anonymous am Donnerstag 10. August 2017, 11:09, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder