当前位置: 首页 > news >正文

学习笔记--(7)

粒子物理学习笔记(仅供参考)

import numpy as np
import matplotlib.pyplot as plt
from scipy import constants

# 设置物理常数和绘图风格
plt.style.use('seaborn-poster')
plt.rcParams.update({'font.size': 12})

# QCD β函数系数 (Nf=5)
beta0 = (33 - 2 * 5)/(12*np.pi)
beta1 = (153 - 19 * 5)/(24*np.pi**2)
beta2 = (77139 - 15099 * 5 + 325 * 5**2)/(3456*np.pi**3)
beta3 = (29243 - 6946.3 * 5 + 405.089 * 5**2 + 1.49931 * 5**3)/(256*np.pi**4)

Lambda = 0.220  # Λ_MSbar^(Nf=5) in GeV

# 能量范围 (GeV)
Q = np.logspace(np.log10(1), np.log10(1000), 500)

# 4-loop running coupling (完整表达式)
def alpha_s_4loop(Q, Lambda, Nf=5):
    L = np.log((Q**2)/(Lambda**2))
    a = 1/(beta0*L)
    a -= (beta1/(beta0**3*L**2))*np.log(L)
    a += (1/(beta0**3*L**3)) * ((beta1**2/beta0**2)*(np.log(L)**2 - np.log(L) - 1) + beta2/beta0)
    a += (1/(beta0**4*L**4)) * (
        (beta1**3/beta0**3)*(-np.log(L)**3 + 2.5*np.log(L)**2 + 2*np.log(L) - 0.5) 
        - 3*(beta1*beta2/beta0**2)*np.log(L) 
        + beta3/(2*beta0)
    )
    return a

# 3-loop running coupling (近似)
def alpha_s_3loop(Q, Lambda, Nf=5):
    L = np.log((Q**2)/(Lambda**2))
    a = 1/(beta0*L)
    a -= (beta1/(beta0**3*L**2))*np.log(L)
    a += (1/(beta0**3*L**3)) * ((beta1**2/beta0**2)*(np.log(L)**2 - np.log(L) - 1) + beta2/beta0)
    return a

# 2-loop running coupling
def alpha_s_2loop(Q, Lambda, Nf=5):
    L = np.log((Q**2)/(Lambda**2))
    a = 1/(beta0*L)
    a -= (beta1/(beta0**3*L**2))*np.log(L)
    return a

# 1-loop running coupling
def alpha_s_1loop(Q, Lambda, Nf=5):
    L = np.log((Q**2)/(Lambda**2))
    return 1/(beta0*L)

# 计算不同阶数的αₛ
alpha_1loop = alpha_s_1loop(Q, Lambda)
alpha_2loop = alpha_s_2loop(Q, Lambda)
alpha_3loop = alpha_s_3loop(Q, Lambda)
alpha_4loop = alpha_s_4loop(Q, Lambda)

# 创建图形
plt.figure(figsize=(6, 4))

# 绘制曲线
plt.plot(Q, alpha_1loop, '-', linewidth=2, label='1-loop')
plt.plot(Q, alpha_2loop, '--', linewidth=2, label='2-loop')
plt.plot(Q, alpha_3loop, ':', linewidth=3, label='3-loop')
plt.plot(Q, alpha_4loop, '-.', linewidth=2, label='4-loop', color='black')

# 添加标注和装饰
plt.xscale('log')
plt.xlabel(r'$Q$ (GeV)', fontsize=12)
plt.ylabel(r'$\alpha_s(Q)$', fontsize=12)
plt.legend(fontsize=12)
plt.xlim(10, 1000)
plt.xticks([10, 100, 1000], labels=['10', '100', '1000'], fontsize=12)
plt.ylim(0, 0.3)

# 添加注释

# 显示图形
plt.tight_layout()
plt.show()

在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
# 使用关键字字符串绘图(data 可指定依赖值为:numpy.recarray 或 pandas.DataFrame)
data = {'a': np.arange(50),  # 1个参数,表示[0,1,2...,50]
        'c': np.random.randint(0, 50, 50),  # 表示产生50个随机数[0,50)
        'd': np.random.randn(50)}  # 返回呈标准正态分布的值(可能正,可能负)
data['b'] = data['a'] + 10 * np.random.randn(50)   
data['d'] = np.abs(data['d']) * 100
plt.scatter('a', 'b', c='c', s='d', data=data)
plt.xlabel('entry a')
plt.ylabel('entry b')
plt.show()

在这里插入图片描述

相关文章:

  • Linux_RHCSA笔记①
  • Vue+Elementui首页看板
  • vue中使用geoscene无法出现弹窗
  • Java项目实战--使用Java和LWJGL构建Minecraft风格游戏
  • Java对象与JSON字符串的互转
  • Docker学习--容器生命周期管理相关命令--rename 命令
  • MATLAB 2024b深度革命:1个工具箱打通CNN/Transformer/GAN全生态
  • (一)MySQL常见疑惑之:select count(*)和select count(1)的区别​​​​​​​
  • VMware 虚报化Ubuntu 卡成一B,如何接招?
  • vue3相比于vue2的提升
  • JAVA垃圾回收算法和判断垃圾的算法
  • 深入对比分析:Squid 与 Nginx 的异同
  • 【SpringBoot + MyBatis + MySQL + Thymeleaf 的使用】
  • 【数据分享】2020年中国1km精度住宅用地密度栅格数据
  • 机器学习-04-分类算法-03KNN算法案例
  • 腻子刮的遍数越多越好?刮的越厚墙面越平?
  • JAVA- 锁机制介绍 进程锁
  • 力扣百大算法题精选【Hard 模式】Top 100 Liked LeetCode
  • conda安装python 遇到 pip is configured with locations that require TLS/SSL问题本质解决方案
  • 城电科技 | 光伏地砖:零碳城市的 太阳能发电“隐形发电站”
  • 广西百色通报:极端强对流天气致墙体倒塌,3人遇难7人受伤
  • 人民日报刊文:守护“技术进步须服务于人性温暖”的文明底线
  • 三星“七天机”质保期内屏幕漏液被要求自费维修,商家:系人为损坏
  • 视频丨习近平同普京在主观礼台出席红场阅兵式
  • 中国象棋协会坚决支持司法机关依法打击涉象棋行业的违法行为
  • 公安部部署“昆仑2025”专项工作,严打环食药等领域突出犯罪