Gamma函数(伽玛函数)的一阶导数、二阶导数公式推导及java程序

11,353 阅读

本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 内容可能有不到之处,欢迎交流。 未经本人,允许禁止转载。

本文的csdn地址为:http://blog.csdn.net/qy20115549/article/details/71566376 #公式推导 由于最近本人在搞算法时,如下图所示,遇到Gamma求一阶导数及二阶导数,所以找了相关资料,学习了一下。

这里写图片描述
这里写图片描述

打公式实在有些费劲,所以这里直接将手稿贴出来,供有需要的人学习。

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

#java程序

package function;
import org.apache.commons.math3.special.Gamma;
/**
 * @author:合肥工业大学 管理学院 钱洋
 * @email:1563178220@qq.com
 * @ 这里主要采用的是math3中的gamma相关函数
 */
public class dergamma {

	public static void main(String[] args) {
		//直接利用这个可以求gamma函数的一阶偏导数
		double cc= Gamma.digamma(1);
		double a = Math.pow(Math.PI,2)/6.0+Math.pow(cc,2);
		System.out.println(a);
		System.out.println(Sencondderivative(1));
	}
	public static double Firstderivative(double x) {
		double Firstgamm=Gamma.gamma(x)*Gamma.digamma(x);
		return Firstgamm;
	}
	public static double Sencondderivative(double x){
		double Sencondgamm=(Math.pow(Firstderivative(x)/Gamma.gamma(x),2)+Gamma.trigamma(x))*Gamma.gamma(x);
		return Sencondgamm;
	}
}

参考资料: 【1】https://en.wikipedia.org/wiki/Trigamma_function 【2】The logarithmic derivative of the Gamma function 【3】http://erikerlandson.github.io/blog/2016/06/15/computing-derivatives-of-the-gamma-function/

DataLearner 官方微信

欢迎关注 DataLearner 官方微信,获得最新 AI 技术推送

DataLearner 官方微信二维码