Sto cercando una buona libreria che integri ODE rigide in Python. Il problema è che l'odeint di Scipy mi dà buone soluzioni a volte, ma il minimo cambiamento nelle condizioni iniziali fa sì che cada e si arrenda. Lo stesso problema è risolto abbastanza felicemente dai risolutori rigidi di MATLAB (ode15s e ode23s), ma non posso usarlo (nemmeno da Python, perché nessuno dei binding Python per l'API MATLAB C implementa i callback, e ho bisogno di passare una funzione al risolutore ODE). Sto provando PyGSL, ma è terribilmente complesso. Ogni suggerimento sarà molto apprezzato.Integrazione di ODE rigide con Python
MODIFICA: il problema specifico che sto riscontrando con PyGSL è la scelta della funzione del passo corretto. Ce ne sono diversi, ma non analoghi diretti a ode15s o ode23s (formula in bdf e Rosenbrock modificato se ciò ha senso). Quindi, qual è una buona funzione di passaggio da scegliere per un sistema rigido? Devo risolvere questo sistema per un tempo molto lungo per assicurarmi che raggiunga lo stato stazionario, ei risolutori GSL scelgono un passo temporale minuscolo o troppo grande.
Mi piacerebbe aiutarti con PyGSL. Non l'ho mai usato, ma ho esperienza con GSL. Ho appena guardato l'esempio fornito in pygsl (odeiv.py) e sembra più o meno lo stesso di C. Pensi che PyGSL sia terribilmente complesso a causa dell'interfaccia python o GSL di per sé? – YuppieNetworking
Beh, orrendamente complesso è forse un'esagerazione :). È un ordine di grandezza più complesso di MATLAB o scipy. Per chiarire, l'interfaccia python è praticamente uguale all'interfaccia C, quindi è la stessa libreria che è complessa. Inoltre, PyGSL non documenta l'odeiv, quindi devo usare i documenti C per capire cosa fare in Python. Non è divertente. –
Modificata la domanda. –