高能物理¶
Gamma 矩阵¶
处理以张量对象表示的伽马矩阵的模块。
示例
>>> from sympy.physics.hep.gamma_matrices import GammaMatrix as G, LorentzIndex
>>> from sympy.tensor.tensor import tensor_indices
>>> i = tensor_indices('i', LorentzIndex)
>>> G(i)
GammaMatrix(i)
注意,在四维空间中已经有一个 GammaMatrixHead 的实例:GammaMatrix,它只是简单地声明为
>>> from sympy.physics.hep.gamma_matrices import GammaMatrix
>>> from sympy.tensor.tensor import tensor_indices
>>> i = tensor_indices('i', LorentzIndex)
>>> GammaMatrix(i)
GammaMatrix(i)
要访问度量张量
>>> LorentzIndex.metric
metric(LorentzIndex,LorentzIndex)
- sympy.physics.hep.gamma_matrices.extract_type_tens(expression, component)[源代码][源代码]¶
从
TensExpr
中提取所有具有 \(component\) 的张量。返回两个张量表达式:
第一个包含所有具有 \(component\) 的
Tensor
。第二个包含所有剩余的。
- sympy.physics.hep.gamma_matrices.gamma_trace(t)[源代码][源代码]¶
单行伽马矩阵的迹
示例
>>> from sympy.physics.hep.gamma_matrices import GammaMatrix as G, gamma_trace, LorentzIndex >>> from sympy.tensor.tensor import tensor_indices, tensor_heads >>> p, q = tensor_heads('p, q', [LorentzIndex]) >>> i0,i1,i2,i3,i4,i5 = tensor_indices('i0:6', LorentzIndex) >>> ps = p(i0)*G(-i0) >>> qs = q(i0)*G(-i0) >>> gamma_trace(G(i0)*G(i1)) 4*metric(i0, i1) >>> gamma_trace(ps*ps) - 4*p(i0)*p(-i0) 0 >>> gamma_trace(ps*qs + ps*ps) - 4*p(i0)*p(-i0) - 4*p(i0)*q(-i0) 0
- sympy.physics.hep.gamma_matrices.kahane_simplify(expression)[源代码][源代码]¶
此函数取消四维伽马矩阵乘积中的缩并元素,得到一个与给定表达式相等的表达式,但不包含缩并的伽马矩阵。
- 参数:
- `expression` 包含要简化的伽马矩阵的张量表达式。
注释
如果给出了旋量指标,矩阵必须按照乘积中给出的顺序给出。
参考文献
[1] 关于gamma矩阵的收缩积简化的算法,Joseph Kahane,《数学物理学杂志》,第9卷,第10期,1968年10月。
示例
使用时,始终记住原始表达式的系数必须单独处理
>>> from sympy.physics.hep.gamma_matrices import GammaMatrix as G, LorentzIndex >>> from sympy.physics.hep.gamma_matrices import kahane_simplify >>> from sympy.tensor.tensor import tensor_indices >>> i0, i1, i2 = tensor_indices('i0:3', LorentzIndex) >>> ta = G(i0)*G(-i0) >>> kahane_simplify(ta) Matrix([ [4, 0, 0, 0], [0, 4, 0, 0], [0, 0, 4, 0], [0, 0, 0, 4]]) >>> tb = G(i0)*G(i1)*G(-i0) >>> kahane_simplify(tb) -2*GammaMatrix(i1) >>> t = G(i0)*G(-i0) >>> kahane_simplify(t) Matrix([ [4, 0, 0, 0], [0, 4, 0, 0], [0, 0, 4, 0], [0, 0, 0, 4]]) >>> t = G(i0)*G(-i0) >>> kahane_simplify(t) Matrix([ [4, 0, 0, 0], [0, 4, 0, 0], [0, 0, 4, 0], [0, 0, 0, 4]])
如果没有缩写,则返回相同的表达式
>>> tc = G(i0)*G(i1) >>> kahane_simplify(tc) GammaMatrix(i0)*GammaMatrix(i1)
- sympy.physics.hep.gamma_matrices.simplify_gpgp(ex, sort=True)[源代码][源代码]¶
简化产品
G(i)*p(-i)*G(j)*p(-j) -> p(i)*p(-i)
示例
>>> from sympy.physics.hep.gamma_matrices import GammaMatrix as G, LorentzIndex, simplify_gpgp >>> from sympy.tensor.tensor import tensor_indices, tensor_heads >>> p, q = tensor_heads('p, q', [LorentzIndex]) >>> i0,i1,i2,i3,i4,i5 = tensor_indices('i0:6', LorentzIndex) >>> ps = p(i0)*G(-i0) >>> qs = q(i0)*G(-i0) >>> simplify_gpgp(ps*qs*qs) GammaMatrix(-L_0)*p(L_0)*q(L_1)*q(-L_1)