def __call__(self, X): """ @param X: log probability ratios @return: negative of mutual information """ Q = self.zoo_obj.get_rate_matrix(X) distn = self.zoo_obj.get_distn(X) return -ctmcmi.get_mutual_info_known_distn_fast(Q, distn, self.t)
def __call__(self, t): """ @param t: divergence time @return: signed difference between target and mutual information """ info_value = ctmcmi.get_mutual_info_known_distn_fast( self.Q, self.distn, t) return self.target - info_value