Commit b86805e4 authored by Silvan Kuttimalai's avatar Silvan Kuttimalai

splitting function generator

parent 26b0a0a6
......@@ -18,6 +18,9 @@ def conjugate_tensor1d(tens):
arr = [cgt(el._array[0]) for el in tens.elements()]
return tensor1d(arr, tens._toplevel_key)
# Normalization: uminus*uminusbar = 2M
# Normalization: uplus *uplusbar = 2M
def uplus(p0,p1,p2,p3, key):
pbar = sqrt(p1**2+p2**2+p3**2)
ppl = pbar + p3
......@@ -80,6 +83,12 @@ def dirac_op(p,
[p0,p1,p2,p3] = p
return tensor1d([+p0,p1,p2,p3], 'mu')*mink_metric('mu','nu')*Gamma('nu', key_a, key_b) - four_identity(key_a, key_b)*M
def epsilonplus(p0,p1,p2,p3, key, k0,k1,k2,k3):
return 1/sqrt(2)*(uminusbar(k0,k1,k2,k3, 'a')*gamma(key,'a','b')*uminus(p0,p1,p2,p2,'b'))/(uminusbar(k0,k1,k2,k3, 'c')*uplus(p0,p1,p2,p2,'c'))
def epsilonminus(p0,p1,p2,p3, key, k0,k1,k2,k3):
return -1/sqrt(2)*(uplusbar(k0,k1,k2,k3, 'a')*gamma(key,'a','b')*uplus(p0,p1,p2,p2,'b'))/(uplusbar(k0,k1,k2,k3, 'c')*uminus(p0,p1,p2,p2,'c'))
def test_bar():
p1 = Symbol('p1', real=True)
p2 = Symbol('p2', real=True)
......@@ -129,7 +138,36 @@ def test_spinors(massless=True):
assert(d3._array[i]._array[0].simplify() == 0 )
assert(d4._array[i]._array[0].simplify() == 0 )
test_bar()
test_spinors()
def t0():
# Incoming quark mom
t1 = Symbol('t1', real=True)
t2 = Symbol('t2', real=True)
t3 = Symbol('t3', real=True)
t0 = sqrt(t1**2+t2**2+t3**2)
# Outgoing quark mom
p1 = Symbol('p1', real=True)
p2 = Symbol('p2', real=True)
p3 = Symbol('p3', real=True)
p0 = sqrt(p1**2+p2**2+p3**2)
# Outgoing gluon mom
k1 = Symbol('k1', real=True)
k2 = Symbol('k2', real=True)
k3 = Symbol('k3', real=True)
k0 = sqrt(k1**2+k2**2+k3**2)
# Outgoing gluon reference mom
g1 = Symbol('g1', real=True)
g2 = Symbol('g2', real=True)
g3 = Symbol('g3', real=True)
g0 = sqrt(k1**2+k2**2+k3**2)
#test_bar()
#test_spinors()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment