treetime/gtr_site_specific.py
def Q(self):
        """function that return the product of the transition matrix
           and the equilibrium frequencies to obtain the rate matrix
           of the GTR model
        """
        tmp = np.einsum('ia,ij->ija', self.Pi, self.W)
        diag_vals = np.sum(tmp, axis=0)
        for x in range(tmp.shape[-1]):
            np.fill_diagonal(tmp[:,:,x], -diag_vals[:,x])
        return tmp
def Q(self):
        tmp = np.einsum('ia,ij->ija', self.Pi, self.W)
        diag_vals = np.sum(tmp, axis=0)
        for x in range(tmp.shape[-1]):
            np.fill_diagonal(tmp[:,:,x], -diag_vals[:,x])
        return tmp
def Q ( self ) : tmp = np . einsum ( 'ia,ij->ija' , self . Pi , self . W ) diag_vals = np . sum ( tmp , axis = 0 ) for x in range ( tmp . shape [ - 1 ] ) : np . fill_diagonal ( tmp [ : , : , x ] , - diag_vals [ : , x ] ) return tmp
function that return the product of the transition matrix
           and the equilibrium frequencies to obtain the rate matrix
           of the GTR model
function that return the product of the transition matrix and the equilibrium frequencies to obtain the rate matrix of the GTR model