问题标签 [gamma-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
521 浏览

r - rcpp:如何将伽玛函数应用于标量?

我猜是函数gamma only works for a vector as the input. Is there a way to apply it to a scalar, say,gamma(3)`?

实际上,如果我将gamma(3)其作为代码的一部分包含在内,我会得到正确的输出,但是有一条警告消息......

这是警告消息:

exp.cpp:7:27: 警告: 'gamma' 已弃用: 首先在 OS X 10.9 中弃用 [-Wdeprecated-declarations]
res = sum(gamma(vec)) + gamma(3);
^ /usr/include/math.h:720:15: 注意:'gamma' 已被明确标记为已弃用 extern double gamma(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA); ^ 1 个警告生成。

0 投票
1 回答
657 浏览

python - 不完整的 gamma 函数不接受复数值输入

我正在尝试计算像这篇文章中定义的上不完全伽马函数。如果我使用

z我得到一个错误的复数向量在哪里

是否有替代功能来进行计算?Gamma当我尝试使用 WolframAlpha 的函数执行此操作时,似乎没有问题。

0 投票
2 回答
2258 浏览

c# - C# 中有数学伽玛函数吗?

我想用 C# 做一个科学计算器,但我没有找到 gamma 函数来计算分形因子。该函数的描述如下: https ://en.wikipedia.org/wiki/Gamma_function

如何在 C# 中实现 gamma 函数?

0 投票
1 回答
322 浏览

python - 评估 mpmath gammainc 函数的困难

我正在使用 python 库 mpmath,特别是评估不完整的 gamma 函数。这是寻根例程的一部分,但对于复值参数的某些组合,它的评估非常慢。

这里函数的评估mpmath.gammainc卡住了:

另一方面,Mathematica 几乎立即返回结果:

在其他情况下,对于不同的参数mpmathMathematica返回相同的输出:

数学

Python mpmath

您对这种行为的原因有一些了解吗?这可以被认为mpmath是一个正交问题还是一个数学问题?不幸的是scipy,它没有提供gamma复杂参数的函数实现,所以它不是一个选项。

0 投票
1 回答
303 浏览

python - scipy中0阶的上不完全伽玛函数

我正在尝试在 Python 中实现零阶的上不完全伽马函数。通常我们使用gammaincc函数,但根据文档,它仅定义为正a。对于 a=0 的情况,有没有办法在 python 中实现它?谢谢。

0 投票
1 回答
885 浏览

regression - Bayesian Gamma regression, what is the correct link function?

I'm trying to do a bayesian gamma regression with stan. I know the correct link function is the inverse canonical link, but if i dont use a log link parameters can be negative, and enter in a gamma distribution with a negative value, that obviously can't be possible. how can i deal with it?

0 投票
1 回答
321 浏览

recursion - 伽玛函数实现没有产生正确的值

在 Fortran 95 中编程以从数学中计算 Gamma 函数值的函数不会产生正确的值。

我正在尝试在 Fortran 95 中实现一个递归函数,该函数使用Lanczos 近似计算 Gamma 函数的值(是的,我知道在 2003 年标准及更高版本中有一个内在函数)。我非常严格地遵循标准公式,所以我不确定出了什么问题。Gamma 函数的正确值对于我正在进行的一些其他数值计算至关重要,这些数值计算涉及通过递归关系对 Jacobi 多项式进行数值计算。

虽然这段代码应该在整个实线上为 Gamma 函数生成正确的值,但无论输入如何,它似乎只能生成接近 122 的常数值。我怀疑有一些我没有看到的奇怪的浮点算术问题。

0 投票
1 回答
1085 浏览

python - 如何在 Python 中为大型复杂参数获取 gamma 函数的值?

我正在尝试计算复杂参数的Beta函数的值。该方法scipy.special.beta不接受复杂的参数,所以我定义了

它适用于小值,但是,对于大值,它会返回nan. 所以我深入研究了Gamma函数的行为

A0j将被返回,并且显然该值太小而无法打印。

但是,虽然Gamma函数的值非常小,但对应的Beta函数的值却并不大。因此,进行计算仍然有意义。但我想不出办法。

我试过math.gamma了,但它不接受复杂的论点。我尝试了这个答案-0j中提供的方法,它会返回

我试图计算beta(n, 0.5)的地方。

有人可以帮我解决这个问题吗?提前致谢!

0 投票
3 回答
1429 浏览

python - 对数伽玛函数的快速算法

我正在尝试编写一个快速算法来计算对数伽玛函数。目前我的实现似乎很幼稚,只是迭代 1000 万次来计算 gamma 函数的日志(我也在使用 numba 来优化代码)。

我根据scipy.special.gammaln实现对我的代码进行了计时,而我的代码实际上慢了 100,000 倍。所以我在做一些非常错误或非常幼稚的事情(可能两者兼而有之)。尽管与 scipy 相比,我的答案至少在小数点后 4 位以内是正确的。

我试图阅读实现 scipy 的 gammaln 函数的 _ufunc 代码,但是我不明白 _gammaln 函数所写的 cython 代码。

有没有更快、更优化的方法可以计算对数伽玛函数?我如何理解 scipy 的实现,以便将其与我的结合起来?

0 投票
1 回答
786 浏览

python - 为什么这个 log gamma numba 函数对于大型数组比 scipy 慢,但对于单个值更快?

我有一个函数来计算我正在装饰的log gamma 函数numba.njit

例如,当我gammaln_nr用于大型数组时np.linspace(0.001, 100, 10**7),我的运行时间大约比 scipy 慢 7 倍(参见下面附录中的代码)。但是,如果我为任何单个值运行,我的 numba 函数总是快 2 倍左右。这是怎么回事?

我的直觉是,如果我的函数对于一个值更快,那么对于一组值应该更快。当然,情况可能并非如此,因为我不知道 numba 是使用 SIMD 指令还是其他类型的矢量化,而 scipy 可能是。

附录


在此处输入图像描述