用Scipy理解Gamma函数

news2024/10/6 8:35:03

文章目录

    • Gamma函数
    • 对数Gamma函数
    • 复数域的Gamma函数

Gamma函数

Γ \Gamma Γ函数是阶乘的解析延拓,在概率论中非常常见,例如Gamma分布表示某个事件在某个时刻发生第 n n n次的概率:Gamma分布详解

Γ \Gamma Γ函数显含在 Γ \Gamma Γ分布中,其表达式可以写为

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t \Gamma(z)=\int^\infty_0 t^{z-1}e{-t}\text dt Γ(z)=0tz1etdt

z z z为正整数时,有 Γ ( z ) = ( z − 1 ) ! \Gamma(z)=(z-1)! Γ(z)=(z1)!,其函数图像如下

在这里插入图片描述
绘图代码为

import numpy as np
from scipy.special import gamma, factorial
import matplotlib.pyplot as plt
x = np.linspace(-3.5, 6, 2000)
y = gamma(x)
plt.plot(x, y, 'b')
plt.ylim(-100, 150)
k = np.arange(1, 7)
plt.plot(k, factorial(k-1), 'k*')
plt.grid()
plt.xlabel('x')
plt.show()

对数Gamma函数

鉴于阶乘函数发散得十分迅速,故而scipy提供了两种对数的Gamma函数,分别是gammalnloggamma,其中后者的自变量大于0。其图像为

在这里插入图片描述

import scipy.special as sc
x = np.linspace(-10, 10, 2000)
plt.plot(x, sc.gammaln(x), 'b')
plt.show()

复数域的Gamma函数

Γ \Gamma Γ函数在复数域也有定义,对于 Γ ( x + i ⁡ y ) \Gamma(x+\operatorname{i}y) Γ(x+iy),其实部可写为

ℜ ( Γ ( x + i ⁡ y ) ) = ∫ 1 ∞ t x − 1 e t cos ⁡ ( y ln ⁡ t ) d t + ∑ k = 0 ∞ ( − 1 ) k k ! [ k + x ( k + x ) 2 + y 2 ] \Re(\Gamma(x+\operatorname{i}y)) = \int^\infty_1\frac{t^{x-1}}{e^t}\cos(y\ln t)\text dt+\sum_{k=0}^\infty\frac{(-1)^k}{k!}[\frac{k+x}{(k+x)^2+y^2}] (Γ(x+iy))=1ettx1cos(ylnt)dt+k=0k!(1)k[(k+x)2+y2k+x]

其虚部可写为

ℑ ( Γ ( x + i ⁡ y ) ) = ∫ 1 ∞ t x − 1 e t sin ⁡ ( y ln ⁡ t ) d t − ∑ k = 0 ∞ ( − 1 ) k k ! [ y ( k + x ) 2 + y 2 ] \Im(\Gamma(x+\operatorname{i}y)) = \int^\infty_1\frac{t^{x-1}}{e^t}\sin(y\ln t)\text dt-\sum_{k=0}^\infty\frac{(-1)^k}{k!}[\frac{y}{(k+x)^2+y^2}] (Γ(x+iy))=1ettx1sin(ylnt)dtk=0k!(1)k[(k+x)2+y2y]

scipy中的gamma函数本身就是定义在复数域的,故而可以绘制一下复数域的 Γ \Gamma Γ函数

xs = np.linspace(-5, 5, 2000)
ys = np.linspace(-5, 5, 200)
ys, xs = np.meshgrid(ys,xs)
zs = gamma(xs+1j*ys)
ax = plt.subplot(projection='3d')
ax.plot_surface(xs, ys, zs)
plt.show()

结果如下

在这里插入图片描述
沿着实轴看去,其实就是 Γ ( x ) \Gamma(x) Γ(x);随着 x x x逐渐变大复数域上其他位置也逐渐出现了凸起。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/165424.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux基本功系列之pwd命令实战

本文目录 文章目录一. pwd命令介绍二. 语法格式及常用选项2.1 语法格式2.2 常用参数三. 参考案例3.1 显示所在目录的完整路径3.2 显示符号链接的路径 -P 参数3.3 查看上一次所在的工作目录3.4 查看PWD的版本四. pwd的命令类型总结前言🚀🚀🚀 …

7、redis数据库jedis省份缓存案例

