Scipy中的常数
scipy.constants
中封装了诸多常数,例如最常用的
π
\pi
π
import scipy.constants as C
print(C.pi)
# 3.141592653589793
常数 | 代码 | 值 |
---|---|---|
黄金分割 | golden , golden_ratio | 1.618033988749895 |
光速 c c c | c , speed_of_light | 299792458.0 |
真空磁导率 μ 0 \mu_0 μ0 | mu_0 | 1.25663706212e-06 |
真空介电常数 ϵ 0 \epsilon_0 ϵ0 | epsilon_0 | 8.8541878128e-12 |
普朗克常量 h h h | h , Planck | 6.62607015e-34 |
约化普朗克常量 ℏ \hbar ℏ | hbar | 1.0545718176461565e-34 |
万有引力常数 G G G | G , gravitational_constant | 6.6743e-11 |
重力加速度 g g g | g | 9.80665 |
电子电荷 | e , elementary_charge | 1.602176634e-19 |
电子质量 m e m_e me | m_e , electron_mass | 9.1093837015e-31 |
质子质量 m p m_p mp | m_p , proton_mass | 1.67262192369e-27 |
中子质量 m n m_n mn | m_n , neutron_mass | 1.67492749804e-27 |
摩尔气体常量 R R R | R , gas_constant | 8.314462618 |
精细结构常数 α \alpha α | alpha , fine_structure | 0.0072973525693 |
阿伏伽德罗常数 N A N_A NA | N_A , Avogadro | 6.02214076e+23 |
玻尔兹曼常数 k k k | k , Boltzmann | 1.380649e-23 |
斯特藩-玻爾茲曼常數 σ \sigma σ | Stefan_Boltzmann , sigma | 5.670374419e-08 |
维恩常数 | Wien | 0.002897771955 |
里德伯常数 | Rydberg | 10973731.56816 |
scipy.constants.physical_constants
是一个涵盖了更多物理量的字典,通过键值索引,可以得到相应物理量的值和单位,如下面代码所示
>>> cDct = C.physical_constants
>>> from pprint import pprint
>>> pprint(cDct)
{'Angstrom star': (1.00001495e-10, 'm', 9e-17),
'Avogadro constant': (6.02214076e+23, 'mol^-1', 0.0),
'Bohr magneton': (9.2740100783e-24, 'J T^-1', 2.8e-33),
'Bohr magneton in Hz/T': (13996244936.1, 'Hz T^-1', 4.2),
# ....太多了,后面就省略了
重力加速度为何约等于π的平方
这些物理或者数学常数中有很多有趣的联系,其中 π \pi π的地位举足轻重,例如重力加速度 g ≈ π 2 g\approx\pi^2 g≈π2,二者只差了百分之0.6
>>> (C.pi**2-C.g)/C.g
0.006419562346913429 #
这和秒曾经的定义有关,即一米长的单摆在地球上摆动半个周期的时长为秒,而这个一米长的单摆,其实就是钟。
光速和介电常数的关系
光速 c = 1 μ 0 ϵ 0 c=\frac{1}{\sqrt{\mu_0\epsilon_0}} c=μ0ϵ01,其中 μ 0 , ϵ 0 \mu_0, \epsilon_0 μ0,ϵ0都是麦克斯韦方程组里面的常数,在真空自由场中,由麦克斯韦方程组可以得到波动方程,而 1 ϵ 0 μ 0 \frac{1}{\epsilon_0\mu_0} ϵ0μ01是波动方程中的一个系数,正好代表光速的平方。
精细结构常数
精细结构常数是一个非常有名的数字,几乎等于 1 137 \frac{1}{137} 1371,更屌的是这个常数是无量纲的,就是说,无论什么单位制,这个值都不变,其定义为
α = e 2 2 ϵ 0 h c \alpha=\frac{e^2}{2\epsilon_0hc} α=2ϵ0hce2
>>> 1/(C.e**2/2/C.epsilon_0/C.h/C.c)
137.03599908410834
这个常数是当年索莫菲在解释氢原子光谱的精细结构时引入的,此即名称来源。通过 α \alpha α,可以更加简洁地表示氢原子中的电子能量
E n = − α 2 2 n 2 E 0 E_n=-\frac{\alpha^2}{2n^2}E_0 En=−2n2α2E0
这个常数非常魔幻,2018年,菲尔兹奖得主阿蒂亚声称用这个常数证明了黎曼猜想,但并没有人相信,第二年他就去世了。