def _t(self): a = self.alpha ad = self.alphad zd = self._zd pg = sp.polygamma(0, zd) return np.exp( self.lnAd) * (a * self.Hsd / self.betad) * self._gammazd * ( self._yd** (ad + 1) * self._gammazd * sp.hyperReg_2F2(zd, self._xd) + pg - self.betad * np.log(self._yd))
def test_hyperReg_2F2_vec_vec(): ans = np.array([-0.0283642, 0.99684913]) assert np.all(np.isclose(s.hyperReg_2F2(np.array([-0.8,0.8]),np.array([0.1,0.8])),ans))
def test_hyperReg_2F2_vec_float(): ans = np.array([-0.84994678, 0.93493122]) assert np.all(np.isclose(s.hyperReg_2F2(np.array([-0.8,0.8]),1.2),ans))
def test_hyperReg_2F2_float_vec(): ans = np.array([ 0.79980452, 0.65968203]) assert np.all(np.isclose(s.hyperReg_2F2(1.2,np.linspace(0.1,0.8,2)),ans))
def test_hyperReg_2F2_posneg_int(): assert np.isclose(s.hyperReg_2F2(1,-1),1.31790215145)
def test_hyperReg_2F2_pospos_int(): assert np.isclose(s.hyperReg_2F2(1,1),0.796599599297)
def test_hyperReg_2F2_posneg_float(): assert np.isclose(s.hyperReg_2F2(1.2,-1.2),1.22515135239)
def test_hyperReg_2F2_negpos_float(): assert np.isclose(s.hyperReg_2F2(-1.2,1.2),-1.20091607472)
def test_hyperReg_2F2_pospos_float(): assert np.isclose(s.hyperReg_2F2(1.2,1.2),0.596919004394)