问题标签 [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.
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 个警告生成。
c# - C# 中有数学伽玛函数吗?
我想用 C# 做一个科学计算器,但我没有找到 gamma 函数来计算分形因子。该函数的描述如下: https ://en.wikipedia.org/wiki/Gamma_function
如何在 C# 中实现 gamma 函数?
python - 评估 mpmath gammainc 函数的困难
我正在使用 python 库 mpmath,特别是评估不完整的 gamma 函数。这是寻根例程的一部分,但对于复值参数的某些组合,它的评估非常慢。
这里函数的评估mpmath.gammainc
卡住了:
另一方面,Mathematica 几乎立即返回结果:
在其他情况下,对于不同的参数mpmath
并Mathematica
返回相同的输出:
数学
Python mpmath
您对这种行为的原因有一些了解吗?这可以被认为mpmath
是一个正交问题还是一个数学问题?不幸的是scipy
,它没有提供gamma
复杂参数的函数实现,所以它不是一个选项。
python - scipy中0阶的上不完全伽玛函数
我正在尝试在 Python 中实现零阶的上不完全伽马函数。通常我们使用gammaincc
函数,但根据文档,它仅定义为正a。对于 a=0 的情况,有没有办法在 python 中实现它?谢谢。
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?
recursion - 伽玛函数实现没有产生正确的值
在 Fortran 95 中编程以从数学中计算 Gamma 函数值的函数不会产生正确的值。
我正在尝试在 Fortran 95 中实现一个递归函数,该函数使用Lanczos 近似计算 Gamma 函数的值(是的,我知道在 2003 年标准及更高版本中有一个内在函数)。我非常严格地遵循标准公式,所以我不确定出了什么问题。Gamma 函数的正确值对于我正在进行的一些其他数值计算至关重要,这些数值计算涉及通过递归关系对 Jacobi 多项式进行数值计算。
虽然这段代码应该在整个实线上为 Gamma 函数生成正确的值,但无论输入如何,它似乎只能生成接近 122 的常数值。我怀疑有一些我没有看到的奇怪的浮点算术问题。
python - 如何在 Python 中为大型复杂参数获取 gamma 函数的值?
我正在尝试计算复杂参数的Beta函数的值。该方法scipy.special.beta
不接受复杂的参数,所以我定义了
它适用于小值,但是,对于大值,它会返回nan
. 所以我深入研究了Gamma函数的行为
A0j
将被返回,并且显然该值太小而无法打印。
但是,虽然Gamma函数的值非常小,但对应的Beta函数的值却并不大。因此,进行计算仍然有意义。但我想不出办法。
我试过math.gamma
了,但它不接受复杂的论点。我尝试了这个答案-0j
中提供的方法,它会返回
我试图计算beta(n, 0.5)的地方。
有人可以帮我解决这个问题吗?提前致谢!
python - 对数伽玛函数的快速算法
我正在尝试编写一个快速算法来计算对数伽玛函数。目前我的实现似乎很幼稚,只是迭代 1000 万次来计算 gamma 函数的日志(我也在使用 numba 来优化代码)。
我根据scipy.special.gammaln实现对我的代码进行了计时,而我的代码实际上慢了 100,000 倍。所以我在做一些非常错误或非常幼稚的事情(可能两者兼而有之)。尽管与 scipy 相比,我的答案至少在小数点后 4 位以内是正确的。
我试图阅读实现 scipy 的 gammaln 函数的 _ufunc 代码,但是我不明白 _gammaln 函数所写的 cython 代码。
有没有更快、更优化的方法可以计算对数伽玛函数?我如何理解 scipy 的实现,以便将其与我的结合起来?
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 可能是。