mindspore.ops.mvlgamma

mindspore.ops.mvlgamma(input, p)[源代码]

逐元素计算 p 维多元对数伽马函数值。

Mvlgamma计算公式如下:

\[\log (\Gamma_{p}(input))=C+\sum_{i=1}^{p} \log (\Gamma(input-\frac{i-1}{2}))\]

其中 \(C = \log(\pi) \times \frac{p(p-1)}{4}\)\(\Gamma(\cdot)\) 为Gamma函数。

参数:
  • input (Tensor) - 多元对数伽马函数的输入Tensor,支持数据类型为float32和float64。其shape为 \((N,*)\) ,其中 \(*\) 为任意数量的额外维度。 input 中每个元素的值必须大于 \((p - 1) / 2\)

  • p (int) - 进行计算的维度,必须大于等于1。

返回:

Tensor。shape和类型与 input 一致。

异常:
  • TypeError - input 的数据类型不是float32或者float64。

  • TypeError - p 不是int类型。

  • ValueError - p 小于1。

  • ValueError - input 中不是所有元素的值都大于 \((p - 1) / 2\)

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> x = Tensor(np.array([[3, 4, 5], [4, 2, 6]]), mindspore.float32)
>>> y = ops.mvlgamma(x, p=3)
>>> print(y)
[[2.694925 5.402975 9.140645]
 [5.402975 1.596312 13.64045]]