Решение ODE с solve_ivp становится невероятно медленным или полностью зависает - PullRequest
0 голосов
/ 25 января 2019

Я использую solve_ivp для решения ODE:

def test_ode(t, y):
    dydt = C - y + (y ** 8 / (1 + y ** 8))
    return dydt

steady_state = []
for C in np.linspace(0, 1, 1001):
    sol = solve_ivp(test_ode, [0, 1e06], [0], method='BDF')
    steady_state.append(sol.y[0][-1])

Это дает мне RuntimeWarning:

ETA:  --:--:--/anaconda3/lib/python3.6/site-packages/scipy/integrate/_ivp/bdf.py:418: 
RuntimeWarning: divide by zero encountered in power
  factors = error_norms ** (-1 / np.arange(order, order + 3))

Но, что еще хуже, бег в основном останавливается (или, по крайней мере, становится невероятно медленным). Замена начального значения [0] на [1e-08] не решает проблему. Как я могу это исправить?

...