def E_logqZ( self, Data, LP):  
        ''' Returns K-length vector with E[ log q(Z) ] for each topic k
                r_{dwk} * E[ log r_{dwk} ]
            where z_{dw} ~ Discrete( r_dw1 , r_dw2, ... r_dwK )
        '''
        E_logqZ = np.sum(LP['E_logsoftev_epsilon_ii'], axis=1) \
           + np.sum(LP['E_logsoftev_epsilon_jj'], axis=1) \
           + LP['E_logsoftev_EdgeEps'] * ( np.sum(LP['edge_variational'],axis=1) - 1 ) \
           + np.sum( LP['E_logsoftev_EdgeLik']*LP['edge_variational'] \
           - np.log(LP['E_logsoftev_NormConst'][:,np.newaxis]) )
        return np.sum(E_logqZ)
dataset/ETHPy150Open daeilkim/refinery/refinery/bnpy/bnpy-dev/bnpy/allocmodel/admix/HDPRelModel.py/HDPRelAssortModel.E_logqZ/swapped operands of `-`