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

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

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

本文作者:合肥工业大学 管理学院 钱洋 email:[email protected] 内容可能有不到之处,欢迎交流。

未经本人,允许禁止转载。

本文的另外一个地址为:http://www.datalearner.com/blog/1051494421034048

公式推导

由于最近本人在搞算法时,如下图所示,遇到Gamma求一阶导数及二阶导数,所以找了相关资料,学习了一下。

311b9429466c3555ea551f4ae0b088a3.png

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

7c6b3a5237c4626589090a9f5f4064da.png

b90440288e2d4fc7af94063249170738.png

65950f07ddfe6d809c92e2fe2b1fb32d.png

java程序

package function;

import org.apache.commons.math3.special.Gamma;

/**

* @author:合肥工业大学 管理学院 钱洋

* @email:[email protected]

* @ 这里主要采用的是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/

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值