treetime/gtr.py
def expQsdsds(self, s):
        '''
        Returns
        -------
        Qtdtdt :  Returns V_{ij} \lambda_j^2 e^{\lambda_j s**2} V^{-1}_{jk}
                This is the second derivative of the branch probability wrt time
        '''
        t=s**2
        elt = self._exp_lt(t)
        lambda_eLambdaT = np.diag(elt*(4.0*t*self.eigenvals**2 + 2.0*self.eigenvals))
        Qsdsds = self.v.dot(lambda_eLambdaT.dot(self.v_inv))
        return Qsdsds
def expQsdsds(self, s):
        '''
        Returns
        -------
        Qtdtdt :  Returns V_{ij} \lambda_j^2 e^{\lambda_j s**2} V^{-1}_{jk}
                This is the second derivative of the branch probability wrt time
        '''
        t=s**2
        elt = self._exp_lt(t)
        lambda_eLambdaT = np.diag(elt*(4.0*t*self.eigenvals**2 + 2.0*self.eigenvals))
        Qsdsds = self.v.dot(lambda_eLambdaT.dot(self.v_inv))
        return Qsdsds
def expQsdsds ( self , s ) : t = s ** 2 elt = self . _exp_lt ( t ) lambda_eLambdaT = np . diag ( elt * ( 4.0 * t * self . eigenvals ** 2 + 2.0 * self . eigenvals ) ) Qsdsds = self . v . dot ( lambda_eLambdaT . dot ( self . v_inv ) ) return Qsdsds
Returns
        -------
        Qtdtdt :  Returns V_{ij} \lambda_j^2 e^{\lambda_j s**2} V^{-1}_{jk}
                This is the second derivative of the branch probability wrt time
Returns ------- Qtdtdt : Returns V_ { ij } \ lambda_j^2 e^ { \ lambda_j s ** 2 } V^ { - 1 } _ { jk } This is the second derivative of the branch probability wrt time