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.