【问题标题】:How to feed Jacobian to scikits.odes.odeint如何将 Jacobian 输入到 scikits.odes.odeint
【发布时间】:2019-07-05 11:29:54
【问题描述】:

我正在使用scikits.odes.odeint 求解一个相对较大的 ODE 系统(40 个变量,100 个动力学参数)。我想通过为求解器提供一个雅可比来加快这个过程。但是,我不知道如何最好地为此目的定义 jacobian 并将其提供给求解器。

【问题讨论】:

    标签: python ode scikits


    【解决方案1】:

    这是一个非常基本的符号 Jacobion,但它适用于大多数 ODE 求解器。

    import sympy as sp
    
    def rhs(t, y):
    return [y[0],2*y[1]]
    
    
    def jacob(t, y):
      ydot = rhs(t,y)
      J =  sp.Matrix(ydot).jacobian(y)
      J_func = sp.lambdify((t, y) , J)
      return J_func
    

    有更深入的指南here

    【讨论】:

      猜你喜欢
      • 2017-04-29
      • 2020-02-23
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-24
      相关资源
      最近更新 更多