mindspore.ops.mvlgamma

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

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

Mvlgamma计算公式如下:

log(Γp(input))=C+i=1plog(Γ(inputi12))

其中 C=log(π)×p(p1)4Γ() 为Gamma函数。

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

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

返回:

Tensor。shape和类型与 input 一致。

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

  • TypeError - p 不是int类型。

  • ValueError - p 小于1。

  • ValueError - input 中不是所有元素的值都大于 (p1)/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]]