MathJacobianMatrix.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:libSigNetSim 作者: vincent-noel 项目源码 文件源码
def buildJacobianMatrix(self, including_fast_reactions=True):

        self.interactionMatrix = []
        self.jacobianMatrix = []

        for ode in self.ODEs:

            partial_ders = []
            signs = []

            for var in self.ODE_vars:

                t_part_der = diff(ode.getDeveloppedInternalMathFormula(), var.getDeveloppedInternalMathFormula())
                t_part_der_formula = MathFormula(self)
                t_part_der_formula.setInternalMathFormula(t_part_der)
                partial_ders.append(t_part_der_formula)

                if t_part_der == MathFormula.ZERO:
                    signs.append(0)

                else:
                    for atom in t_part_der.atoms(SympySymbol):
                        t_part_der = t_part_der.subs({atom: SympyInteger(1)})

                    if t_part_der > MathFormula.ZERO:
                        signs.append(1)
                    elif t_part_der < MathFormula.ZERO:
                        signs.append(-1)
                    else:
                        signs.append(2)

            self.jacobianMatrix.append(partial_ders)
            self.interactionMatrix.append(signs)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号