本文整理汇总了Python中sympy.gamma方法的典型用法代码示例。如果您正苦于以下问题:Python sympy.gamma方法的具体用法?Python sympy.gamma怎么用?Python sympy.gamma使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sympy
的用法示例。
在下文中一共展示了sympy.gamma方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_integrate
# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import gamma [as 别名]
def test_integrate():
moments = quadpy.tools.integrate(lambda x: [x ** k for k in range(5)], -1, +1)
assert (moments == [2, 0, sympy.S(2) / 3, 0, sympy.S(2) / 5]).all()
moments = quadpy.tools.integrate(
lambda x: orthopy.line_segment.tree_legendre(x, 4, "monic", symbolic=True),
-1,
+1,
)
assert (moments == [2, 0, 0, 0, 0]).all()
# Example from Gautschi's "How to and how not to" article
moments = quadpy.tools.integrate(
lambda x: [x ** k * sympy.exp(-(x ** 3) / 3) for k in range(5)], 0, sympy.oo
)
S = numpy.vectorize(sympy.S)
gamma = numpy.vectorize(sympy.gamma)
n = numpy.arange(5)
reference = 3 ** (S(n - 2) / 3) * gamma(S(n + 1) / 3)
assert numpy.all([sympy.simplify(m - r) == 0 for m, r in zip(moments, reference)])
示例2: _print_factorial
# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import gamma [as 别名]
def _print_factorial(self, expr, **kwargs):
return self._print(sympy.gamma(expr.args[0] + 1), **kwargs)
示例3: test_gamma
# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import gamma [as 别名]
def test_gamma():
x = Symbol("x")
e1 = sympy.gamma(sympy.Symbol("x"))
e2 = gamma(x)
assert sympify(e1) == e2
assert e1 == e2._sympy_()
示例4: test_gautschi_how_to_and_how_not_to
# 需要导入模块: import sympy [as 别名]
# 或者: from sympy import gamma [as 别名]
def test_gautschi_how_to_and_how_not_to():
"""Test Gautschi's famous example from
W. Gautschi,
How and how not to check Gaussian quadrature formulae,
BIT Numerical Mathematics,
June 1983, Volume 23, Issue 2, pp 209–216,
<https://doi.org/10.1007/BF02218441>.
"""
points = numpy.array(
[
1.457697817613696e-02,
8.102669876765460e-02,
2.081434595902250e-01,
3.944841255669402e-01,
6.315647839882239e-01,
9.076033998613676e-01,
1.210676808760832,
1.530983977242980,
1.861844587312434,
2.199712165681546,
2.543839804028289,
2.896173043105410,
3.262066731177372,
3.653371887506584,
4.102376773975577,
]
)
weights = numpy.array(
[
3.805398607861561e-2,
9.622028412880550e-2,
1.572176160500219e-1,
2.091895332583340e-1,
2.377990401332924e-1,
2.271382574940649e-1,
1.732845807252921e-1,
9.869554247686019e-2,
3.893631493517167e-2,
9.812496327697071e-3,
1.439191418328875e-3,
1.088910025516801e-4,
3.546866719463253e-6,
3.590718819809800e-8,
5.112611678291437e-11,
]
)
# weight function exp(-t**3/3)
n = len(points)
moments = numpy.array(
[3.0 ** ((k - 2) / 3.0) * math.gamma((k + 1) / 3.0) for k in range(2 * n)]
)
alpha, beta = quadpy.tools.coefficients_from_gauss(points, weights)
# alpha, beta = quadpy.tools.chebyshev(moments)
errors_alpha, errors_beta = quadpy.tools.check_coefficients(moments, alpha, beta)
assert numpy.max(errors_alpha) > 1.0e-2
assert numpy.max(errors_beta) > 1.0e-2