Technical reports

Technical reports#

These pages are a collection of findings while working on ComPWA packages such as ampform, qrules, and tensorwaves. Most of these findings were not implemented, but may become relevant later on or could be useful to other frameworks as well.

TR

Title

Details

Tags

Status

TR‑000

Square root over arrays with negative values

This notebook investigates how to write a square root function in sympy that computes the positive square root for negative values. The lambdified version of this ‘complex square root’ should have the same behavior for each computational backend.

lambdification sympy

✅ tensorwaves#284

TR‑001

Custom lambdification

See also SymPy’s tutorial page on the printing modules.

lambdification sympy

✅ ampform#72, tensorwaves#284

TR‑002

Faster lambdification by splitting expressions

This notebook investigates how to speed up sympy.lambdify by splitting up the expression tree of a complicated expression into components, lambdifying those, and then combining them back again.

lambdification sympy

✅ tensorwaves#281

TR‑003

Chew-Mandelstam dispersion integrals

This report formulates a symbolic dispersion integral to approach the left-hand cut in the form factor for arbitrary angular momentum. The integral is evaluated with SciPy’s quad_vec.

physics sympy

🚧 ampform#265

TR‑004

Investigation of analyticity

physics

TR‑005

Symbolic K-matrix expressions

Implementation of this report is tracked through ampform#67.

physics

TR‑006

Interactive 3D plots

This report illustrates how to interact with matplotlib 3D plots through Matplotlib sliders and ipywidgets.

tips

✅ ampform#38

TR‑007

MatrixSymbols

This report is a sequel to TR-005. In that report, the \(\boldsymbol{K}\) was constructed with a sympy.Matrix, but it might be more elegant to work with MatrixSymbols.

sympy

TR‑008

Indexed free symbols

This report has been implemented in ampform#111. Additionally, tensorwaves#427 makes it possible to lambdify sympy.Expr with Indexed symbols directly.

sympy

✅ ampform#111

TR‑009

Symbolic expressions for Lorentz-invariant K-matrix

This report is a sequel to TR-005.

physics sympy

✅ ampform#120

TR‑010

P-vector

This report is a sequel to TR-005 and TR-009.

physics sympy

✅ ampform#131

TR‑011

Helicity angles as symbolic expressions

This report has been implemented in and ampform#177 and tensorwaves#345. The report contains some bugs which were also addressed in these PRs.

physics sympy

✅ ampform#177, tensorwaves#345

TR‑012

Extended DataSample performance

ampform#198 makes it easier to generate expressions for kinematic variables that are not contained in the HelicityModel.expression. In TensorWaves, this results in a DataSample with more keys.

A question was raised whether this affects the duration of fits. This report shows that this is not the case (see Conclusion).

lambdification sympy

TR‑013

Spin alignment with data

In this report, we attempt to check the effect of activating spin alignment (ampform#245) and compare it with Figure 2 in [Marangotto, 2020].

See also TR-014 and TR-015.

physics

TR‑014

Amplitude model with sum notation

See also TR-013 and TR-015.

sympy

✅ ampform#245

TR‑015

Spin alignment implementation

This report has been implemented through ampform#245. For details on how to use it, see this notebook. See also TR-013 and TR-014.

physics sympy

✅ ampform#245

TR‑016

Symbolic integral

This report investigates how to formulate a symbolic integral that correctly evaluates to

sympy

TR‑017

Symbolic phase space boundary for a three-body decay

This reports shows how define the physical phase space region on a Dalitz plot using a Kibble function.

physics sympy

✅ compwa.github.io#139

TR‑018

Intensity distribution generator with importance sampling

This reports sets out how data generation with TensorWaves works and what would be the best approach to tackle tensorwaves#402.

physics tensorwaves

TR‑019

Integrating Jupyter notebook with Julia notebooks in MyST-NB

This report shows how to define a Julia kernel for Jupyter notebooks, so that it can be executed and converted to static pages with MyST-NB.

DX tips

✅ compwa.github.io#174

TR‑020

Amplitude analysis with zfit

This reports builds a simple symbolic amplitude model with qrules and ampform and feeds it to zfit instead of tensorwaves.

physics sympy tensorwaves

✅ compwa.github.io#151

TR‑021

Polarimeter vector field

Mikhail Mikhasenko @mmikhasenko,
Remco de Boer @redeboer


This report formulates the polarimeter vector field for in \(\Lambda_c \to p\pi K\) with SymPy and visualizes it as an interactive widget with TensorWaves and ipywidgets.

physics polarimetry polarization

✅ compwa.github.io#129

TR‑022

Polarimetry: Computing the B-matrix for Λc→pKπ

The \(B\)-matrix forms an extension of the polarimeter vector field \(\vec\alpha\) (arXiv:2301.07010, see also TR-021) that takes the polarization of the proton into account. See arXiv:2302.07665, Eq. (B6).

physics polarimetry polarization

✅ compwa.github.io#196

TR‑023

Support for Plotly plots in Technical Reports

3d documentation jupyter sphinx

✅ compwa.github.io#206

TR‑024

Symbolic expressions and model serialization

Investigation into dumping SymPy expressions to human-readable format for model preservation. The notebook was motivated by the COMAP-V workshop on analysis preservation. See also SymPy printing, parsing, and expression manipulation.

documentation

🚧 polarimetry#319

TR‑025

Rotated square root cut

Investigation of the branch cut in the two Riemann sheets of a square root and what happens if the cut is rotated around \(z=0\).

✅ compwa.github.io#236

TR‑026

Visualization of the Riemann sheets for the single-channel \(T\) matrix with one resonance pole

This report investigates and reproduces the Riemann sheets shown in Fig. 50.1 and 50.2 of the PDG. The lineshape parametrization is directly derived with the \(K\)-matrix formalism. The transition from the first physical sheet to the second unphysical sheet is derived using analytic continuation.

🚧 ampform#67

TR‑027

Visualization of the Riemann sheets for the two-channel \(T\)-matrix with one pole

Following TR-026, the Riemann sheets for the amplitude calculated within the \(K\)-matrix formalism for the two-channel case are visualized. The method of transitioning from the first physical sheet to the unphysical sheets is extended to the two dimensional case using Eur. Phys. J. C (2023) 83:850 in order to visualize the third and the fourth unphysical sheet.

🚧 ampform#67

Execution times

Document

Modified

Method

Run Time (s)

Status

report/003

2024-04-06 10:05

cache

27.76

report/004

2024-04-06 10:05

cache

7.09

report/006

2024-04-06 10:05

cache

13.2

report/007

2024-04-06 10:05

cache

12.47

report/016

2024-04-06 10:05

cache

10.87

report/023

2024-04-06 10:05

cache

3.58

report/024

2024-04-06 10:06

cache

43.95

report/025

2024-04-06 10:06

cache

5.66

report/026

2024-04-06 10:06

cache

6.3

report/027

2024-04-06 10:07

cache

31.34

symbolics

2024-04-06 10:07

cache

15.24