CHYLightConeUtils
This package is designed to supplement the FeynCalc
package, making light-cone calculations more convenient.
Version Information
This package relies on FeynCalc
's external representation and version-specific features in most cases. Please ensure that your FeynCalc
version is compatible with the CHYLightConeUtils
version.
CHYLightConeUtils Version |
Recommended FeynCalc Version |
---|---|
0.2-alpha | 10.1.0 |
Usage (Import Instructions)
Please import this package after importing FeynCalc
. You can use:
Needs["CHYLightConeUtils`"];
to import the package. Alternatively, if you need to specify the package path:
Needs["CHYLightConeUtils`", "Path of this package .wl file"];
An online path is available at https://www.cihaoyi.com/CHYLightConeUtils/CHYLightConeUtils.wl, or you can use https://www.cihaoyi.com/CHYLightConeUtils/CHYLightConeUtils-\<version>.wl to obtain a specific version. Currently, the following version alias is available:
latest
: Represents the latest stable version (or the latest recommended version if no stable version exists).
You can always use the online address to fetch the latest recommended version.
Before importing the package, it is recommended to declare the built-in variables $CHYLCUDefaultLightconeVectorN
, $CHYLCUDefaultLightconeVectorNB
, and $CHYLCUDefaultParallelVectorV
. Otherwise, their default values will be $FCDefaultLightconeVectorN
, $FCDefaultLightconeVectorNB
, and FCGV["v"]
, respectively. You can set their default values using the following code (ensure that you explicitly declare the namespace CHYLightConeUtils`
):
CHYLightConeUtils`$CHYLCUDefaultLightconeVectorN(*=$FCDefaultLightconeVectorN*)= n;
CHYLightConeUtils`$CHYLCUDefaultLightconeVectorNB(*=$FCDefaultLightconeVectorNB*)= nb;
CHYLightConeUtils`$CHYLCUDefaultParallelVectorV = v;
Needs["CHYLightConeUtils`"];
Note that if you simultaneously set $FCDefaultLightconeVectorN
and $FCDefaultLightconeVectorNB
, FeynCalc
will enable forced ordering, ensuring that the light-cone component n
is always ordered before nb
. Due to the non-commutativity of the Gamma
matrix, the computed results may appear different but remain equivalent.
Predefined Relations
$$ n\cdot n=0, \bar{n}\cdot \bar{n} =0, n\cdot \bar{n}=2 $$
$$ v\cdot n=1, v\cdot \bar{n}=1, v\cdot v=1 $$
In the program, $CHYLCUDefaultLightconeVectorN
represents $n$, $FCDefaultLightconeVectorNB
represents $\bar{n}$, and $CHYLCUDefaultParallelVectorV
represents $v$.
If you want to prevent the package from automatically defining these relations, declare CHYLightConeUtils`$CHYLCUEnableLightConeRelation=False
before importing the package.
Constants
None
Light-Cone Quantities
Gamma Matrices
GAL[u_,n_,nb_]
, GALD[u_,n_,nb_]
represent the light-cone decomposition of Gamma matrices in 4D and D-dimensional space, respectively. Here, u_
is the index of the Gamma matrix, and n_
and nb_
are the basis symbols for the parallel and anti-parallel components.
Levi-Civita Symbol
LCR[\[Mu]_,\[Nu]_,n_,nb_]
, LCRD[\[Mu]_,\[Nu]_,n_,nb_]
represent the perpendicular components of the Levi-Civita symbol in 4D and D-dimensional space, respectively, i.e., $\epsilon^{\mu \nu}_{\perp}$ or $\epsilon^{\mu \nu}\cdot n \cdot \bar{n}$.
Functions
EpsIndexDeduplicate
EpsIndexDeduplicate[expr_]
removes Levi-Civita symbols containing duplicate indices (or momenta).
GetLowestNPowerList
GetLowestNPowerList[expr_,var_,n_]
retrieves the list of the lowest nonzero power terms of a given variable in an expression. n
starts from 0.
For example, for the expression $a x^2+c x^4$:
GetLowestNPowerList[a x^2+c x^4,x,0]
returns {a}
, and
GetLowestNPowerList[a x^2+c x^4,x,1]
returns {a, b}
.
TLCC
An abbreviation for ToLightConeComponents
.
Momentum2LightConeComponent
Momentum2LightConeComponent[expr_,momenta_List]
performs light-cone decomposition of momenta in expr
. When momenta
is an empty list or not provided, all momenta are decomposed; otherwise, only the momenta in the list are decomposed.
An alternative method is using Momentum2LightConeComponentReplacement[args_List,n_,nb_,all_]
, a Rule
list, though this is not a standard usage and is not recommended.
Gamma2LightConeComponent
Gamma2LightConeComponent[expr_,indices_List]
performs light-cone decomposition of Gamma matrices in expr
. When indices
is an empty list or not provided, all Gamma matrices are decomposed; otherwise, only those with specified indices or momenta are decomposed.
SplitSlash2Gamma
SplitSlash2Gamma[expr_]
decomposes slashed Gamma matrices (GSD[p]
) into their component forms, generating unique indices and applying DotSimplify
.