def _beta_vlb(self): return np.log(self.beta).sum() + self.gamma*np.log(1-cumsum(self.beta)).sum() \ - 3*np.log(1-cumsum(self.beta,strict=True)).sum()
def _grad_log_p_beta(beta, alpha): # NOTE: switched argument name gamma <-> alpha return -(alpha-1)*rcumsum(1./(1-cumsum(beta))) \ + 2*rcumsum(1./(1-cumsum(beta,strict=True)),strict=True)
def feas(pt): return (pt > 0.).all() and pt.sum() < 1. and not np.isinf( 1. / (1 - cumsum(pt))).any()
def _grad_log_p_beta(beta,alpha): # NOTE: switched argument name gamma <-> alpha return -(alpha-1)*rcumsum(1./(1-cumsum(beta))) \ + 2*rcumsum(1./(1-cumsum(beta,strict=True)),strict=True)
def feas(pt): return (pt>0.).all() and pt.sum() < 1. and not np.isinf(1./(1-cumsum(pt))).any()