Estoy buscando una función de cuadratura numérica super duper. Debe tener las siguientes tres propiedades:Integración numérica en Python con cuadratura adaptativa de función vectorizada
- Adaptable - ajusta automáticamente la densidad de los puntos de muestreo para adaptarse al integrando. Esto es absolutamente necesario porque mi integrando es muy poco uniforme y costoso de calcular.
- Vectorizado: llama al integrando en listas de puntos de muestra en lugar de un punto a la vez, para mayor eficiencia.
- Capaz de manejar funciones con valores vectoriales: todos los componentes del integrando con valores vectoriales se calculan al mismo tiempo sin costo adicional, por lo que no tiene sentido integrar todos los componentes por separado.
Además, debe ser:
- 2D - la integral Quiero calcular es una integral doble sobre una región planar, y quiero ser capaz de especificar una tolerancia total (relativa) para toda la integral y hacer que administre el presupuesto de error de manera apropiada.
¿Alguien sabe de una biblioteca que tiene tal función? Incluso dos o tres de las cuatro propiedades serían mejores que nada.
Estoy usando Python y SciPy, por lo que si ya funciona con Python eso es una ventaja. (Pero también puedo escribir código de pegamento para que llame a mi integrando si es necesario.)
Por desgracia, no hay respuestas aún! Estoy escribiendo mi propio algoritmo de integración numérica en C#. Es adaptativo y maneja dimensiones N, pero no está vectorizado, sin embargo. Obtener las condiciones de terminación (tolerancia) correctas está resultando difícil. –
@Keenan Pepper Tal vez el proceso descrito [en esta pregunta puede darle alguna idea] (http://stackoverflow.com/questions/14441541/performance-behaviour-of-vectorized-functions-in-numpy/16551313#16551313) –