Comment résoudre une équation intégrale en python?

J'essaie de résoudre cette équation intégrale à l'aide de Python:

Comment résoudre une équation intégrale en python?

lorsque z varie de 0 à 1.

La scipy.quad fonction fournit la solution numérique pour un certain intervalle, mais il ne fournit pas la solution sur l'intervalle.

def f(z,Om,Ol): return 1./p.sqrt((1+z)**2 * (1+Om*z) - z*(2+z)*Ol)
quad(lambda r:f(r,Om,Ol),0,1)
(0.77142706642781111, 8.5645609096719596e-15)

Mais je ne sais pas comment faire pour en obtenir un vecteur dans cet intervalle, que vous obtenez lors de l'utilisation de scipy.odeint pour résoudre une équation différentielle.

Dans l'autre main, sympy.intégrer pouvez pas le faire. Je reçois un débordement de pile. De Plus, je ne peux pas comprendre comment remplacer les symboles par une liste,c'est à dire:

sy.integrate(x**2,x).subs(x,1)
1/3
sy.integrate(x**2,x).subs(x,[1,2])
TypeError: unhashable type: 'list'

La question est donc: est-ce que quelqu'un sait comment résoudre une équation intégrale à l'aide de python?

Utiliser numpy: docs.scipy.org/doc/numpy/reference/generated/...
bienvenue à débordement de pile
comme vous parlez d'une équation intégrale: Quelle est la valeur que vous recherchez ? Voulez-vous obtenir z1 pour un D_L ?
Vous avez un z avant de l'intégrale, est-ce une faute de frappe ?
Je ne peux pas comprendre comment utiliser linalg pour résoudre une équation intégrale.

OriginalL'auteur Illa Rivero Losada | 2011-08-23