本文整理汇总了Python中scipy.special.hyp2f1方法的典型用法代码示例。如果您正苦于以下问题:Python special.hyp2f1方法的具体用法?Python special.hyp2f1怎么用?Python special.hyp2f1使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类scipy.special
的用法示例。
在下文中一共展示了special.hyp2f1方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_hyp2f1_real_some
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def test_hyp2f1_real_some():
dataset = []
for a in [-10, -5, -1.8, 1.8, 5, 10]:
for b in [-2.5, -1, 1, 7.4]:
for c in [-9, -1.8, 5, 20.4]:
for z in [-10, -1.01, -0.99, 0, 0.6, 0.95, 1.5, 10]:
try:
v = float(mpmath.hyp2f1(a, b, c, z))
except:
continue
dataset.append((a, b, c, z, v))
dataset = np.array(dataset, dtype=np.float_)
olderr = np.seterr(invalid='ignore')
try:
FuncData(sc.hyp2f1, dataset, (0,1,2,3), 4, rtol=1e-9,
ignore_inf_sign=True).check()
finally:
np.seterr(**olderr)
示例2: test_hyp2f1_some_points_2
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def test_hyp2f1_some_points_2():
# Taken from mpmath unit tests -- this point failed for mpmath 0.13 but
# was fixed in their SVN since then
pts = [
(112, (51,10), (-9,10), -0.99999),
(10,-900,10.5,0.99),
(10,-900,-10.5,0.99),
]
def fev(x):
if isinstance(x, tuple):
return float(x[0]) / x[1]
else:
return x
dataset = [tuple(map(fev, p)) + (float(mpmath.hyp2f1(*p)),) for p in pts]
dataset = np.array(dataset, dtype=np.float_)
FuncData(sc.hyp2f1, dataset, (0,1,2,3), 4, rtol=1e-10).check()
示例3: expected_number_of_purchases_up_to_time
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def expected_number_of_purchases_up_to_time(self, t):
"""
Return expected number of repeat purchases up to time t.
Calculate the expected number of repeat purchases up to time t for a
randomly choose individual from the population.
Parameters
----------
t: array_like
times to calculate the expectation for
Returns
-------
array_like
"""
r, alpha, a, b = self._unload_params("r", "alpha", "a", "b")
hyp = hyp2f1(r, b + 1, a + b, t / (alpha + t))
return b / (a - 1) * (1 - hyp * (alpha / (alpha + t)) ** r)
示例4: derivatives
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def derivatives(self, x, y, b, t, q):
"""
returns the deflection
"""
# elliptical radius, eq. (5)
Z = np.empty(np.shape(x), dtype=complex)
Z.real = q*x
Z.imag = y
R = np.abs(Z)
# angular dependency with extra factor of R, eq. (23)
R_omega = Z*hyp2f1(1, t/2, 2-t/2, -(1-q)/(1+q)*(Z/Z.conj()))
# deflection, eq. (22)
alpha = 2/(1+q)*(b/R)**t*R_omega
# return real and imaginary part
return alpha.real, alpha.imag
示例5: _pdf
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def _pdf(self, x, a, b, c, z):
# gausshyper.pdf(x, a, b, c, z) =
# C * x**(a-1) * (1-x)**(b-1) * (1+z*x)**(-c)
Cinv = sc.gamma(a)*sc.gamma(b)/sc.gamma(a+b)*sc.hyp2f1(c, a, a+b, -z)
return 1.0/Cinv * x**(a-1.0) * (1.0-x)**(b-1.0) / (1.0+z*x)**c
示例6: _munp
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def _munp(self, n, a, b, c, z):
fac = sc.beta(n+a, b) / sc.beta(a, b)
num = sc.hyp2f1(c, a+n, a+b+n, -z)
den = sc.hyp2f1(c, a, a+b, -z)
return fac*num / den
示例7: _cdf
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def _cdf(self, x, c):
term1 = x / sc.beta(0.5, c / 2.0)
res = 0.5 + term1 * sc.hyp2f1(0.5, 1 - c / 2.0, 1.5, x**2)
# There's an issue with hyp2f1, it returns nans near x = +-1, c > 100.
# Use the generic implementation in that case. See gh-1285 for
# background.
if np.any(np.isnan(res)):
return rv_continuous._cdf(self, x, c)
return res
示例8: test_hyp2f1
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def test_hyp2f1(self):
assert_equal(cephes.hyp2f1(1,1,1,0),1.0)
示例9: test_expi_complex
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def test_expi_complex():
dataset = []
for r in np.logspace(-99, 2, 10):
for p in np.linspace(0, 2*np.pi, 30):
z = r*np.exp(1j*p)
dataset.append((z, complex(mpmath.ei(z))))
dataset = np.array(dataset, dtype=np.complex_)
FuncData(sc.expi, dataset, 0, 1).check()
#------------------------------------------------------------------------------
# hyp2f1
#------------------------------------------------------------------------------
示例10: test_hyp2f1_strange_points
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def test_hyp2f1_strange_points():
pts = [
(2,-1,-1,0.7),
(2,-2,-2,0.7),
]
kw = dict(eliminate=True)
dataset = [p + (float(mpmath.hyp2f1(*p, **kw)),) for p in pts]
dataset = np.array(dataset, dtype=np.float_)
FuncData(sc.hyp2f1, dataset, (0,1,2,3), 4, rtol=1e-10).check()
示例11: test_hyp2f1_real_some_points
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def test_hyp2f1_real_some_points():
pts = [
(1,2,3,0),
(1./3, 2./3, 5./6, 27./32),
(1./4, 1./2, 3./4, 80./81),
(2,-2,-3,3),
(2,-3,-2,3),
(2,-1.5,-1.5,3),
(1,2,3,0),
(0.7235, -1, -5, 0.3),
(0.25, 1./3, 2, 0.999),
(0.25, 1./3, 2, -1),
(2,3,5,0.99),
(3./2,-0.5,3,0.99),
(2,2.5,-3.25,0.999),
(-8, 18.016500331508873, 10.805295997850628, 0.90875647507000001),
(-10,900,-10.5,0.99),
(-10,900,10.5,0.99),
(-1,2,1,1.0),
(-1,2,1,-1.0),
(-3,13,5,1.0),
(-3,13,5,-1.0),
(0.5, 1 - 270.5, 1.5, 0.999**2), # from issue 1561
]
dataset = [p + (float(mpmath.hyp2f1(*p)),) for p in pts]
dataset = np.array(dataset, dtype=np.float_)
olderr = np.seterr(invalid='ignore')
try:
FuncData(sc.hyp2f1, dataset, (0,1,2,3), 4, rtol=1e-10).check()
finally:
np.seterr(**olderr)
示例12: test_hyp2f1_real_random
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def test_hyp2f1_real_random():
dataset = []
npoints = 500
dataset = np.zeros((npoints, 5), np.float_)
np.random.seed(1234)
dataset[:,0] = np.random.pareto(1.5, npoints)
dataset[:,1] = np.random.pareto(1.5, npoints)
dataset[:,2] = np.random.pareto(1.5, npoints)
dataset[:,3] = 2*np.random.rand(npoints) - 1
dataset[:,0] *= (-1)**np.random.randint(2, npoints)
dataset[:,1] *= (-1)**np.random.randint(2, npoints)
dataset[:,2] *= (-1)**np.random.randint(2, npoints)
for ds in dataset:
if mpmath.__version__ < '0.14':
# mpmath < 0.14 fails for c too much smaller than a, b
if abs(ds[:2]).max() > abs(ds[2]):
ds[2] = abs(ds[:2]).max()
ds[4] = float(mpmath.hyp2f1(*tuple(ds[:4])))
FuncData(sc.hyp2f1, dataset, (0,1,2,3), 4, rtol=1e-9).check()
#------------------------------------------------------------------------------
# erf (complex)
#------------------------------------------------------------------------------
示例13: test_hyp2f1
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def test_hyp2f1(self):
assert_mpmath_equal(sc.hyp2f1,
_exception_to_nan(lambda a, b, c, x: mpmath.hyp2f1(a, b, c, x, **HYPERKW)),
[Arg(), Arg(), Arg(), Arg()])
示例14: test_hyp2f1_complex
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def test_hyp2f1_complex(self):
# Scipy's hyp2f1 seems to have performance and accuracy problems
assert_mpmath_equal(lambda a, b, c, x: sc.hyp2f1(a.real, b.real, c.real, x),
_exception_to_nan(lambda a, b, c, x: mpmath.hyp2f1(a, b, c, x, **HYPERKW)),
[Arg(-1e2, 1e2), Arg(-1e2, 1e2), Arg(-1e2, 1e2), ComplexArg()],
n=10)
示例15: test_hyp2f1_strange_points
# 需要导入模块: from scipy import special [as 别名]
# 或者: from scipy.special import hyp2f1 [as 别名]
def test_hyp2f1_strange_points():
pts = [
(2, -1, -1, 0.7), # expected: 2.4
(2, -2, -2, 0.7), # expected: 3.87
]
pts += list(itertools.product([2, 1, -0.7, -1000], repeat=4))
pts = [
(a, b, c, x) for a, b, c, x in pts
if b == c and round(b) == b and b < 0 and b != -1000
]
kw = dict(eliminate=True)
dataset = [p + (float(mpmath.hyp2f1(*p, **kw)),) for p in pts]
dataset = np.array(dataset, dtype=np.float_)
FuncData(sc.hyp2f1, dataset, (0,1,2,3), 4, rtol=1e-10).check()