2026a

# psi


digamma 和 polygamma 函数

函数库: TyMath

# 语法

Y = psi(X)
Y = psi(k, X)

# 说明

Y = psi(X) 为数组 X 的每个元素计算 digamma 函数,各元素必须为非负实数。示例


Y = psi(k,X) 计算 X 的 polygamma 函数,计算的值是在 X 处的 digamma 函数的 k 阶导数。因此,psi(0,X) 是 digamma 函数,psi(1,X) 是 trigamma 函数,psi(2,X) 是 tetragamma 函数,以此类推。示例

# 示例

计算 Euler-Mascheroni 常量

使用 psi 函数计算 Euler-Mascheroni 常量 γ,也称为欧拉常量。

using TyMath
Y = -psi(1)
Y = 0.5772156649015325
计算 trigamma 函数

计算 2 的 trigamma 函数。

using TyMath
Y1 = psi(1,2)
Y1 = 0.6449340668482261

检查结果是否等于

Y2 = pi^2/6-1
Y2 = 0.6449340668482264
isapprox(Y1, Y2)
ans = true
绘制 digamma 和 polygamma 函数

定义域。

using TyMath
using TyPlot
X = 0:0.05:5

计算 digamma 和接下来的三个 polygamma 函数。

Y = zeros(4,101)
for i = 0:3
    Y[i+1,:] = psi(i,X)
end

绘制 digamma 和接下来的三个 polygamma 函数。

plot(X,Y')
xlim([0,5])
ylim([-10,10])
legend([raw"$\psi$",raw"$\psi_1$",raw"$\psi_2$",raw"$\psi_3$"],loc="northeast")
title("Digamma and The Next Three Polygamma Functions")
xlabel(raw"$x$")
ylabel(raw"$\psi_k(x)$")

# 输入参数

X - 输入
向量 | 矩阵 | 多维数组

输入,指定为标量、向量、矩阵或非负实数的多维数组。X 不能为稀疏矩阵。

数据类型: Float

k - 导数的阶
非负整数标量

导数的阶,指定为非负整数标量。k 必须小于

数据类型: Int

# 详细信息

digamma 函数

digamma 函数是 gamma 函数的对数的一阶导数:

polygamma 函数

k 阶的 polygamma 函数是 gamma 函数的对数的 (k+1) 阶导数:

# 参考

[1] Abramowitz, M. and I. A. Stegun, Handbook of Mathematical Functions, Dover Publications, 1965, Sections 6.3 and 6.4.

# 另请参阅

gamma | gammainc | gammaln