예제 #1
0
#!/usr/bin/env python3
import pySecDec as psd

if __name__ == "__main__":

    li = psd.LoopIntegralFromPropagators(

    loop_momenta = ['k1','k2'],
    external_momenta = ['p1','p2','p3','p4'],

    propagators = ['k1**2-m1sq','(k1-p1)**2-m1sq','(k1-p1-p2)**2-m1sq','k2**2-m3sq','(k2-p3)**2-m3sq','(k1-k2-p1-p2-p3)**2-m2sq','(k1+k2)**2-m2sq'],
    powerlist = [1,1,1,1,1,1,1],

    replacement_rules = [
                            ('p1*p1', 0),
                            ('p2*p2', 0),
                            ('p3*p3', 0),
                            ('p4*p4', 0),
                            ('p1*p2', 's/2'),
                            ('p2*p3', 't/2'),
                            ('p1*p3', '-s/2') ]

    )


    Mandelstam_symbols = ['s', 't']
    mass_symbols = ['m1sq','m2sq','m3sq']


    psd.loop_package(
예제 #2
0
#!/usr/bin/env python3
import pySecDec as psd

if __name__ == "__main__":

    li = psd.LoopIntegralFromPropagators(
    propagators = ['k1^2', '(k1+p1+p2)^2', '(k1-k2)^2', '(k1-k2+p1)^2-mZ^2', '(k2)^2', '(k2+p2)^2'],
    loop_momenta = ['k1','k2'],

    external_momenta = ['p1','p2','p3','p4'],

    replacement_rules = [
                            ('p1*p1', 0),
                            ('p2*p2', 0),
                            ('p3*p3', 's'),
                            ('p1*p2', 's/2'),
                            ('p2*p3', '-s/2'),
                            ('p1*p3', '-s/2'),
                            ('s', 'mZ^2'),
                            ('mZ', 1)
                        ]

    )


    Mandelstam_symbols = []
    mass_symbols = []


    psd.loop_package(
예제 #3
0
#!/usr/bin/env python3
import pySecDec as psd

if __name__ == "__main__":

    li = psd.LoopIntegralFromPropagators(

    loop_momenta = ['k1','k2','k3'],
    external_momenta = ['p'],

    propagators = ['(k1+p)**2-m1sq','(k1-k3)**2-m1sq','k2**2-m2sq','(k2-k3)**2-m3sq'],
    powerlist = [1,1,1,1],

    replacement_rules = [ ('p*p','s') ]

    )


    Mandelstam_symbols = ['s']
    mass_symbols = ['m1sq','m2sq','m3sq']


    psd.loop_package(

    name = 'banana_3mass',

    loop_integral = li,

    real_parameters = Mandelstam_symbols + mass_symbols,

    # the highest order of the final epsilon expansion --> change this value to whatever you think is appropriate
예제 #4
0
#!/usr/bin/env python3
import pySecDec as psd

if __name__ == "__main__":

    li = psd.LoopIntegralFromPropagators(loop_momenta=['k1', 'k2'],
                                         external_momenta=['p1', 'p2', 'p3'],
                                         propagators=[
                                             '(k1+p1)**2', '(k2+p1+p2)**2',
                                             '(k2-p3)**2', '(k1-k2+p3)**2',
                                             '(k1-k2)**2-mm'
                                         ],
                                         powerlist=[1, 1, 1, 1, 1],
                                         replacement_rules=[('p1*p1', '0'),
                                                            ('p2*p2', '0'),
                                                            ('p3*p3', '0'),
                                                            ('p1*p2', 's/2'),
                                                            ('p1*p3', 't/2'),
                                                            ('p2*p3',
                                                             '(mm-s-t)/2')])

    Mandelstam_symbols = ['s', 't']
    mass_symbols = ['mm']

    psd.loop_package(
        name='Nbox2L_split_c',
        loop_integral=li,
        real_parameters=Mandelstam_symbols + mass_symbols,
        additional_prefactor='1',

        # the highest order of the final epsilon expansion --> change this value to whatever you think is appropriate
#!/usr/bin/env python3
import pySecDec as psd

if __name__ == "__main__":

    li = psd.LoopIntegralFromPropagators(propagators=[
        'k1**2-msq', '(k1+p1+p2)**2-msq', 'k2**2-msq', '(k2+p1+p2)**2-msq',
        '(k1+p1)**2-msq', '(k1-k2)**2', '(k2-p3)**2-msq', '(k2+p1)**2',
        '(k1-p3)**2'
    ],
                                         powerlist=[1, 1, 0, 1, 1, 1, 1, 0, 0],
                                         loop_momenta=['k1', 'k2'],
                                         replacement_rules=[('p1*p1', 0),
                                                            ('p2*p2', 0),
                                                            ('p3*p3', 0),
                                                            ('p1*p2', 's/2'),
                                                            ('p2*p3',
                                                             'pp4/2-s/2-t/2'),
                                                            ('p1*p3', 't/2')])

    Mandelstam_symbols = ['s', 't', 'pp4']
    mass_symbols = ['msq']

    psd.loop_package(
        name='elliptic2L_euclidean',
        loop_integral=li,
        real_parameters=Mandelstam_symbols + mass_symbols,

        # the highest order of the final epsilon expansion --> change this value to whatever you think is appropriate
        requested_orders=[0],
예제 #6
0
#!/usr/bin/env python3
import pySecDec as psd

if __name__ == "__main__":

    li = psd.LoopIntegralFromPropagators(

    loop_momenta = ['k1','k2'],
    external_momenta = ['p1','p2','p3','p4'],
    Lorentz_indices = ['mu'],

    propagators = ['k1**2','(k1+p2)**2','(k1-p1)**2','(k1-k2)**2','(k2+p2)**2','(k2-p1)**2','(k2+p2+p3)**2','(k1+p3)**2'],
    powerlist = [1,1,1,1,1,1,1,0],

    numerator = 'k1(mu)*k1(mu) + 2*k1(mu)*p3(mu) + p3(mu)*p3(mu)',

    replacement_rules = [
                            ('p1*p1', 0),
                            ('p2*p2', 0),
                            ('p3*p3', 0),
                            ('p4*p4', 0),
                            ('p1*p2', 's/2'),
                            ('p2*p3', 't/2'),
                            ('p1*p3', '-s/2-t/2')
                        ]

    )


    Mandelstam_symbols = ['s', 't']
    mass_symbols = []
예제 #7
0
#!/usr/bin/env python3

import pySecDec as psd

# example is 2-loop bubble with five propagators, two of them massive

if __name__ == "__main__":

    # define Feynman Integral
    li = psd.LoopIntegralFromPropagators(propagators=[
        'k1**2-msq_', '(k1+k2)**2-msq_', '(k1+p1)**2', 'k2**2', '(k1+k2+p1)**2'
    ],
                                         loop_momenta=['k1', 'k2'],
                                         external_momenta=['p1'],
                                         replacement_rules=[('p1*p1', 'psq'),
                                                            ('msq_', 'msq')])

    # find the regions and expand the integrals using expansion by regions
    regions_generator_args = psd.loop_regions(
        name='bubble2L_smallm',
        loop_integral=li,
        smallness_parameter='msq',
        expansion_by_regions_order=1
    )  # this has to be 1 to catch the ultra-soft region

    # generate code that will calculate the sum of all regions and all orders in
    # the smallness parameter
    psd.sum_package('bubble2L_smallm',
                    regions_generator_args,
                    regulators=['eps'],
                    requested_orders=[0],
예제 #8
0
#!/usr/bin/env python3

import pySecDec as psd

if __name__ == "__main__":

    # example is case 8 of hep-ph/9704353, hep-ph/9605392

    li = psd.LoopIntegralFromPropagators(propagators=[
        '(k1+p1)**2', '(k1-p2)**2', '(k2+p1)**2', '(k2-p2)**2', 'k2**2',
        '(k1-k2)**2-msq'
    ],
                                         loop_momenta=['k1', 'k2'],
                                         external_momenta=['p1', 'p2'],
                                         replacement_rules=[('p1*p1', 0),
                                                            ('p2*p2', 0),
                                                            ('p1*p2', 's/2')])

    Mandelstam_symbols = ['s']
    mass_symbols = ['msq']

    psd.loop_package(
        name='triangle2L_full',
        loop_integral=li,
        real_parameters=Mandelstam_symbols + mass_symbols,
        additional_prefactor=
        '''gamma(1-2*eps)/(gamma(1+eps)*gamma(1+eps)*gamma(1-eps)*gamma(1-eps))*msq**(2+2*eps)''',

        # the highest order of the final epsilon expansion
        requested_orders=[0],