treetime/gtr.py
def expQsds(self, s):
        '''
        Returns
        -------
        Qtds :  Returns 2 V_{ij} \lambda_j s e^{\lambda_j s**2 } V^{-1}_{jk}
                This is the derivative of the branch probability with respect to s=\sqrt(t)
        '''
        lambda_eLambdaT = np.diag(2.0*self._exp_lt(s**2)*self.eigenvals*s) # vector length = a
        Qsds = self.v.dot(lambda_eLambdaT.dot(self.v_inv))
        return Qsds
def expQsds(self, s):
        '''
        Returns
        -------
        Qtds :  Returns 2 V_{ij} \lambda_j s e^{\lambda_j s**2 } V^{-1}_{jk}
                This is the derivative of the branch probability with respect to s=\sqrt(t)
        '''
        lambda_eLambdaT = np.diag(2.0*self._exp_lt(s**2)*self.eigenvals*s) # vector length = a
        Qsds = self.v.dot(lambda_eLambdaT.dot(self.v_inv))
        return Qsds
def expQsds ( self , s ) : lambda_eLambdaT = np . diag ( 2.0 * self . _exp_lt ( s ** 2 ) * self . eigenvals * s ) # vector length = a Qsds = self . v . dot ( lambda_eLambdaT . dot ( self . v_inv ) ) return Qsds
Returns
        -------
        Qtds :  Returns 2 V_{ij} \lambda_j s e^{\lambda_j s**2 } V^{-1}_{jk}
                This is the derivative of the branch probability with respect to s=\sqrt(t)
Returns ------- Qtds : Returns 2 V_ { ij } \ lambda_j s e^ { \ lambda_j s ** 2 } V^ { - 1 } _ { jk } This is the derivative of the branch probability with respect to s = \ sqrt ( t )