Redis 1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库 1.1.什么是NOSQL NoSQL(NoSQL Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起…

IO流练习(三)

1.编程题 Homework01.java (1)在判断e盘下是否有文件夹mytemp,如果没有就创建mytemp (2)在e:\\mytemp目录下,创建文件hello.txt (3)如果hello.txt已经存在,提示该文件已经存在,就不要再重复创建了。 (4)并且在hello.tx…

Java加解密(八)数字证书

目录数字证书1 定义2 证书组成结构3 公钥基础设施(PKI)3.1 PKI的组成3.2 PKI的相关标准3.3 信任模型4 证书的应用场景5 证书链6 生成证书6.1 通过CA生成可信证书6.1.1 国际权威认证机构6.1.2 生成CSR6.1.2.1 使用XCA生成CSR6.1.2.2 使用OpenSSL生成CSR6.…

每日一题-力扣(leetcode)2059. 转化数字的最小运算数

传送门 题目描述 给你一个下标从 0 开始的整数数组 nums ,该数组由 互不相同 的数字组成。另给你两个整数 start 和 goal 。 整数 x 的值最开始设为 start ,你打算执行一些运算使 x 转化为 goal 。你可以对数字 x 重复执行下述运算: 如果…

AtCoder Beginner Contest 284解题报告(A-D)

A - Sequence of Strings Problem Statement You are given N strings S1​,S2​,…,SN​ in this order. Print SN​,SN−1​,…,S1​ in this order. Constraints 1≤N≤10N is an integer.Si​ is a string of length between 1 and 10, inclusive, consisting of lowe…

【Redis】Redis实现分布式锁

【Redis】Redis实现分布式锁 文章目录【Redis】Redis实现分布式锁1. 分布式锁概念2. 为什么要实现分布式锁2.1 并发安全问题3. 分布式锁的实现方案3.1 Redis实现分布式锁3.1.1 定义分布锁接口和类3.1.2 编写lua脚本3.1.3 使用线程锁3.1.4 总结在实现分布式锁之前,首…

aardio - 升级bindConfig函数,支持多属性和多子组件

一、需求分析 aardio的 winform.bindConfig() 函数,绑定后,一个组件,只能保存一个属性。 有时候需要同时保存多个属性,比如一个comobox组件,需要保存项目列表,同时保存当前选中的项目索引。当前这个bindC…

代码随想录算法训练营第十八天二叉树 java : .106 从中序与后序遍历序列构造二叉树113. 路径总和ii 112 路径总和 513.找树左下角的值

文章目录前言LeetCode 513.找树左下角的值题目讲解思路那么如何找最左边的呢?Leetcode 112 路径总和题目讲解LeetCode 113. 路径总和ii题目讲解Leetcode 106 从中序与后序遍历序列构造二叉树题目讲解前言 人的不幸在于他们不想走自己的那条路,总想走别人…

大数据必学Java基础(一百二十四):Maven的常见插件

文章目录 Maven的常见插件 一、编辑器插件 二、资源拷贝插件 三、tomcat插件 Maven的常见插件

Dubbo 服务暴露

Dubbo 服务暴露 1. 服务暴露时序图 2. 源码分析 DubboBootstrap.exportServices 从配置管理器中获取到所有的ServiceConfig实例,遍历,然后一个一个的暴露。 ServiceConfig.export 如果DubboBootstrap为空,也就没有初始化,就初…

猴子都能看懂的噪声(noise)专题

背景 除了生成各种奇形怪状与自然景观,噪声也有其他美妙的用途! 工作原因,经常接触与噪声相关的画面效果(火焰啊,画面扰动啊之类的),做的时候一知半解,傻傻分不清楚各种形态的nois…

Java文件:XWPFDocument导出Word文档

文章目录一、前言二、基本的概念三、Maven依赖(JAR)四、Word模板1.正文段落2.正文表格3.页眉4.页脚五、XWPFDocument的使用5.4导出Word文档1.word模板2.PdfTest测试类3.ISystemFileService接口4.SystemFileServiceImpl实现类5.结果六、遇到问题5.1输出为word的时候换行符无效一…

NR5G基础概念扫盲

文章目录前言BWP未完待续前言 随着人工智能、万物互联时代的到来,人类社会进入到一个新的阶段。新兴的科技产业对信息社会基础设施提出了更高的要求,对低时延、大带宽、高流量的需求,催生了5G技术,并推动其蓬勃发展。通信&#x…

【深入浅出XML】包装纯粹信息的标记语言

XMLXML的定义和概述🎶XML的定义🎶XML的最好描述🎶HTML和XML的重要区别🎶XML的文档结构🎶其他一些标记XML和优势🎶XML的优势XML解析🎶DOM解析❔解析测试🤞解析步骤🤞案例测…

在Windows部署Java的Jar包

背景 使用 Java 编写了一些有用的工具,因为不方便部署到服务器上,所以需要把 Java 生成的 jar 包在本地 Windows 上部署。 查阅了几种部署方式,认为通过 winsw 进行部署最方便。 安装 winsw 进入 winsw 的下载页面,下载 sampl…

【ROS2 入门】ROS 2 参数服务器(parameters)概述

大家好,我是虎哥,从今天开始,我将花一段时间,开始将自己从ROS1切换到ROS2,在上一篇中,我们一起了解ROS 2中Topic, 这一篇,我们主要会围绕ROS中另外一个重要的概念“Parameters ”&am…

图的拓扑排序(AOV网络)

文章目录拓扑排序概念实现邻接表(队列)邻接矩阵(栈)总结源代码邻接表邻接矩阵拓扑排序 概念 拓扑排序是对有向无环图的顶点的一种排序. AOV网络 : 在有向图中, 用顶点表示活动或者任务, 弧表示活动或者任务间的优先关系, 则此有向图称为用顶点表示活动的网络(Activity On Ve…

小程序介绍和注册安装

小程序介绍和注册安装微信小程序介绍小程序特点其它平台小程序注册微信小程序开发帐号获取appidappid简介微信开发者工具安装创建一个小程序项目核心步骤微信开发者工具构成微信小程序介绍 简短定义:微信小程序是运行在微信APP中的一个程序。 常见小程序 行程码拼…

UDS诊断系列介绍11-3E服务

本文框架1. 系列介绍1.1 3E服务概述2. 3E服务请求与应答2.1 3E服务请求2.2 3E服务正响应2.3 3E服务否定响应3. Autosar系列文章快速链接1. 系列介绍 UDS(Unified Diagnostic Services)协议,即统一的诊断服务,是面向整车所有ECU的…