コード例 #1
0
 def c_der(self):
     n = self.num_of_inds
     factor = OpSum(i_op * Op(sigma4bar(n + 1, 0, -1)))
     f = Op(
         Tensor(self.c_name, [0] + list(range(-2, -n - 1, -1)),
                is_field=True,
                dimension=1.5,
                statistics=fermion))
     return factor * f.derivative(n + 1)
コード例 #2
0
    Op(lambdaDYD(0, 1), DYRc(2, 3, 4, 0), epsSU2(4, 5), phic(5), DL(2, 3, 1)),
    Op(lambdaDYDc(0, 1), DLc(2, 3, 1), epsSU2(4, 5), phi(5), DYR(2, 3, 4, 0)))

# Integration

heavy_D = VectorLikeFermion("D", "DL", "DR", "DLc", "DRc", 3)
heavy_DY = VectorLikeFermion("DY", "DYL", "DYR", "DYLc", "DYRc", 4)

heavy_fields = [heavy_D, heavy_DY]
effective_lagrangian = integrate(heavy_fields, interaction_lagrangian, 6)

# Transformations of the effective Lgrangian

extra_SU2_identities = [(Op(phi(0), epsSU2(0, 1), phi(1)), OpSum()),
                        (Op(phic(0), epsSU2(0, 1), phic(1)), OpSum()),
                        (Op(qLc(0, 5, 1, -1), sigma4bar(2, 0, 3),
                            qL(3, 5, 4, -2), phic(4), D(2, phi(1))),
                         OpSum(
                             number_op(-0.5j) * basis.O3phiq(-1, -2),
                             number_op(-0.5j) * basis.O1phiq(-1, -2))),
                        (Op(qLc(0, 5, 1, -2), sigma4bar(2, 0, 3),
                            qL(3, 5, 4, -1), D(2, phic(4)), phi(1)),
                         OpSum(
                             number_op(0.5j) * basis.O3phiqc(-1, -2),
                             number_op(0.5j) * basis.O1phiqc(-1, -2)))]

rules = (rules_SU2 + eoms_SM + extra_SU2_identities +
         basis.rules_basis_definitions)

transf_eff_lag = apply_rules(effective_lagrangian, rules, 2)
コード例 #3
0
          -Op(yd(0, 1), qLc(2, 3, -1, 0), dR(2, 3, 1)),
          -Op(V(0, 1), yuc(0, 2), uRc(3, 4, 2), qL(3, 4, 5, 1), epsSU2(5, -1))))
r"""
Rule using the conjugate of the Higgs doublet equation of motion. 
Substitute :math:`D^2\phi^\dagger` by

.. math::
    \mu^2_\phi \phi^\dagger- 2\lambda_\phi (\phi^\dagger\phi) \phi^\dagger
    - y^e_{ij} \bar{l}_{Li} e_{Rj} - y^d_{ij} \bar{q}_{Li} d_{Rj}
    - V_{ki} y^{u*}_{kj} \bar{u}_{Rj} q^T_{Li} i\sigma^2
"""

eom_bFS = (
    Op(D(0, bFS(0, -1))),
    -OpSum(number_op(-Fraction(1, 2)) * Op(gb(), deltaFlavor(2, 4), lLc(0, 1, 2),
                                 sigma4bar(-1, 0, 3), lL(3, 1, 4)),
           number_op(Fraction(1, 6)) * Op(gb(), deltaFlavor(3, 5),  qLc(0, 1, 2, 3),
                                sigma4bar(-1, 0, 4), qL(4, 1, 2, 5)),
           number_op(-1) * Op(gb(), deltaFlavor(1, 3), eRc(0, 1),
                               sigma4(-1, 0, 2), eR(2, 3)),
           number_op(-Fraction(1, 3)) * Op(gb(), deltaFlavor(2, 4), dRc(0, 1, 2),
                                 sigma4(-1, 0, 3), dR(3, 1, 4)),
           number_op(Fraction(2, 3)) * Op(gb(), deltaFlavor(2, 4), uRc(0, 1, 2),
                                sigma4(-1, 0, 3), uR(3, 1, 4)),
           number_op(Fraction(1, 2)) * i_op * Op(gb(), phic(0), D(-1, phi(0))),
           - number_op(Fraction(1, 2)) * i_op * Op(gb(), D(-1, phic(0)), phi(0))))
r"""
Rule using the :math:`U(1)` gauge field strength equation of motion. 
Substitute :math:`D_\mu B^{\mu\nu}` by

.. math::
コード例 #4
0
:math:`\epsilon_{\mu\nu\rho\sigma}` where :math:`\epsilon_{0123}=1`.
"""

sigmaTensor = TensorBuilder("sigmaTensor")
r"""
Lorentz tensor 
:math:`\sigma^{\mu\nu}=\frac{i}{4}\left(
\sigma^\mu_{\alpha\dot{\gamma}}\bar{\sigma}^{\nu\dot{\gamma}\beta}-
\sigma^\nu_{\alpha\dot{\gamma}}\bar{\sigma}^{\mu\dot{\gamma}\beta}
\right)`.
"""

rule_Lorentz_free_epsUp = (
    Op(epsUp(-1, -2), epsUpDot(-3, -4)),
    OpSum(number_op(Fraction(1, 2)) * Op(
        sigma4bar(0, -3, -1), sigma4bar(0, -4, -2))))
r"""
Substitute :math:`\epsilon^{\alpha\beta}\epsilon^{\dot{\alpha}\dot{\beta}}`
by

.. math::
    -\frac{1}{2} \bar{\sigma}^{\mu,\dot{\alpha}\alpha}
    \bar{\sigma}^{\dot{\beta}\beta}_\mu
"""

rule_Lorentz_free_epsDown = (
    Op(epsDown(-1, -2), epsDownDot(-3, -4)),
    OpSum(number_op(Fraction(1, 2)) * Op(
        sigma4(0, -1, -3), sigma4(0, -2, -4))))
r"""
Substitute :math:`\epsilon_{\alpha\beta}\epsilon_{\dot{\alpha}\dot{\beta}}`