Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 15

Total Cross-Section Calculation in $\phi^4$ Theory

Recommended resources

Hello! Welcome back to our study of Quantum Field Theory.

In our last lesson, we derived the crucial formula that connects the abstract theoretical construct of the invariant matrix element, , to the experimentally measurable differential cross-section, . For the tree-level scattering of identical particles in theory, we found:

This expression tells us the probability of particles scattering into a particular direction. Today, we'll take the final step and integrate this over all possible directions to find the total scattering cross-section, . This value represents the total effective "area" of the target for scattering and is one of the most fundamental predictions of a theory.

Our learning outcome is to perform this calculation numerically. This is a vital skill, as for almost all realistic theories, the matrix element has a complicated dependence on the scattering angle, making analytical integration difficult or impossible. We will first solve the integral analytically for our simple case to have a benchmark, and then develop a Python script to compute it numerically—your first application of programming to a QFT calculation in this course.

1. Analytical Calculation of the Total Cross-Section

The total cross-section is obtained by integrating the differential cross-section over the entire solid angle . The element of solid angle in spherical coordinates is .

For our case, the integrand is constant with respect to the angles and , which makes the integration straightforward.

The integrals are standard:

Putting it all together:

This is our analytical prediction for the total cross-section. The following resource provides a complete walk-through of this calculation, which you can use as a reference.

P528 Notes #2: Calculating Stuff

These notes from David Morrissey at TRIUMF provide a concise derivation of the total cross-section for φφ → φφ scattering, which we have just reproduced.

Review the section '1 Example: φφ → φφ in λφ⁴ Theory'. Follow the derivation from Eq. (7) to Eq. (10). Note that the derivation uses the center-of-mass energy of a single particle, E, where our s is the total center-of-mass energy squared, s = E_cm² = (2E)² = 4E². Verify that their final result, σ = λ² / (128πE²), is equivalent to our σ = λ² / (32πs).


2. The Need for Numerical Integration

In our simple theory, the scattering is isotropic (the same in all directions), making the integration trivial. However, in most realistic theories, the matrix element depends on the scattering angle . This dependence enters through the Mandelstam variables and , which are functions of .

For example, in a more complex theory, we might find a differential cross-section like:

where and . Integrating such an expression analytically can be challenging. Numerical integration, or quadrature, provides a universal and powerful method to solve these problems. The basic idea is to approximate the area under the function's curve using a series of simpler shapes.

Numerical Integration Methods: Trapezoidal and Simpson's Rule
Visual comparison of different numerical integration methods. The analytical integral represents the exact area. The Trapezoidal and Simpson's rules approximate this area with simpler geometric shapes (trapezoids, parabolic segments), which are easy to sum up. More sophisticated algorithms, like the one we'll use, adapt this basic idea to achieve high precision.

3. Numerical Integration in Python with SciPy

For a physics-oriented programmer like you, the SciPy library is an indispensable tool. It's built on NumPy and provides a vast collection of algorithms for scientific computing. For integration, we'll use the scipy.integrate.quad function.

The quad function computes a definite integral of a one-dimensional function. Its basic usage is quad(func, a, b), where func is the function to integrate, and a and b are the lower and upper limits of integration.

The following video provides a practical introduction to numerical integration in Python.

Integration in PYTHON (Symbolic AND Numeric)

This video from Mr. P Solver clearly demonstrates how to use scipy.integrate.quad.

Watch the following two segments: (7:01 - 8:13): This part shows the basic use of scipy.integrate.quad to integrate a standard Python function. Pay attention to the syntax and the return values (the result and an error estimate). (8:13 - 10:00): This segment demonstrates a crucial feature: how to pass additional parameters to your integrand function using the args keyword. This is exactly what we'll need to pass physical constants like the coupling λ and energy s to our cross-section function.

As the video shows, quad returns a tuple: the first element is the result of the integration, and the second is an estimate of the absolute error.

Numerical Integration of x^2 using SciPy's `integrate.quad`
A simple example of using `scipy.integrate.quad` to compute \(\int_0^1 x^2 dx\). The function `my_function` defines the integrand, and `integrate.quad` is called with the function and integration limits. The output correctly gives the result (0.333...) and a very small error estimate.

4. Your Task: Numerically Calculate the Total Cross-Section

Now it's time to put everything together. Your task is to write a Python script to calculate the total cross-section for scattering in theory and verify that your numerical result matches the analytical one, .

As a reminder, the integral we want to solve is:

Since the integrand is independent of , we can perform that integral analytically () and use quad for the integral:

Instructions:

  1. Set up your Python environment: Make sure you have numpy and scipy installed.
  2. Define physical parameters:
    • Choose a value for the coupling constant, e.g., .
    • Choose a value for the particle mass, e.g., (in units of GeV).
    • Choose a center-of-mass energy, e.g., GeV. Remember that .
  3. Define the integrand function: Create a Python function that takes as its first argument and returns the value of the expression inside the integral: .
    • Use the args parameter in quad to pass the values of and to your function.
  4. Perform the numerical integration:
    • Call scipy.integrate.quad, passing your integrand function, the integration limits (0 to ), and the extra arguments.
    • The result of quad is just the integral. Don't forget to multiply it by the from the integration.
  5. Compare with the analytical result:
    • Calculate the value of using your chosen parameters.
    • Print both the numerical and analytical results to verify they match.
Test your understanding!

Let's say you are studying a different theory where the differential cross-section is not isotropic:

where is some constant. You still need to compute . How would your numerical integration setup change to handle this? What would your integrand function passed to scipy.integrate.quad look like (after performing the integral)?

Show answer

The total cross-section would be:

Since the integrand is still independent of , we can again integrate over to get a factor of .

Your Python function for scipy.integrate.quad would now need to implement f(theta, C) = C * np.cos(theta)**2 * np.sin(theta). The core logic remains the same, but the integrand function becomes more complex, highlighting the power of this numerical approach.


Conclusion

Congratulations on completing your first end-to-end QFT calculation! We have connected a fundamental parameter of a theory, , to a physical observable, , and used your programming skills to compute a concrete numerical value.

Key Takeaways:

  • The total cross-section is found by integrating the differential cross-section over all solid angles.
  • For tree-level scattering in theory, the analytical result is .
  • Numerical integration (quadrature) is an essential technique for calculating total cross-sections in more realistic theories where depends on the scattering angle.
  • The scipy.integrate.quad function is a powerful and easy-to-use tool for performing 1D numerical integration in Python.

This exercise is more than just a toy problem. The workflow you've practiced—defining a theoretical model, calculating a differential quantity, and then numerically integrating it to find a total rate—is a cornerstone of modern particle physics phenomenology. Papers like the one in resource LINK use these very same techniques (and even provide their Python code on GitHub!) to study more complex processes within the Standard Model.

Preview of the Next Lesson:
We have pushed the tree-level calculation for theory as far as it can go. However, tree-level diagrams are only the first term in a perturbative expansion. To get more precise predictions, we must consider diagrams with loops, known as radiative corrections. In the next module, we will explore what happens when we calculate our first one-loop diagram and encounter the infamous infinities of quantum field theory, opening the door to the profound concept of renormalization.