Estoy buscando una buena biblioteca que integre ODE rígidos en Python. El problema es que scipy's odeint me ofrece buenas soluciones a veces, pero el más mínimo cambio en las condiciones iniciales hace que se caiga y se rinda. El mismo problema lo resuelven felizmente los rígidos solucionadores de MATLAB (ode15s y ode23s), pero no puedo usarlo (incluso desde Python, porque ninguno de los enlaces de Python para la API de C de MATLAB implementa callbacks, y necesito pasar una función al solucionador de ODE). Estoy probando PyGSL, pero es horrendo y complejo. Cualquier sugerencia sería muy apreciada.Integre ODE rígidos con Python
EDITAR: El problema específico que tengo con PyGSL es elegir la función de paso correcta. Hay varios de ellos, pero no análogos directos a ode15s u ode23s (fórmula bdf y Rosenbrock modificado si tiene sentido). Entonces, ¿cuál es una buena función de paso para elegir para un sistema rígido? Tengo que resolver este sistema por un tiempo realmente largo para asegurarme de que alcance el estado estacionario, y los solucionadores de GSL eligen un paso de tiempo minúsculo o uno demasiado grande.
Me gustaría ayudarte con PyGSL. Nunca lo he usado, pero tengo experiencia con GSL. Acabo de ver el ejemplo proporcionado en pygsl (odeiv.py) y se ve más o menos lo mismo que en C. ¿Cree que PyGSL es horrendo y complejo debido a la interfaz de Python o GSL per se? – YuppieNetworking
Bueno, horrendo y complejo es quizás una exageración :). Sin embargo, es de un orden de magnitud más complejo que MATLAB o skipy. Para aclarar, la interfaz de Python es prácticamente la misma que la interfaz C, por lo que la biblioteca es compleja. Además, PyGSL no documenta odeiv, así que tengo que usar los documentos de C para descubrir qué hacer en Python. No es divertido. –
Editado la pregunta. –