From 27adbdd5fe7e52d2f2b7e5c58515305e8fc619bf Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Thu, 16 May 2024 11:59:41 +0200 Subject: [PATCH 01/44] first draft of intro --- docs/hello.ipynb | 51 ------ docs/index.md | 3 +- docs/intro.ipynb | 263 ++++++++++++++++++++++++++ docs/report-0.ipynb | 167 +++++++++++++++++ pixi.lock | 437 ++++++++++++++++++++++++++++++++++++++++++-- pixi.toml | 3 + 6 files changed, 861 insertions(+), 63 deletions(-) delete mode 100644 docs/hello.ipynb create mode 100644 docs/intro.ipynb create mode 100644 docs/report-0.ipynb diff --git a/docs/hello.ipynb b/docs/hello.ipynb deleted file mode 100644 index cb1c2da..0000000 --- a/docs/hello.ipynb +++ /dev/null @@ -1,51 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "0", - "metadata": {}, - "source": [ - "# Starting document" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1", - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Hello World!\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/index.md b/docs/index.md index ce8b6d0..e26c1a3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,5 +1,6 @@ # MyST-NB Quickstart ```{toctree} -hello +intro +report-0 ``` diff --git a/docs/intro.ipynb b/docs/intro.ipynb new file mode 100644 index 0000000..f4f39ae --- /dev/null +++ b/docs/intro.ipynb @@ -0,0 +1,263 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "::::{margin}\n", + ":::{card} Amplitude models for photoproduction reaction\n", + "PWA101(v2.0): Introduction\n", + "^^^\n", + "This document is a follow-up of PWA101 (v1.0) (temporarily see [here](https://compwa--217.org.readthedocs.build/report/999.html)),\n", + "as an introduction to Amplitude Analysis / Partial Wave Analysis (PWA) by demonstrating its application to a specific reaction channel and amplitude model.\n", + "Now the focus is the use of symbolic expressions (computations) with `sympy` and the use of [ComPWA packages](https://compwa.github.io/) in general to illustrate the general process in PWA. This tutorial aims to equip readers with deeper understanding of PWA methodologies and full workflow in the context of hadron physics through a practical, hands-on example with symbolic expressions via [ComPWA](https://compwa.github.io/).\n", + "+++\n", + "✅ [ComPWA/gluex-nstar#1](https://github.com/ComPWA/gluex-nstar/issues/1)\n", + ":::\n", + "::::" + ] + }, + { + "cell_type": "markdown", + "id": "1", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "# # Amplitude Analysis 101 (v2.0)" + ] + }, + { + "cell_type": "markdown", + "id": "2", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "Address to the issue [ComPWA/gluex-nstar#1](https://github.com/ComPWA/gluex-nstar/issues/1), this document is PWA101(v2.0), which shows PWA methodologies and full workflow in the context of hadron physics with symbolic expressions via [ComPWA](https://compwa.github.io/)." + ] + }, + { + "cell_type": "markdown", + "id": "3", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "\n", + "This amplitude model is adapted from the [Lecture 11 in STRONG2020 HaSP School](https://indico.ific.uv.es/event/6803/contributions/21223/) by Vincent Mathieu.\n", + "\n", + "The (photo-production) reaction is $ \\gamma p \\to \\eta \\pi^0 p$, it is described by a amplitude model with three possible resonances: $a_2$, $\\Delta^+$, and $N^*$. " + ] + }, + { + "cell_type": "markdown", + "id": "4", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "```{image} https://github.com/ComPWA/compwa-org/assets/17490173/ec6bf191-bd5f-43b0-a6cb-da470b071630\n", + ":width: 100%\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "5", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "The amplitude model is adapted from the [Lecture 11 in STRONG2020 HaSP School](https://indico.ific.uv.es/event/6803/contributions/21223/), only the Breit-Wigner and Spherical harmonics terms are kept for doing PWA eventually, as shown in equation {eq}`BW_SH_label`." + ] + }, + { + "cell_type": "markdown", + "id": "6", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "$$\n", + "\\begin{eqnarray}\n", + "A^{12} &=& \\frac{\\sum a_m Y_2^m (\\Omega_1)}{s-m^2_{a_2}+im_{a_2} \\Gamma_{a_2}} \\\\\n", + "A^{23} &=& \\frac{\\sum b_m Y_1^m (\\Omega_2)}{s-m^2_{\\Delta}+im_{\\Delta} \\Gamma_{\\Delta}} \\\\\n", + "\\\n", + "A^{31} &=& \\frac{c_0}{s-m^2_{N^*}+im_{N^*} \\Gamma_{N^*}} \n", + "\\end{eqnarray}\n", + "$$ (BW_SH_label)" + ] + }, + { + "cell_type": "markdown", + "id": "7", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "where s is the Mandelstam variable, m is the mass, $\\Gamma$ is the width, Y is the spherical harmonics, $\\Omega$ is the decay angles (a pair of Euler angles), and a, b, and c are coefficients" + ] + }, + { + "cell_type": "markdown", + "id": "8", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + ":::{note}\n", + "Mandelstam variables $s_{ij}=(p_i+p_j)^2$, $t_i=(p_a-p_i)^2$, and $u_i=(p_b-p_i)^2$.\n", + ":::\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "9", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "with intensity $I$ and amplitude $A$:\n", + "\n", + "$$\n", + "\\begin{eqnarray}\n", + "I &=& |A|^2 \\nonumber \\\\\n", + "A &=& A^{12} + A^{23} + A^{31} \\\\\n", + "\\end{eqnarray}\n", + "$$ (123_label)\n", + "\n", + "where $\\quad 1 \\equiv \\eta ; \\quad 2 \\equiv \\pi^0 ; \\quad 3 \\equiv p$" + ] + }, + { + "cell_type": "markdown", + "id": "10", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + ":::{note}\n", + "The choice of the amplitude model (equations (1) and (2)) for PWA in this tutorial consists of three resonances, and each of them are formed by two terms: Breit-Wigner with Spherical harmonics ($l = 2, 1, 0$).\n", + ":::" + ] + }, + { + "cell_type": "markdown", + "id": "11", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + ":::{important}\n", + "The spin of $\\eta$ meson and $\\pi^0$ meson are all 0. But the spin of proton is not 0, it is spin-$\\frac{1}{2}$.\n", + "\n", + "In this amplitude model **spin** of baryon is simplified (not realistic):\n", + "$\\eta$, $\\pi^0$ and $p$ are all treated as spin-0 particles.\n", + "\n", + "This means that total intrinsic spin $s$ is ignored in this model,\n", + "the total angular momentum \n", + "$J$ of the system or any subsystems within this model will solely depend on the orbital angular momentum \n", + "$L$, characterized by quantum number $l$.\n", + "And this simplifies the use of spherical harmonics $Y_l^m(\\theta,\\phi)$,\n", + "since only the orbital angular momentum component is involved, and thus the combination of contribution is not considered (e.g. Clebsch-Gordan Coefficients).\n", + "\n", + "In our case: \n", + "- $A^{12}$ amplitude represents a d-wave interaction, as indicated by $l=2$.\n", + " - The possible $m$ values are $−2,−1,0,1,2$. Each of these values corresponds to different orientations of the d-wave. The wave type is solely determined by $l$ and all these $m$ values still describe d-wave characteristics.\n", + "- $A^{23}$ amplitude represents a p-wave interaction, as indicated by $l=1$.\n", + " - The possible $m$ values are $−1,0,1$. Each of these values corresponds to different orientations of the p-wave. Similarly, these values are all p-wave orientations.\n", + "- $A^{31}$ amplitude represents a s-wave interaction, as indicated by $l=0$.\n", + " - The only possible $m$ value is 0, which is consistent with the spherical symmetry of s-waves.\n", + ":::" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/report-0.ipynb b/docs/report-0.ipynb new file mode 100644 index 0000000..d89d699 --- /dev/null +++ b/docs/report-0.ipynb @@ -0,0 +1,167 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "::::{margin}\n", + ":::{card} Create a virtual particle that represents the state pγ in `QRules`\n", + "Report-0\n", + "^^^\n", + "+++\n", + "✅ [ComPWA/gluex-nstar#5](https://github.com/ComPWA/gluex-nstar/issues/5)\n", + ":::\n", + "::::" + ] + }, + { + "cell_type": "markdown", + "id": "1", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "# Virtual particle that represents the state pγ " + ] + }, + { + "cell_type": "markdown", + "id": "2", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "Address to issue [ComPWA/gluex-nstar#5](https://github.com/ComPWA/gluex-nstar/issues/5), this section is an investigation of creating a virtual particle that represents the state $p \\gamma$" + ] + }, + { + "cell_type": "markdown", + "id": "3", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "As an example, create a virtual particle that represents state $e^+ e^-$ can be seen [here](https://qrules.readthedocs.io/0.10.x/usage/particle/#adding-custom-particle-definitions-through-python)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from qrules.particle import load_pdg" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "particle_db = load_pdg()\n", + "print(\"Number of loaded particles:\", len(particle_db))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "particle_db.find(2212)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "particle_db.find(22)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/pixi.lock b/pixi.lock index ba33ed9..02b31a0 100644 --- a/pixi.lock +++ b/pixi.lock @@ -38,6 +38,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.1-py312h30efb56_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.8-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 @@ -67,6 +68,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.4.0-h3d44ed6_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/hepunits-2.3.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/httpx-0.27.0-pyhd8ed1ab_0.conda @@ -80,6 +82,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.29.3-pyhd33586a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-8.24.0-pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-py_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/ipywidgets-8.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/isort-5.13.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jax-0.4.26-pyhd8ed1ab_0.conda @@ -91,10 +95,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.22.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2023.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.22.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.0.0-pyhd8ed1ab_10.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-cache-1.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-server-mathjax-0.2.6-pyh5bfe37b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-7.4.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jupyter_core-5.7.2-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.0-pyhd8ed1ab_0.conda @@ -105,6 +111,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-myst-2.4.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-3.0.10-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.2-h659d440_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h55db66e_0.conda @@ -155,13 +162,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbclassic-1.0.0-pyhb4ecaf3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-7.16.4-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-pandoc-7.16.4-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbdime-4.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.8.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-6.5.7-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.0-hd590300_0.conda @@ -169,9 +180,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/opt_einsum-3.3.0-pyhc1e730c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandoc-3.2-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.52.2-ha41ecd1_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/particle-0.24.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.43-hcad00b1_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_0.conda @@ -182,6 +195,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.7.1-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.42-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.42-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.8-py312h98912ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 @@ -191,6 +205,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.3-hab00c5b_0_cpython.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-constraint-1.4.0-py_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.19.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-graphviz-0.20.3-pyh717bed2_0.conda @@ -199,6 +214,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py312h98912ed_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.0.3-py312h8fd38d8_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/qrules-0.10.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/qtconsole-base-5.5.2-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/qtpy-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2023.09.01-h7f4b329_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.35.1-pyhd8ed1ab_0.conda @@ -232,6 +250,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4-py312h98912ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/types-python-dateutil-2.9.0.20240316-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.11.0-hd8ed1ab_0.conda @@ -249,6 +268,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-12.0-py312h98912ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.16.0-py312h98912ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-h7391055_0.conda @@ -818,6 +839,22 @@ packages: license_family: PSF size: 24062 timestamp: 1615232388757 +- kind: conda + name: deprecated + version: 1.2.14 + build: pyh1a96a4e_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + sha256: 8f61539b00ea315c99f8b6f9e2408caa6894593617676741214cc0280e875ca0 + md5: 4e4c4236e1ca9bcd8816b921a4805882 + depends: + - python >=2.7 + - wrapt <2,>=1.10 + license: MIT + license_family: MIT + size: 14033 + timestamp: 1685233463632 - kind: conda name: distlib version: 0.3.8 @@ -1292,6 +1329,21 @@ packages: license_family: MIT size: 1587652 timestamp: 1713957638950 +- kind: conda + name: hepunits + version: 2.3.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/hepunits-2.3.3-pyhd8ed1ab_0.conda + sha256: bbb6f6a48136f93dfdb380651b84d5deb80f86724537d623fe2627dd271860e9 + md5: 7da12a45ae1965c6dcfe6a22fcb99721 + depends: + - python !=3.0,!=3.1,!=3.2,!=3.3,!=3.4 + license: BSD-3-Clause + license_family: BSD + size: 16269 + timestamp: 1704724071084 - kind: conda name: hpack version: 4.0.0 @@ -1527,6 +1579,42 @@ packages: license_family: BSD size: 596366 timestamp: 1715263505659 +- kind: conda + name: ipython_genutils + version: 0.2.0 + build: py_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-py_1.tar.bz2 + sha256: 0fafbc60209f1d8c0b89a2f79f3ff0f7bc45589a23da1d2e5cc55bcca906707b + md5: 5071c982548b3a20caf70462f04f5287 + depends: + - python + license: BSD 3-Clause + size: 21562 + timestamp: 1530963305778 +- kind: conda + name: ipywidgets + version: 8.1.2 + build: pyhd8ed1ab_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/ipywidgets-8.1.2-pyhd8ed1ab_1.conda + sha256: 0123e54e4a5850baf2f50b5c03e4812274318ad26fcd130220b6ccedfad9bb07 + md5: 34072973a80ea997df2ee52c0f6fef78 + depends: + - comm >=0.1.3 + - ipython >=6.1.0 + - jupyterlab_widgets >=3.0.10,<3.1.0 + - python >=3.7 + - traitlets >=4.3.1 + - widgetsnbextension >=4.0.10,<4.1.0 + license: BSD-3-Clause + license_family: BSD + size: 113743 + timestamp: 1715139776347 - kind: conda name: isoduration version: 20.11.0 @@ -1733,6 +1821,28 @@ packages: license_family: MIT size: 7441 timestamp: 1714573279350 +- kind: conda + name: jupyter + version: 1.0.0 + build: pyhd8ed1ab_10 + build_number: 10 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyter-1.0.0-pyhd8ed1ab_10.conda + sha256: 308b521b149e7a1739f717538b929bc2d87b9001b94f13ee8baa939632a86150 + md5: 056b8cc3d9b03f54fc49e6d70d7dc359 + depends: + - ipykernel + - ipywidgets + - jupyter_console + - nbconvert + - notebook + - python >=3.6 + - qtconsole-base + license: BSD-3-Clause + license_family: BSD + size: 8620 + timestamp: 1696255649672 - kind: conda name: jupyter-cache version: 1.0.0 @@ -1792,25 +1902,49 @@ packages: timestamp: 1672324687778 - kind: conda name: jupyter_client - version: 8.6.1 + version: 7.4.9 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.1-pyhd8ed1ab_0.conda - sha256: c7d10d7941fd2e61480e49d3b2b21a530af4ae4b0d449a1746a72a38bacb63e2 - md5: c03972cfce69ad913d520c652e5ed908 + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-7.4.9-pyhd8ed1ab_0.conda + sha256: 38e67f3e0d631f4aeeab4bbd4062dcb6f4ae9dc35803053c995d02912a999b65 + md5: 5cbf9a31a19d4ef9103adb7d71fd45fd depends: - - importlib_metadata >=4.8.3 - - jupyter_core >=4.12,!=5.0.* - - python >=3.8 + - entrypoints + - jupyter_core >=4.9.2 + - nest-asyncio >=1.5.4 + - python >=3.7 - python-dateutil >=2.8.2 - pyzmq >=23.0 - tornado >=6.2 - - traitlets >=5.3 + - traitlets + license: BSD-3-Clause + license_family: BSD + size: 99449 + timestamp: 1673616104031 +- kind: conda + name: jupyter_console + version: 6.6.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_0.conda + sha256: 4e51764d5fe2f6e43d83bcfbcf8b4da6569721bf82eaf4d647be8717cd6be75a + md5: 7cf6f52a66f8e3cd9d8b6c231262dcab + depends: + - ipykernel >=6.14 + - ipython + - jupyter_client >=7.0.0 + - jupyter_core >=4.12,!=5.0.* + - prompt_toolkit >=3.0.30 + - pygments + - python >=3.7 + - pyzmq >=17 + - traitlets >=5.4 license: BSD-3-Clause license_family: BSD - size: 106042 - timestamp: 1710255955150 + size: 26484 + timestamp: 1678118234022 - kind: conda name: jupyter_core version: 5.7.2 @@ -2033,6 +2167,23 @@ packages: license_family: BSD size: 49223 timestamp: 1713899139823 +- kind: conda + name: jupyterlab_widgets + version: 3.0.10 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-3.0.10-pyhd8ed1ab_0.conda + sha256: 7c14d0b377ddd2e21f23d2f55fbd827aca726860e504a131b67ef936aef2b8c4 + md5: 16b73b2c4ff7dda8bbecf88aadfe2027 + depends: + - python >=3.7 + constrains: + - jupyterlab >=3,<5 + license: BSD-3-Clause + license_family: BSD + size: 187135 + timestamp: 1707422097508 - kind: conda name: keyutils version: 1.6.1 @@ -2891,6 +3042,39 @@ packages: license_family: MIT size: 72235 timestamp: 1714413912964 +- kind: conda + name: nbclassic + version: 1.0.0 + build: pyhb4ecaf3_1 + build_number: 1 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/nbclassic-1.0.0-pyhb4ecaf3_1.conda + sha256: fc2b2e606ccbd0aaa2cdecdd33fc39e2c4bd7b5b96a64b89b3e6ad9ce20eec2f + md5: a0be31e9bd84d6eae87cdbf74c56b90b + depends: + - argon2-cffi + - ipykernel + - ipython_genutils + - jinja2 + - jupyter_client >=6.1.1 + - jupyter_core >=4.6.1 + - jupyter_server >=1.8 + - nbconvert >=5 + - nbformat + - nest-asyncio >=1.5 + - notebook-shim >=0.2.3 + - prometheus_client + - python >=3.7 + - pyzmq >=17 + - send2trash >=1.8.0 + - terminado >=0.8.3 + - tornado >=6.1 + - traitlets >=4.2.1 + license: BSD-3-Clause + license_family: BSD + size: 5939112 + timestamp: 1683202466763 - kind: conda name: nbclient version: 0.10.0 @@ -2910,6 +3094,22 @@ packages: license_family: BSD size: 27851 timestamp: 1710317767117 +- kind: conda + name: nbconvert + version: 7.16.4 + build: hd8ed1ab_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/nbconvert-7.16.4-hd8ed1ab_0.conda + sha256: 7a4a759b8930833cbfffbfd92da069f1d3fd43760ea629c8612b9e7ae9fff0e8 + md5: c9d64b8a7ee8e6bdbf0e7d8aa7f39601 + depends: + - nbconvert-core 7.16.4 pyhd8ed1ab_0 + - nbconvert-pandoc 7.16.4 hd8ed1ab_0 + license: BSD-3-Clause + license_family: BSD + size: 8434 + timestamp: 1714477296945 - kind: conda name: nbconvert-core version: 7.16.4 @@ -2944,6 +3144,22 @@ packages: license_family: BSD size: 189004 timestamp: 1714477286178 +- kind: conda + name: nbconvert-pandoc + version: 7.16.4 + build: hd8ed1ab_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/nbconvert-pandoc-7.16.4-hd8ed1ab_0.conda + sha256: d3bd8b38a74825e9e502f3251fba167b303d7ad324cd4e41d459bfa3c118c9ee + md5: 391934bd1a79990c23df1d1809ddc821 + depends: + - nbconvert-core 7.16.4 pyhd8ed1ab_0 + - pandoc + license: BSD-3-Clause + license_family: BSD + size: 8479 + timestamp: 1714477291801 - kind: conda name: nbdime version: 4.0.1 @@ -3031,6 +3247,37 @@ packages: license_family: BSD size: 34358 timestamp: 1683893151613 +- kind: conda + name: notebook + version: 6.5.7 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/notebook-6.5.7-pyha770c72_0.conda + sha256: e37db45223e432bcad809897177e05fff31828dfcfc3ef18f046ae44ec01286c + md5: f81a6fe643390df9347984644727d796 + depends: + - argon2-cffi + - ipykernel + - ipython_genutils + - jinja2 + - jupyter_client >=5.3.4,<8 + - jupyter_core >=4.6.1 + - nbclassic >=0.4.7 + - nbconvert-core >=5 + - nbformat + - nest-asyncio >=1.5 + - prometheus_client + - python >=3.7 + - pyzmq >=17 + - send2trash >=1.8.0 + - terminado >=0.8.3 + - tornado >=6.1 + - traitlets >=4.2.1 + license: BSD-3-Clause + license_family: BSD + size: 308643 + timestamp: 1715849037288 - kind: conda name: notebook-shim version: 0.2.4 @@ -3150,6 +3397,18 @@ packages: license_family: APACHE size: 49832 timestamp: 1710076089469 +- kind: conda + name: pandoc + version: '3.2' + build: ha770c72_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pandoc-3.2-ha770c72_0.conda + sha256: 418348076c1a39170efb0bdc8a584ddd11e9ed0ff58ccd905488d3f165ca98ba + md5: 8c924f0b7f3e064b1c954a08e7c32fba + license: GPL-2.0-or-later + license_family: GPL + size: 21088628 + timestamp: 1715499623651 - kind: conda name: pandocfilters version: 1.5.0 @@ -3201,6 +3460,26 @@ packages: license_family: MIT size: 75191 timestamp: 1712320447201 +- kind: conda + name: particle + version: 0.24.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/particle-0.24.0-pyhd8ed1ab_0.conda + sha256: 2471b4dde2640283c0c1dfba669b8c322e55c45269ff3dbf95c0cfb3b8ec0b50 + md5: 58bfa493a4844538a140012c1d120360 + depends: + - attrs >=19.2 + - deprecated + - hepunits >=2.0.0 + - importlib_resources >=2.0 + - python >=3.7 + - typing-extensions >=4.5 + license: BSD-3-Clause + license_family: BSD + size: 163439 + timestamp: 1713892152317 - kind: conda name: pathspec version: 0.12.1 @@ -3361,6 +3640,21 @@ packages: license_family: BSD size: 270398 timestamp: 1702399557137 +- kind: conda + name: prompt_toolkit + version: 3.0.42 + build: hd8ed1ab_0 + subdir: noarch + noarch: generic + url: https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.42-hd8ed1ab_0.conda + sha256: fd2185d501bf34cb4c121f2f5ade9157ac75e1644a9da81355c4c8f9c1b82d4d + md5: 85a2189ecd2fcdd86e92b2d4ea8fe461 + depends: + - prompt-toolkit >=3.0.42,<3.0.43.0a0 + license: BSD-3-Clause + license_family: BSD + size: 6846 + timestamp: 1702399567048 - kind: conda name: psutil version: 5.9.8 @@ -3521,6 +3815,21 @@ packages: license: Python-2.0 size: 31991381 timestamp: 1713208036041 +- kind: conda + name: python-constraint + version: 1.4.0 + build: py_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-constraint-1.4.0-py_0.tar.bz2 + sha256: 582f244b4f8703dd326e58b66b07aa34a6b211351bd141862ff20d25d680e6f0 + md5: 34267ea9b6de472c4fc3cb73a5a10207 + depends: + - python + license: BSD-2-Clause + license_family: BSD + size: 21336 + timestamp: 1541423579379 - kind: conda name: python-dateutil version: 2.9.0 @@ -3650,6 +3959,66 @@ packages: license_family: BSD size: 461684 timestamp: 1715024520808 +- kind: conda + name: qrules + version: 0.10.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/qrules-0.10.1-pyhd8ed1ab_0.conda + sha256: 289fe3fd2ad41d086a39bc7e73336c467aaa24b29300ba104c93a914de80f2b3 + md5: 00d71dbda539d5a5ef5f11cfa718a82c + depends: + - attrs >=20.1.0 + - jsonschema + - particle + - python >=3.6 + - python-constraint + - pyyaml + - tqdm >=4.24.0 + - typing-extensions + license: GPL-3.0-or-later + license_family: GPL + size: 74164 + timestamp: 1709326984310 +- kind: conda + name: qtconsole-base + version: 5.5.2 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/qtconsole-base-5.5.2-pyha770c72_0.conda + sha256: 0e7e1fad227f3f4fa5c8cac23e8c49298d55158a85104d1b9d58795e68af0b5a + md5: 0f63ec743defb9de6728a98150a80839 + depends: + - ipykernel >=4.1 + - jupyter_client >=4.1 + - jupyter_core + - packaging + - pygments + - python >=3.8 + - qtpy >=2.4.0 + - traitlets + license: BSD-3-Clause + license_family: BSD + size: 100292 + timestamp: 1714943047487 +- kind: conda + name: qtpy + version: 2.4.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/qtpy-2.4.1-pyhd8ed1ab_0.conda + sha256: 925bf48e747af6ceff1b073c10b12fc94ef79c88a34729059d253e43466a33f1 + md5: 7f391bd70d2abfb70f304ba5aa4e1261 + depends: + - packaging + - python >=3.7 + license: MIT + license_family: MIT + size: 61808 + timestamp: 1698112171285 - kind: conda name: re2 version: 2023.09.01 @@ -4215,6 +4584,21 @@ packages: license_family: Apache size: 840527 timestamp: 1708363299520 +- kind: conda + name: tqdm + version: 4.66.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.4-pyhd8ed1ab_0.conda + sha256: 75342f40a69e434a1a23003c3e254a95dca695fb14955bc32f1819cd503964b2 + md5: e74cd796e70a4261f86699ee0a3a7a24 + depends: + - colorama + - python >=3.7 + license: MPL-2.0 or MIT + size: 89452 + timestamp: 1714855008479 - kind: conda name: traitlets version: 5.14.3 @@ -4480,6 +4864,37 @@ packages: license_family: BSD size: 201426 timestamp: 1697914826988 +- kind: conda + name: widgetsnbextension + version: 4.0.10 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.10-pyhd8ed1ab_0.conda + sha256: 981b06c76a1a86bb84be09522768be0458274926b22f4b0225dfcdd30a6593e0 + md5: 521f489e3babeddeec638c2add7e9e64 + depends: + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 886369 + timestamp: 1707420479741 +- kind: conda + name: wrapt + version: 1.16.0 + build: py312h98912ed_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.16.0-py312h98912ed_0.conda + sha256: dc8431b343961347ad93b33d2d8270e8c15d8825382f4f2540835c94aba2de05 + md5: fa957a1c7bee7e47ad44633caf7be8bc + depends: + - libgcc-ng >=12 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-2-Clause + license_family: BSD + size: 62482 + timestamp: 1699532968076 - kind: conda name: xorg-kbproto version: 1.0.7 diff --git a/pixi.toml b/pixi.toml index 8241a48..71c7429 100644 --- a/pixi.toml +++ b/pixi.toml @@ -21,9 +21,11 @@ sphinx-autobuild \ [dependencies] black = ">=24.4.2,<24.5" +ipywidgets = ">=8.1.2,<8.2" isort = ">=5.13.2,<5.14" jax = ">=0.4.26,<0.5" jaxlib = ">=0.4.23,<0.5" +jupyter = ">=1.0.0,<1.1" jupyterlab = ">=4.2.0,<4.3" jupyterlab-git = ">=0.50.0,<0.51" jupyterlab-lsp = ">=5.1.0,<5.2" @@ -34,6 +36,7 @@ pre-commit = ">=3.7.1,<3.8" pydata-sphinx-theme = ">=0.15.2,<0.16" python = ">=3.12.3,<3.13" python-graphviz = ">=0.20.3,<0.21" +qrules = ">=0.10.1,<0.11" scipy = ">=1.13.0,<1.14" sphinx-autobuild = ">=2024.4.16,<2024.5" sympy = ">=1.12,<2" From 5580c93275b75715bd13d12af34c8a650af3a76a Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Thu, 16 May 2024 15:15:40 +0200 Subject: [PATCH 02/44] Change of contents and dependency --- docs/conf.py | 9 +- docs/index.md | 20 +- docs/intro.ipynb | 263 --------- docs/{report-0.ipynb => pgamma-state.ipynb} | 20 +- docs/reaction.md | 73 +++ pixi.lock | 574 ++++++++++++++++++-- pixi.toml | 2 + 7 files changed, 632 insertions(+), 329 deletions(-) delete mode 100644 docs/intro.ipynb rename docs/{report-0.ipynb => pgamma-state.ipynb} (89%) create mode 100644 docs/reaction.md diff --git a/docs/conf.py b/docs/conf.py index 159dd23..70fccf8 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -6,7 +6,14 @@ "_build", ] extensions = ["myst_nb"] -html_theme = "pydata_sphinx_theme" +html_theme = "sphinx_book_theme" master_doc = "index" +myst_enable_extensions = [ + "amsmath", + "colon_fence", + "dollarmath", + "html_image", + "smartquotes", +] nitpicky = True project = "GlueX N-Star" diff --git a/docs/index.md b/docs/index.md index e26c1a3..d0329a7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,20 @@ -# MyST-NB Quickstart +# Amplitude Analysis 101 / PWA101 (v2.0) + +## Amplitude models for photoproduction reaction + +This document is a follow-up of PWA101 (v1.0) (temporarily see [here](https://compwa--217.org.readthedocs.build/report/999.html)), +as an introduction to Amplitude Analysis / Partial Wave Analysis (PWA) by demonstrating its application to a specific reaction channel and amplitude model. + +Now the focus is the use of symbolic expressions (computations) with the use of [ComPWA packages](https://compwa.github.io/), or CAS(Computer Algebra System)-assisted model building in general (the python package `SymPy` in this case) to illustrate the general process in PWA. + +This tutorial aims to equip readers with deeper understanding of PWA methodologies and full workflow in the context of hadron physics through a practical, hands-on example with symbolic expressions via [ComPWA](https://compwa.github.io/). + +Furthermore, +address to the issue ✅ [ComPWA/gluex-nstar#1](https://github.com/ComPWA/gluex-nstar/issues/1), this document is PWA101(v2.0), which shows PWA methodologies and full workflow in the context of hadron physics with symbolic expressions via [ComPWA](https://compwa.github.io/). + +# Table of contents: ```{toctree} -intro -report-0 +reaction +pgamma-state ``` diff --git a/docs/intro.ipynb b/docs/intro.ipynb deleted file mode 100644 index f4f39ae..0000000 --- a/docs/intro.ipynb +++ /dev/null @@ -1,263 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "0", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "::::{margin}\n", - ":::{card} Amplitude models for photoproduction reaction\n", - "PWA101(v2.0): Introduction\n", - "^^^\n", - "This document is a follow-up of PWA101 (v1.0) (temporarily see [here](https://compwa--217.org.readthedocs.build/report/999.html)),\n", - "as an introduction to Amplitude Analysis / Partial Wave Analysis (PWA) by demonstrating its application to a specific reaction channel and amplitude model.\n", - "Now the focus is the use of symbolic expressions (computations) with `sympy` and the use of [ComPWA packages](https://compwa.github.io/) in general to illustrate the general process in PWA. This tutorial aims to equip readers with deeper understanding of PWA methodologies and full workflow in the context of hadron physics through a practical, hands-on example with symbolic expressions via [ComPWA](https://compwa.github.io/).\n", - "+++\n", - "✅ [ComPWA/gluex-nstar#1](https://github.com/ComPWA/gluex-nstar/issues/1)\n", - ":::\n", - "::::" - ] - }, - { - "cell_type": "markdown", - "id": "1", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "# # Amplitude Analysis 101 (v2.0)" - ] - }, - { - "cell_type": "markdown", - "id": "2", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "Address to the issue [ComPWA/gluex-nstar#1](https://github.com/ComPWA/gluex-nstar/issues/1), this document is PWA101(v2.0), which shows PWA methodologies and full workflow in the context of hadron physics with symbolic expressions via [ComPWA](https://compwa.github.io/)." - ] - }, - { - "cell_type": "markdown", - "id": "3", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "\n", - "This amplitude model is adapted from the [Lecture 11 in STRONG2020 HaSP School](https://indico.ific.uv.es/event/6803/contributions/21223/) by Vincent Mathieu.\n", - "\n", - "The (photo-production) reaction is $ \\gamma p \\to \\eta \\pi^0 p$, it is described by a amplitude model with three possible resonances: $a_2$, $\\Delta^+$, and $N^*$. " - ] - }, - { - "cell_type": "markdown", - "id": "4", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "```{image} https://github.com/ComPWA/compwa-org/assets/17490173/ec6bf191-bd5f-43b0-a6cb-da470b071630\n", - ":width: 100%\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "5", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "The amplitude model is adapted from the [Lecture 11 in STRONG2020 HaSP School](https://indico.ific.uv.es/event/6803/contributions/21223/), only the Breit-Wigner and Spherical harmonics terms are kept for doing PWA eventually, as shown in equation {eq}`BW_SH_label`." - ] - }, - { - "cell_type": "markdown", - "id": "6", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "$$\n", - "\\begin{eqnarray}\n", - "A^{12} &=& \\frac{\\sum a_m Y_2^m (\\Omega_1)}{s-m^2_{a_2}+im_{a_2} \\Gamma_{a_2}} \\\\\n", - "A^{23} &=& \\frac{\\sum b_m Y_1^m (\\Omega_2)}{s-m^2_{\\Delta}+im_{\\Delta} \\Gamma_{\\Delta}} \\\\\n", - "\\\n", - "A^{31} &=& \\frac{c_0}{s-m^2_{N^*}+im_{N^*} \\Gamma_{N^*}} \n", - "\\end{eqnarray}\n", - "$$ (BW_SH_label)" - ] - }, - { - "cell_type": "markdown", - "id": "7", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "where s is the Mandelstam variable, m is the mass, $\\Gamma$ is the width, Y is the spherical harmonics, $\\Omega$ is the decay angles (a pair of Euler angles), and a, b, and c are coefficients" - ] - }, - { - "cell_type": "markdown", - "id": "8", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - ":::{note}\n", - "Mandelstam variables $s_{ij}=(p_i+p_j)^2$, $t_i=(p_a-p_i)^2$, and $u_i=(p_b-p_i)^2$.\n", - ":::\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "9", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "with intensity $I$ and amplitude $A$:\n", - "\n", - "$$\n", - "\\begin{eqnarray}\n", - "I &=& |A|^2 \\nonumber \\\\\n", - "A &=& A^{12} + A^{23} + A^{31} \\\\\n", - "\\end{eqnarray}\n", - "$$ (123_label)\n", - "\n", - "where $\\quad 1 \\equiv \\eta ; \\quad 2 \\equiv \\pi^0 ; \\quad 3 \\equiv p$" - ] - }, - { - "cell_type": "markdown", - "id": "10", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - ":::{note}\n", - "The choice of the amplitude model (equations (1) and (2)) for PWA in this tutorial consists of three resonances, and each of them are formed by two terms: Breit-Wigner with Spherical harmonics ($l = 2, 1, 0$).\n", - ":::" - ] - }, - { - "cell_type": "markdown", - "id": "11", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - ":::{important}\n", - "The spin of $\\eta$ meson and $\\pi^0$ meson are all 0. But the spin of proton is not 0, it is spin-$\\frac{1}{2}$.\n", - "\n", - "In this amplitude model **spin** of baryon is simplified (not realistic):\n", - "$\\eta$, $\\pi^0$ and $p$ are all treated as spin-0 particles.\n", - "\n", - "This means that total intrinsic spin $s$ is ignored in this model,\n", - "the total angular momentum \n", - "$J$ of the system or any subsystems within this model will solely depend on the orbital angular momentum \n", - "$L$, characterized by quantum number $l$.\n", - "And this simplifies the use of spherical harmonics $Y_l^m(\\theta,\\phi)$,\n", - "since only the orbital angular momentum component is involved, and thus the combination of contribution is not considered (e.g. Clebsch-Gordan Coefficients).\n", - "\n", - "In our case: \n", - "- $A^{12}$ amplitude represents a d-wave interaction, as indicated by $l=2$.\n", - " - The possible $m$ values are $−2,−1,0,1,2$. Each of these values corresponds to different orientations of the d-wave. The wave type is solely determined by $l$ and all these $m$ values still describe d-wave characteristics.\n", - "- $A^{23}$ amplitude represents a p-wave interaction, as indicated by $l=1$.\n", - " - The possible $m$ values are $−1,0,1$. Each of these values corresponds to different orientations of the p-wave. Similarly, these values are all p-wave orientations.\n", - "- $A^{31}$ amplitude represents a s-wave interaction, as indicated by $l=0$.\n", - " - The only possible $m$ value is 0, which is consistent with the spherical symmetry of s-waves.\n", - ":::" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "12", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/report-0.ipynb b/docs/pgamma-state.ipynb similarity index 89% rename from docs/report-0.ipynb rename to docs/pgamma-state.ipynb index d89d699..92e5d8e 100644 --- a/docs/report-0.ipynb +++ b/docs/pgamma-state.ipynb @@ -60,13 +60,21 @@ "tags": [] }, "source": [ - "As an example, create a virtual particle that represents state $e^+ e^-$ can be seen [here](https://qrules.readthedocs.io/0.10.x/usage/particle/#adding-custom-particle-definitions-through-python)." + "As an example of side note, create a virtual particle that represents state $e^+ e^-$ can be seen [here](https://qrules.readthedocs.io/0.10.x/usage/particle/#adding-custom-particle-definitions-through-python)." + ] + }, + { + "cell_type": "markdown", + "id": "4", + "metadata": {}, + "source": [ + "`QRules` is used for this task" ] }, { "cell_type": "code", "execution_count": null, - "id": "4", + "id": "5", "metadata": { "editable": true, "slideshow": { @@ -82,7 +90,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5", + "id": "6", "metadata": { "editable": true, "slideshow": { @@ -99,7 +107,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6", + "id": "7", "metadata": { "editable": true, "slideshow": { @@ -115,7 +123,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7", + "id": "8", "metadata": { "editable": true, "slideshow": { @@ -131,7 +139,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8", + "id": "9", "metadata": { "editable": true, "slideshow": { diff --git a/docs/reaction.md b/docs/reaction.md new file mode 100644 index 0000000..0f8a6cd --- /dev/null +++ b/docs/reaction.md @@ -0,0 +1,73 @@ +# Reaction and amplitude models + + + + +## Reaction + +The (photo-production) reaction is $ \gamma p \to \eta \pi^0 p$, it is described by a amplitude model with three possible resonances: $a_2$, $\Delta^+$, and $N^*$. + +```{image} https://github.com/ComPWA/compwa-org/assets/17490173/ec6bf191-bd5f-43b0-a6cb-da470b071630 +:width: 100% +``` + +## Amplitude models + +The amplitude model is adapted from the [Lecture 11 in STRONG2020 HaSP School](https://indico.ific.uv.es/event/6803/contributions/21223/), only the Breit-Wigner and Spherical harmonics terms are kept for doing PWA eventually, as shown in equation {eq}`BW_SH_label`. + +$$ +\begin{eqnarray} +A^{12} &=& \frac{\sum a_m Y_2^m (\Omega_1)}{s-m^2_{a_2}+im_{a_2} \Gamma_{a_2}} \\ +A^{23} &=& \frac{\sum b_m Y_1^m (\Omega_2)}{s-m^2_{\Delta}+im_{\Delta} \Gamma_{\Delta}} \\ +\ +A^{31} &=& \frac{c_0}{s-m^2_{N^*}+im_{N^*} \Gamma_{N^*}} +\end{eqnarray} +$$ (BW_SH_label) + +where s is the Mandelstam variable, m is the mass, $\Gamma$ is the width, Y is the spherical harmonics, $\Omega$ is the decay angles (a pair of Euler angles), and a, b, and c are coefficients + +:::{note} +Mandelstam variables $s_{ij}=(p_i+p_j)^2$, $t_i=(p_a-p_i)^2$, and $u_i=(p_b-p_i)^2$. +::: + +with intensity $I$ and amplitude $A$: + + +$$ + +\begin{eqnarray} +I &=& |A|^2 \nonumber \\ +A &=& A^{12} + A^{23} + A^{31} \\ +\end{eqnarray} + +$$ +(123_label) + +where $\quad 1 \equiv \eta ; \quad 2 \equiv \pi^0 ; \quad 3 \equiv p$ + +:::{note} +The choice of the amplitude model (equations (1) and (2)) for PWA in this tutorial consists of three resonances, and each of them are formed by two terms: Breit-Wigner with Spherical harmonics ($l = 2, 1, 0$). +::: + +:::{important} +The spin of $\eta$ meson and $\pi^0$ meson are all 0. But the spin of proton is not 0, it is spin-$\frac{1}{2}$. + +In this amplitude model **spin** of baryon is simplified (not realistic): +$\eta$, $\pi^0$ and $p$ are all treated as spin-0 particles. + +This means that total intrinsic spin $s$ is ignored in this model, +the total angular momentum +$J$ of the system or any subsystems within this model will solely depend on the orbital angular momentum +$L$, characterized by quantum number $l$. +And this simplifies the use of spherical harmonics $Y_l^m(\theta,\phi)$, +since only the orbital angular momentum component is involved, and thus the combination of contribution is not considered (e.g. Clebsch-Gordan Coefficients). + +In our case: +- $A^{12}$ amplitude represents a d-wave interaction, as indicated by $l=2$. + - The possible $m$ values are $−2,−1,0,1,2$. Each of these values corresponds to different orientations of the d-wave. The wave type is solely determined by $l$ and all these $m$ values still describe d-wave characteristics. +- $A^{23}$ amplitude represents a p-wave interaction, as indicated by $l=1$. + - The possible $m$ values are $−1,0,1$. Each of these values corresponds to different orientations of the p-wave. Similarly, these values are all p-wave orientations. +- $A^{31}$ amplitude represents a s-wave interaction, as indicated by $l=0$. + - The only possible $m$ value is 0, which is consistent with the spherical symmetry of s-waves. +::: +$$ diff --git a/pixi.lock b/pixi.lock index 02b31a0..b8edcff 100644 --- a/pixi.lock +++ b/pixi.lock @@ -56,10 +56,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-h267a509_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.10-h36c2ea0_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.11-hb9ae30d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.12-hb9ae30d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.11-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.43-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-h59595ed_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.5-py312h1d5cde6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h59595ed_1003.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-9.0.0-h78e8752_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.0.3-py312h30efb56_0.conda @@ -67,7 +69,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.4.0-h3d44ed6_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.5.0-hfac3d4d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hepunits-2.3.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.5-pyhd8ed1ab_0.conda @@ -86,7 +88,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/ipywidgets-8.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/isort-5.13.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jax-0.4.26-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jax-0.4.27-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jaxlib-0.4.23-cpu_py312h8d2594f_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.4-pyhd8ed1ab_0.conda @@ -105,7 +107,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.14.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.2.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.2.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-git-0.50.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-lsp-5.1.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-myst-2.4.2-pyhd8ed1ab_0.conda @@ -158,6 +160,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.0.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.4.0-py312hfb8ada1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h9458935_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.1.0-pyhd8ed1ab_0.conda @@ -191,7 +195,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.7.1-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.42-pyha770c72_0.conda @@ -234,6 +238,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-7.3.7-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-autobuild-2024.4.16-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sphinx-book-theme-1.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.8-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.5-pyhd8ed1ab_0.conda @@ -243,7 +248,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/sqlalchemy-2.0.30-py312h9a8786e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.37.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/sympy-1.12-pyh04b8f61_3.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/sympy-1.12-pypyh9d50eac_103.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.9.0-pyhd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh0d859eb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.3.0-pyhd8ed1ab_0.conda @@ -283,7 +288,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-h7f98852_1007.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h75354e8_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h75354e8_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-hd590300_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.6-ha6fb4c9_0.conda @@ -331,6 +336,8 @@ packages: - python >=3.6 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/accessible-pygments size: 15626 timestamp: 1679583960534 - kind: conda @@ -346,6 +353,8 @@ packages: - python >=3.9 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/alabaster size: 18365 timestamp: 1704848898483 - kind: conda @@ -368,6 +377,8 @@ packages: - uvloop >=0.17 license: MIT license_family: MIT + purls: + - pkg:pypi/anyio size: 102331 timestamp: 1708355504396 - kind: conda @@ -387,6 +398,8 @@ packages: - argon2_cffi ==999 license: MIT license_family: MIT + purls: + - pkg:pypi/argon2-cffi size: 18602 timestamp: 1692818472638 - kind: conda @@ -405,6 +418,8 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT + purls: + - pkg:pypi/argon2-cffi-bindings size: 35142 timestamp: 1695386704886 - kind: conda @@ -422,6 +437,8 @@ packages: - types-python-dateutil >=2.8.10 license: Apache-2.0 license_family: Apache + purls: + - pkg:pypi/arrow size: 100096 timestamp: 1696129131844 - kind: conda @@ -438,6 +455,8 @@ packages: - six >=1.12.0 license: Apache-2.0 license_family: Apache + purls: + - pkg:pypi/asttokens size: 28922 timestamp: 1698341257884 - kind: conda @@ -454,6 +473,8 @@ packages: - typing_extensions >=4.0.0 license: MIT license_family: MIT + purls: + - pkg:pypi/async-lru size: 15342 timestamp: 1690563152778 - kind: conda @@ -488,6 +509,8 @@ packages: - python >=3.7 license: MIT license_family: MIT + purls: + - pkg:pypi/attrs size: 54582 timestamp: 1704011393776 - kind: conda @@ -505,6 +528,8 @@ packages: - setuptools license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/babel size: 7609750 timestamp: 1702422720584 - kind: conda @@ -521,6 +546,8 @@ packages: - soupsieve >=1.2 license: MIT license_family: MIT + purls: + - pkg:pypi/beautifulsoup4 size: 118200 timestamp: 1705564819537 - kind: conda @@ -541,6 +568,8 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT + purls: + - pkg:pypi/black size: 387770 timestamp: 1714119755759 - kind: conda @@ -560,6 +589,9 @@ packages: - webencodings license: Apache-2.0 license_family: Apache + purls: + - pkg:pypi/html5lib + - pkg:pypi/bleach size: 131220 timestamp: 1696630354218 - kind: conda @@ -580,6 +612,8 @@ packages: - libbrotlicommon 1.1.0 hd590300_1 license: MIT license_family: MIT + purls: + - pkg:pypi/brotli size: 350604 timestamp: 1695990206327 - kind: conda @@ -652,6 +686,8 @@ packages: - python >=3.6 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/cached-property size: 11065 timestamp: 1615209567874 - kind: conda @@ -695,6 +731,8 @@ packages: depends: - python >=3.7 license: ISC + purls: + - pkg:pypi/certifi size: 160559 timestamp: 1707022289175 - kind: conda @@ -713,6 +751,8 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT + purls: + - pkg:pypi/cffi size: 294523 timestamp: 1696001868949 - kind: conda @@ -728,6 +768,8 @@ packages: - python >=3.6.1 license: MIT license_family: MIT + purls: + - pkg:pypi/cfgv size: 10788 timestamp: 1629909423398 - kind: conda @@ -743,6 +785,8 @@ packages: - python >=3.7 license: MIT license_family: MIT + purls: + - pkg:pypi/charset-normalizer size: 46597 timestamp: 1698833765762 - kind: conda @@ -759,6 +803,8 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/click size: 84437 timestamp: 1692311973840 - kind: conda @@ -774,6 +820,8 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/colorama size: 25170 timestamp: 1666700778190 - kind: conda @@ -790,6 +838,8 @@ packages: - traitlets >=5.3 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/comm size: 12134 timestamp: 1710320435158 - kind: conda @@ -807,6 +857,9 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT + purls: + - pkg:pypi/debugpy + - pkg:pypi/bytecode size: 2079306 timestamp: 1707444570818 - kind: conda @@ -822,6 +875,8 @@ packages: - python >=3.5 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/decorator size: 12072 timestamp: 1641555714315 - kind: conda @@ -837,6 +892,8 @@ packages: - python >=3.6 license: PSF-2.0 license_family: PSF + purls: + - pkg:pypi/defusedxml size: 24062 timestamp: 1615232388757 - kind: conda @@ -853,6 +910,8 @@ packages: - wrapt <2,>=1.10 license: MIT license_family: MIT + purls: + - pkg:pypi/deprecated size: 14033 timestamp: 1685233463632 - kind: conda @@ -868,6 +927,8 @@ packages: - python 2.7|>=3.6 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/distlib size: 274915 timestamp: 1702383349284 - kind: conda @@ -882,6 +943,8 @@ packages: depends: - python >=3.9 license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 + purls: + - pkg:pypi/docutils size: 403226 timestamp: 1713930478970 - kind: conda @@ -897,6 +960,8 @@ packages: - python >=3.6 license: MIT license_family: MIT + purls: + - pkg:pypi/entrypoints size: 9199 timestamp: 1643888357950 - kind: conda @@ -912,6 +977,8 @@ packages: depends: - python >=3.7 license: MIT and PSF-2.0 + purls: + - pkg:pypi/exceptiongroup size: 20551 timestamp: 1704921321122 - kind: conda @@ -927,6 +994,8 @@ packages: - python >=2.7 license: MIT license_family: MIT + purls: + - pkg:pypi/executing size: 27689 timestamp: 1698580072627 - kind: conda @@ -956,6 +1025,8 @@ packages: depends: - python >=3.7 license: Unlicense + purls: + - pkg:pypi/filelock size: 15902 timestamp: 1714422911808 - kind: conda @@ -1076,6 +1147,8 @@ packages: - python >=2.7,<4 license: MPL-2.0 license_family: MOZILLA + purls: + - pkg:pypi/fqdn size: 14395 timestamp: 1638810388635 - kind: conda @@ -1109,22 +1182,22 @@ packages: timestamp: 1604416621168 - kind: conda name: gdk-pixbuf - version: 2.42.11 + version: 2.42.12 build: hb9ae30d_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.11-hb9ae30d_0.conda - sha256: 0421338fc0947d7c61ff90ed5c6aa86499c6b5a0bfcead7efda9605912bd279b - md5: 9bd27b5e21da16e40cf799bc2acf47d1 + url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.12-hb9ae30d_0.conda + sha256: d5283b95a8d49dcd88d29b360d8b38694aaa905d968d156d72ab71d32b38facb + md5: 201db6c2d9a3c5e46573ac4cb2e92f4f depends: - libgcc-ng >=12 - - libglib >=2.80.0,<3.0a0 + - libglib >=2.80.2,<3.0a0 - libjpeg-turbo >=3.0.0,<4.0a0 - libpng >=1.6.43,<1.7.0a0 - libtiff >=4.6.0,<4.7.0a0 license: LGPL-2.1-or-later license_family: LGPL - size: 526919 - timestamp: 1713604108933 + size: 528149 + timestamp: 1715782983957 - kind: conda name: giflib version: 5.2.2 @@ -1153,6 +1226,8 @@ packages: - smmap >=3.0.1,<6 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/gitdb size: 52872 timestamp: 1697791718749 - kind: conda @@ -1170,8 +1245,47 @@ packages: - typing_extensions >=3.7.4.3 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/gitpython size: 156827 timestamp: 1711991122366 +- kind: conda + name: gmp + version: 6.3.0 + build: h59595ed_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-h59595ed_1.conda + sha256: cfc4202c23d6895d9c84042d08d5cda47d597772df870d4d2a10fc86dded5576 + md5: e358c7c5f6824c272b5034b3816438a7 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: GPL-2.0-or-later OR LGPL-3.0-or-later + size: 569852 + timestamp: 1710169507479 +- kind: conda + name: gmpy2 + version: 2.1.5 + build: py312h1d5cde6_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.5-py312h1d5cde6_1.conda + sha256: afe8fd8bacbb345bdeba6ae275dba6bda6ce9f5f7e1a0c658fff40373fae4654 + md5: 27abd7664bc87595bd98b6306b8393d1 + depends: + - gmp >=6.3.0,<7.0a0 + - libgcc-ng >=12 + - mpc >=1.3.1,<2.0a0 + - mpfr >=4.2.1,<5.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: LGPL-3.0-or-later + license_family: LGPL + purls: + - pkg:pypi/gmpy2 + size: 212406 + timestamp: 1715527440339 - kind: conda name: graphite2 version: 1.3.13 @@ -1231,6 +1345,8 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT + purls: + - pkg:pypi/greenlet size: 233067 timestamp: 1703201779255 - kind: conda @@ -1290,6 +1406,8 @@ packages: - typing_extensions license: MIT license_family: MIT + purls: + - pkg:pypi/h11 size: 48251 timestamp: 1664132995560 - kind: conda @@ -1307,28 +1425,30 @@ packages: - python >=3.6.1 license: MIT license_family: MIT + purls: + - pkg:pypi/h2 size: 46754 timestamp: 1634280590080 - kind: conda name: harfbuzz - version: 8.4.0 - build: h3d44ed6_0 + version: 8.5.0 + build: hfac3d4d_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.4.0-h3d44ed6_0.conda - sha256: d27441d53498f28a36a1612d8f767bae0418076e9c08dcd2cd511c8439d2fb4d - md5: 27f46291a6aaa3c2a4f798ebd35a7ddb + url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.5.0-hfac3d4d_0.conda + sha256: a141fc55f8bfdab7db03fe9d8e61cb0f8c8b5970ed6540eda2db7186223f4444 + md5: f5126317dd0ce0ba26945e411ecc6960 depends: - cairo >=1.18.0,<2.0a0 - freetype >=2.12.1,<3.0a0 - graphite2 - icu >=73.2,<74.0a0 - libgcc-ng >=12 - - libglib >=2.80.0,<3.0a0 + - libglib >=2.80.2,<3.0a0 - libstdcxx-ng >=12 license: MIT license_family: MIT - size: 1587652 - timestamp: 1713957638950 + size: 1598244 + timestamp: 1715701061364 - kind: conda name: hepunits version: 2.3.3 @@ -1342,6 +1462,8 @@ packages: - python !=3.0,!=3.1,!=3.2,!=3.3,!=3.4 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/hepunits size: 16269 timestamp: 1704724071084 - kind: conda @@ -1357,6 +1479,8 @@ packages: - python license: MIT license_family: MIT + purls: + - pkg:pypi/hpack size: 25341 timestamp: 1598856368685 - kind: conda @@ -1377,6 +1501,8 @@ packages: - sniffio 1.* license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/httpcore size: 45816 timestamp: 1711597091407 - kind: conda @@ -1397,6 +1523,8 @@ packages: - sniffio license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/httpx size: 64651 timestamp: 1708531043505 - kind: conda @@ -1412,6 +1540,8 @@ packages: - python >=3.6 license: MIT license_family: MIT + purls: + - pkg:pypi/hyperframe size: 14646 timestamp: 1619110249723 - kind: conda @@ -1443,6 +1573,8 @@ packages: - ukkonen license: MIT license_family: MIT + purls: + - pkg:pypi/identify size: 78375 timestamp: 1713673091737 - kind: conda @@ -1458,6 +1590,8 @@ packages: - python >=3.6 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/idna size: 52718 timestamp: 1713279497047 - kind: conda @@ -1473,6 +1607,8 @@ packages: - python >=3.4 license: MIT license_family: MIT + purls: + - pkg:pypi/imagesize size: 10164 timestamp: 1656939625410 - kind: conda @@ -1489,6 +1625,8 @@ packages: - zipp >=0.5 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/importlib-metadata size: 27043 timestamp: 1710971498183 - kind: conda @@ -1522,6 +1660,8 @@ packages: - importlib-resources >=6.4.0,<6.4.1.0a0 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/importlib-resources size: 33056 timestamp: 1711041009039 - kind: conda @@ -1550,6 +1690,8 @@ packages: - traitlets >=5.4.0 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/ipykernel size: 119050 timestamp: 1708996727913 - kind: conda @@ -1577,6 +1719,8 @@ packages: - typing_extensions >=4.6 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/ipython size: 596366 timestamp: 1715263505659 - kind: conda @@ -1592,6 +1736,8 @@ packages: depends: - python license: BSD 3-Clause + purls: + - pkg:pypi/ipython-genutils size: 21562 timestamp: 1530963305778 - kind: conda @@ -1613,6 +1759,8 @@ packages: - widgetsnbextension >=4.0.10,<4.1.0 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/ipywidgets size: 113743 timestamp: 1715139776347 - kind: conda @@ -1629,6 +1777,8 @@ packages: - python >=3.7 license: MIT license_family: MIT + purls: + - pkg:pypi/isoduration size: 17189 timestamp: 1638811664194 - kind: conda @@ -1645,20 +1795,22 @@ packages: - setuptools license: MIT license_family: MIT + purls: + - pkg:pypi/isort size: 73783 timestamp: 1702518633821 - kind: conda name: jax - version: 0.4.26 + version: 0.4.27 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/jax-0.4.26-pyhd8ed1ab_0.conda - sha256: c822078200671db00dab685b5ad527de2644a338beac50ce9f5d834f24c28b93 - md5: 7edd9cd0001ed130c0b594047a10b304 + url: https://conda.anaconda.org/conda-forge/noarch/jax-0.4.27-pyhd8ed1ab_0.conda + sha256: 7a85619d6b6890fe15b60818d3f3533d044b84a62ad019b919738f834d56e6c4 + md5: 9dbe68d48348ffbe603c0fbe44428d7c depends: - importlib_metadata >=4.6 - - jaxlib >=0.4.20 + - jaxlib >=0.4.23 - ml_dtypes >=0.2.0 - numpy >=1.22 - opt-einsum @@ -1666,8 +1818,10 @@ packages: - scipy >=1.9 license: Apache-2.0 license_family: APACHE - size: 1223763 - timestamp: 1713137922862 + purls: + - pkg:pypi/jax + size: 1275628 + timestamp: 1715569349254 - kind: conda name: jaxlib version: 0.4.23 @@ -1694,6 +1848,8 @@ packages: - jax >=0.4.23 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/jaxlib size: 54809457 timestamp: 1714685146833 - kind: conda @@ -1710,6 +1866,8 @@ packages: - python >=3.6 license: MIT license_family: MIT + purls: + - pkg:pypi/jedi size: 841312 timestamp: 1696326218364 - kind: conda @@ -1726,6 +1884,8 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jinja2 size: 111565 timestamp: 1715127275924 - kind: conda @@ -1741,6 +1901,8 @@ packages: - python >=3.7,<4.0 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/json5 size: 27995 timestamp: 1712986338874 - kind: conda @@ -1757,6 +1919,8 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jsonpointer size: 18033 timestamp: 1695397448370 - kind: conda @@ -1778,6 +1942,8 @@ packages: - rpds-py >=0.7.1 license: MIT license_family: MIT + purls: + - pkg:pypi/jsonschema size: 74149 timestamp: 1714573245148 - kind: conda @@ -1795,6 +1961,8 @@ packages: - referencing >=0.31.0 license: MIT license_family: MIT + purls: + - pkg:pypi/jsonschema-specifications size: 16431 timestamp: 1703778502971 - kind: conda @@ -1841,6 +2009,8 @@ packages: - qtconsole-base license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyter size: 8620 timestamp: 1696255649672 - kind: conda @@ -1864,6 +2034,8 @@ packages: - tabulate license: MIT license_family: MIT + purls: + - pkg:pypi/jupyter-cache size: 31425 timestamp: 1701833284830 - kind: conda @@ -1881,6 +2053,8 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyter-lsp size: 55539 timestamp: 1712707521811 - kind: conda @@ -1898,6 +2072,8 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyter-server-mathjax size: 2046225 timestamp: 1672324687778 - kind: conda @@ -1920,6 +2096,8 @@ packages: - traitlets license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyter-client size: 99449 timestamp: 1673616104031 - kind: conda @@ -1943,6 +2121,8 @@ packages: - traitlets >=5.4 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyter-console size: 26484 timestamp: 1678118234022 - kind: conda @@ -1960,6 +2140,8 @@ packages: - traitlets >=5.3 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyter-core size: 92843 timestamp: 1710257533875 - kind: conda @@ -1982,6 +2164,8 @@ packages: - traitlets >=5.3 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyter-events size: 21475 timestamp: 1710805759187 - kind: conda @@ -2015,6 +2199,8 @@ packages: - websocket-client license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyter-server size: 324713 timestamp: 1712884350803 - kind: conda @@ -2031,17 +2217,20 @@ packages: - terminado >=0.8.3 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyter-server-terminals size: 19818 timestamp: 1710262791393 - kind: conda name: jupyterlab version: 4.2.0 - build: pyhd8ed1ab_0 + build: pyhd8ed1ab_1 + build_number: 1 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.2.0-pyhd8ed1ab_0.conda - sha256: 3c5373a5cc5ac34614fc1bb75e762bcda16e95fa4655dce295b956f7c488da29 - md5: b270eec56a3776c042de72eba8b2bbaa + url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.2.0-pyhd8ed1ab_1.conda + sha256: 0d0b14a5fc77ad76cd34191b888c8a5ce6060e553ed4d413bd2a2cd6651196ba + md5: 49af95b55515a65d14f6ea82422c321d depends: - async-lru >=1.0.0 - httpx >=0.25.0 @@ -2052,7 +2241,7 @@ packages: - jupyter-lsp >=2.0.0 - jupyter_core - jupyter_server >=2.4.0,<3 - - jupyterlab_server >=2.19.0,<3 + - jupyterlab_server >=2.27.1,<3 - notebook-shim >=0.2 - packaging - python >=3.8 @@ -2061,8 +2250,10 @@ packages: - traitlets license: BSD-3-Clause license_family: BSD - size: 7874048 - timestamp: 1715012272179 + purls: + - pkg:pypi/jupyterlab + size: 7982250 + timestamp: 1715435694295 - kind: conda name: jupyterlab-git version: 0.50.0 @@ -2085,6 +2276,8 @@ packages: - jupyterlab >=4,<5 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyterlab-git size: 902783 timestamp: 1707314502152 - kind: conda @@ -2103,6 +2296,8 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyterlab-lsp size: 605141 timestamp: 1712707553867 - kind: conda @@ -2121,6 +2316,8 @@ packages: - jupyterlab >=4,<5 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyterlab-myst size: 2127008 timestamp: 1714146125212 - kind: conda @@ -2140,6 +2337,8 @@ packages: - jupyterlab >=4.0.8,<5.0.0 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyterlab-pygments size: 18776 timestamp: 1707149279640 - kind: conda @@ -2165,6 +2364,8 @@ packages: - openapi-core >=0.18.0,<0.19.0 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyterlab-server size: 49223 timestamp: 1713899139823 - kind: conda @@ -2182,6 +2383,8 @@ packages: - jupyterlab >=3,<5 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jupyterlab-widgets size: 187135 timestamp: 1707422097508 - kind: conda @@ -2851,6 +3054,8 @@ packages: - tornado license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/livereload size: 24973 timestamp: 1598114846810 - kind: conda @@ -2867,6 +3072,8 @@ packages: - python >=3.8 license: MIT license_family: MIT + purls: + - pkg:pypi/markdown-it-py size: 64356 timestamp: 1686175179621 - kind: conda @@ -2885,6 +3092,8 @@ packages: - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/markupsafe size: 26685 timestamp: 1706900070330 - kind: conda @@ -2901,6 +3110,8 @@ packages: - traitlets license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/matplotlib-inline size: 14599 timestamp: 1713250613726 - kind: conda @@ -2917,6 +3128,8 @@ packages: - python >=3.8 license: MIT license_family: MIT + purls: + - pkg:pypi/mdit-py-plugins size: 41972 timestamp: 1715570303416 - kind: conda @@ -2932,6 +3145,8 @@ packages: - python >=3.6 license: MIT license_family: MIT + purls: + - pkg:pypi/mdurl size: 14680 timestamp: 1704317789138 - kind: conda @@ -2947,6 +3162,8 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/mistune size: 66022 timestamp: 1698947249750 - kind: conda @@ -2964,8 +3181,42 @@ packages: - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: MPL-2.0 AND Apache-2.0 + purls: + - pkg:pypi/ml-dtypes size: 171105 timestamp: 1712049343644 +- kind: conda + name: mpc + version: 1.3.1 + build: hfe3b2da_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda + sha256: 2f88965949ba7b4b21e7e5facd62285f7c6efdb17359d1b365c3bb4ecc968d29 + md5: 289c71e83dc0daa7d4c81f04180778ca + depends: + - gmp >=6.2.1,<7.0a0 + - libgcc-ng >=12 + - mpfr >=4.1.0,<5.0a0 + license: LGPL-3.0-or-later + license_family: LGPL + size: 116276 + timestamp: 1674263855481 +- kind: conda + name: mpfr + version: 4.2.1 + build: h9458935_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h9458935_1.conda + sha256: 38c501f6b8dff124e57711c01da23e204703a3c14276f4cf6abd28850b2b9893 + md5: 8083b20f566639c22f78bcd6ca35b276 + depends: + - gmp >=6.3.0,<7.0a0 + - libgcc-ng >=12 + license: LGPL-3.0-only + license_family: LGPL + size: 643060 + timestamp: 1712339500544 - kind: conda name: mpmath version: 1.3.0 @@ -2979,6 +3230,8 @@ packages: - python >=3.6 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/mpmath size: 438339 timestamp: 1678228210181 - kind: conda @@ -2994,6 +3247,8 @@ packages: - python >=3.5 license: MIT license_family: MIT + purls: + - pkg:pypi/mypy-extensions size: 10492 timestamp: 1675543414256 - kind: conda @@ -3019,6 +3274,8 @@ packages: - typing_extensions license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/myst-nb size: 63221 timestamp: 1712945975741 - kind: conda @@ -3040,6 +3297,8 @@ packages: - sphinx >=6,<8 license: MIT license_family: MIT + purls: + - pkg:pypi/myst-parser size: 72235 timestamp: 1714413912964 - kind: conda @@ -3073,6 +3332,8 @@ packages: - traitlets >=4.2.1 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/nbclassic size: 5939112 timestamp: 1683202466763 - kind: conda @@ -3092,6 +3353,8 @@ packages: - traitlets >=5.4 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/nbclient size: 27851 timestamp: 1710317767117 - kind: conda @@ -3142,6 +3405,8 @@ packages: - nbconvert =7.16.4=*_0 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/nbconvert size: 189004 timestamp: 1714477286178 - kind: conda @@ -3182,6 +3447,8 @@ packages: - tornado license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/nbdime size: 4420024 timestamp: 1700575801912 - kind: conda @@ -3201,6 +3468,8 @@ packages: - traitlets >=5.1 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/nbformat size: 101232 timestamp: 1712239122969 - kind: conda @@ -3229,6 +3498,8 @@ packages: - python >=3.5 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/nest-asyncio size: 11638 timestamp: 1705850780510 - kind: conda @@ -3245,6 +3516,8 @@ packages: - setuptools license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/nodeenv size: 34358 timestamp: 1683893151613 - kind: conda @@ -3276,6 +3549,8 @@ packages: - traitlets >=4.2.1 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/notebook size: 308643 timestamp: 1715849037288 - kind: conda @@ -3292,6 +3567,8 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/notebook-shim size: 16880 timestamp: 1707957948029 - kind: conda @@ -3314,6 +3591,8 @@ packages: - numpy-base <0a0 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/numpy size: 7484186 timestamp: 1707225809722 - kind: conda @@ -3364,6 +3643,8 @@ packages: - python >=3.6 license: MIT license_family: MIT + purls: + - pkg:pypi/opt-einsum size: 58004 timestamp: 1696449058916 - kind: conda @@ -3380,6 +3661,8 @@ packages: - typing_utils license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/overrides size: 30232 timestamp: 1706394723472 - kind: conda @@ -3395,6 +3678,8 @@ packages: - python >=3.8 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/packaging size: 49832 timestamp: 1710076089469 - kind: conda @@ -3422,6 +3707,8 @@ packages: - python !=3.0,!=3.1,!=3.2,!=3.3 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/pandocfilters size: 11627 timestamp: 1631603397334 - kind: conda @@ -3458,6 +3745,8 @@ packages: - python >=3.6 license: MIT license_family: MIT + purls: + - pkg:pypi/parso size: 75191 timestamp: 1712320447201 - kind: conda @@ -3478,6 +3767,8 @@ packages: - typing-extensions >=4.5 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/particle size: 163439 timestamp: 1713892152317 - kind: conda @@ -3493,6 +3784,8 @@ packages: - python >=3.7 license: MPL-2.0 license_family: MOZILLA + purls: + - pkg:pypi/pathspec size: 41173 timestamp: 1702250135032 - kind: conda @@ -3524,6 +3817,8 @@ packages: - ptyprocess >=0.5 - python >=3.7 license: ISC + purls: + - pkg:pypi/pexpect size: 53600 timestamp: 1706113273252 - kind: conda @@ -3540,6 +3835,8 @@ packages: - python >=3 license: MIT license_family: MIT + purls: + - pkg:pypi/pickleshare size: 9332 timestamp: 1602536313357 - kind: conda @@ -3570,23 +3867,27 @@ packages: depends: - python >=3.6 license: MIT AND PSF-2.0 + purls: + - pkg:pypi/pkgutil-resolve-name size: 10778 timestamp: 1694617398467 - kind: conda name: platformdirs - version: 4.2.1 + version: 4.2.2 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.1-pyhd8ed1ab_0.conda - sha256: 5718fef2954f016834058ae1d359e407ff8e2e847b35ab43d5d91bcf22d5578d - md5: d478a8a3044cdff1aa6e62f9269cefe0 + url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.2-pyhd8ed1ab_0.conda + sha256: adc59384cf0b2fc6dc7362840151e8cb076349197a38f7230278252698a88442 + md5: 6f6cf28bf8e021933869bae3f84b8fc9 depends: - python >=3.8 license: MIT license_family: MIT - size: 20248 - timestamp: 1713912912262 + purls: + - pkg:pypi/platformdirs + size: 20572 + timestamp: 1715777739019 - kind: conda name: pre-commit version: 3.7.1 @@ -3605,6 +3906,8 @@ packages: - virtualenv >=20.10.0 license: MIT license_family: MIT + purls: + - pkg:pypi/pre-commit size: 179748 timestamp: 1715432871404 - kind: conda @@ -3620,6 +3923,8 @@ packages: - python >=3.8 license: Apache-2.0 license_family: Apache + purls: + - pkg:pypi/prometheus-client size: 48913 timestamp: 1707932844383 - kind: conda @@ -3638,6 +3943,8 @@ packages: - prompt_toolkit 3.0.42 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/prompt-toolkit size: 270398 timestamp: 1702399557137 - kind: conda @@ -3669,6 +3976,8 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/psutil size: 486243 timestamp: 1705722547420 - kind: conda @@ -3698,6 +4007,8 @@ packages: depends: - python license: ISC + purls: + - pkg:pypi/ptyprocess size: 16546 timestamp: 1609419417991 - kind: conda @@ -3713,6 +4024,8 @@ packages: - python >=3.5 license: MIT license_family: MIT + purls: + - pkg:pypi/pure-eval size: 14551 timestamp: 1642876055775 - kind: conda @@ -3728,6 +4041,8 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/pycparser size: 105098 timestamp: 1711811634025 - kind: conda @@ -3751,6 +4066,8 @@ packages: - typing-extensions license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/pydata-sphinx-theme size: 1375728 timestamp: 1705630287042 - kind: conda @@ -3766,6 +4083,8 @@ packages: - python >=3.8 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/pygments size: 879295 timestamp: 1714846885370 - kind: conda @@ -3783,6 +4102,8 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/pysocks size: 18981 timestamp: 1661604969727 - kind: conda @@ -3828,6 +4149,8 @@ packages: - python license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/python-constraint size: 21336 timestamp: 1541423579379 - kind: conda @@ -3844,6 +4167,8 @@ packages: - six >=1.5 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/python-dateutil size: 222742 timestamp: 1709299922152 - kind: conda @@ -3859,6 +4184,8 @@ packages: - python >=3.3 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/fastjsonschema size: 225250 timestamp: 1703781171097 - kind: conda @@ -3875,6 +4202,8 @@ packages: - python >=3 license: MIT license_family: MIT + purls: + - pkg:pypi/graphviz size: 38226 timestamp: 1711016613215 - kind: conda @@ -3890,6 +4219,8 @@ packages: - python >=3.6 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/python-json-logger size: 13383 timestamp: 1677079727691 - kind: conda @@ -3920,6 +4251,8 @@ packages: - python >=3.7 license: MIT license_family: MIT + purls: + - pkg:pypi/pytz size: 188538 timestamp: 1706886944988 - kind: conda @@ -3938,6 +4271,8 @@ packages: - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT + purls: + - pkg:pypi/pyyaml size: 196583 timestamp: 1695373632212 - kind: conda @@ -3957,6 +4292,8 @@ packages: - zeromq >=4.3.5,<4.4.0a0 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/pyzmq size: 461684 timestamp: 1715024520808 - kind: conda @@ -3979,6 +4316,8 @@ packages: - typing-extensions license: GPL-3.0-or-later license_family: GPL + purls: + - pkg:pypi/qrules size: 74164 timestamp: 1709326984310 - kind: conda @@ -4001,6 +4340,8 @@ packages: - traitlets license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/qtconsole size: 100292 timestamp: 1714943047487 - kind: conda @@ -4017,6 +4358,8 @@ packages: - python >=3.7 license: MIT license_family: MIT + purls: + - pkg:pypi/qtpy size: 61808 timestamp: 1698112171285 - kind: conda @@ -4065,6 +4408,8 @@ packages: - rpds-py >=0.7.0 license: MIT license_family: MIT + purls: + - pkg:pypi/referencing size: 42210 timestamp: 1714619625532 - kind: conda @@ -4086,6 +4431,8 @@ packages: - chardet >=3.0.2,<6 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/requests size: 56690 timestamp: 1684774408600 - kind: conda @@ -4102,6 +4449,8 @@ packages: - six license: MIT license_family: MIT + purls: + - pkg:pypi/rfc3339-validator size: 8064 timestamp: 1638811838081 - kind: conda @@ -4117,6 +4466,8 @@ packages: - python license: MIT license_family: MIT + purls: + - pkg:pypi/rfc3986-validator size: 7818 timestamp: 1598024297745 - kind: conda @@ -4133,6 +4484,8 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT + purls: + - pkg:pypi/rpds-py size: 922258 timestamp: 1715090163612 - kind: conda @@ -4158,6 +4511,8 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/scipy size: 17333402 timestamp: 1714795102913 - kind: conda @@ -4174,6 +4529,8 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/send2trash size: 22868 timestamp: 1712585140895 - kind: conda @@ -4189,6 +4546,8 @@ packages: - python >=3.8 license: MIT license_family: MIT + purls: + - pkg:pypi/setuptools size: 501790 timestamp: 1713094963112 - kind: conda @@ -4204,6 +4563,8 @@ packages: - python license: MIT license_family: MIT + purls: + - pkg:pypi/six size: 14259 timestamp: 1620240338595 - kind: conda @@ -4219,6 +4580,8 @@ packages: - python >=3.5 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/smmap size: 22483 timestamp: 1634310465482 - kind: conda @@ -4234,6 +4597,8 @@ packages: - python >=3.7 license: Apache-2.0 license_family: Apache + purls: + - pkg:pypi/sniffio size: 15064 timestamp: 1708953086199 - kind: conda @@ -4249,6 +4614,8 @@ packages: - python >=2 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/snowballstemmer size: 58824 timestamp: 1637143137377 - kind: conda @@ -4265,6 +4632,8 @@ packages: - python >=3.8 license: MIT license_family: MIT + purls: + - pkg:pypi/soupsieve size: 36754 timestamp: 1693929424267 - kind: conda @@ -4298,6 +4667,8 @@ packages: - tomli >=2.0 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/sphinx size: 1345378 timestamp: 1713555005540 - kind: conda @@ -4320,8 +4691,27 @@ packages: - websockets >=11 license: MIT license_family: MIT + purls: + - pkg:pypi/sphinx-autobuild size: 16466 timestamp: 1713319509734 +- kind: conda + name: sphinx-book-theme + version: 1.1.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/sphinx-book-theme-1.1.2-pyhd8ed1ab_0.conda + sha256: 0934eea9c89211f71b706bcd91c7ed3687fce1c14fcd14073231bc69f640bd53 + md5: fa675936fa91d74cc2a45fbc8df1598b + depends: + - pydata-sphinx-theme >=0.14.0 + - python >=3.9 + - sphinx >=5 + license: BSD-3-Clause + license_family: BSD + size: 248083 + timestamp: 1708037011444 - kind: conda name: sphinxcontrib-applehelp version: 1.0.8 @@ -4336,6 +4726,8 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-applehelp size: 29539 timestamp: 1705126465971 - kind: conda @@ -4352,6 +4744,8 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-devhelp size: 24474 timestamp: 1705126153592 - kind: conda @@ -4368,6 +4762,8 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-htmlhelp size: 33499 timestamp: 1705118297318 - kind: conda @@ -4383,6 +4779,8 @@ packages: - python >=3.5 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-jsmath size: 10431 timestamp: 1691604844204 - kind: conda @@ -4399,6 +4797,8 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-qthelp size: 27005 timestamp: 1705126340442 - kind: conda @@ -4415,6 +4815,8 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/sphinxcontrib-serializinghtml size: 28776 timestamp: 1705118378942 - kind: conda @@ -4433,6 +4835,8 @@ packages: - typing-extensions >=4.6.0 license: MIT license_family: MIT + purls: + - pkg:pypi/sqlalchemy size: 3495546 timestamp: 1714952762974 - kind: conda @@ -4451,6 +4855,8 @@ packages: - python >=3.5 license: MIT license_family: MIT + purls: + - pkg:pypi/stack-data size: 26205 timestamp: 1669632203115 - kind: conda @@ -4468,25 +4874,32 @@ packages: - typing_extensions >=3.10.0 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/starlette size: 57620 timestamp: 1709667193131 - kind: conda name: sympy version: '1.12' - build: pyh04b8f61_3 - build_number: 3 + build: pypyh9d50eac_103 + build_number: 103 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/sympy-1.12-pyh04b8f61_3.conda - sha256: 75b525ecb0948380796f519fe723470d52f9369e23c68f194c28f34df5e49b39 - md5: 6af285473a6a49ea8068e0b5b28ed7de + url: https://conda.anaconda.org/conda-forge/noarch/sympy-1.12-pypyh9d50eac_103.conda + sha256: 0025dd4e6411423903bf478d1b9fbff0cbbbe546f51c9375dfd6729ef2e1a1ac + md5: 2f7d6347d7acf6edf1ac7f2189f44c8f depends: + - __unix + - gmpy2 >=2.0.8 - mpmath >=0.19 + - python * *_cpython - python >=3.8 license: BSD-3-Clause license_family: BSD - size: 4243034 - timestamp: 1684180691391 + purls: + - pkg:pypi/sympy + size: 4256289 + timestamp: 1684180689319 - kind: conda name: tabulate version: 0.9.0 @@ -4501,6 +4914,8 @@ packages: - python >=3.7 license: MIT license_family: MIT + purls: + - pkg:pypi/tabulate size: 35912 timestamp: 1665138565317 - kind: conda @@ -4519,6 +4934,8 @@ packages: - tornado >=6.1.0 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/terminado size: 22452 timestamp: 1710262728753 - kind: conda @@ -4535,6 +4952,8 @@ packages: - webencodings >=0.4 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/tinycss2 size: 25405 timestamp: 1713975078735 - kind: conda @@ -4566,6 +4985,8 @@ packages: - python >=3.7 license: MIT license_family: MIT + purls: + - pkg:pypi/tomli size: 15940 timestamp: 1644342331069 - kind: conda @@ -4582,6 +5003,8 @@ packages: - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: Apache + purls: + - pkg:pypi/tornado size: 840527 timestamp: 1708363299520 - kind: conda @@ -4597,6 +5020,8 @@ packages: - colorama - python >=3.7 license: MPL-2.0 or MIT + purls: + - pkg:pypi/tqdm size: 89452 timestamp: 1714855008479 - kind: conda @@ -4612,6 +5037,8 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/traitlets size: 110187 timestamp: 1713535244513 - kind: conda @@ -4626,6 +5053,8 @@ packages: depends: - python >=3.6 license: Apache-2.0 AND MIT + purls: + - pkg:pypi/types-python-dateutil size: 21769 timestamp: 1710590028155 - kind: conda @@ -4656,6 +5085,8 @@ packages: - python >=3.8 license: PSF-2.0 license_family: PSF + purls: + - pkg:pypi/typing-extensions size: 37583 timestamp: 1712330089194 - kind: conda @@ -4671,6 +5102,8 @@ packages: - python >=3.6.1 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/typing-utils size: 13829 timestamp: 1622899345711 - kind: conda @@ -4702,6 +5135,8 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT + purls: + - pkg:pypi/ukkonen size: 14050 timestamp: 1695549556745 - kind: conda @@ -4717,6 +5152,8 @@ packages: - python >=3.7 license: MIT license_family: MIT + purls: + - pkg:pypi/uri-template size: 23999 timestamp: 1688655976471 - kind: conda @@ -4734,6 +5171,8 @@ packages: - python >=3.7 license: MIT license_family: MIT + purls: + - pkg:pypi/urllib3 size: 94669 timestamp: 1708239595549 - kind: conda @@ -4751,6 +5190,8 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/uvicorn size: 126964 timestamp: 1710932152563 - kind: conda @@ -4768,6 +5209,9 @@ packages: - platformdirs <5,>=3.9.1 - python >=3.8 license: MIT + license_family: MIT + purls: + - pkg:pypi/virtualenv size: 3458445 timestamp: 1715681264937 - kind: conda @@ -4785,6 +5229,8 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT + purls: + - pkg:pypi/watchfiles size: 1094669 timestamp: 1701078026995 - kind: conda @@ -4800,6 +5246,8 @@ packages: - python >=3.8 license: MIT license_family: MIT + purls: + - pkg:pypi/wcwidth size: 32709 timestamp: 1704731373922 - kind: conda @@ -4815,6 +5263,8 @@ packages: - python >=3.5 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/webcolors size: 18186 timestamp: 1679900907305 - kind: conda @@ -4831,6 +5281,8 @@ packages: - python >=2.6 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/webencodings size: 15600 timestamp: 1694681458271 - kind: conda @@ -4846,6 +5298,8 @@ packages: - python >=3.8 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/websocket-client size: 47066 timestamp: 1713923494501 - kind: conda @@ -4862,6 +5316,8 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/websockets size: 201426 timestamp: 1697914826988 - kind: conda @@ -4877,6 +5333,8 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/widgetsnbextension size: 886369 timestamp: 1707420479741 - kind: conda @@ -4893,6 +5351,8 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/wrapt size: 62482 timestamp: 1699532968076 - kind: conda @@ -5095,12 +5555,12 @@ packages: - kind: conda name: zeromq version: 4.3.5 - build: h75354e8_3 - build_number: 3 + build: h75354e8_4 + build_number: 4 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h75354e8_3.conda - sha256: c2f2db5d19b603546db025b47fb71765f8dda0a0fe8feb42bd4e6a46194a5590 - md5: 1b0ea5d6674e4e7dde0537c890813edb + url: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h75354e8_4.conda + sha256: bc9aaee39e7be107d7daff237435dfd8f791aca460a98583a36a263615205262 + md5: 03cc8d9838ad9dd0060ab532e81ccb21 depends: - krb5 >=1.21.2,<1.22.0a0 - libgcc-ng >=12 @@ -5108,8 +5568,8 @@ packages: - libstdcxx-ng >=12 license: MPL-2.0 license_family: MOZILLA - size: 351803 - timestamp: 1714545110790 + size: 353229 + timestamp: 1715607188837 - kind: conda name: zipp version: 3.17.0 @@ -5123,6 +5583,8 @@ packages: - python >=3.8 license: MIT license_family: MIT + purls: + - pkg:pypi/zipp size: 18954 timestamp: 1695255262261 - kind: conda diff --git a/pixi.toml b/pixi.toml index 71c7429..a2de7b2 100644 --- a/pixi.toml +++ b/pixi.toml @@ -21,6 +21,7 @@ sphinx-autobuild \ [dependencies] black = ">=24.4.2,<24.5" +graphviz = ">=9.0.0,<9.1" ipywidgets = ">=8.1.2,<8.2" isort = ">=5.13.2,<5.14" jax = ">=0.4.26,<0.5" @@ -39,4 +40,5 @@ python-graphviz = ">=0.20.3,<0.21" qrules = ">=0.10.1,<0.11" scipy = ">=1.13.0,<1.14" sphinx-autobuild = ">=2024.4.16,<2024.5" +sphinx-book-theme = ">=1.1.2,<1.2" sympy = ">=1.12,<2" From e774af9aefbf6d12842d3a1442b5f4875e11f288 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Thu, 16 May 2024 17:39:43 +0200 Subject: [PATCH 03/44] pgamma virtual state generation! --- docs/pgamma-state.ipynb | 150 +++++++++++++++++++++++++++++++++++++--- pixi.lock | 17 +++++ pixi.toml | 1 + 3 files changed, 157 insertions(+), 11 deletions(-) diff --git a/docs/pgamma-state.ipynb b/docs/pgamma-state.ipynb index 92e5d8e..b00a1db 100644 --- a/docs/pgamma-state.ipynb +++ b/docs/pgamma-state.ipynb @@ -84,7 +84,10 @@ }, "outputs": [], "source": [ - "from qrules.particle import load_pdg" + "from qrules.particle import load_pdg\n", + "\n", + "particle_db = load_pdg()\n", + "print(\"Number of loaded particles:\", len(particle_db))" ] }, { @@ -100,24 +103,17 @@ }, "outputs": [], "source": [ - "particle_db = load_pdg()\n", - "print(\"Number of loaded particles:\", len(particle_db))" + "particle_db.find(2212)" ] }, { "cell_type": "code", "execution_count": null, "id": "7", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ - "particle_db.find(2212)" + "particle_db.find(\"p\")" ] }, { @@ -140,6 +136,16 @@ "cell_type": "code", "execution_count": null, "id": "9", + "metadata": {}, + "outputs": [], + "source": [ + "particle_db.find(\"gamma\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10", "metadata": { "editable": true, "slideshow": { @@ -148,6 +154,128 @@ "tags": [] }, "outputs": [], + "source": [ + "from IPython.display import Math\n", + "\n", + "sigmas = particle_db.filter(\n", + " lambda p: p.name.startswith(\"p\") and p.mass == 0.93827208816 and p.charge == 1\n", + ")\n", + "Math(\", \".join(p.latex for p in sigmas))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11", + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Math\n", + "\n", + "sigmas = particle_db.filter(lambda p: p.name.startswith(\"gamma\"))\n", + "Math(\", \".join(p.latex for p in sigmas))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12", + "metadata": {}, + "outputs": [], + "source": [ + "proton = particle_db[\"p\"]\n", + "proton" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "13", + "metadata": {}, + "outputs": [], + "source": [ + "gamma = particle_db[\"gamma\"]\n", + "gamma" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "14", + "metadata": {}, + "outputs": [], + "source": [ + "from qrules.particle import Particle, Spin\n", + "\n", + "pgamma = Particle(\n", + " name=\"p\",\n", + " latex=r\"p \\gamma\",\n", + " spin=0.5,\n", + " mass=4.101931071854584,\n", + " charge=1,\n", + " isospin=Spin(1 / 2, +1 / 2),\n", + " baryon_number=1,\n", + " parity=-1,\n", + " pid=99999999,\n", + ")\n", + "pgamma" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15", + "metadata": {}, + "outputs": [], + "source": [ + "pgamma_s3over2 = Particle(\n", + " name=\"pgamma\",\n", + " latex=R\"p \\gamma (s3/2)\",\n", + " spin=1.5,\n", + " mass=4.101931071854584,\n", + " charge=1,\n", + " isospin=Spin(1 / 2, +1 / 2),\n", + " baryon_number=1,\n", + " parity=-1,\n", + " pid=99999999,\n", + ")\n", + "pgamma_s3over2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16", + "metadata": {}, + "outputs": [], + "source": [ + "pgamma_s3over2.latex" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "17", + "metadata": {}, + "outputs": [], + "source": [ + "pgamma.latex" + ] + }, + { + "cell_type": "markdown", + "id": "18", + "metadata": {}, + "source": [ + "The `pgamma` virtual state generated via `QRules` will be used in later stages!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "19", + "metadata": {}, + "outputs": [], "source": [] } ], diff --git a/pixi.lock b/pixi.lock index b8edcff..1f31ac1 100644 --- a/pixi.lock +++ b/pixi.lock @@ -111,6 +111,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-git-0.50.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-lsp-5.1.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab-myst-2.4.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_code_formatter-2.2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-3.0.10-pyhd8ed1ab_0.conda @@ -2320,6 +2321,22 @@ packages: - pkg:pypi/jupyterlab-myst size: 2127008 timestamp: 1714146125212 +- kind: conda + name: jupyterlab_code_formatter + version: 2.2.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_code_formatter-2.2.1-pyhd8ed1ab_0.conda + sha256: 8873858a9d3b730a1d6a199be6d4fa67367837d6fa55aa8fe464040522cd906d + md5: d67b33450635a2ad1b55d48838eb1eca + depends: + - jupyter_server >=1.21,<3 + - python >=3.7 + license: MIT + license_family: MIT + size: 28923 + timestamp: 1684681885304 - kind: conda name: jupyterlab_pygments version: 0.3.0 diff --git a/pixi.toml b/pixi.toml index a2de7b2..c8b913e 100644 --- a/pixi.toml +++ b/pixi.toml @@ -31,6 +31,7 @@ jupyterlab = ">=4.2.0,<4.3" jupyterlab-git = ">=0.50.0,<0.51" jupyterlab-lsp = ">=5.1.0,<5.2" jupyterlab-myst = ">=2.4.2,<2.5" +jupyterlab_code_formatter = ">=2.2.1,<2.3" myst-nb = ">=1.1.0,<1.2" numpy = ">=1.26.4,<1.27" pre-commit = ">=3.7.1,<3.8" From 7aa239afbd2a4c56ba32aa639abe3daecf1efd48 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Fri, 17 May 2024 17:24:40 +0200 Subject: [PATCH 04/44] ready to go draft of decay and gamma generation --- docs/index.md | 4 +- docs/pgamma-state.ipynb | 285 +++++++++++++++++++++++++++++----------- docs/reaction.md | 10 +- 3 files changed, 216 insertions(+), 83 deletions(-) diff --git a/docs/index.md b/docs/index.md index d0329a7..b08e62e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,11 +1,11 @@ # Amplitude Analysis 101 / PWA101 (v2.0) -## Amplitude models for photoproduction reaction +## CAS-assisted Amplitude Models building for photoproduction reaction This document is a follow-up of PWA101 (v1.0) (temporarily see [here](https://compwa--217.org.readthedocs.build/report/999.html)), as an introduction to Amplitude Analysis / Partial Wave Analysis (PWA) by demonstrating its application to a specific reaction channel and amplitude model. -Now the focus is the use of symbolic expressions (computations) with the use of [ComPWA packages](https://compwa.github.io/), or CAS(Computer Algebra System)-assisted model building in general (the python package `SymPy` in this case) to illustrate the general process in PWA. +Now the focus is the use of symbolic expressions (computations), with the use of [ComPWA packages](https://compwa.github.io/), or CAS(Computer Algebra System)-assisted model building in general (the python package `SymPy` in this case) to illustrate the general process in PWA. This tutorial aims to equip readers with deeper understanding of PWA methodologies and full workflow in the context of hadron physics through a practical, hands-on example with symbolic expressions via [ComPWA](https://compwa.github.io/). diff --git a/docs/pgamma-state.ipynb b/docs/pgamma-state.ipynb index b00a1db..d2ff38b 100644 --- a/docs/pgamma-state.ipynb +++ b/docs/pgamma-state.ipynb @@ -11,14 +11,7 @@ "tags": [] }, "source": [ - "::::{margin}\n", - ":::{card} Create a virtual particle that represents the state pγ in `QRules`\n", - "Report-0\n", - "^^^\n", - "+++\n", - "✅ [ComPWA/gluex-nstar#5](https://github.com/ComPWA/gluex-nstar/issues/5)\n", - ":::\n", - "::::" + "# Virtual particle that represents the state pγ " ] }, { @@ -32,7 +25,7 @@ "tags": [] }, "source": [ - "# Virtual particle that represents the state pγ " + "Address to issue ✅ [ComPWA/gluex-nstar#5](https://github.com/ComPWA/gluex-nstar/issues/5), this section is an investigation of creating a virtual particle that represents the state $p \\gamma$ in `QRules`" ] }, { @@ -46,21 +39,15 @@ "tags": [] }, "source": [ - "Address to issue [ComPWA/gluex-nstar#5](https://github.com/ComPWA/gluex-nstar/issues/5), this section is an investigation of creating a virtual particle that represents the state $p \\gamma$" + "As an example of side note, create a virtual particle that represents state $e^+ e^-$ can be seen [here](https://qrules.readthedocs.io/0.10.x/usage/particle/#adding-custom-particle-definitions-through-python)." ] }, { "cell_type": "markdown", "id": "3", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ - "As an example of side note, create a virtual particle that represents state $e^+ e^-$ can be seen [here](https://qrules.readthedocs.io/0.10.x/usage/particle/#adding-custom-particle-definitions-through-python)." + "## Finding particles" ] }, { @@ -68,7 +55,7 @@ "id": "4", "metadata": {}, "source": [ - "`QRules` is used for this task" + "Our reaction is $p + \\gamma \\to \\eta + \\pi^0 + p$, so we can look for each of the reaction and decay particles" ] }, { @@ -90,10 +77,34 @@ "print(\"Number of loaded particles:\", len(particle_db))" ] }, + { + "cell_type": "markdown", + "id": "6", + "metadata": {}, + "source": [ + "The [`ParticleCollection`](https://qrules.readthedocs.io/0.10.x/api/qrules.particle/#qrules.particle.ParticleCollection) class offers some methods to search for particles by name or by PID, name, or other properties." + ] + }, + { + "cell_type": "markdown", + "id": "7", + "metadata": {}, + "source": [ + "### Proton" + ] + }, + { + "cell_type": "markdown", + "id": "8", + "metadata": {}, + "source": [ + "Search by Particle ID (PID) for proton:" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "6", + "id": "9", "metadata": { "editable": true, "slideshow": { @@ -106,36 +117,57 @@ "particle_db.find(2212)" ] }, + { + "cell_type": "markdown", + "id": "10", + "metadata": {}, + "source": [ + "Search by Particle name for proton:" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "7", + "id": "11", "metadata": {}, "outputs": [], "source": [ - "particle_db.find(\"p\")" + "particle_db.find(\"p\")\n", + "proton = particle_db[\"p\"]" ] }, { "cell_type": "code", "execution_count": null, - "id": "8", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "id": "12", + "metadata": {}, "outputs": [], "source": [ - "particle_db.find(22)" + "from IPython.display import Math\n", + "\n", + "Math(proton.latex)" + ] + }, + { + "cell_type": "markdown", + "id": "13", + "metadata": {}, + "source": [ + "### $\\gamma$" + ] + }, + { + "cell_type": "markdown", + "id": "14", + "metadata": {}, + "source": [ + "similarly for $\\gamma$:" ] }, { "cell_type": "code", "execution_count": null, - "id": "9", + "id": "15", "metadata": {}, "outputs": [], "source": [ @@ -145,63 +177,134 @@ { "cell_type": "code", "execution_count": null, - "id": "10", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "id": "16", + "metadata": {}, "outputs": [], "source": [ - "from IPython.display import Math\n", - "\n", - "sigmas = particle_db.filter(\n", - " lambda p: p.name.startswith(\"p\") and p.mass == 0.93827208816 and p.charge == 1\n", - ")\n", - "Math(\", \".join(p.latex for p in sigmas))" + "gamma = particle_db[\"gamma\"]\n", + "Math(gamma.latex)" + ] + }, + { + "cell_type": "markdown", + "id": "17", + "metadata": {}, + "source": [ + "### $\\eta$" ] }, { "cell_type": "code", "execution_count": null, - "id": "11", + "id": "18", "metadata": {}, "outputs": [], "source": [ - "from IPython.display import Math\n", - "\n", - "sigmas = particle_db.filter(lambda p: p.name.startswith(\"gamma\"))\n", - "Math(\", \".join(p.latex for p in sigmas))" + "particle_db.find(\"eta\")" ] }, { "cell_type": "code", "execution_count": null, - "id": "12", + "id": "19", "metadata": {}, "outputs": [], "source": [ - "proton = particle_db[\"p\"]\n", - "proton" + "eta = particle_db[\"eta\"]\n", + "Math(gamma.latex)" + ] + }, + { + "cell_type": "markdown", + "id": "20", + "metadata": {}, + "source": [ + "### $\\pi^0$" ] }, { "cell_type": "code", "execution_count": null, - "id": "13", + "id": "21", "metadata": {}, "outputs": [], "source": [ - "gamma = particle_db[\"gamma\"]\n", - "gamma" + "particle_db.find(\"pi0\")" ] }, { "cell_type": "code", "execution_count": null, - "id": "14", + "id": "22", + "metadata": {}, + "outputs": [], + "source": [ + "pi0 = particle_db[\"pi0\"]\n", + "Math(pi0.latex)" + ] + }, + { + "cell_type": "markdown", + "id": "23", + "metadata": {}, + "source": [ + "# Adding custom particle" + ] + }, + { + "cell_type": "markdown", + "id": "24", + "metadata": {}, + "source": [ + "We add the virtual particle $p\\gamma$ to represent the state of $p-\\gamma$ system in the photoproduction reaction.\n", + "See PWA101 (temporary [here](https://compwa--217.org.readthedocs.build/report/999.html)), the value of the mass of the system $m_{p\\gamma}$ in CM frame is about 4.102 GeV in this analysis.\n", + "\n", + "\n", + "We use `Particle` from `QRules` for adding custom particle, so that some quantum numbers we need to determine for the $p\\gamma$ virtual state particle:\n", + "\n", + "* (Total) Spin\n", + " * $J_{p\\gamma} = \\frac{1}{2}$ or $\\frac{3}{2}$\n", + " \n", + " because $J_{p\\gamma}$ = from $|s_p-s_{\\gamma}|$ to $s_p + s_{\\gamma}$ = from $|\\frac{1}{2}-1|$ to $\\frac{1}{2} + 1$\n", + " \n", + "* Mass\n", + " * $m_{p\\gamma} = E_{p\\gamma} \\approx 4.102$\n", + " \n", + "* Charge\n", + " * $Q_{p\\gamma} = Q_p + Q_{\\gamma} = 1 $\n", + " \n", + "* Isospin and $3^{rd}# component of isospin\n", + " * $I_{p\\gamma} = I_p = \\frac{1}{2}$\n", + " * $I_{3_{p\\gamma}} = I_{3_p} = +\\frac{1}{2}$\n", + " \n", + "* Baryon Number\n", + " * $B_{p\\gamma} = B_p = 1$\n", + "\n", + "* Parity\n", + " * $P_{p\\gamma} = P_p \\times P_{\\gamma} = +1 \\times (-1) = -1$" + ] + }, + { + "cell_type": "markdown", + "id": "25", + "metadata": {}, + "source": [ + "These quantum numbers provide a complete and accurate description of the virtual particle representing the p−γ system with a mass of 4.102 GeV.\n", + "The pγ virtual particle has two possibilities for the total spin, while the other quantum numbers are fixed." + ] + }, + { + "cell_type": "markdown", + "id": "26", + "metadata": {}, + "source": [ + "We add the spin-$\\frac{1}{2}$ $p\\gamma$ virtual particle via `QRules` and named it $p\\gamma$ with a make-up pid number 99990" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "27", "metadata": {}, "outputs": [], "source": [ @@ -209,74 +312,104 @@ "\n", "pgamma = Particle(\n", " name=\"p\",\n", - " latex=r\"p \\gamma\",\n", + " latex=r\"p\\gamma (s1/2)\",\n", " spin=0.5,\n", " mass=4.101931071854584,\n", " charge=1,\n", " isospin=Spin(1 / 2, +1 / 2),\n", " baryon_number=1,\n", " parity=-1,\n", - " pid=99999999,\n", + " pid=99990,\n", ")\n", "pgamma" ] }, + { + "cell_type": "markdown", + "id": "28", + "metadata": {}, + "source": [ + "We add the spin-$\\frac{3}{2}$ $p\\gamma$ virtual particle via `QRules` and named it $p\\gamma (s3/2)$ with a make-up pid number 99991" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "15", + "id": "29", "metadata": {}, "outputs": [], "source": [ - "pgamma_s3over2 = Particle(\n", + "pgamma_j3over2 = Particle(\n", " name=\"pgamma\",\n", - " latex=R\"p \\gamma (s3/2)\",\n", + " latex=R\"p\\gamma (s3/2)\",\n", " spin=1.5,\n", " mass=4.101931071854584,\n", " charge=1,\n", " isospin=Spin(1 / 2, +1 / 2),\n", " baryon_number=1,\n", " parity=-1,\n", - " pid=99999999,\n", + " pid=99991,\n", ")\n", - "pgamma_s3over2" + "pgamma_j3over2" ] }, { "cell_type": "code", "execution_count": null, - "id": "16", + "id": "30", "metadata": {}, "outputs": [], "source": [ - "pgamma_s3over2.latex" + "Math(pgamma.latex)" ] }, { "cell_type": "code", "execution_count": null, - "id": "17", + "id": "31", "metadata": {}, "outputs": [], "source": [ - "pgamma.latex" + "Math(pgamma_j3over2.latex)" ] }, { "cell_type": "markdown", - "id": "18", + "id": "32", "metadata": {}, "source": [ - "The `pgamma` virtual state generated via `QRules` will be used in later stages!" + "The $`p\\gamma`$ virtual states generated via `QRules` will be used in later stages, both possible spin states $(J= \\frac{1}{2}$ and $\\frac{3}{2})$ should be taken into account if possible, otherwise simplified if necessary." ] }, { - "cell_type": "code", - "execution_count": null, - "id": "19", + "cell_type": "markdown", + "id": "33", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + ":::{important}\n", + "It is possible to add any kind of custom Particle, as long as its quantum numbers comply with the [gellmann_nishijima()](https://qrules.readthedocs.io/0.10.x/api/qrules.conservation_rules/#qrules.conservation_rules.gellmann_nishijima) rule:\n", + ":::\n" + ] + }, + { + "cell_type": "markdown", + "id": "34", + "metadata": {}, + "source": [ + ":::{note}\n", + "[Gell-Mann-Nishijima formula](https://en.wikipedia.org/wiki/Gell-Mann–Nishijima_formula):\n", + "$Q = I_3 + \\frac{1}{2}(B+S+C+B'+T)$\n", + "\n", + "where \n", + "Q is charge, \n", + "$I_3$ is Spin projection of isospin, \n", + " B is baryon number, \n", + " S is strangeness, \n", + " C is charmness, \n", + " B' is bottomness, and \n", + " T is topness.\n", + ":::\n" + ] } ], "metadata": { diff --git a/docs/reaction.md b/docs/reaction.md index 0f8a6cd..17f3519 100644 --- a/docs/reaction.md +++ b/docs/reaction.md @@ -1,17 +1,17 @@ -# Reaction and amplitude models +# Reaction and Models -## Reaction +## Reaction with Resonances and Decay -The (photo-production) reaction is $ \gamma p \to \eta \pi^0 p$, it is described by a amplitude model with three possible resonances: $a_2$, $\Delta^+$, and $N^*$. +The (photo-production) reaction is $ \gamma p \to \eta \pi^0 p$, its decay is described by an amplitude model with three possible resonances: $a_2$, $\Delta^+$, and $N^*$. ```{image} https://github.com/ComPWA/compwa-org/assets/17490173/ec6bf191-bd5f-43b0-a6cb-da470b071630 :width: 100% ``` -## Amplitude models +## Amplitude Models The amplitude model is adapted from the [Lecture 11 in STRONG2020 HaSP School](https://indico.ific.uv.es/event/6803/contributions/21223/), only the Breit-Wigner and Spherical harmonics terms are kept for doing PWA eventually, as shown in equation {eq}`BW_SH_label`. @@ -24,7 +24,7 @@ A^{31} &=& \frac{c_0}{s-m^2_{N^*}+im_{N^*} \Gamma_{N^*}} \end{eqnarray} $$ (BW_SH_label) -where s is the Mandelstam variable, m is the mass, $\Gamma$ is the width, Y is the spherical harmonics, $\Omega$ is the decay angles (a pair of Euler angles), and a, b, and c are coefficients +where s is the Mandelstam variable, m is the mass, $\Gamma$ is the width, $Y^m_l$ is the spherical harmonics, $\Omega_i$ is the decay angles (a pair of Euler angles), and $a_i$, $b_i$, and $c_i$ are coefficients :::{note} Mandelstam variables $s_{ij}=(p_i+p_j)^2$, $t_i=(p_a-p_i)^2$, and $u_i=(p_b-p_i)^2$. From 62d51927a94866cf5233fb2f8aae790e905bdfd7 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Wed, 22 May 2024 11:43:43 +0200 Subject: [PATCH 05/44] Add ampform as dependency --- pixi.lock | 579 +++++++++--------------------------------------------- pixi.toml | 1 + 2 files changed, 95 insertions(+), 485 deletions(-) diff --git a/pixi.lock b/pixi.lock index 1f31ac1..948f5fd 100644 --- a/pixi.lock +++ b/pixi.lock @@ -9,6 +9,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ampform-0.15.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h98912ed_4.conda @@ -84,7 +85,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.29.3-pyhd33586a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-8.24.0-pyh707e725_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-py_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/ipywidgets-8.1.2-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/isort-5.13.2-pyhd8ed1ab_0.conda @@ -101,7 +101,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-cache-1.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.2.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter-server-mathjax-0.2.6-pyh5bfe37b_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-7.4.9-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_console-6.6.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/jupyter_core-5.7.2-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.10.0-pyhd8ed1ab_0.conda @@ -160,14 +160,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.4.0-py312hfb8ada1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.4.0-py312h1d6d2e6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h9458935_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-3.0.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/nbclassic-1.0.0-pyhb4ecaf3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-7.16.4-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.4-pyhd8ed1ab_0.conda @@ -177,10 +176,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.8.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-6.5.7-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.0-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.0-h4ab18f5_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/opt-einsum-3.3.0-hd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/opt_einsum-3.3.0-pyhc1e730c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_0.conda @@ -225,13 +224,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2023.09.01-h7f4b329_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.35.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.31.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.18.1-py312h4413252_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.13.0-py312hc2bc53b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-69.5.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-70.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/singledispatchmethod-1.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda @@ -337,8 +337,6 @@ packages: - python >=3.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/accessible-pygments size: 15626 timestamp: 1679583960534 - kind: conda @@ -354,10 +352,29 @@ packages: - python >=3.9 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/alabaster size: 18365 timestamp: 1704848898483 +- kind: conda + name: ampform + version: 0.15.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/ampform-0.15.3-pyhd8ed1ab_0.conda + sha256: bd2a51349635cb2dee6f197d7bc75af934710ddb9b2c998070127d1b6ddc0385 + md5: 7f698ec34d66b9bc40c03375a3efaf2c + depends: + - attrs >=20.1.0 + - importlib-metadata + - python >=3.7 + - qrules >=0.9.6 + - singledispatchmethod + - sympy >=1.10 + - typing-extensions + license: GPL-3.0-or-later + license_family: GPL + size: 76396 + timestamp: 1716358323855 - kind: conda name: anyio version: 4.3.0 @@ -378,8 +395,6 @@ packages: - uvloop >=0.17 license: MIT license_family: MIT - purls: - - pkg:pypi/anyio size: 102331 timestamp: 1708355504396 - kind: conda @@ -399,8 +414,6 @@ packages: - argon2_cffi ==999 license: MIT license_family: MIT - purls: - - pkg:pypi/argon2-cffi size: 18602 timestamp: 1692818472638 - kind: conda @@ -419,8 +432,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/argon2-cffi-bindings size: 35142 timestamp: 1695386704886 - kind: conda @@ -438,8 +449,6 @@ packages: - types-python-dateutil >=2.8.10 license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/arrow size: 100096 timestamp: 1696129131844 - kind: conda @@ -456,8 +465,6 @@ packages: - six >=1.12.0 license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/asttokens size: 28922 timestamp: 1698341257884 - kind: conda @@ -474,8 +481,6 @@ packages: - typing_extensions >=4.0.0 license: MIT license_family: MIT - purls: - - pkg:pypi/async-lru size: 15342 timestamp: 1690563152778 - kind: conda @@ -510,8 +515,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/attrs size: 54582 timestamp: 1704011393776 - kind: conda @@ -529,8 +532,6 @@ packages: - setuptools license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/babel size: 7609750 timestamp: 1702422720584 - kind: conda @@ -547,8 +548,6 @@ packages: - soupsieve >=1.2 license: MIT license_family: MIT - purls: - - pkg:pypi/beautifulsoup4 size: 118200 timestamp: 1705564819537 - kind: conda @@ -569,8 +568,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/black size: 387770 timestamp: 1714119755759 - kind: conda @@ -590,9 +587,6 @@ packages: - webencodings license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/html5lib - - pkg:pypi/bleach size: 131220 timestamp: 1696630354218 - kind: conda @@ -613,8 +607,6 @@ packages: - libbrotlicommon 1.1.0 hd590300_1 license: MIT license_family: MIT - purls: - - pkg:pypi/brotli size: 350604 timestamp: 1695990206327 - kind: conda @@ -687,8 +679,6 @@ packages: - python >=3.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/cached-property size: 11065 timestamp: 1615209567874 - kind: conda @@ -732,8 +722,6 @@ packages: depends: - python >=3.7 license: ISC - purls: - - pkg:pypi/certifi size: 160559 timestamp: 1707022289175 - kind: conda @@ -752,8 +740,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/cffi size: 294523 timestamp: 1696001868949 - kind: conda @@ -769,8 +755,6 @@ packages: - python >=3.6.1 license: MIT license_family: MIT - purls: - - pkg:pypi/cfgv size: 10788 timestamp: 1629909423398 - kind: conda @@ -786,8 +770,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/charset-normalizer size: 46597 timestamp: 1698833765762 - kind: conda @@ -804,8 +786,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/click size: 84437 timestamp: 1692311973840 - kind: conda @@ -821,8 +801,6 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/colorama size: 25170 timestamp: 1666700778190 - kind: conda @@ -839,8 +817,6 @@ packages: - traitlets >=5.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/comm size: 12134 timestamp: 1710320435158 - kind: conda @@ -858,9 +834,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/debugpy - - pkg:pypi/bytecode size: 2079306 timestamp: 1707444570818 - kind: conda @@ -876,8 +849,6 @@ packages: - python >=3.5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/decorator size: 12072 timestamp: 1641555714315 - kind: conda @@ -893,8 +864,6 @@ packages: - python >=3.6 license: PSF-2.0 license_family: PSF - purls: - - pkg:pypi/defusedxml size: 24062 timestamp: 1615232388757 - kind: conda @@ -911,8 +880,6 @@ packages: - wrapt <2,>=1.10 license: MIT license_family: MIT - purls: - - pkg:pypi/deprecated size: 14033 timestamp: 1685233463632 - kind: conda @@ -928,8 +895,6 @@ packages: - python 2.7|>=3.6 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/distlib size: 274915 timestamp: 1702383349284 - kind: conda @@ -944,8 +909,6 @@ packages: depends: - python >=3.9 license: CC-PDDC AND BSD-3-Clause AND BSD-2-Clause AND ZPL-2.1 - purls: - - pkg:pypi/docutils size: 403226 timestamp: 1713930478970 - kind: conda @@ -961,8 +924,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/entrypoints size: 9199 timestamp: 1643888357950 - kind: conda @@ -978,8 +939,6 @@ packages: depends: - python >=3.7 license: MIT and PSF-2.0 - purls: - - pkg:pypi/exceptiongroup size: 20551 timestamp: 1704921321122 - kind: conda @@ -995,8 +954,6 @@ packages: - python >=2.7 license: MIT license_family: MIT - purls: - - pkg:pypi/executing size: 27689 timestamp: 1698580072627 - kind: conda @@ -1026,8 +983,6 @@ packages: depends: - python >=3.7 license: Unlicense - purls: - - pkg:pypi/filelock size: 15902 timestamp: 1714422911808 - kind: conda @@ -1148,8 +1103,6 @@ packages: - python >=2.7,<4 license: MPL-2.0 license_family: MOZILLA - purls: - - pkg:pypi/fqdn size: 14395 timestamp: 1638810388635 - kind: conda @@ -1227,8 +1180,6 @@ packages: - smmap >=3.0.1,<6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/gitdb size: 52872 timestamp: 1697791718749 - kind: conda @@ -1246,8 +1197,6 @@ packages: - typing_extensions >=3.7.4.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/gitpython size: 156827 timestamp: 1711991122366 - kind: conda @@ -1283,8 +1232,6 @@ packages: - python_abi 3.12.* *_cp312 license: LGPL-3.0-or-later license_family: LGPL - purls: - - pkg:pypi/gmpy2 size: 212406 timestamp: 1715527440339 - kind: conda @@ -1346,8 +1293,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/greenlet size: 233067 timestamp: 1703201779255 - kind: conda @@ -1407,8 +1352,6 @@ packages: - typing_extensions license: MIT license_family: MIT - purls: - - pkg:pypi/h11 size: 48251 timestamp: 1664132995560 - kind: conda @@ -1426,8 +1369,6 @@ packages: - python >=3.6.1 license: MIT license_family: MIT - purls: - - pkg:pypi/h2 size: 46754 timestamp: 1634280590080 - kind: conda @@ -1463,8 +1404,6 @@ packages: - python !=3.0,!=3.1,!=3.2,!=3.3,!=3.4 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/hepunits size: 16269 timestamp: 1704724071084 - kind: conda @@ -1480,8 +1419,6 @@ packages: - python license: MIT license_family: MIT - purls: - - pkg:pypi/hpack size: 25341 timestamp: 1598856368685 - kind: conda @@ -1502,8 +1439,6 @@ packages: - sniffio 1.* license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/httpcore size: 45816 timestamp: 1711597091407 - kind: conda @@ -1524,8 +1459,6 @@ packages: - sniffio license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/httpx size: 64651 timestamp: 1708531043505 - kind: conda @@ -1541,8 +1474,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/hyperframe size: 14646 timestamp: 1619110249723 - kind: conda @@ -1574,8 +1505,6 @@ packages: - ukkonen license: MIT license_family: MIT - purls: - - pkg:pypi/identify size: 78375 timestamp: 1713673091737 - kind: conda @@ -1591,8 +1520,6 @@ packages: - python >=3.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/idna size: 52718 timestamp: 1713279497047 - kind: conda @@ -1608,8 +1535,6 @@ packages: - python >=3.4 license: MIT license_family: MIT - purls: - - pkg:pypi/imagesize size: 10164 timestamp: 1656939625410 - kind: conda @@ -1626,8 +1551,6 @@ packages: - zipp >=0.5 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/importlib-metadata size: 27043 timestamp: 1710971498183 - kind: conda @@ -1661,8 +1584,6 @@ packages: - importlib-resources >=6.4.0,<6.4.1.0a0 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/importlib-resources size: 33056 timestamp: 1711041009039 - kind: conda @@ -1691,8 +1612,6 @@ packages: - traitlets >=5.4.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/ipykernel size: 119050 timestamp: 1708996727913 - kind: conda @@ -1720,27 +1639,8 @@ packages: - typing_extensions >=4.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/ipython size: 596366 timestamp: 1715263505659 -- kind: conda - name: ipython_genutils - version: 0.2.0 - build: py_1 - build_number: 1 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-py_1.tar.bz2 - sha256: 0fafbc60209f1d8c0b89a2f79f3ff0f7bc45589a23da1d2e5cc55bcca906707b - md5: 5071c982548b3a20caf70462f04f5287 - depends: - - python - license: BSD 3-Clause - purls: - - pkg:pypi/ipython-genutils - size: 21562 - timestamp: 1530963305778 - kind: conda name: ipywidgets version: 8.1.2 @@ -1760,8 +1660,6 @@ packages: - widgetsnbextension >=4.0.10,<4.1.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/ipywidgets size: 113743 timestamp: 1715139776347 - kind: conda @@ -1778,8 +1676,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/isoduration size: 17189 timestamp: 1638811664194 - kind: conda @@ -1796,8 +1692,6 @@ packages: - setuptools license: MIT license_family: MIT - purls: - - pkg:pypi/isort size: 73783 timestamp: 1702518633821 - kind: conda @@ -1819,8 +1713,6 @@ packages: - scipy >=1.9 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/jax size: 1275628 timestamp: 1715569349254 - kind: conda @@ -1849,8 +1741,6 @@ packages: - jax >=0.4.23 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/jaxlib size: 54809457 timestamp: 1714685146833 - kind: conda @@ -1867,8 +1757,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/jedi size: 841312 timestamp: 1696326218364 - kind: conda @@ -1885,8 +1773,6 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jinja2 size: 111565 timestamp: 1715127275924 - kind: conda @@ -1902,8 +1788,6 @@ packages: - python >=3.7,<4.0 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/json5 size: 27995 timestamp: 1712986338874 - kind: conda @@ -1920,8 +1804,6 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jsonpointer size: 18033 timestamp: 1695397448370 - kind: conda @@ -1943,8 +1825,6 @@ packages: - rpds-py >=0.7.1 license: MIT license_family: MIT - purls: - - pkg:pypi/jsonschema size: 74149 timestamp: 1714573245148 - kind: conda @@ -1962,8 +1842,6 @@ packages: - referencing >=0.31.0 license: MIT license_family: MIT - purls: - - pkg:pypi/jsonschema-specifications size: 16431 timestamp: 1703778502971 - kind: conda @@ -2010,8 +1888,6 @@ packages: - qtconsole-base license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter size: 8620 timestamp: 1696255649672 - kind: conda @@ -2035,8 +1911,6 @@ packages: - tabulate license: MIT license_family: MIT - purls: - - pkg:pypi/jupyter-cache size: 31425 timestamp: 1701833284830 - kind: conda @@ -2054,8 +1928,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-lsp size: 55539 timestamp: 1712707521811 - kind: conda @@ -2073,34 +1945,29 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-server-mathjax size: 2046225 timestamp: 1672324687778 - kind: conda name: jupyter_client - version: 7.4.9 + version: 8.6.1 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-7.4.9-pyhd8ed1ab_0.conda - sha256: 38e67f3e0d631f4aeeab4bbd4062dcb6f4ae9dc35803053c995d02912a999b65 - md5: 5cbf9a31a19d4ef9103adb7d71fd45fd + url: https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.6.1-pyhd8ed1ab_0.conda + sha256: c7d10d7941fd2e61480e49d3b2b21a530af4ae4b0d449a1746a72a38bacb63e2 + md5: c03972cfce69ad913d520c652e5ed908 depends: - - entrypoints - - jupyter_core >=4.9.2 - - nest-asyncio >=1.5.4 - - python >=3.7 + - importlib_metadata >=4.8.3 + - jupyter_core >=4.12,!=5.0.* + - python >=3.8 - python-dateutil >=2.8.2 - pyzmq >=23.0 - tornado >=6.2 - - traitlets + - traitlets >=5.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-client - size: 99449 - timestamp: 1673616104031 + size: 106042 + timestamp: 1710255955150 - kind: conda name: jupyter_console version: 6.6.3 @@ -2122,8 +1989,6 @@ packages: - traitlets >=5.4 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-console size: 26484 timestamp: 1678118234022 - kind: conda @@ -2141,8 +2006,6 @@ packages: - traitlets >=5.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-core size: 92843 timestamp: 1710257533875 - kind: conda @@ -2165,8 +2028,6 @@ packages: - traitlets >=5.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-events size: 21475 timestamp: 1710805759187 - kind: conda @@ -2200,8 +2061,6 @@ packages: - websocket-client license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-server size: 324713 timestamp: 1712884350803 - kind: conda @@ -2218,8 +2077,6 @@ packages: - terminado >=0.8.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyter-server-terminals size: 19818 timestamp: 1710262791393 - kind: conda @@ -2251,8 +2108,6 @@ packages: - traitlets license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyterlab size: 7982250 timestamp: 1715435694295 - kind: conda @@ -2277,8 +2132,6 @@ packages: - jupyterlab >=4,<5 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyterlab-git size: 902783 timestamp: 1707314502152 - kind: conda @@ -2297,8 +2150,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyterlab-lsp size: 605141 timestamp: 1712707553867 - kind: conda @@ -2317,8 +2168,6 @@ packages: - jupyterlab >=4,<5 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyterlab-myst size: 2127008 timestamp: 1714146125212 - kind: conda @@ -2354,8 +2203,6 @@ packages: - jupyterlab >=4.0.8,<5.0.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyterlab-pygments size: 18776 timestamp: 1707149279640 - kind: conda @@ -2381,8 +2228,6 @@ packages: - openapi-core >=0.18.0,<0.19.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyterlab-server size: 49223 timestamp: 1713899139823 - kind: conda @@ -2400,8 +2245,6 @@ packages: - jupyterlab >=3,<5 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/jupyterlab-widgets size: 187135 timestamp: 1707422097508 - kind: conda @@ -3071,8 +2914,6 @@ packages: - tornado license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/livereload size: 24973 timestamp: 1598114846810 - kind: conda @@ -3089,8 +2930,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/markdown-it-py size: 64356 timestamp: 1686175179621 - kind: conda @@ -3109,8 +2948,6 @@ packages: - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/markupsafe size: 26685 timestamp: 1706900070330 - kind: conda @@ -3127,8 +2964,6 @@ packages: - traitlets license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/matplotlib-inline size: 14599 timestamp: 1713250613726 - kind: conda @@ -3145,8 +2980,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/mdit-py-plugins size: 41972 timestamp: 1715570303416 - kind: conda @@ -3162,8 +2995,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/mdurl size: 14680 timestamp: 1704317789138 - kind: conda @@ -3179,29 +3010,26 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/mistune size: 66022 timestamp: 1698947249750 - kind: conda name: ml_dtypes version: 0.4.0 - build: py312hfb8ada1_0 + build: py312h1d6d2e6_1 + build_number: 1 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.4.0-py312hfb8ada1_0.conda - sha256: f69343cc2989e467d1e706aa21921da9aca9b9e5a70adc549b701d772184425d - md5: 1eefdd8512910e8788808645226c77d6 + url: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.4.0-py312h1d6d2e6_1.conda + sha256: 7a27970a62c65eba0da9aa20c08bee3593ca0d0473e42c674fa0b96fa5d1da72 + md5: ff893cf9cee50a89122e5b765e8a1c37 depends: - libgcc-ng >=12 - libstdcxx-ng >=12 - - numpy >=1.26.4,<2.0a0 + - numpy >=1.19,<3 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: MPL-2.0 AND Apache-2.0 - purls: - - pkg:pypi/ml-dtypes - size: 171105 - timestamp: 1712049343644 + size: 171303 + timestamp: 1715895755176 - kind: conda name: mpc version: 1.3.1 @@ -3247,8 +3075,6 @@ packages: - python >=3.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/mpmath size: 438339 timestamp: 1678228210181 - kind: conda @@ -3264,8 +3090,6 @@ packages: - python >=3.5 license: MIT license_family: MIT - purls: - - pkg:pypi/mypy-extensions size: 10492 timestamp: 1675543414256 - kind: conda @@ -3291,8 +3115,6 @@ packages: - typing_extensions license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/myst-nb size: 63221 timestamp: 1712945975741 - kind: conda @@ -3314,45 +3136,8 @@ packages: - sphinx >=6,<8 license: MIT license_family: MIT - purls: - - pkg:pypi/myst-parser size: 72235 timestamp: 1714413912964 -- kind: conda - name: nbclassic - version: 1.0.0 - build: pyhb4ecaf3_1 - build_number: 1 - subdir: noarch - noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/nbclassic-1.0.0-pyhb4ecaf3_1.conda - sha256: fc2b2e606ccbd0aaa2cdecdd33fc39e2c4bd7b5b96a64b89b3e6ad9ce20eec2f - md5: a0be31e9bd84d6eae87cdbf74c56b90b - depends: - - argon2-cffi - - ipykernel - - ipython_genutils - - jinja2 - - jupyter_client >=6.1.1 - - jupyter_core >=4.6.1 - - jupyter_server >=1.8 - - nbconvert >=5 - - nbformat - - nest-asyncio >=1.5 - - notebook-shim >=0.2.3 - - prometheus_client - - python >=3.7 - - pyzmq >=17 - - send2trash >=1.8.0 - - terminado >=0.8.3 - - tornado >=6.1 - - traitlets >=4.2.1 - license: BSD-3-Clause - license_family: BSD - purls: - - pkg:pypi/nbclassic - size: 5939112 - timestamp: 1683202466763 - kind: conda name: nbclient version: 0.10.0 @@ -3370,8 +3155,6 @@ packages: - traitlets >=5.4 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/nbclient size: 27851 timestamp: 1710317767117 - kind: conda @@ -3422,8 +3205,6 @@ packages: - nbconvert =7.16.4=*_0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/nbconvert size: 189004 timestamp: 1714477286178 - kind: conda @@ -3464,8 +3245,6 @@ packages: - tornado license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/nbdime size: 4420024 timestamp: 1700575801912 - kind: conda @@ -3485,8 +3264,6 @@ packages: - traitlets >=5.1 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/nbformat size: 101232 timestamp: 1712239122969 - kind: conda @@ -3515,8 +3292,6 @@ packages: - python >=3.5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/nest-asyncio size: 11638 timestamp: 1705850780510 - kind: conda @@ -3533,43 +3308,28 @@ packages: - setuptools license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/nodeenv size: 34358 timestamp: 1683893151613 - kind: conda name: notebook - version: 6.5.7 - build: pyha770c72_0 + version: 7.2.0 + build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/notebook-6.5.7-pyha770c72_0.conda - sha256: e37db45223e432bcad809897177e05fff31828dfcfc3ef18f046ae44ec01286c - md5: f81a6fe643390df9347984644727d796 + url: https://conda.anaconda.org/conda-forge/noarch/notebook-7.2.0-pyhd8ed1ab_0.conda + sha256: ae2d2d9d6d83457374ae42464aee22c1575355743065b1624ca5b8d6ac222f1b + md5: d90ee86e24611ac4f3c1cb60f841bc23 depends: - - argon2-cffi - - ipykernel - - ipython_genutils - - jinja2 - - jupyter_client >=5.3.4,<8 - - jupyter_core >=4.6.1 - - nbclassic >=0.4.7 - - nbconvert-core >=5 - - nbformat - - nest-asyncio >=1.5 - - prometheus_client - - python >=3.7 - - pyzmq >=17 - - send2trash >=1.8.0 - - terminado >=0.8.3 - - tornado >=6.1 - - traitlets >=4.2.1 + - jupyter_server >=2.4.0,<3 + - jupyterlab >=4.2.0,<4.3 + - jupyterlab_server >=2.27.1,<3 + - notebook-shim >=0.2,<0.3 + - python >=3.8 + - tornado >=6.2.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/notebook - size: 308643 - timestamp: 1715849037288 + size: 4009405 + timestamp: 1715879797483 - kind: conda name: notebook-shim version: 0.2.4 @@ -3584,8 +3344,6 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/notebook-shim size: 16880 timestamp: 1707957948029 - kind: conda @@ -3608,18 +3366,17 @@ packages: - numpy-base <0a0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/numpy size: 7484186 timestamp: 1707225809722 - kind: conda name: openssl version: 3.3.0 - build: hd590300_0 + build: h4ab18f5_2 + build_number: 2 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.0-hd590300_0.conda - sha256: fdbf05e4db88c592366c90bb82e446edbe33c6e49e5130d51c580b2629c0b5d5 - md5: c0f3abb4a16477208bbd43a39bd56f18 + url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.0-h4ab18f5_2.conda + sha256: e56d9121f553f16ef21d2664c569cd50336291fa1458be5e5c654553a43737e7 + md5: b8934d399b56d73e323403e183d009c5 depends: - ca-certificates - libgcc-ng >=12 @@ -3627,8 +3384,8 @@ packages: - pyopenssl >=22.1 license: Apache-2.0 license_family: Apache - size: 2895187 - timestamp: 1714466138265 + size: 2894882 + timestamp: 1716285197781 - kind: conda name: opt-einsum version: 3.3.0 @@ -3660,8 +3417,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/opt-einsum size: 58004 timestamp: 1696449058916 - kind: conda @@ -3678,8 +3433,6 @@ packages: - typing_utils license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/overrides size: 30232 timestamp: 1706394723472 - kind: conda @@ -3695,8 +3448,6 @@ packages: - python >=3.8 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/packaging size: 49832 timestamp: 1710076089469 - kind: conda @@ -3724,8 +3475,6 @@ packages: - python !=3.0,!=3.1,!=3.2,!=3.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pandocfilters size: 11627 timestamp: 1631603397334 - kind: conda @@ -3762,8 +3511,6 @@ packages: - python >=3.6 license: MIT license_family: MIT - purls: - - pkg:pypi/parso size: 75191 timestamp: 1712320447201 - kind: conda @@ -3784,8 +3531,6 @@ packages: - typing-extensions >=4.5 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/particle size: 163439 timestamp: 1713892152317 - kind: conda @@ -3801,8 +3546,6 @@ packages: - python >=3.7 license: MPL-2.0 license_family: MOZILLA - purls: - - pkg:pypi/pathspec size: 41173 timestamp: 1702250135032 - kind: conda @@ -3834,8 +3577,6 @@ packages: - ptyprocess >=0.5 - python >=3.7 license: ISC - purls: - - pkg:pypi/pexpect size: 53600 timestamp: 1706113273252 - kind: conda @@ -3852,8 +3593,6 @@ packages: - python >=3 license: MIT license_family: MIT - purls: - - pkg:pypi/pickleshare size: 9332 timestamp: 1602536313357 - kind: conda @@ -3884,8 +3623,6 @@ packages: depends: - python >=3.6 license: MIT AND PSF-2.0 - purls: - - pkg:pypi/pkgutil-resolve-name size: 10778 timestamp: 1694617398467 - kind: conda @@ -3901,8 +3638,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/platformdirs size: 20572 timestamp: 1715777739019 - kind: conda @@ -3923,8 +3658,6 @@ packages: - virtualenv >=20.10.0 license: MIT license_family: MIT - purls: - - pkg:pypi/pre-commit size: 179748 timestamp: 1715432871404 - kind: conda @@ -3940,8 +3673,6 @@ packages: - python >=3.8 license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/prometheus-client size: 48913 timestamp: 1707932844383 - kind: conda @@ -3960,8 +3691,6 @@ packages: - prompt_toolkit 3.0.42 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/prompt-toolkit size: 270398 timestamp: 1702399557137 - kind: conda @@ -3993,8 +3722,6 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/psutil size: 486243 timestamp: 1705722547420 - kind: conda @@ -4024,8 +3751,6 @@ packages: depends: - python license: ISC - purls: - - pkg:pypi/ptyprocess size: 16546 timestamp: 1609419417991 - kind: conda @@ -4041,8 +3766,6 @@ packages: - python >=3.5 license: MIT license_family: MIT - purls: - - pkg:pypi/pure-eval size: 14551 timestamp: 1642876055775 - kind: conda @@ -4058,8 +3781,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pycparser size: 105098 timestamp: 1711811634025 - kind: conda @@ -4083,8 +3804,6 @@ packages: - typing-extensions license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pydata-sphinx-theme size: 1375728 timestamp: 1705630287042 - kind: conda @@ -4100,8 +3819,6 @@ packages: - python >=3.8 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/pygments size: 879295 timestamp: 1714846885370 - kind: conda @@ -4119,8 +3836,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pysocks size: 18981 timestamp: 1661604969727 - kind: conda @@ -4166,8 +3881,6 @@ packages: - python license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/python-constraint size: 21336 timestamp: 1541423579379 - kind: conda @@ -4184,8 +3897,6 @@ packages: - six >=1.5 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/python-dateutil size: 222742 timestamp: 1709299922152 - kind: conda @@ -4201,8 +3912,6 @@ packages: - python >=3.3 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/fastjsonschema size: 225250 timestamp: 1703781171097 - kind: conda @@ -4219,8 +3928,6 @@ packages: - python >=3 license: MIT license_family: MIT - purls: - - pkg:pypi/graphviz size: 38226 timestamp: 1711016613215 - kind: conda @@ -4236,8 +3943,6 @@ packages: - python >=3.6 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/python-json-logger size: 13383 timestamp: 1677079727691 - kind: conda @@ -4268,8 +3973,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/pytz size: 188538 timestamp: 1706886944988 - kind: conda @@ -4288,8 +3991,6 @@ packages: - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT - purls: - - pkg:pypi/pyyaml size: 196583 timestamp: 1695373632212 - kind: conda @@ -4309,8 +4010,6 @@ packages: - zeromq >=4.3.5,<4.4.0a0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/pyzmq size: 461684 timestamp: 1715024520808 - kind: conda @@ -4333,8 +4032,6 @@ packages: - typing-extensions license: GPL-3.0-or-later license_family: GPL - purls: - - pkg:pypi/qrules size: 74164 timestamp: 1709326984310 - kind: conda @@ -4357,8 +4054,6 @@ packages: - traitlets license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/qtconsole size: 100292 timestamp: 1714943047487 - kind: conda @@ -4375,8 +4070,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/qtpy size: 61808 timestamp: 1698112171285 - kind: conda @@ -4425,19 +4118,17 @@ packages: - rpds-py >=0.7.0 license: MIT license_family: MIT - purls: - - pkg:pypi/referencing size: 42210 timestamp: 1714619625532 - kind: conda name: requests - version: 2.31.0 + version: 2.32.2 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/requests-2.31.0-pyhd8ed1ab_0.conda - sha256: 9f629d6fd3c8ac5f2a198639fe7af87c4db2ac9235279164bfe0fcb49d8c4bad - md5: a30144e4156cdbb236f99ebb49828f8b + url: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.2-pyhd8ed1ab_0.conda + sha256: 115b796fddc846bee6f47e3c57d04d12fa93a47a7a8ef639cefdc05203c1bf00 + md5: e1643b34b19df8c028a4f00bf5df58a6 depends: - certifi >=2017.4.17 - charset-normalizer >=2,<4 @@ -4447,11 +4138,8 @@ packages: constrains: - chardet >=3.0.2,<6 license: Apache-2.0 - license_family: APACHE - purls: - - pkg:pypi/requests - size: 56690 - timestamp: 1684774408600 + size: 57885 + timestamp: 1716354575895 - kind: conda name: rfc3339-validator version: 0.1.4 @@ -4466,8 +4154,6 @@ packages: - six license: MIT license_family: MIT - purls: - - pkg:pypi/rfc3339-validator size: 8064 timestamp: 1638811838081 - kind: conda @@ -4483,8 +4169,6 @@ packages: - python license: MIT license_family: MIT - purls: - - pkg:pypi/rfc3986-validator size: 7818 timestamp: 1598024297745 - kind: conda @@ -4501,8 +4185,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/rpds-py size: 922258 timestamp: 1715090163612 - kind: conda @@ -4528,8 +4210,6 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/scipy size: 17333402 timestamp: 1714795102913 - kind: conda @@ -4546,27 +4226,38 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/send2trash size: 22868 timestamp: 1712585140895 - kind: conda name: setuptools - version: 69.5.1 + version: 70.0.0 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/setuptools-69.5.1-pyhd8ed1ab_0.conda - sha256: 72d143408507043628b32bed089730b6d5f5445eccc44b59911ec9f262e365e7 - md5: 7462280d81f639363e6e63c81276bd9e + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-70.0.0-pyhd8ed1ab_0.conda + sha256: daa4638d288cfdf3b0ecea395d8efa25cafc4ebf4026464a36c797c84541d2be + md5: c8ddb4f34a208df4dd42509a0f6a1c89 depends: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/setuptools - size: 501790 - timestamp: 1713094963112 + size: 483015 + timestamp: 1716368141661 +- kind: conda + name: singledispatchmethod + version: '1.0' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/singledispatchmethod-1.0-pyhd8ed1ab_0.tar.bz2 + sha256: c743d4361e5512bccb902b16898ca2186091518c70be8a6c47c196c634048148 + md5: e237d56c3f2fa2cb34d9dd0553590f94 + depends: + - python >=2.7 + license: MIT + license_family: MIT + size: 9246 + timestamp: 1659474768029 - kind: conda name: six version: 1.16.0 @@ -4580,8 +4271,6 @@ packages: - python license: MIT license_family: MIT - purls: - - pkg:pypi/six size: 14259 timestamp: 1620240338595 - kind: conda @@ -4597,8 +4286,6 @@ packages: - python >=3.5 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/smmap size: 22483 timestamp: 1634310465482 - kind: conda @@ -4614,8 +4301,6 @@ packages: - python >=3.7 license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/sniffio size: 15064 timestamp: 1708953086199 - kind: conda @@ -4631,8 +4316,6 @@ packages: - python >=2 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/snowballstemmer size: 58824 timestamp: 1637143137377 - kind: conda @@ -4649,8 +4332,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/soupsieve size: 36754 timestamp: 1693929424267 - kind: conda @@ -4684,8 +4365,6 @@ packages: - tomli >=2.0 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinx size: 1345378 timestamp: 1713555005540 - kind: conda @@ -4708,8 +4387,6 @@ packages: - websockets >=11 license: MIT license_family: MIT - purls: - - pkg:pypi/sphinx-autobuild size: 16466 timestamp: 1713319509734 - kind: conda @@ -4743,8 +4420,6 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-applehelp size: 29539 timestamp: 1705126465971 - kind: conda @@ -4761,8 +4436,6 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-devhelp size: 24474 timestamp: 1705126153592 - kind: conda @@ -4779,8 +4452,6 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-htmlhelp size: 33499 timestamp: 1705118297318 - kind: conda @@ -4796,8 +4467,6 @@ packages: - python >=3.5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-jsmath size: 10431 timestamp: 1691604844204 - kind: conda @@ -4814,8 +4483,6 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-qthelp size: 27005 timestamp: 1705126340442 - kind: conda @@ -4832,8 +4499,6 @@ packages: - sphinx >=5 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/sphinxcontrib-serializinghtml size: 28776 timestamp: 1705118378942 - kind: conda @@ -4852,8 +4517,6 @@ packages: - typing-extensions >=4.6.0 license: MIT license_family: MIT - purls: - - pkg:pypi/sqlalchemy size: 3495546 timestamp: 1714952762974 - kind: conda @@ -4872,8 +4535,6 @@ packages: - python >=3.5 license: MIT license_family: MIT - purls: - - pkg:pypi/stack-data size: 26205 timestamp: 1669632203115 - kind: conda @@ -4891,8 +4552,6 @@ packages: - typing_extensions >=3.10.0 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/starlette size: 57620 timestamp: 1709667193131 - kind: conda @@ -4913,8 +4572,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/sympy size: 4256289 timestamp: 1684180689319 - kind: conda @@ -4931,8 +4588,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/tabulate size: 35912 timestamp: 1665138565317 - kind: conda @@ -4951,8 +4606,6 @@ packages: - tornado >=6.1.0 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/terminado size: 22452 timestamp: 1710262728753 - kind: conda @@ -4969,8 +4622,6 @@ packages: - webencodings >=0.4 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/tinycss2 size: 25405 timestamp: 1713975078735 - kind: conda @@ -5002,8 +4653,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/tomli size: 15940 timestamp: 1644342331069 - kind: conda @@ -5020,8 +4669,6 @@ packages: - python_abi 3.12.* *_cp312 license: Apache-2.0 license_family: Apache - purls: - - pkg:pypi/tornado size: 840527 timestamp: 1708363299520 - kind: conda @@ -5037,8 +4684,6 @@ packages: - colorama - python >=3.7 license: MPL-2.0 or MIT - purls: - - pkg:pypi/tqdm size: 89452 timestamp: 1714855008479 - kind: conda @@ -5054,8 +4699,6 @@ packages: - python >=3.8 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/traitlets size: 110187 timestamp: 1713535244513 - kind: conda @@ -5070,8 +4713,6 @@ packages: depends: - python >=3.6 license: Apache-2.0 AND MIT - purls: - - pkg:pypi/types-python-dateutil size: 21769 timestamp: 1710590028155 - kind: conda @@ -5102,8 +4743,6 @@ packages: - python >=3.8 license: PSF-2.0 license_family: PSF - purls: - - pkg:pypi/typing-extensions size: 37583 timestamp: 1712330089194 - kind: conda @@ -5119,8 +4758,6 @@ packages: - python >=3.6.1 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/typing-utils size: 13829 timestamp: 1622899345711 - kind: conda @@ -5152,8 +4789,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/ukkonen size: 14050 timestamp: 1695549556745 - kind: conda @@ -5169,8 +4804,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/uri-template size: 23999 timestamp: 1688655976471 - kind: conda @@ -5188,8 +4821,6 @@ packages: - python >=3.7 license: MIT license_family: MIT - purls: - - pkg:pypi/urllib3 size: 94669 timestamp: 1708239595549 - kind: conda @@ -5207,8 +4838,6 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/uvicorn size: 126964 timestamp: 1710932152563 - kind: conda @@ -5227,8 +4856,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/virtualenv size: 3458445 timestamp: 1715681264937 - kind: conda @@ -5246,8 +4873,6 @@ packages: - python_abi 3.12.* *_cp312 license: MIT license_family: MIT - purls: - - pkg:pypi/watchfiles size: 1094669 timestamp: 1701078026995 - kind: conda @@ -5263,8 +4888,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/wcwidth size: 32709 timestamp: 1704731373922 - kind: conda @@ -5280,8 +4903,6 @@ packages: - python >=3.5 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/webcolors size: 18186 timestamp: 1679900907305 - kind: conda @@ -5298,8 +4919,6 @@ packages: - python >=2.6 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/webencodings size: 15600 timestamp: 1694681458271 - kind: conda @@ -5315,8 +4934,6 @@ packages: - python >=3.8 license: Apache-2.0 license_family: APACHE - purls: - - pkg:pypi/websocket-client size: 47066 timestamp: 1713923494501 - kind: conda @@ -5333,8 +4950,6 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/websockets size: 201426 timestamp: 1697914826988 - kind: conda @@ -5350,8 +4965,6 @@ packages: - python >=3.7 license: BSD-3-Clause license_family: BSD - purls: - - pkg:pypi/widgetsnbextension size: 886369 timestamp: 1707420479741 - kind: conda @@ -5368,8 +4981,6 @@ packages: - python_abi 3.12.* *_cp312 license: BSD-2-Clause license_family: BSD - purls: - - pkg:pypi/wrapt size: 62482 timestamp: 1699532968076 - kind: conda @@ -5600,8 +5211,6 @@ packages: - python >=3.8 license: MIT license_family: MIT - purls: - - pkg:pypi/zipp size: 18954 timestamp: 1695255262261 - kind: conda diff --git a/pixi.toml b/pixi.toml index c8b913e..fba14d9 100644 --- a/pixi.toml +++ b/pixi.toml @@ -20,6 +20,7 @@ sphinx-autobuild \ """ [dependencies] +ampform = ">=0.15.2,<0.16" black = ">=24.4.2,<24.5" graphviz = ">=9.0.0,<9.1" ipywidgets = ">=8.1.2,<8.2" From 3a620ba1a7eb436dc6dbc14f423e75d1d744c905 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Fri, 24 May 2024 18:56:02 +0200 Subject: [PATCH 06/44] draft 1 start to try sp --- docs/symbolics.ipynb | 154 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 docs/symbolics.ipynb diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb new file mode 100644 index 0000000..52d194d --- /dev/null +++ b/docs/symbolics.ipynb @@ -0,0 +1,154 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0", + "metadata": {}, + "source": [ + "# Symbolic expression for the amplitude model" + ] + }, + { + "cell_type": "markdown", + "id": "1", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "$$\n", + "\\begin{eqnarray}\n", + "A^{12} &=& \\frac{\\sum a_m Y_2^m (\\Omega_1)}{s-m^2_{a_2}+im_{a_2} \\Gamma_{a_2}} \\\\\n", + "A^{23} &=& \\frac{\\sum b_m Y_1^m (\\Omega_2)}{s-m^2_{\\Delta}+im_{\\Delta} \\Gamma_{\\Delta}} \\\\\n", + "\\\n", + "A^{31} &=& \\frac{c_0}{s-m^2_{N^*}+im_{N^*} \\Gamma_{N^*}}\n", + "\\end{eqnarray}\n", + "$$ (BW_SH_label)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import graphviz\n", + "import sympy as sp\n", + "from sympy import re, im, I, E, symbols, Sum" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "a, b, c, s, m, Γ = sp.symbols(\"a_m b_m c_0 s m Gamma\")\n", + "\n", + "amplitude12 = a / (s - m**2 + I * m * Γ)\n", + "amplitude23 = b / (s - m**2 + I * m * Γ)\n", + "amplitude31 = c / (s - m**2 + I * m * Γ)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "amplitude12" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "amplitude23" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "amplitude31" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From e44262f2b8654bc4c49ad7153e870bb74ac7d5ac Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Tue, 4 Jun 2024 12:28:55 +0200 Subject: [PATCH 07/44] draft --- docs/symbolics.ipynb | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb index 52d194d..a14c3fb 100644 --- a/docs/symbolics.ipynb +++ b/docs/symbolics.ipynb @@ -44,7 +44,7 @@ "source": [ "import graphviz\n", "import sympy as sp\n", - "from sympy import re, im, I, E, symbols, Sum" + "from sympy import re, im, I, E, symbols, Sum, IndexedBase, Function" ] }, { @@ -127,6 +127,48 @@ "tags": [] }, "outputs": [], + "source": [ + "s, m_a2, Gamma_a2 = symbols(\"s m_a2 Gamma_a2\")\n", + "a_m = IndexedBase(\"a_m\")\n", + "Y2_m = Function(\"Y_2^m\")(\"Omega_1\")\n", + "m = symbols(\"m\", cls=sp.Idx)\n", + "\n", + "A12 = sp.Sum(a_m * Y2_m, (m, -2, 2)) / (s - m_a2**2 + I * m_a2 * Gamma_a2)\n", + "A12" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8", + "metadata": {}, + "outputs": [], + "source": [ + "m_Delta, Gamma_Delta = symbols(\"m_Delta Gamma_Delta\")\n", + "b_m = IndexedBase(\"b_m\")\n", + "Y1_m = Function(\"Y_1^m\")(\"Omega_2\")\n", + "A23 = Sum(b_m * Y1_m, (m, -1, 1)) / (s - m_Delta**2 + I * m_Delta * Gamma_Delta)\n", + "A23" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9", + "metadata": {}, + "outputs": [], + "source": [ + "c0, m_Nstar, Gamma_Nstar = symbols(\"c_0 m_N* Gamma_N*\")\n", + "A31 = c0 / (s - m_Nstar**2 + I * m_Nstar * Gamma_Nstar)\n", + "A31" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10", + "metadata": {}, + "outputs": [], "source": [] } ], From 1f5fe3c052c84772d592d2d878d0d117c494df92 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Tue, 4 Jun 2024 13:19:36 +0200 Subject: [PATCH 08/44] delete test --- docs/symbolics.ipynb | 77 +++----------------------------------------- 1 file changed, 5 insertions(+), 72 deletions(-) diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb index a14c3fb..4b91555 100644 --- a/docs/symbolics.ipynb +++ b/docs/symbolics.ipynb @@ -44,7 +44,8 @@ "source": [ "import graphviz\n", "import sympy as sp\n", - "from sympy import re, im, I, E, symbols, Sum, IndexedBase, Function" + "from sympy import re, im, I, E, symbols, Sum, IndexedBase, Function\n", + "from IPython.display import display, Latex" ] }, { @@ -59,74 +60,6 @@ "tags": [] }, "outputs": [], - "source": [ - "a, b, c, s, m, Γ = sp.symbols(\"a_m b_m c_0 s m Gamma\")\n", - "\n", - "amplitude12 = a / (s - m**2 + I * m * Γ)\n", - "amplitude23 = b / (s - m**2 + I * m * Γ)\n", - "amplitude31 = c / (s - m**2 + I * m * Γ)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "amplitude12" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "amplitude23" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "amplitude31" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], "source": [ "s, m_a2, Gamma_a2 = symbols(\"s m_a2 Gamma_a2\")\n", "a_m = IndexedBase(\"a_m\")\n", @@ -140,7 +73,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8", + "id": "4", "metadata": {}, "outputs": [], "source": [ @@ -154,7 +87,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9", + "id": "5", "metadata": {}, "outputs": [], "source": [ @@ -166,7 +99,7 @@ { "cell_type": "code", "execution_count": null, - "id": "10", + "id": "6", "metadata": {}, "outputs": [], "source": [] From a67db0618479fe92aef3d2770dd82c03994a1fc3 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Tue, 4 Jun 2024 15:09:58 +0200 Subject: [PATCH 09/44] add sp.Ynm --- docs/symbolics.ipynb | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb index 4b91555..ffc4d40 100644 --- a/docs/symbolics.ipynb +++ b/docs/symbolics.ipynb @@ -44,7 +44,19 @@ "source": [ "import graphviz\n", "import sympy as sp\n", - "from sympy import re, im, I, E, symbols, Sum, IndexedBase, Function\n", + "from sympy import (\n", + " re,\n", + " im,\n", + " I,\n", + " E,\n", + " symbols,\n", + " Sum,\n", + " IndexedBase,\n", + " Function,\n", + " Ynm,\n", + " Symbol,\n", + " simplify,\n", + ")\n", "from IPython.display import display, Latex" ] }, @@ -61,12 +73,17 @@ }, "outputs": [], "source": [ - "s, m_a2, Gamma_a2 = symbols(\"s m_a2 Gamma_a2\")\n", + "s, m_a2, Gamma_a2 = symbols(r\"s m_{a_2} \\Gamma_{a_2}\")\n", + "l, m, theta1, phi1 = symbols(\"l m theta_1 phi_1\")\n", + "Ynm(l, m, theta, phi)\n", "a_m = IndexedBase(\"a_m\")\n", "Y2_m = Function(\"Y_2^m\")(\"Omega_1\")\n", "m = symbols(\"m\", cls=sp.Idx)\n", + "Omega1 = symbols(\"Omega_1\")\n", "\n", - "A12 = sp.Sum(a_m * Y2_m, (m, -2, 2)) / (s - m_a2**2 + I * m_a2 * Gamma_a2)\n", + "A12 = sp.Sum(a_m * Ynm(2, m, theta1, phi1), (m, -2, 2)) / (\n", + " s - m_a2**2 + I * m_a2 * Gamma_a2\n", + ")\n", "A12" ] }, @@ -80,7 +97,10 @@ "m_Delta, Gamma_Delta = symbols(\"m_Delta Gamma_Delta\")\n", "b_m = IndexedBase(\"b_m\")\n", "Y1_m = Function(\"Y_1^m\")(\"Omega_2\")\n", - "A23 = Sum(b_m * Y1_m, (m, -1, 1)) / (s - m_Delta**2 + I * m_Delta * Gamma_Delta)\n", + "theta2, phi2 = symbols(\"theta_2 phi_2\")\n", + "A23 = Sum(b_m * Ynm(1, m, theta2, phi2), (m, -1, 1)) / (\n", + " s - m_Delta**2 + I * m_Delta * Gamma_Delta\n", + ")\n", "A23" ] }, @@ -91,7 +111,8 @@ "metadata": {}, "outputs": [], "source": [ - "c0, m_Nstar, Gamma_Nstar = symbols(\"c_0 m_N* Gamma_N*\")\n", + "c0, m_Nstar, Gamma_Nstar = symbols(r\"c_0 m_{N^*} \\Gamma_{N^*}\")\n", + "# r'\\Gamma_{N^*}'\n", "A31 = c0 / (s - m_Nstar**2 + I * m_Nstar * Gamma_Nstar)\n", "A31" ] From 94858f592650b3eecb329560c7040e478633804a Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Tue, 4 Jun 2024 15:31:04 +0200 Subject: [PATCH 10/44] add plot draft --- docs/symbolics.ipynb | 49 +- pixi.lock | 1273 ++++++++++++++++++++++++++++++++++++++++++ pixi.toml | 1 + 3 files changed, 1322 insertions(+), 1 deletion(-) diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb index ffc4d40..05b86d2 100644 --- a/docs/symbolics.ipynb +++ b/docs/symbolics.ipynb @@ -42,6 +42,7 @@ }, "outputs": [], "source": [ + "import numpy as np\n", "import graphviz\n", "import sympy as sp\n", "from sympy import (\n", @@ -112,7 +113,6 @@ "outputs": [], "source": [ "c0, m_Nstar, Gamma_Nstar = symbols(r\"c_0 m_{N^*} \\Gamma_{N^*}\")\n", - "# r'\\Gamma_{N^*}'\n", "A31 = c0 / (s - m_Nstar**2 + I * m_Nstar * Gamma_Nstar)\n", "A31" ] @@ -123,6 +123,53 @@ "id": "6", "metadata": {}, "outputs": [], + "source": [ + "A31.free_symbols" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7", + "metadata": {}, + "outputs": [], + "source": [ + "sp.lambdify([s, c0, m_Nstar, Gamma_Nstar], A31)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8", + "metadata": {}, + "outputs": [], + "source": [ + "A31_func = sp.lambdify([s, c0, m_Nstar, Gamma_Nstar], A31)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "s_values = np.linspace(0, 5, 100)\n", + "A31_values = A31_func(s_values, 1, 1.5, 0.6)\n", + "plt.plot(s_values, A31_values.imag)\n", + "plt.plot(s_values, A31_values.real)\n", + "plt.plot(s_values, np.abs(A31_values) ** 2)\n", + "plt.plot(s_values, np.angle(A31_values))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10", + "metadata": {}, + "outputs": [], "source": [] } ], diff --git a/pixi.lock b/pixi.lock index 948f5fd..a04abeb 100644 --- a/pixi.lock +++ b/pixi.lock @@ -9,6 +9,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.11-hd590300_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ampform-0.15.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda @@ -17,11 +18,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.0.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.38.0-h04ea711_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.1-h166bdaf_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-23.2.0-pyh71513ae_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/black-24.4.2-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.1.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hd590300_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py312h30efb56_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hd590300_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.28.1-hd590300_0.conda @@ -36,6 +40,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.2.1-py312h8572e83_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.1-py312h30efb56_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 @@ -54,18 +61,25 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.2-h14ed4e7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.53.0-py312h9a8786e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-h267a509_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.10-h36c2ea0_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.12-hb9ae30d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.22.5-h59595ed_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gettext-tools-0.22.5-h59595ed_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.11-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.43-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-2.80.2-hf974151_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.80.2-hb6ce0ca_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-h59595ed_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.5-py312h1d5cde6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h59595ed_1003.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-9.0.0-h78e8752_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.0.3-py312h30efb56_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.24.4-h9ad1361_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.24.4-haf2f30d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h280cfa0_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 @@ -116,46 +130,76 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-3.0.10-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.5-py312h8572e83_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.2-h659d440_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h55db66e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20240116.2-cxx17_h59595ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libasprintf-0.22.5-h661eb56_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libasprintf-devel-0.22.5-h661eb56_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-22_linux64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.69-h0f662aa_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-22_linux64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.7-default_h127d8a8_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-18.1.6-default_h5d6823c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h4637d8d_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.20-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.4.3-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h77fa898_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcrypt-1.10.3-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h119a65a_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgettextpo-0.22.5-h59595ed_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgettextpo-devel-0.22.5-h59595ed_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-hca663fb_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.80.2-hf974151_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h77fa898_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgpg-error-1.49-h4f305b6_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.62.2-h15f2491_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-22_linux64_openblas.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.7-hb3ce162_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm18-18.1.6-hb77312f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.4-h7f98852_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.27-pthreads_h413a1c8_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.3.1-h7f98852_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.43-h2797004_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libpq-16.3-ha72fbe1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.25.3-h08a7969_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libre2-11-2023.09.01-h5a48ba9_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.58.0-hadf69e7_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc60ed4a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.18-h36c2ea0_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.45.3-h2797004_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-hc0a3c3a_7.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-255-h3516f8a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-h1dd3fc0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h9c3ff4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.4.0-h2c329e2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.4.0-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.15-h0b41bf4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.7.0-h662e7e4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.12.7-hc051c1a_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda - conda: https://conda.anaconda.org/conda-forge/noarch/livereload-2.6.3-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.5-py312h98912ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.8.4-py312h7900ff3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.4-py312h20ab3a6_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda @@ -163,8 +207,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.4.0-py312h1d6d2e6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h9458935_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.6-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/mypy_extensions-1.0.0-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mysql-common-8.3.0-hf1915f5_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-8.3.0-hca2cd23_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-3.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.0-pyhd8ed1ab_0.conda @@ -178,7 +226,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-7.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nspr-4.35-h27087fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/nss-3.100-hca3bf56_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py312heda63a1_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.2-h488ebb8_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.0-h4ab18f5_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/opt-einsum-3.3.0-hd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/opt_einsum-3.3.0-pyhc1e730c_2.conda @@ -193,9 +244,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.43-hcad00b1_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.3.0-py312hdcec9eb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.7.1-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.42-pyha770c72_0.conda @@ -203,10 +256,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.8-py312h98912ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-hb77b528_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.2-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.15.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.9-py312h949fe66_5.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-12.12.2-py312h30efb56_5.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.12.3-hab00c5b_0_cpython.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-constraint-1.4.0-py_0.tar.bz2 @@ -219,6 +276,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py312h98912ed_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.0.3-py312h8fd38d8_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/qrules-0.10.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.8-hc9dc06e_21.conda - conda: https://conda.anaconda.org/conda-forge/noarch/qtconsole-base-5.5.2-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/qtpy-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2023.09.01-h7f4b329_2.conda @@ -232,6 +290,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-70.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/singledispatchmethod-1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/sip-6.7.12-py312h30efb56_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda @@ -254,6 +313,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh0d859eb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4-py312h98912ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.4-pyhd8ed1ab_0.conda @@ -276,6 +336,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-12.0-py312h98912ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.10-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.16.0-py312h98912ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.0-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-h8ee46fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.0-h8ee46fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.9-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.1-h8ee46fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.41-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-h7391055_0.conda @@ -286,6 +352,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.11-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-h7f98852_1002.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xextproto-7.3.0-h0b41bf4_1003.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xf86vidmodeproto-2.3.1-h7f98852_1002.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-h7f98852_1007.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 @@ -354,6 +421,21 @@ packages: license_family: BSD size: 18365 timestamp: 1704848898483 +- kind: conda + name: alsa-lib + version: 1.2.11 + build: hd590300_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.11-hd590300_1.conda + sha256: 0e2b75b9834a6e520b13db516f7cf5c9cea8f0bbc9157c978444173dacb98fec + md5: 0bb492cca54017ea314b809b1ee3a176 + depends: + - libgcc-ng >=12 + license: LGPL-2.1-or-later + license_family: GPL + size: 554699 + timestamp: 1709396557528 - kind: conda name: ampform version: 0.15.3 @@ -502,6 +584,21 @@ packages: license_family: LGPL size: 355900 timestamp: 1713896169874 +- kind: conda + name: attr + version: 2.5.1 + build: h166bdaf_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.1-h166bdaf_1.tar.bz2 + sha256: 82c13b1772c21fc4a17441734de471d3aabf82b61db9b11f4a1bd04a9c4ac324 + md5: d9c69a24ad678ffce24c6543a0176b00 + depends: + - libgcc-ng >=12 + license: GPL-2.0-or-later + license_family: GPL + size: 71042 + timestamp: 1660065501192 - kind: conda name: attrs version: 23.2.0 @@ -589,6 +686,41 @@ packages: license_family: Apache size: 131220 timestamp: 1696630354218 +- kind: conda + name: brotli + version: 1.1.0 + build: hd590300_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/brotli-1.1.0-hd590300_1.conda + sha256: f2d918d351edd06c55a6c2d84b488fe392f85ea018ff227daac07db22b408f6b + md5: f27a24d46e3ea7b70a1f98e50c62508f + depends: + - brotli-bin 1.1.0 hd590300_1 + - libbrotlidec 1.1.0 hd590300_1 + - libbrotlienc 1.1.0 hd590300_1 + - libgcc-ng >=12 + license: MIT + license_family: MIT + size: 19383 + timestamp: 1695990069230 +- kind: conda + name: brotli-bin + version: 1.1.0 + build: hd590300_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/brotli-bin-1.1.0-hd590300_1.conda + sha256: a641abfbaec54f454c8434061fffa7fdaa9c695e8a5a400ed96b4f07c0c00677 + md5: 39f910d205726805a958da408ca194ba + depends: + - libbrotlidec 1.1.0 hd590300_1 + - libbrotlienc 1.1.0 hd590300_1 + - libgcc-ng >=12 + license: MIT + license_family: MIT + size: 18980 + timestamp: 1695990054140 - kind: conda name: brotli-python version: 1.1.0 @@ -819,6 +951,56 @@ packages: license_family: BSD size: 12134 timestamp: 1710320435158 +- kind: conda + name: contourpy + version: 1.2.1 + build: py312h8572e83_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.2.1-py312h8572e83_0.conda + sha256: b0731336b9788c247b11a592352f700a647119340b549aba9e933835c7c77df0 + md5: 12c6a831ef734f0b2dd4caff514cbb7f + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - numpy >=1.20 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 256764 + timestamp: 1712430146809 +- kind: conda + name: cycler + version: 0.12.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_0.conda + sha256: f221233f21b1d06971792d491445fd548224641af9443739b4b7b6d5d72954a8 + md5: 5cd86562580f274031ede6aa6aa24441 + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 13458 + timestamp: 1696677888423 +- kind: conda + name: dbus + version: 1.13.6 + build: h5008d03_3 + build_number: 3 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 + sha256: 8f5f995699a2d9dbdd62c61385bfeeb57c82a681a7c8c5313c395aa0ccab68a5 + md5: ecfff944ba3960ecb334b9a2663d708d + depends: + - expat >=2.4.2,<3.0a0 + - libgcc-ng >=9.4.0 + - libglib >=2.70.2,<3.0a0 + license: GPL-2.0-or-later + license_family: GPL + size: 618596 + timestamp: 1640112124844 - kind: conda name: debugpy version: 1.8.1 @@ -1089,6 +1271,24 @@ packages: license_family: BSD size: 4102 timestamp: 1566932280397 +- kind: conda + name: fonttools + version: 4.53.0 + build: py312h9a8786e_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.53.0-py312h9a8786e_0.conda + sha256: 807618ba95becec0607e71b47f4f88679bce0924fc7926fe5715708a448b38e2 + md5: 8490346e9d5efd7a6869582aa0c95b25 + depends: + - brotli + - libgcc-ng >=12 + - munkres + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: MIT + license_family: MIT + size: 2823081 + timestamp: 1717209380114 - kind: conda name: fqdn version: 1.5.1 @@ -1152,6 +1352,41 @@ packages: license_family: LGPL size: 528149 timestamp: 1715782983957 +- kind: conda + name: gettext + version: 0.22.5 + build: h59595ed_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.22.5-h59595ed_2.conda + sha256: 386181254ddd2aed1fccdfc217da5b6545f6df4e9979ad8e08f5e91e22eaf7dc + md5: 219ba82e95d7614cf7140d2a4afc0926 + depends: + - gettext-tools 0.22.5 h59595ed_2 + - libasprintf 0.22.5 h661eb56_2 + - libasprintf-devel 0.22.5 h661eb56_2 + - libgcc-ng >=12 + - libgettextpo 0.22.5 h59595ed_2 + - libgettextpo-devel 0.22.5 h59595ed_2 + - libstdcxx-ng >=12 + license: LGPL-2.1-or-later AND GPL-3.0-or-later + size: 475058 + timestamp: 1712512357949 +- kind: conda + name: gettext-tools + version: 0.22.5 + build: h59595ed_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gettext-tools-0.22.5-h59595ed_2.conda + sha256: 67d7b1d6fe4f1c516df2000640ec7dcfebf3ff6ea0785f0276870e730c403d33 + md5: 985f2f453fb72408d6b6f1be0f324033 + depends: + - libgcc-ng >=12 + license: GPL-3.0-or-later + license_family: GPL + size: 2728420 + timestamp: 1712512328692 - kind: conda name: giflib version: 5.2.2 @@ -1199,6 +1434,37 @@ packages: license_family: BSD size: 156827 timestamp: 1711991122366 +- kind: conda + name: glib + version: 2.80.2 + build: hf974151_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/glib-2.80.2-hf974151_0.conda + sha256: d10a0f194d2c125617352a81a4ff43a17cf5835e88e8f151da9f9710e2db176d + md5: d427988dc3dbd0a4c136f52db356cc6a + depends: + - glib-tools 2.80.2 hb6ce0ca_0 + - libffi >=3.4,<4.0a0 + - libgcc-ng >=12 + - libglib 2.80.2 hf974151_0 + - python * + license: LGPL-2.1-or-later + size: 600389 + timestamp: 1715252749399 +- kind: conda + name: glib-tools + version: 2.80.2 + build: hb6ce0ca_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.80.2-hb6ce0ca_0.conda + sha256: 221cd047f998301b96b1517d9f7d3fb0e459e8ee18778a1211f302496f6e110d + md5: a965aeaf060289528a3fbe09326edae2 + depends: + - libgcc-ng >=12 + - libglib 2.80.2 hf974151_0 + license: LGPL-2.1-or-later + size: 114359 + timestamp: 1715252713902 - kind: conda name: gmp version: 6.3.0 @@ -1295,6 +1561,55 @@ packages: license_family: MIT size: 233067 timestamp: 1703201779255 +- kind: conda + name: gst-plugins-base + version: 1.24.4 + build: h9ad1361_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.24.4-h9ad1361_0.conda + sha256: 4726f1905bbc84b44c8a78a53c0b2bc20b0f6780614b897e83bdfb9f1f94e9d5 + md5: 147cce520ec59367549fd0d96d404213 + depends: + - __glibc >=2.17,<3.0.a0 + - alsa-lib >=1.2.11,<1.3.0a0 + - gstreamer 1.24.4 haf2f30d_0 + - libexpat >=2.6.2,<3.0a0 + - libgcc-ng >=12 + - libglib >=2.80.2,<3.0a0 + - libogg >=1.3.4,<1.4.0a0 + - libopus >=1.3.1,<2.0a0 + - libpng >=1.6.43,<1.7.0a0 + - libstdcxx-ng >=12 + - libvorbis >=1.3.7,<1.4.0a0 + - libxcb >=1.15,<1.16.0a0 + - libzlib >=1.2.13,<2.0a0 + - xorg-libx11 >=1.8.9,<2.0a0 + - xorg-libxau >=1.0.11,<2.0a0 + - xorg-libxext >=1.3.4,<2.0a0 + - xorg-libxrender >=0.9.11,<0.10.0a0 + license: LGPL-2.0-or-later + license_family: LGPL + size: 2784812 + timestamp: 1717008701241 +- kind: conda + name: gstreamer + version: 1.24.4 + build: haf2f30d_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.24.4-haf2f30d_0.conda + sha256: d20031196ed30ee5eb1e225f6cf0ed605d95158612589602a9d893a7386a4608 + md5: 926c2c7ee7a0b48d6d70783a33f7bc80 + depends: + - __glibc >=2.17,<3.0.a0 + - glib >=2.80.2,<3.0a0 + - libgcc-ng >=12 + - libglib >=2.80.2,<3.0a0 + - libiconv >=1.17,<2.0a0 + - libstdcxx-ng >=12 + license: LGPL-2.0-or-later + license_family: LGPL + size: 2019311 + timestamp: 1717008522417 - kind: conda name: gtk2 version: 2.24.33 @@ -2260,6 +2575,24 @@ packages: license: LGPL-2.1-or-later size: 117831 timestamp: 1646151697040 +- kind: conda + name: kiwisolver + version: 1.4.5 + build: py312h8572e83_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.5-py312h8572e83_1.conda + sha256: 2ffd3f6726392591c6794ab130f6701f5ffba0ec8658ef40db5a95ec8d583143 + md5: c1e71f2bc05d8e8e033aefac2c490d05 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - python >=3.12.0rc3,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 72099 + timestamp: 1695380122482 - kind: conda name: krb5 version: 1.21.2 @@ -2279,6 +2612,37 @@ packages: license_family: MIT size: 1371181 timestamp: 1692097755782 +- kind: conda + name: lame + version: '3.100' + build: h166bdaf_1003 + build_number: 1003 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 + sha256: aad2a703b9d7b038c0f745b853c6bb5f122988fe1a7a096e0e606d9cbec4eaab + md5: a8832b479f93521a9e7b5b743803be51 + depends: + - libgcc-ng >=12 + license: LGPL-2.0-only + license_family: LGPL + size: 508258 + timestamp: 1664996250081 +- kind: conda + name: lcms2 + version: '2.16' + build: hb7c19ff_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda + sha256: 5c878d104b461b7ef922abe6320711c0d01772f4cd55de18b674f88547870041 + md5: 51bb7010fc86f70eee639b4bb7a894f5 + depends: + - libgcc-ng >=12 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libtiff >=4.6.0,<4.7.0a0 + license: MIT + license_family: MIT + size: 245247 + timestamp: 1701647787198 - kind: conda name: ld_impl_linux-64 version: '2.40' @@ -2326,6 +2690,36 @@ packages: license_family: Apache size: 1266634 timestamp: 1714403128134 +- kind: conda + name: libasprintf + version: 0.22.5 + build: h661eb56_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libasprintf-0.22.5-h661eb56_2.conda + sha256: 31d58af7eb54e2938123200239277f14893c5fa4b5d0280c8cf55ae10000638b + md5: dd197c968bf9760bba0031888d431ede + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: LGPL-2.1-or-later + size: 43226 + timestamp: 1712512265295 +- kind: conda + name: libasprintf-devel + version: 0.22.5 + build: h661eb56_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libasprintf-devel-0.22.5-h661eb56_2.conda + sha256: 99d26d272a8203d30b3efbe734a99c823499884d7759b4291674438137c4b5ca + md5: 02e41ab5834dcdcc8590cf29d9526f50 + depends: + - libasprintf 0.22.5 h661eb56_2 + - libgcc-ng >=12 + license: LGPL-2.1-or-later + size: 34225 + timestamp: 1712512295117 - kind: conda name: libblas version: 3.9.0 @@ -2347,6 +2741,68 @@ packages: license_family: BSD size: 14537 timestamp: 1712542250081 +- kind: conda + name: libbrotlicommon + version: 1.1.0 + build: hd590300_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libbrotlicommon-1.1.0-hd590300_1.conda + sha256: 40f29d1fab92c847b083739af86ad2f36d8154008cf99b64194e4705a1725d78 + md5: aec6c91c7371c26392a06708a73c70e5 + depends: + - libgcc-ng >=12 + license: MIT + license_family: MIT + size: 69403 + timestamp: 1695990007212 +- kind: conda + name: libbrotlidec + version: 1.1.0 + build: hd590300_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libbrotlidec-1.1.0-hd590300_1.conda + sha256: 86fc861246fbe5ad85c1b6b3882aaffc89590a48b42d794d3d5c8e6d99e5f926 + md5: f07002e225d7a60a694d42a7bf5ff53f + depends: + - libbrotlicommon 1.1.0 hd590300_1 + - libgcc-ng >=12 + license: MIT + license_family: MIT + size: 32775 + timestamp: 1695990022788 +- kind: conda + name: libbrotlienc + version: 1.1.0 + build: hd590300_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libbrotlienc-1.1.0-hd590300_1.conda + sha256: f751b8b1c4754a2a8dfdc3b4040fa7818f35bbf6b10e905a47d3a194b746b071 + md5: 5fc11c6020d421960607d821310fcd4d + depends: + - libbrotlicommon 1.1.0 hd590300_1 + - libgcc-ng >=12 + license: MIT + license_family: MIT + size: 282523 + timestamp: 1695990038302 +- kind: conda + name: libcap + version: '2.69' + build: h0f662aa_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.69-h0f662aa_0.conda + sha256: 942f9564b4228609f017b6617425d29a74c43b8a030e12239fa4458e5cb6323c + md5: 25cb5999faa414e5ccb2c1388f62d3d5 + depends: + - attr >=2.5.1,<2.6.0a0 + - libgcc-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 100582 + timestamp: 1684162447012 - kind: conda name: libcblas version: 3.9.0 @@ -2366,6 +2822,57 @@ packages: license_family: BSD size: 14438 timestamp: 1712542270166 +- kind: conda + name: libclang-cpp15 + version: 15.0.7 + build: default_h127d8a8_5 + build_number: 5 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.7-default_h127d8a8_5.conda + sha256: 9b0238e705a33da74ca82efd03974f499550f7dada1340cc9cb7c35a92411ed8 + md5: d0a9633b53cdc319b8a1a532ae7822b8 + depends: + - libgcc-ng >=12 + - libllvm15 >=15.0.7,<15.1.0a0 + - libstdcxx-ng >=12 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 17206402 + timestamp: 1711063711931 +- kind: conda + name: libclang13 + version: 18.1.6 + build: default_h5d6823c_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-18.1.6-default_h5d6823c_0.conda + sha256: aa8246dca2e738a6e4dda87b448b1c01be00035489bd4f1cf409830ab7ce7d7d + md5: fbe666f653068958eb27f549cb12f202 + depends: + - libgcc-ng >=12 + - libllvm18 >=18.1.6,<18.2.0a0 + - libstdcxx-ng >=12 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 11057117 + timestamp: 1716714834549 +- kind: conda + name: libcups + version: 2.3.3 + build: h4637d8d_4 + build_number: 4 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h4637d8d_4.conda + sha256: bc67b9b21078c99c6bd8595fe7e1ed6da1f721007726e717f0449de7032798c4 + md5: d4529f4dff3057982a7617c7ac58fde3 + depends: + - krb5 >=1.21.1,<1.22.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + license: Apache-2.0 + license_family: Apache + size: 4519402 + timestamp: 1689195353551 - kind: conda name: libdeflate version: '1.20' @@ -2396,6 +2903,22 @@ packages: license_family: BSD size: 123878 timestamp: 1597616541093 +- kind: conda + name: libevent + version: 2.1.12 + build: hf998b51_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda + sha256: 2e14399d81fb348e9d231a82ca4d816bf855206923759b69ad006ba482764131 + md5: a1cfcc585f0c42bf8d5546bb1dfb668d + depends: + - libgcc-ng >=12 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 427426 + timestamp: 1685725977222 - kind: conda name: libexpat version: 2.6.2 @@ -2427,6 +2950,24 @@ packages: license_family: MIT size: 58292 timestamp: 1636488182923 +- kind: conda + name: libflac + version: 1.4.3 + build: h59595ed_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.4.3-h59595ed_0.conda + sha256: 65908b75fa7003167b8a8f0001e11e58ed5b1ef5e98b96ab2ba66d7c1b822c7d + md5: ee48bf17cc83a00f59ca1494d5646869 + depends: + - gettext >=0.21.1,<1.0a0 + - libgcc-ng >=12 + - libogg 1.3.* + - libogg >=1.3.4,<1.4.0a0 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 394383 + timestamp: 1687765514062 - kind: conda name: libgcc-ng version: 13.2.0 @@ -2445,6 +2986,21 @@ packages: license_family: GPL size: 775806 timestamp: 1715016057793 +- kind: conda + name: libgcrypt + version: 1.10.3 + build: hd590300_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcrypt-1.10.3-hd590300_0.conda + sha256: d1bd47faa29fec7288c7b212198432b07f890d3d6f646078da93b059c2e9daff + md5: 32d16ad533c59bb0a3c5ffaf16110829 + depends: + - libgcc-ng >=12 + - libgpg-error >=1.47,<2.0a0 + license: LGPL-2.1-or-later AND GPL-2.0-or-later + license_family: GPL + size: 634887 + timestamp: 1701383493365 - kind: conda name: libgd version: 2.3.3 @@ -2473,6 +3029,37 @@ packages: license_family: BSD size: 224448 timestamp: 1696160785971 +- kind: conda + name: libgettextpo + version: 0.22.5 + build: h59595ed_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgettextpo-0.22.5-h59595ed_2.conda + sha256: e2f784564a2bdc6f753f00f63cc77c97601eb03bc89dccc4413336ec6d95490b + md5: 172bcc51059416e7ce99e7b528cede83 + depends: + - libgcc-ng >=12 + license: GPL-3.0-or-later + license_family: GPL + size: 170582 + timestamp: 1712512286907 +- kind: conda + name: libgettextpo-devel + version: 0.22.5 + build: h59595ed_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgettextpo-devel-0.22.5-h59595ed_2.conda + sha256: 695eb2439ad4a89e4205dd675cc52fba5cef6b5d41b83f07cdbf4770a336cc15 + md5: b63d9b6da3653179a278077f0de20014 + depends: + - libgcc-ng >=12 + - libgettextpo 0.22.5 h59595ed_2 + license: GPL-3.0-or-later + license_family: GPL + size: 36758 + timestamp: 1712512303244 - kind: conda name: libgfortran-ng version: 13.2.0 @@ -2539,6 +3126,24 @@ packages: license_family: GPL size: 422336 timestamp: 1715015995979 +- kind: conda + name: libgpg-error + version: '1.49' + build: h4f305b6_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libgpg-error-1.49-h4f305b6_0.conda + sha256: b2664c2c11211a63856f23278efb49d3e65d902297989a0c12dcd228b5d97110 + md5: dfcfd72c7a430d3616763ecfbefe4ca9 + depends: + - gettext + - libasprintf >=0.22.5,<1.0a0 + - libgcc-ng >=12 + - libgettextpo >=0.22.5,<1.0a0 + - libstdcxx-ng >=12 + license: GPL-2.0-only + license_family: GPL + size: 263319 + timestamp: 1714121531915 - kind: conda name: libgrpc version: 1.62.2 @@ -2613,6 +3218,43 @@ packages: license_family: BSD size: 14471 timestamp: 1712542277696 +- kind: conda + name: libllvm15 + version: 15.0.7 + build: hb3ce162_4 + build_number: 4 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.7-hb3ce162_4.conda + sha256: e71584c0f910140630580fdd0a013029a52fd31e435192aea2aa8d29005262d1 + md5: 8a35df3cbc0c8b12cc8af9473ae75eef + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libxml2 >=2.12.1,<3.0.0a0 + - libzlib >=1.2.13,<2.0.0a0 + - zstd >=1.5.5,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 33321457 + timestamp: 1701375836233 +- kind: conda + name: libllvm18 + version: 18.1.6 + build: hb77312f_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libllvm18-18.1.6-hb77312f_0.conda + sha256: 0f529a258d0e586f4d443b5c4df9c36b1fcf5391d867e7e0a2b2cb6084337477 + md5: 1246fc4b9f4db452e69cc297967d4b3e + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libxml2 >=2.12.7,<3.0a0 + - libzlib >=1.2.13,<2.0.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 38428999 + timestamp: 1716642164972 - kind: conda name: libnsl version: 2.0.1 @@ -2627,6 +3269,21 @@ packages: license_family: GPL size: 33408 timestamp: 1697359010159 +- kind: conda + name: libogg + version: 1.3.4 + build: h7f98852_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.4-h7f98852_1.tar.bz2 + sha256: b88afeb30620b11bed54dac4295aa57252321446ba4e6babd7dce4b9ffde9b25 + md5: 6e8cc2173440d77708196c5b93771680 + depends: + - libgcc-ng >=9.3.0 + license: BSD-3-Clause + license_family: BSD + size: 210550 + timestamp: 1610382007814 - kind: conda name: libopenblas version: 0.3.27 @@ -2645,6 +3302,21 @@ packages: license_family: BSD size: 5598747 timestamp: 1712364444346 +- kind: conda + name: libopus + version: 1.3.1 + build: h7f98852_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libopus-1.3.1-h7f98852_1.tar.bz2 + sha256: 0e1c2740ebd1c93226dc5387461bbcf8142c518f2092f3ea7551f77755decc8f + md5: 15345e56d527b330e1cacbdf58676e8f + depends: + - libgcc-ng >=9.3.0 + license: BSD-3-Clause + license_family: BSD + size: 260658 + timestamp: 1606823578035 - kind: conda name: libpng version: 1.6.43 @@ -2659,6 +3331,21 @@ packages: license: zlib-acknowledgement size: 288221 timestamp: 1708780443939 +- kind: conda + name: libpq + version: '16.3' + build: ha72fbe1_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libpq-16.3-ha72fbe1_0.conda + sha256: 117ba1e11f07b1ca0671641bd6d1f2e7fc6e27db1c317a0cdb4799ffa69f47db + md5: bac737ae28b79cfbafd515258d97d29e + depends: + - krb5 >=1.21.2,<1.22.0a0 + - libgcc-ng >=12 + - openssl >=3.3.0,<4.0a0 + license: PostgreSQL + size: 2500439 + timestamp: 1715266400833 - kind: conda name: libprotobuf version: 4.25.3 @@ -2719,6 +3406,28 @@ packages: license: LGPL-2.1-or-later size: 5997596 timestamp: 1713369512903 +- kind: conda + name: libsndfile + version: 1.2.2 + build: hc60ed4a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc60ed4a_1.conda + sha256: f709cbede3d4f3aee4e2f8d60bd9e256057f410bd60b8964cb8cf82ec1457573 + md5: ef1910918dd895516a769ed36b5b3a4e + depends: + - lame >=3.100,<3.101.0a0 + - libflac >=1.4.3,<1.5.0a0 + - libgcc-ng >=12 + - libogg >=1.3.4,<1.4.0a0 + - libopus >=1.3.1,<2.0a0 + - libstdcxx-ng >=12 + - libvorbis >=1.3.7,<1.4.0a0 + - mpg123 >=1.32.1,<1.33.0a0 + license: LGPL-2.1-or-later + license_family: LGPL + size: 354372 + timestamp: 1695747735668 - kind: conda name: libsodium version: 1.0.18 @@ -2760,6 +3469,26 @@ packages: license_family: GPL size: 3837704 timestamp: 1715016117360 +- kind: conda + name: libsystemd0 + version: '255' + build: h3516f8a_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-255-h3516f8a_1.conda + sha256: af27b0d225435d03f378a119f8eab6b280c53557a3c84cdb3bb8fd3167615aed + md5: 3366af27f0b593544a6cd453c7932ac5 + depends: + - __glibc >=2.17,<3.0.a0 + - libcap >=2.69,<2.70.0a0 + - libgcc-ng >=12 + - libgcrypt >=1.10.3,<2.0a0 + - lz4-c >=1.9.3,<1.10.0a0 + - xz >=5.2.6,<6.0a0 + - zstd >=1.5.5,<1.6.0a0 + license: LGPL-2.1-or-later + size: 402592 + timestamp: 1709568499820 - kind: conda name: libtiff version: 4.6.0 @@ -2796,6 +3525,22 @@ packages: license_family: BSD size: 33601 timestamp: 1680112270483 +- kind: conda + name: libvorbis + version: 1.3.7 + build: h9c3ff4c_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h9c3ff4c_0.tar.bz2 + sha256: 53080d72388a57b3c31ad5805c93a7328e46ff22fab7c44ad2a86d712740af33 + md5: 309dec04b70a3cc0f1e84a4013683bc0 + depends: + - libgcc-ng >=9.3.0 + - libogg >=1.3.4,<1.4.0a0 + - libstdcxx-ng >=9.3.0 + license: BSD-3-Clause + license_family: BSD + size: 286280 + timestamp: 1610609811627 - kind: conda name: libwebp version: 1.4.0 @@ -2863,6 +3608,25 @@ packages: license: LGPL-2.1-or-later size: 100393 timestamp: 1702724383534 +- kind: conda + name: libxkbcommon + version: 1.7.0 + build: h662e7e4_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.7.0-h662e7e4_0.conda + sha256: 3d97d7f964237f42452295d461afdbc51e93f72e2c80be516f56de80e3bb6621 + md5: b32c0da42b1f24a98577bb3d7fc0b995 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libxcb >=1.15,<1.16.0a0 + - libxml2 >=2.12.6,<3.0a0 + - xkeyboard-config + - xorg-libxau >=1.0.11,<2.0a0 + license: MIT/X11 Derivative + license_family: MIT + size: 593534 + timestamp: 1711303445595 - kind: conda name: libxml2 version: 2.12.7 @@ -2916,6 +3680,21 @@ packages: license_family: BSD size: 24973 timestamp: 1598114846810 +- kind: conda + name: lz4-c + version: 1.9.4 + build: hcb278e6_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda + sha256: 1b4c105a887f9b2041219d57036f72c4739ab9e9fe5a1486f094e58c76b31f5f + md5: 318b08df404f9c9be5712aaa5a6f0bb0 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 143402 + timestamp: 1674727076728 - kind: conda name: markdown-it-py version: 3.0.0 @@ -2950,6 +3729,56 @@ packages: license_family: BSD size: 26685 timestamp: 1706900070330 +- kind: conda + name: matplotlib + version: 3.8.4 + build: py312h7900ff3_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.8.4-py312h7900ff3_2.conda + sha256: 1aee6e72bcd0ef31212388c2f5b3fcd70227963216c2d4c2220104322be4d577 + md5: ac26198045dff11c94202bb3e1bdc132 + depends: + - matplotlib-base >=3.8.4,<3.8.5.0a0 + - pyqt >=5.10 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - tornado >=5 + license: PSF-2.0 + license_family: PSF + size: 8390 + timestamp: 1715976480596 +- kind: conda + name: matplotlib-base + version: 3.8.4 + build: py312h20ab3a6_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.4-py312h20ab3a6_2.conda + sha256: a927afa9e4b5cf7889b5a82ef2286b089873f402a0d0e10e6adb4cbf820a4db9 + md5: fbfe798f83f0d66410903ad8f40d5283 + depends: + - certifi >=2020.06.20 + - contourpy >=1.0.1 + - cycler >=0.10 + - fonttools >=4.22.0 + - freetype >=2.12.1,<3.0a0 + - kiwisolver >=1.3.1 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - numpy >=1.19,<3 + - numpy >=1.21 + - packaging >=20.0 + - pillow >=8 + - pyparsing >=2.3.1 + - python >=3.12,<3.13.0a0 + - python-dateutil >=2.7 + - python_abi 3.12.* *_cp312 + - tk >=8.6.13,<8.7.0a0 + license: PSF-2.0 + license_family: PSF + size: 7762905 + timestamp: 1715976444870 - kind: conda name: matplotlib-inline version: 0.1.7 @@ -3062,6 +3891,21 @@ packages: license_family: LGPL size: 643060 timestamp: 1712339500544 +- kind: conda + name: mpg123 + version: 1.32.6 + build: h59595ed_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.6-h59595ed_0.conda + sha256: 8895a5ce5122a3b8f59afcba4b032f198e8a690a0efc95ef61f2135357ef0d72 + md5: 9160cdeb523a1b20cf8d2a0bf821f45d + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: LGPL-2.1-only + license_family: LGPL + size: 491811 + timestamp: 1712327176955 - kind: conda name: mpmath version: 1.3.0 @@ -3077,6 +3921,21 @@ packages: license_family: BSD size: 438339 timestamp: 1678228210181 +- kind: conda + name: munkres + version: 1.1.4 + build: pyh9f0ad1d_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/munkres-1.1.4-pyh9f0ad1d_0.tar.bz2 + sha256: f86fb22b58e93d04b6f25e0d811b56797689d598788b59dcb47f59045b568306 + md5: 2ba8498c1018c1e9c61eb99b973dfe19 + depends: + - python + license: Apache-2.0 + license_family: Apache + size: 12452 + timestamp: 1600387789153 - kind: conda name: mypy_extensions version: 1.0.0 @@ -3092,6 +3951,43 @@ packages: license_family: MIT size: 10492 timestamp: 1675543414256 +- kind: conda + name: mysql-common + version: 8.3.0 + build: hf1915f5_4 + build_number: 4 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/mysql-common-8.3.0-hf1915f5_4.conda + sha256: 4cf6d29e091398735348550cb74cfd5006e04892d54b6b1ba916935f1af1a151 + md5: 784a4df6676c581ca624fbe460703a6d + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.2.1,<4.0a0 + license: GPL-2.0-or-later + license_family: GPL + size: 784844 + timestamp: 1709910607121 +- kind: conda + name: mysql-libs + version: 8.3.0 + build: hca2cd23_4 + build_number: 4 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-8.3.0-hca2cd23_4.conda + sha256: c39cdd1a5829aeffc611f789bdfd4dbd4ce1aa829c73d728defec180b5265d91 + md5: 1b50eebe2a738a3146c154d2eceaa8b6 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - mysql-common 8.3.0 hf1915f5_4 + - openssl >=3.2.1,<4.0a0 + - zstd >=1.5.5,<1.6.0a0 + license: GPL-2.0-or-later + license_family: GPL + size: 1537884 + timestamp: 1709910705541 - kind: conda name: myst-nb version: 1.1.0 @@ -3346,6 +4242,40 @@ packages: license_family: BSD size: 16880 timestamp: 1707957948029 +- kind: conda + name: nspr + version: '4.35' + build: h27087fc_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/nspr-4.35-h27087fc_0.conda + sha256: 8fadeebb2b7369a4f3b2c039a980d419f65c7b18267ba0c62588f9f894396d0c + md5: da0ec11a6454ae19bff5b02ed881a2b1 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: MPL-2.0 + license_family: MOZILLA + size: 226848 + timestamp: 1669784948267 +- kind: conda + name: nss + version: '3.100' + build: hca3bf56_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/nss-3.100-hca3bf56_0.conda + sha256: a4146d2b6636999a21afcaf957029d066637bf26239fd3170242501e38fb1fa4 + md5: 949c4a82290ee58b3c970cef4bcfd4ad + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc-ng >=12 + - libsqlite >=3.45.3,<4.0a0 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - nspr >=4.35,<5.0a0 + license: MPL-2.0 + license_family: MOZILLA + size: 2047723 + timestamp: 1715184444840 - kind: conda name: numpy version: 1.26.4 @@ -3368,6 +4298,24 @@ packages: license_family: BSD size: 7484186 timestamp: 1707225809722 +- kind: conda + name: openjpeg + version: 2.5.2 + build: h488ebb8_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.2-h488ebb8_0.conda + sha256: 5600a0b82df042bd27d01e4e687187411561dfc11cc05143a08ce29b64bf2af2 + md5: 7f2e286780f072ed750df46dc2631138 + depends: + - libgcc-ng >=12 + - libpng >=1.6.43,<1.7.0a0 + - libstdcxx-ng >=12 + - libtiff >=4.6.0,<4.7.0a0 + - libzlib >=1.2.13,<2.0.0a0 + license: BSD-2-Clause + license_family: BSD + size: 341592 + timestamp: 1709159244431 - kind: conda name: openssl version: 3.3.0 @@ -3595,6 +4543,30 @@ packages: license_family: MIT size: 9332 timestamp: 1602536313357 +- kind: conda + name: pillow + version: 10.3.0 + build: py312hdcec9eb_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.3.0-py312hdcec9eb_0.conda + sha256: a7fdcc1e56b66d95622bad073cc8d347cc180988040419754abb2a4ed7b29471 + md5: 425bb325f970e57a047ac57c4586489d + depends: + - freetype >=2.12.1,<3.0a0 + - lcms2 >=2.16,<3.0a0 + - libgcc-ng >=12 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libtiff >=4.6.0,<4.7.0a0 + - libwebp-base >=1.3.2,<2.0a0 + - libxcb >=1.15,<1.16.0a0 + - libzlib >=1.2.13,<2.0.0a0 + - openjpeg >=2.5.2,<3.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - tk >=8.6.13,<8.7.0a0 + license: HPND + size: 41991755 + timestamp: 1712154634705 - kind: conda name: pixman version: 0.43.2 @@ -3640,6 +4612,22 @@ packages: license_family: MIT size: 20572 timestamp: 1715777739019 +- kind: conda + name: ply + version: '3.11' + build: pyhd8ed1ab_2 + build_number: 2 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_2.conda + sha256: d8faaf4dcc13caed560fa32956523b35928a70499a2d08c51320947d637e3a41 + md5: 18c6deb6f9602e32446398203c8f0e91 + depends: + - python >=2.6 + license: BSD-3-Clause + license_family: BSD + size: 49196 + timestamp: 1712243121626 - kind: conda name: pre-commit version: 3.7.1 @@ -3753,6 +4741,26 @@ packages: license: ISC size: 16546 timestamp: 1609419417991 +- kind: conda + name: pulseaudio-client + version: '17.0' + build: hb77b528_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-hb77b528_0.conda + sha256: b27c0c8671bd95c205a61aeeac807c095b60bc76eb5021863f919036d7a964fc + md5: 07f45f1be1c25345faddb8db0de8039b + depends: + - dbus >=1.13.6,<2.0a0 + - libgcc-ng >=12 + - libglib >=2.78.3,<3.0a0 + - libsndfile >=1.2.2,<1.3.0a0 + - libsystemd0 >=255 + constrains: + - pulseaudio 17.0 *_0 + license: LGPL-2.1-or-later + license_family: LGPL + size: 757633 + timestamp: 1705690081905 - kind: conda name: pure_eval version: 0.2.2 @@ -3821,6 +4829,63 @@ packages: license_family: BSD size: 879295 timestamp: 1714846885370 +- kind: conda + name: pyparsing + version: 3.1.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.1.2-pyhd8ed1ab_0.conda + sha256: 06c77cb03e5dde2d939b216c99dd2db52ea93a4c7c599f3882f136005c359c7b + md5: b9a4dacf97241704529131a0dfc0494f + depends: + - python >=3.6 + license: MIT + license_family: MIT + size: 89455 + timestamp: 1709721146886 +- kind: conda + name: pyqt + version: 5.15.9 + build: py312h949fe66_5 + build_number: 5 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.9-py312h949fe66_5.conda + sha256: 22ccc59c03872fc680be597a1783d2c77e6b2d16953e2ec67df91f073820bebe + md5: f6548a564e2d01b2a42020259503945b + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - pyqt5-sip 12.12.2 py312h30efb56_5 + - python >=3.12.0rc3,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - qt-main >=5.15.8,<5.16.0a0 + - sip >=6.7.11,<6.8.0a0 + license: GPL-3.0-only + license_family: GPL + size: 5263946 + timestamp: 1695421350577 +- kind: conda + name: pyqt5-sip + version: 12.12.2 + build: py312h30efb56_5 + build_number: 5 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-12.12.2-py312h30efb56_5.conda + sha256: c7154e1933360881b99687d580c4b941fb0cc6ad9574762d409a28196ef5e240 + md5: 8a2a122dc4fe14d8cff38f1cf426381f + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - packaging + - python >=3.12.0rc3,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - sip + - toml + license: GPL-3.0-only + license_family: GPL + size: 85809 + timestamp: 1695418132533 - kind: conda name: pysocks version: 1.7.1 @@ -4034,6 +5099,66 @@ packages: license_family: GPL size: 74164 timestamp: 1709326984310 +- kind: conda + name: qt-main + version: 5.15.8 + build: hc9dc06e_21 + build_number: 21 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.8-hc9dc06e_21.conda + sha256: 6b4594f6f2fad65a7ed52993f602e3ab183193755fe4a492aaa48e463b23105b + md5: b325046180590c868ce0dbf267b82eb8 + depends: + - __glibc >=2.17,<3.0.a0 + - alsa-lib >=1.2.11,<1.3.0a0 + - dbus >=1.13.6,<2.0a0 + - fontconfig >=2.14.2,<3.0a0 + - fonts-conda-ecosystem + - freetype >=2.12.1,<3.0a0 + - gst-plugins-base >=1.24.1,<1.25.0a0 + - gstreamer >=1.24.1,<1.25.0a0 + - harfbuzz >=8.3.0,<9.0a0 + - icu >=73.2,<74.0a0 + - krb5 >=1.21.2,<1.22.0a0 + - libclang-cpp15 >=15.0.7,<15.1.0a0 + - libclang13 >=15.0.7 + - libcups >=2.3.3,<2.4.0a0 + - libevent >=2.1.12,<2.1.13.0a0 + - libexpat >=2.6.2,<3.0a0 + - libgcc-ng >=12 + - libglib >=2.80.0,<3.0a0 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libllvm15 >=15.0.7,<15.1.0a0 + - libpng >=1.6.43,<1.7.0a0 + - libpq >=16.2,<17.0a0 + - libsqlite >=3.45.2,<4.0a0 + - libstdcxx-ng >=12 + - libxcb >=1.15,<1.16.0a0 + - libxkbcommon >=1.7.0,<2.0a0 + - libxml2 >=2.12.6,<3.0a0 + - libzlib >=1.2.13,<2.0.0a0 + - mysql-libs >=8.3.0,<8.4.0a0 + - nspr >=4.35,<5.0a0 + - nss >=3.98,<4.0a0 + - openssl >=3.2.1,<4.0a0 + - pulseaudio-client >=17.0,<17.1.0a0 + - xcb-util >=0.4.0,<0.5.0a0 + - xcb-util-image >=0.4.0,<0.5.0a0 + - xcb-util-keysyms >=0.4.0,<0.5.0a0 + - xcb-util-renderutil >=0.3.9,<0.4.0a0 + - xcb-util-wm >=0.4.1,<0.5.0a0 + - xorg-libice >=1.1.1,<2.0a0 + - xorg-libsm >=1.2.4,<2.0a0 + - xorg-libx11 >=1.8.9,<2.0a0 + - xorg-libxext >=1.3.4,<2.0a0 + - xorg-xf86vidmodeproto + - zstd >=1.5.5,<1.6.0a0 + constrains: + - qt 5.15.8 + license: LGPL-3.0-only + license_family: LGPL + size: 61305384 + timestamp: 1712549380352 - kind: conda name: qtconsole-base version: 5.5.2 @@ -4258,6 +5383,26 @@ packages: license_family: MIT size: 9246 timestamp: 1659474768029 +- kind: conda + name: sip + version: 6.7.12 + build: py312h30efb56_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/sip-6.7.12-py312h30efb56_0.conda + sha256: baf6e63e213bb11e369a51e511b44217546a11f8470242bbaa8fac45cb4a39c3 + md5: 32633871002ee9902f747d2236e0d122 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - packaging + - ply + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - tomli + license: GPL-3.0-only + license_family: GPL + size: 576283 + timestamp: 1697300599736 - kind: conda name: six version: 1.16.0 @@ -4640,6 +5785,21 @@ packages: license_family: BSD size: 3318875 timestamp: 1699202167581 +- kind: conda + name: toml + version: 0.10.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 + sha256: f0f3d697349d6580e4c2f35ba9ce05c65dc34f9f049e85e45da03800b46139c1 + md5: f832c45a477c78bebd107098db465095 + depends: + - python >=2.7 + license: MIT + license_family: MIT + size: 18433 + timestamp: 1604308660817 - kind: conda name: tomli version: 2.0.1 @@ -4983,6 +6143,104 @@ packages: license_family: BSD size: 62482 timestamp: 1699532968076 +- kind: conda + name: xcb-util + version: 0.4.0 + build: hd590300_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.0-hd590300_1.conda + sha256: 0c91d87f0efdaadd4e56a5f024f8aab20ec30f90aa2ce9e4ebea05fbc20f71ad + md5: 9bfac7ccd94d54fd21a0501296d60424 + depends: + - libgcc-ng >=12 + - libxcb >=1.13 + - libxcb >=1.15,<1.16.0a0 + license: MIT + license_family: MIT + size: 19728 + timestamp: 1684639166048 +- kind: conda + name: xcb-util-image + version: 0.4.0 + build: h8ee46fc_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-h8ee46fc_1.conda + sha256: 92ffd68d2801dbc27afe223e04ae7e78ef605fc8575f107113c93c7bafbd15b0 + md5: 9d7bcddf49cbf727730af10e71022c73 + depends: + - libgcc-ng >=12 + - libxcb >=1.15,<1.16.0a0 + - xcb-util >=0.4.0,<0.5.0a0 + license: MIT + license_family: MIT + size: 24474 + timestamp: 1684679894554 +- kind: conda + name: xcb-util-keysyms + version: 0.4.0 + build: h8ee46fc_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.0-h8ee46fc_1.conda + sha256: 8451d92f25d6054a941b962179180728c48c62aab5bf20ac10fef713d5da6a9a + md5: 632413adcd8bc16b515cab87a2932913 + depends: + - libgcc-ng >=12 + - libxcb >=1.15,<1.16.0a0 + license: MIT + license_family: MIT + size: 14186 + timestamp: 1684680497805 +- kind: conda + name: xcb-util-renderutil + version: 0.3.9 + build: hd590300_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.9-hd590300_1.conda + sha256: 6987588e6fff5892056021c2ea52f7a0deefb2c7348e70d24750e2d60dabf009 + md5: e995b155d938b6779da6ace6c6b13816 + depends: + - libgcc-ng >=12 + - libxcb >=1.13 + - libxcb >=1.15,<1.16.0a0 + license: MIT + license_family: MIT + size: 16955 + timestamp: 1684639112393 +- kind: conda + name: xcb-util-wm + version: 0.4.1 + build: h8ee46fc_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.1-h8ee46fc_1.conda + sha256: 08ba7147c7579249b6efd33397dc1a8c2404278053165aaecd39280fee705724 + md5: 90108a432fb5c6150ccfee3f03388656 + depends: + - libgcc-ng >=12 + - libxcb >=1.15,<1.16.0a0 + license: MIT + license_family: MIT + size: 52114 + timestamp: 1684679248466 +- kind: conda + name: xkeyboard-config + version: '2.41' + build: hd590300_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.41-hd590300_0.conda + sha256: 56955610c0747ea7cb026bb8aa9ef165ff41d616e89894538173b8b7dd2ee49a + md5: 81f740407b45e3f9047b3174fa94eb9e + depends: + - libgcc-ng >=12 + - xorg-libx11 >=1.8.7,<2.0a0 + license: MIT + license_family: MIT + size: 898045 + timestamp: 1707104384997 - kind: conda name: xorg-kbproto version: 1.0.7 @@ -5137,6 +6395,21 @@ packages: license_family: MIT size: 30270 timestamp: 1677036833037 +- kind: conda + name: xorg-xf86vidmodeproto + version: 2.3.1 + build: h7f98852_1002 + build_number: 1002 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-xf86vidmodeproto-2.3.1-h7f98852_1002.tar.bz2 + sha256: 43398aeacad5b8753b7a1c12cb6bca36124e0c842330372635879c350c430791 + md5: 3ceea9668625c18f19530de98b15d5b0 + depends: + - libgcc-ng >=9.3.0 + license: MIT + license_family: MIT + size: 23875 + timestamp: 1620067286978 - kind: conda name: xorg-xproto version: 7.0.31 diff --git a/pixi.toml b/pixi.toml index fba14d9..0603ee3 100644 --- a/pixi.toml +++ b/pixi.toml @@ -33,6 +33,7 @@ jupyterlab-git = ">=0.50.0,<0.51" jupyterlab-lsp = ">=5.1.0,<5.2" jupyterlab-myst = ">=2.4.2,<2.5" jupyterlab_code_formatter = ">=2.2.1,<2.3" +matplotlib = ">=3.8.4,<3.9" myst-nb = ">=1.1.0,<1.2" numpy = ">=1.26.4,<1.27" pre-commit = ">=3.7.1,<3.8" From 24bc0427afd79d017f29f90d46f1ae030c59ddf6 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Tue, 4 Jun 2024 19:36:08 +0200 Subject: [PATCH 11/44] draft of plots for A31 --- docs/symbolics.ipynb | 285 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 260 insertions(+), 25 deletions(-) diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb index 05b86d2..568669c 100644 --- a/docs/symbolics.ipynb +++ b/docs/symbolics.ipynb @@ -21,10 +21,10 @@ "source": [ "$$\n", "\\begin{eqnarray}\n", - "A^{12} &=& \\frac{\\sum a_m Y_2^m (\\Omega_1)}{s-m^2_{a_2}+im_{a_2} \\Gamma_{a_2}} \\\\\n", - "A^{23} &=& \\frac{\\sum b_m Y_1^m (\\Omega_2)}{s-m^2_{\\Delta}+im_{\\Delta} \\Gamma_{\\Delta}} \\\\\n", + "A^{12} &=& \\frac{\\sum a_m Y_2^m (\\Omega_1)}{s_{12}-m^2_{a_2}+im_{a_2} \\Gamma_{a_2}} \\\\\n", + "A^{23} &=& \\frac{\\sum b_m Y_1^m (\\Omega_2)}{s_{23}-m^2_{\\Delta}+im_{\\Delta} \\Gamma_{\\Delta}} \\\\\n", "\\\n", - "A^{31} &=& \\frac{c_0}{s-m^2_{N^*}+im_{N^*} \\Gamma_{N^*}}\n", + "A^{31} &=& \\frac{c_0}{s_{31}-m^2_{N^*}+im_{N^*} \\Gamma_{N^*}}\n", "\\end{eqnarray}\n", "$$ (BW_SH_label)" ] @@ -38,7 +38,9 @@ "slideshow": { "slide_type": "" }, - "tags": [] + "tags": [ + "hide-cell" + ] }, "outputs": [], "source": [ @@ -61,10 +63,24 @@ "from IPython.display import display, Latex" ] }, + { + "cell_type": "markdown", + "id": "3", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "# $A^{12}$" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "3", + "id": "4", "metadata": { "editable": true, "slideshow": { @@ -74,16 +90,16 @@ }, "outputs": [], "source": [ - "s, m_a2, Gamma_a2 = symbols(r\"s m_{a_2} \\Gamma_{a_2}\")\n", + "s12, m_a2, Gamma_a2 = symbols(r\"s_{12} m_{a_2} \\Gamma_{a_2}\")\n", "l, m, theta1, phi1 = symbols(\"l m theta_1 phi_1\")\n", - "Ynm(l, m, theta, phi)\n", + "# Ynm(l, m, theta, phi)\n", "a_m = IndexedBase(\"a_m\")\n", "Y2_m = Function(\"Y_2^m\")(\"Omega_1\")\n", "m = symbols(\"m\", cls=sp.Idx)\n", "Omega1 = symbols(\"Omega_1\")\n", "\n", "A12 = sp.Sum(a_m * Ynm(2, m, theta1, phi1), (m, -2, 2)) / (\n", - " s - m_a2**2 + I * m_a2 * Gamma_a2\n", + " s12 - m_a2**2 + I * m_a2 * Gamma_a2\n", ")\n", "A12" ] @@ -91,16 +107,69 @@ { "cell_type": "code", "execution_count": null, - "id": "4", - "metadata": {}, + "id": "5", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "A12.free_symbols" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "A12_func = sp.lambdify([s12, a_m, m_a2, Gamma_a2, theta1, phi1], A12)\n", + "sp.lambdify([s12, a_m, m_a2, Gamma_a2, theta1, phi1], A12)" + ] + }, + { + "cell_type": "markdown", + "id": "7", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "# $A^{23}$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ - "m_Delta, Gamma_Delta = symbols(\"m_Delta Gamma_Delta\")\n", + "s23, m_Delta, Gamma_Delta = symbols(\"s_{23} m_Delta Gamma_Delta\")\n", "b_m = IndexedBase(\"b_m\")\n", "Y1_m = Function(\"Y_1^m\")(\"Omega_2\")\n", "theta2, phi2 = symbols(\"theta_2 phi_2\")\n", "A23 = Sum(b_m * Ynm(1, m, theta2, phi2), (m, -1, 1)) / (\n", - " s - m_Delta**2 + I * m_Delta * Gamma_Delta\n", + " s23 - m_Delta**2 + I * m_Delta * Gamma_Delta\n", ")\n", "A23" ] @@ -108,8 +177,60 @@ { "cell_type": "code", "execution_count": null, - "id": "5", - "metadata": {}, + "id": "9", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "A23.free_symbols" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "A23_func = sp.lambdify([s23, b_m, m_Delta, Gamma_Delta, theta2, phi2], A23)" + ] + }, + { + "cell_type": "markdown", + "id": "11", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "# $A^{31}$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "c0, m_Nstar, Gamma_Nstar = symbols(r\"c_0 m_{N^*} \\Gamma_{N^*}\")\n", @@ -120,8 +241,14 @@ { "cell_type": "code", "execution_count": null, - "id": "6", - "metadata": {}, + "id": "13", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "A31.free_symbols" @@ -130,8 +257,14 @@ { "cell_type": "code", "execution_count": null, - "id": "7", - "metadata": {}, + "id": "14", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "sp.lambdify([s, c0, m_Nstar, Gamma_Nstar], A31)" @@ -140,8 +273,14 @@ { "cell_type": "code", "execution_count": null, - "id": "8", - "metadata": {}, + "id": "15", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "A31_func = sp.lambdify([s, c0, m_Nstar, Gamma_Nstar], A31)" @@ -150,8 +289,14 @@ { "cell_type": "code", "execution_count": null, - "id": "9", - "metadata": {}, + "id": "16", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -167,10 +312,100 @@ { "cell_type": "code", "execution_count": null, - "id": "10", - "metadata": {}, + "id": "17", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], - "source": [] + "source": [ + "# Example values for m_Nstar and Gamma_Nstar\n", + "m_Nstar_val = 1.5\n", + "Gamma_Nstar_val = 0.6\n", + "c0_val = 1\n", + "\n", + "# Generate s values\n", + "s_values = np.linspace(0, 5, 100)\n", + "A31_values = A31_func(s_values, c0_val, m_Nstar_val, Gamma_Nstar_val)\n", + "\n", + "# Create the plot\n", + "plt.figure(figsize=(10, 6))\n", + "\n", + "plt.plot(s_values, A31_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\")\n", + "plt.plot(s_values, A31_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", + "plt.plot(s_values, np.abs(A31_values) ** 2, label=\"|A31|^2\", linestyle=\"-.\", color=\"g\")\n", + "plt.plot(\n", + " s_values, np.angle(A31_values), label=\"Phase (angle)\", linestyle=\":\", color=\"m\"\n", + ")\n", + "\n", + "plt.xlabel(\"s\")\n", + "plt.ylabel(r\"$A^{31}$ components\")\n", + "plt.title(r\"Components of $A^{31}$ vs s\")\n", + "plt.legend()\n", + "plt.grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "plt.plot(A31_values.real, A31_values.imag)\n", + "plt.title(r\"Argand diagram of $A^{31}$\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "19", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# Example values for m_Nstar and Gamma_Nstar\n", + "m_Nstar_val = 1.5\n", + "Gamma_Nstar_val = 0.6\n", + "c0_val = 1\n", + "\n", + "# Generate s values\n", + "s_values = np.linspace(0, 5, 100)\n", + "A12_values = A12_func(s_values, c0_val, m_Nstar_val, Gamma_Nstar_val)\n", + "\n", + "# Create the plot\n", + "plt.figure(figsize=(10, 6))\n", + "\n", + "plt.plot(s_values, A31_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\")\n", + "plt.plot(s_values, A31_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", + "plt.plot(s_values, np.abs(A31_values) ** 2, label=\"|A31|^2\", linestyle=\"-.\", color=\"g\")\n", + "plt.plot(\n", + " s_values, np.angle(A31_values), label=\"Phase (angle)\", linestyle=\":\", color=\"m\"\n", + ")\n", + "\n", + "plt.xlabel(\"s\")\n", + "plt.ylabel(r\"$A^{31}$ components\")\n", + "plt.title(r\"Components of $A^{31}$ vs s\")\n", + "plt.legend()\n", + "plt.grid(True)\n", + "plt.show()" + ] } ], "metadata": { From 8d4a00dd42f857c9a639331046dfed2ee24ebbed Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Wed, 5 Jun 2024 14:23:21 +0200 Subject: [PATCH 12/44] draft2 make index correct --- docs/symbolics.ipynb | 172 ++++++++++++++++++++++++++++++------------- 1 file changed, 122 insertions(+), 50 deletions(-) diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb index 568669c..4d29c8e 100644 --- a/docs/symbolics.ipynb +++ b/docs/symbolics.ipynb @@ -60,7 +60,8 @@ " Symbol,\n", " simplify,\n", ")\n", - "from IPython.display import display, Latex" + "from IPython.display import display, Latex\n", + "import matplotlib.pyplot as plt" ] }, { @@ -81,6 +82,17 @@ "cell_type": "code", "execution_count": null, "id": "4", + "metadata": {}, + "outputs": [], + "source": [ + "newa = IndexedBase(\"a\")\n", + "type(newa[0])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5", "metadata": { "editable": true, "slideshow": { @@ -93,12 +105,12 @@ "s12, m_a2, Gamma_a2 = symbols(r\"s_{12} m_{a_2} \\Gamma_{a_2}\")\n", "l, m, theta1, phi1 = symbols(\"l m theta_1 phi_1\")\n", "# Ynm(l, m, theta, phi)\n", - "a_m = IndexedBase(\"a_m\")\n", + "a = IndexedBase(\"a\")\n", "Y2_m = Function(\"Y_2^m\")(\"Omega_1\")\n", "m = symbols(\"m\", cls=sp.Idx)\n", "Omega1 = symbols(\"Omega_1\")\n", "\n", - "A12 = sp.Sum(a_m * Ynm(2, m, theta1, phi1), (m, -2, 2)) / (\n", + "A12 = sp.Sum(a[m] * Ynm(2, m, theta1, phi1), (m, -2, 2)) / (\n", " s12 - m_a2**2 + I * m_a2 * Gamma_a2\n", ")\n", "A12" @@ -107,7 +119,17 @@ { "cell_type": "code", "execution_count": null, - "id": "5", + "id": "6", + "metadata": {}, + "outputs": [], + "source": [ + "Ynm(2, 1, 1, 1).expand(func=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7", "metadata": { "editable": true, "slideshow": { @@ -123,7 +145,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6", + "id": "8", "metadata": { "editable": true, "slideshow": { @@ -133,13 +155,57 @@ }, "outputs": [], "source": [ - "A12_func = sp.lambdify([s12, a_m, m_a2, Gamma_a2, theta1, phi1], A12)\n", - "sp.lambdify([s12, a_m, m_a2, Gamma_a2, theta1, phi1], A12)" + "A12_func = sp.lambdify(\n", + " [s12, a[-2], a[-1], a[-0], a[1], a[2], m_a2, Gamma_a2, theta1, phi1],\n", + " A12.doit().expand(func=True),\n", + ")\n", + "A12_func" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9", + "metadata": {}, + "outputs": [], + "source": [ + "# Example values for m_Nstar and Gamma_Nstar\n", + "m_a2_val = 1.5\n", + "Gamma_a2_val = 0.6\n", + "a_vals = [1, 2, 3, 4, 5]\n", + "\n", + "# Generate s values\n", + "s_values = np.linspace(0, 5, 100)\n", + "PHI = np.linspace(-np.pi, +np.pi, num=100)\n", + "THETA = np.linspace(0, np.pi, num=100)\n", + "\n", + "# PHI, THETA = np.meshgrid(\n", + "# np.linspace(-np.pi, +np.pi, num=100),\n", + "# np.linspace(0, np.pi, num=100),\n", + "# )\n", + "A12_values = A12_func(s_values, *a_vals, m_a2_val, Gamma_a2_val, THETA, PHI)\n", + "\n", + "# Create the plot\n", + "plt.figure(figsize=(10, 6))\n", + "\n", + "plt.plot(s_values, A12_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\")\n", + "plt.plot(s_values, A12_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", + "plt.plot(s_values, np.abs(A12_values) ** 2, label=\"|A12|^2\", linestyle=\"-.\", color=\"g\")\n", + "plt.plot(\n", + " s_values, np.angle(A12_values), label=\"Phase (angle)\", linestyle=\":\", color=\"m\"\n", + ")\n", + "\n", + "plt.xlabel(\"s\")\n", + "plt.ylabel(r\"$A^{12}$ components\")\n", + "plt.title(r\"Components of $A^{12}$ vs s\")\n", + "plt.legend()\n", + "# plt.grid(True)\n", + "plt.show()" ] }, { "cell_type": "markdown", - "id": "7", + "id": "10", "metadata": { "editable": true, "slideshow": { @@ -154,7 +220,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8", + "id": "11", "metadata": { "editable": true, "slideshow": { @@ -165,10 +231,10 @@ "outputs": [], "source": [ "s23, m_Delta, Gamma_Delta = symbols(\"s_{23} m_Delta Gamma_Delta\")\n", - "b_m = IndexedBase(\"b_m\")\n", + "b = IndexedBase(\"b\")\n", "Y1_m = Function(\"Y_1^m\")(\"Omega_2\")\n", "theta2, phi2 = symbols(\"theta_2 phi_2\")\n", - "A23 = Sum(b_m * Ynm(1, m, theta2, phi2), (m, -1, 1)) / (\n", + "A23 = Sum(b[m] * Ynm(1, m, theta2, phi2), (m, -1, 1)) / (\n", " s23 - m_Delta**2 + I * m_Delta * Gamma_Delta\n", ")\n", "A23" @@ -177,7 +243,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9", + "id": "12", "metadata": { "editable": true, "slideshow": { @@ -193,7 +259,7 @@ { "cell_type": "code", "execution_count": null, - "id": "10", + "id": "13", "metadata": { "editable": true, "slideshow": { @@ -203,12 +269,12 @@ }, "outputs": [], "source": [ - "A23_func = sp.lambdify([s23, b_m, m_Delta, Gamma_Delta, theta2, phi2], A23)" + "# A23_func = sp.lambdify([s23, b_m, m_Delta, Gamma_Delta, theta2, phi2], A23)" ] }, { "cell_type": "markdown", - "id": "11", + "id": "14", "metadata": { "editable": true, "slideshow": { @@ -223,7 +289,7 @@ { "cell_type": "code", "execution_count": null, - "id": "12", + "id": "15", "metadata": { "editable": true, "slideshow": { @@ -233,15 +299,15 @@ }, "outputs": [], "source": [ - "c0, m_Nstar, Gamma_Nstar = symbols(r\"c_0 m_{N^*} \\Gamma_{N^*}\")\n", - "A31 = c0 / (s - m_Nstar**2 + I * m_Nstar * Gamma_Nstar)\n", + "s31, c0, m_Nstar, Gamma_Nstar = symbols(r\"s_{31} c_0 m_{N^*} \\Gamma_{N^*}\")\n", + "A31 = c0 / (s31 - m_Nstar**2 + I * m_Nstar * Gamma_Nstar)\n", "A31" ] }, { "cell_type": "code", "execution_count": null, - "id": "13", + "id": "16", "metadata": { "editable": true, "slideshow": { @@ -257,7 +323,7 @@ { "cell_type": "code", "execution_count": null, - "id": "14", + "id": "17", "metadata": { "editable": true, "slideshow": { @@ -267,13 +333,13 @@ }, "outputs": [], "source": [ - "sp.lambdify([s, c0, m_Nstar, Gamma_Nstar], A31)" + "sp.lambdify([s31, c0, m_Nstar, Gamma_Nstar], A31)" ] }, { "cell_type": "code", "execution_count": null, - "id": "15", + "id": "18", "metadata": { "editable": true, "slideshow": { @@ -283,13 +349,13 @@ }, "outputs": [], "source": [ - "A31_func = sp.lambdify([s, c0, m_Nstar, Gamma_Nstar], A31)" + "A31_func = sp.lambdify([s31, c0, m_Nstar, Gamma_Nstar], A31)" ] }, { "cell_type": "code", "execution_count": null, - "id": "16", + "id": "19", "metadata": { "editable": true, "slideshow": { @@ -299,8 +365,6 @@ }, "outputs": [], "source": [ - "import matplotlib.pyplot as plt\n", - "\n", "s_values = np.linspace(0, 5, 100)\n", "A31_values = A31_func(s_values, 1, 1.5, 0.6)\n", "plt.plot(s_values, A31_values.imag)\n", @@ -312,7 +376,7 @@ { "cell_type": "code", "execution_count": null, - "id": "17", + "id": "20", "metadata": { "editable": true, "slideshow": { @@ -352,7 +416,7 @@ { "cell_type": "code", "execution_count": null, - "id": "18", + "id": "21", "metadata": { "editable": true, "slideshow": { @@ -370,7 +434,7 @@ { "cell_type": "code", "execution_count": null, - "id": "19", + "id": "22", "metadata": { "editable": true, "slideshow": { @@ -380,32 +444,40 @@ }, "outputs": [], "source": [ - "# Example values for m_Nstar and Gamma_Nstar\n", - "m_Nstar_val = 1.5\n", - "Gamma_Nstar_val = 0.6\n", - "c0_val = 1\n", + "# # Example values for m_Nstar and Gamma_Nstar\n", + "# m_Nstar_val = 1.5\n", + "# Gamma_Nstar_val = 0.6\n", + "# c0_val = 1\n", "\n", - "# Generate s values\n", - "s_values = np.linspace(0, 5, 100)\n", - "A12_values = A12_func(s_values, c0_val, m_Nstar_val, Gamma_Nstar_val)\n", + "# # Generate s values\n", + "# s_values = np.linspace(0, 5, 100)\n", + "# A12_values = A12_func(s_values, c0_val, m_Nstar_val, Gamma_Nstar_val)\n", "\n", - "# Create the plot\n", - "plt.figure(figsize=(10, 6))\n", + "# # Create the plot\n", + "# plt.figure(figsize=(10, 6))\n", "\n", - "plt.plot(s_values, A31_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\")\n", - "plt.plot(s_values, A31_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", - "plt.plot(s_values, np.abs(A31_values) ** 2, label=\"|A31|^2\", linestyle=\"-.\", color=\"g\")\n", - "plt.plot(\n", - " s_values, np.angle(A31_values), label=\"Phase (angle)\", linestyle=\":\", color=\"m\"\n", - ")\n", + "# plt.plot(s_values, A31_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\")\n", + "# plt.plot(s_values, A31_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", + "# plt.plot(s_values, np.abs(A31_values) ** 2, label=\"|A31|^2\", linestyle=\"-.\", color=\"g\")\n", + "# plt.plot(\n", + "# s_values, np.angle(A31_values), label=\"Phase (angle)\", linestyle=\":\", color=\"m\"\n", + "# )\n", "\n", - "plt.xlabel(\"s\")\n", - "plt.ylabel(r\"$A^{31}$ components\")\n", - "plt.title(r\"Components of $A^{31}$ vs s\")\n", - "plt.legend()\n", - "plt.grid(True)\n", - "plt.show()" + "# plt.xlabel(\"s\")\n", + "# plt.ylabel(r\"$A^{31}$ components\")\n", + "# plt.title(r\"Components of $A^{31}$ vs s\")\n", + "# plt.legend()\n", + "# plt.grid(True)\n", + "# plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From b6453748255dd71b413ffad478a53715b0caf968 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Wed, 5 Jun 2024 16:18:56 +0200 Subject: [PATCH 13/44] plots of A12 --- docs/LamKpi.ipynb | 41 +++++++++++++++++++++ docs/symbolics.ipynb | 84 +++++++++++++++++++++++++++++++++----------- 2 files changed, 104 insertions(+), 21 deletions(-) create mode 100644 docs/LamKpi.ipynb diff --git a/docs/LamKpi.ipynb b/docs/LamKpi.ipynb new file mode 100644 index 0000000..cbe7ef2 --- /dev/null +++ b/docs/LamKpi.ipynb @@ -0,0 +1,41 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0", + "metadata": {}, + "source": [ + "$p \\gamma \\to K^+ \\pi^0 \\Lambda$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb index 4d29c8e..16eae79 100644 --- a/docs/symbolics.ipynb +++ b/docs/symbolics.ipynb @@ -106,9 +106,9 @@ "l, m, theta1, phi1 = symbols(\"l m theta_1 phi_1\")\n", "# Ynm(l, m, theta, phi)\n", "a = IndexedBase(\"a\")\n", - "Y2_m = Function(\"Y_2^m\")(\"Omega_1\")\n", + "# Y2_m = Function(\"Y_2^m\")(\"Omega_1\")\n", "m = symbols(\"m\", cls=sp.Idx)\n", - "Omega1 = symbols(\"Omega_1\")\n", + "# Omega1 = symbols(\"Omega_1\")\n", "\n", "A12 = sp.Sum(a[m] * Ynm(2, m, theta1, phi1), (m, -2, 2)) / (\n", " s12 - m_a2**2 + I * m_a2 * Gamma_a2\n", @@ -169,16 +169,58 @@ "metadata": {}, "outputs": [], "source": [ - "# Example values for m_Nstar and Gamma_Nstar\n", + "# Example values\n", "m_a2_val = 1.5\n", "Gamma_a2_val = 0.6\n", "a_vals = [1, 2, 3, 4, 5]\n", "\n", "# Generate s values\n", "s_values = np.linspace(0, 5, 100)\n", - "PHI = np.linspace(-np.pi, +np.pi, num=100)\n", - "THETA = np.linspace(0, np.pi, num=100)\n", + "# PHI = np.linspace(-np.pi, +np.pi, num=100)\n", + "# THETA = np.linspace(0, np.pi, num=100)\n", + "\n", + "PHI, THETA = np.meshgrid(\n", + " np.linspace(-np.pi, +np.pi, num=100),\n", + " np.linspace(0, np.pi, num=100),\n", + ")\n", + "A12_values = A12_func(s_values, *a_vals, m_a2_val, Gamma_a2_val, THETA, PHI)\n", + "\n", + "# Create the plot\n", + "plt.figure(figsize=(10, 6))\n", + "\n", + "plt.plot(s_values, A12_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\")\n", + "plt.plot(s_values, A12_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", + "plt.plot(s_values, np.abs(A12_values) ** 2, label=\"|A12|^2\", linestyle=\"-.\", color=\"g\")\n", + "plt.plot(\n", + " s_values, np.angle(A12_values), label=\"Phase (angle)\", linestyle=\":\", color=\"m\"\n", + ")\n", + "\n", + "plt.xlabel(\"s\")\n", + "plt.ylabel(r\"$A^{12}$ components\")\n", + "plt.title(r\"Components of $A^{12}$ vs s\")\n", + "# plt.legend()\n", + "# plt.grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10", + "metadata": {}, + "outputs": [], + "source": [ + "# Example values\n", + "m_a2_val = 1.5\n", + "Gamma_a2_val = 0.6\n", + "a_vals = [1, 2, 3, 4, 5]\n", "\n", + "# Generate s values\n", + "s_values = np.linspace(0, 5, 100)\n", + "# PHI = np.linspace(-np.pi, +np.pi, num=100)\n", + "# THETA = np.linspace(0, np.pi, num=100)\n", + "PHI = np.pi / 4\n", + "THETA = np.pi / 4\n", "# PHI, THETA = np.meshgrid(\n", "# np.linspace(-np.pi, +np.pi, num=100),\n", "# np.linspace(0, np.pi, num=100),\n", @@ -197,7 +239,7 @@ "\n", "plt.xlabel(\"s\")\n", "plt.ylabel(r\"$A^{12}$ components\")\n", - "plt.title(r\"Components of $A^{12}$ vs s\")\n", + "plt.title(r\"Components of $A^{12}$ vs s at 45 degree\")\n", "plt.legend()\n", "# plt.grid(True)\n", "plt.show()" @@ -205,7 +247,7 @@ }, { "cell_type": "markdown", - "id": "10", + "id": "11", "metadata": { "editable": true, "slideshow": { @@ -220,7 +262,7 @@ { "cell_type": "code", "execution_count": null, - "id": "11", + "id": "12", "metadata": { "editable": true, "slideshow": { @@ -243,7 +285,7 @@ { "cell_type": "code", "execution_count": null, - "id": "12", + "id": "13", "metadata": { "editable": true, "slideshow": { @@ -259,7 +301,7 @@ { "cell_type": "code", "execution_count": null, - "id": "13", + "id": "14", "metadata": { "editable": true, "slideshow": { @@ -274,7 +316,7 @@ }, { "cell_type": "markdown", - "id": "14", + "id": "15", "metadata": { "editable": true, "slideshow": { @@ -289,7 +331,7 @@ { "cell_type": "code", "execution_count": null, - "id": "15", + "id": "16", "metadata": { "editable": true, "slideshow": { @@ -307,7 +349,7 @@ { "cell_type": "code", "execution_count": null, - "id": "16", + "id": "17", "metadata": { "editable": true, "slideshow": { @@ -323,7 +365,7 @@ { "cell_type": "code", "execution_count": null, - "id": "17", + "id": "18", "metadata": { "editable": true, "slideshow": { @@ -339,7 +381,7 @@ { "cell_type": "code", "execution_count": null, - "id": "18", + "id": "19", "metadata": { "editable": true, "slideshow": { @@ -355,7 +397,7 @@ { "cell_type": "code", "execution_count": null, - "id": "19", + "id": "20", "metadata": { "editable": true, "slideshow": { @@ -376,7 +418,7 @@ { "cell_type": "code", "execution_count": null, - "id": "20", + "id": "21", "metadata": { "editable": true, "slideshow": { @@ -409,14 +451,14 @@ "plt.ylabel(r\"$A^{31}$ components\")\n", "plt.title(r\"Components of $A^{31}$ vs s\")\n", "plt.legend()\n", - "plt.grid(True)\n", + "# plt.grid(True)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, - "id": "21", + "id": "22", "metadata": { "editable": true, "slideshow": { @@ -434,7 +476,7 @@ { "cell_type": "code", "execution_count": null, - "id": "22", + "id": "23", "metadata": { "editable": true, "slideshow": { @@ -474,7 +516,7 @@ { "cell_type": "code", "execution_count": null, - "id": "23", + "id": "24", "metadata": {}, "outputs": [], "source": [] From 58138d77462b12441d638605eb7b3240ac0522c8 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Fri, 7 Jun 2024 15:08:17 +0200 Subject: [PATCH 14/44] Componenets of A12 A23 A31 and Argand diagrams --- docs/symbolics.ipynb | 332 ++++++++++++++++++++++++++++--------------- 1 file changed, 217 insertions(+), 115 deletions(-) diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb index 16eae79..8e09689 100644 --- a/docs/symbolics.ipynb +++ b/docs/symbolics.ipynb @@ -103,7 +103,7 @@ "outputs": [], "source": [ "s12, m_a2, Gamma_a2 = symbols(r\"s_{12} m_{a_2} \\Gamma_{a_2}\")\n", - "l, m, theta1, phi1 = symbols(\"l m theta_1 phi_1\")\n", + "theta1, phi1 = symbols(\"theta_1 phi_1\")\n", "# Ynm(l, m, theta, phi)\n", "a = IndexedBase(\"a\")\n", "# Y2_m = Function(\"Y_2^m\")(\"Omega_1\")\n", @@ -123,13 +123,23 @@ "metadata": {}, "outputs": [], "source": [ - "Ynm(2, 1, 1, 1).expand(func=True)" + "Ynm(2, 1, 1, 1).expand(func=False)" ] }, { "cell_type": "code", "execution_count": null, "id": "7", + "metadata": {}, + "outputs": [], + "source": [ + "Ynm(2, 1, 1, 1).expand(func=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8", "metadata": { "editable": true, "slideshow": { @@ -145,7 +155,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8", + "id": "9", "metadata": { "editable": true, "slideshow": { @@ -156,7 +166,7 @@ "outputs": [], "source": [ "A12_func = sp.lambdify(\n", - " [s12, a[-2], a[-1], a[-0], a[1], a[2], m_a2, Gamma_a2, theta1, phi1],\n", + " [s12, a[-2], a[-1], a[0], a[1], a[2], m_a2, Gamma_a2, theta1, phi1],\n", " A12.doit().expand(func=True),\n", ")\n", "A12_func" @@ -165,24 +175,19 @@ { "cell_type": "code", "execution_count": null, - "id": "9", + "id": "10", "metadata": {}, "outputs": [], "source": [ "# Example values\n", - "m_a2_val = 1.5\n", - "Gamma_a2_val = 0.6\n", - "a_vals = [1, 2, 3, 4, 5]\n", + "m_a2_val = 1.32\n", + "Gamma_a2_val = 0.1\n", + "a_vals = [0, 0.5, 3.5, 4, 2.5]\n", "\n", "# Generate s values\n", "s_values = np.linspace(0, 5, 100)\n", - "# PHI = np.linspace(-np.pi, +np.pi, num=100)\n", - "# THETA = np.linspace(0, np.pi, num=100)\n", - "\n", - "PHI, THETA = np.meshgrid(\n", - " np.linspace(-np.pi, +np.pi, num=100),\n", - " np.linspace(0, np.pi, num=100),\n", - ")\n", + "PHI = np.pi / 4\n", + "THETA = np.pi / 4\n", "A12_values = A12_func(s_values, *a_vals, m_a2_val, Gamma_a2_val, THETA, PHI)\n", "\n", "# Create the plot\n", @@ -197,8 +202,8 @@ "\n", "plt.xlabel(\"s\")\n", "plt.ylabel(r\"$A^{12}$ components\")\n", - "plt.title(r\"Components of $A^{12}$ vs s\")\n", - "# plt.legend()\n", + "plt.title(r\"Components of $A^{12}$ vs s at 45 degree\")\n", + "plt.legend()\n", "# plt.grid(True)\n", "plt.show()" ] @@ -206,7 +211,19 @@ { "cell_type": "code", "execution_count": null, - "id": "10", + "id": "11", + "metadata": {}, + "outputs": [], + "source": [ + "plt.plot(A12_values.real, A12_values.imag)\n", + "plt.title(r\"Argand diagram of $A^{12}$\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12", "metadata": {}, "outputs": [], "source": [ @@ -219,35 +236,54 @@ "s_values = np.linspace(0, 5, 100)\n", "# PHI = np.linspace(-np.pi, +np.pi, num=100)\n", "# THETA = np.linspace(0, np.pi, num=100)\n", - "PHI = np.pi / 4\n", - "THETA = np.pi / 4\n", - "# PHI, THETA = np.meshgrid(\n", - "# np.linspace(-np.pi, +np.pi, num=100),\n", - "# np.linspace(0, np.pi, num=100),\n", - "# )\n", - "A12_values = A12_func(s_values, *a_vals, m_a2_val, Gamma_a2_val, THETA, PHI)\n", + "\n", + "PHI, THETA = np.meshgrid(\n", + " np.linspace(-np.pi, +np.pi, num=100),\n", + " np.linspace(0, np.pi, num=100),\n", + ")\n", + "A12_Angles_values = A12_func(s_values, *a_vals, m_a2_val, Gamma_a2_val, THETA, PHI)\n", "\n", "# Create the plot\n", "plt.figure(figsize=(10, 6))\n", "\n", - "plt.plot(s_values, A12_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\")\n", - "plt.plot(s_values, A12_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", - "plt.plot(s_values, np.abs(A12_values) ** 2, label=\"|A12|^2\", linestyle=\"-.\", color=\"g\")\n", "plt.plot(\n", - " s_values, np.angle(A12_values), label=\"Phase (angle)\", linestyle=\":\", color=\"m\"\n", + " s_values, A12_Angles_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\"\n", + ")\n", + "plt.plot(s_values, A12_Angles_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", + "plt.plot(\n", + " s_values, np.abs(A12_Angles_values) ** 2, label=\"|A12|^2\", linestyle=\"-.\", color=\"g\"\n", + ")\n", + "plt.plot(\n", + " s_values,\n", + " np.angle(A12_Angles_values),\n", + " label=\"Phase (angle)\",\n", + " linestyle=\":\",\n", + " color=\"m\",\n", ")\n", "\n", "plt.xlabel(\"s\")\n", "plt.ylabel(r\"$A^{12}$ components\")\n", - "plt.title(r\"Components of $A^{12}$ vs s at 45 degree\")\n", - "plt.legend()\n", + "plt.title(r\"Components of $A^{12}$ vs s\")\n", + "# plt.legend()\n", "# plt.grid(True)\n", "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "13", + "metadata": {}, + "outputs": [], + "source": [ + "plt.plot(A12_Angles_values.real, A12_Angles_values.imag)\n", + "plt.title(r\"Argand diagram of $A^{12}$\")\n", + "plt.show()" + ] + }, { "cell_type": "markdown", - "id": "11", + "id": "14", "metadata": { "editable": true, "slideshow": { @@ -262,7 +298,7 @@ { "cell_type": "code", "execution_count": null, - "id": "12", + "id": "15", "metadata": { "editable": true, "slideshow": { @@ -274,6 +310,8 @@ "source": [ "s23, m_Delta, Gamma_Delta = symbols(\"s_{23} m_Delta Gamma_Delta\")\n", "b = IndexedBase(\"b\")\n", + "m = symbols(\"m\", cls=sp.Idx)\n", + "\n", "Y1_m = Function(\"Y_1^m\")(\"Omega_2\")\n", "theta2, phi2 = symbols(\"theta_2 phi_2\")\n", "A23 = Sum(b[m] * Ynm(1, m, theta2, phi2), (m, -1, 1)) / (\n", @@ -285,7 +323,7 @@ { "cell_type": "code", "execution_count": null, - "id": "13", + "id": "16", "metadata": { "editable": true, "slideshow": { @@ -301,7 +339,7 @@ { "cell_type": "code", "execution_count": null, - "id": "14", + "id": "17", "metadata": { "editable": true, "slideshow": { @@ -311,12 +349,145 @@ }, "outputs": [], "source": [ - "# A23_func = sp.lambdify([s23, b_m, m_Delta, Gamma_Delta, theta2, phi2], A23)" + "A23_func = sp.lambdify(\n", + " [s23, b[-1], b[0], b[1], m_Delta, Gamma_Delta, theta2, phi2],\n", + " A23.doit().expand(func=True),\n", + ")\n", + "A23_func" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18", + "metadata": {}, + "outputs": [], + "source": [ + "# Example values\n", + "m_Delta_val = 1.54\n", + "Gamma_Delta_val = 0.1\n", + "b_vals = [-1.5, 4, 0.5]\n", + "\n", + "# Generate s values\n", + "s_values = np.linspace(0, 5, 100)\n", + "# PHI = np.linspace(-np.pi, +np.pi, num=100)\n", + "# THETA = np.linspace(0, np.pi, num=100)\n", + "PHI = np.pi / 4\n", + "THETA = np.pi / 4\n", + "\n", + "A23_values = A23_func(s_values, *b_vals, m_Delta_val, Gamma_Delta_val, THETA, PHI)\n", + "\n", + "# Create the plot\n", + "plt.figure(figsize=(10, 6))\n", + "\n", + "plt.plot(s_values, A23_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\")\n", + "plt.plot(s_values, A23_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", + "plt.plot(s_values, np.abs(A23_values) ** 2, label=\"|A23|^2\", linestyle=\"-.\", color=\"g\")\n", + "plt.plot(\n", + " s_values, np.angle(A23_values), label=\"Phase (angle)\", linestyle=\":\", color=\"m\"\n", + ")\n", + "\n", + "plt.xlabel(\"s\")\n", + "plt.ylabel(r\"$A^{23}$ components\")\n", + "plt.title(r\"Components of $A^{23}$ vs s at 45 degree\")\n", + "plt.legend()\n", + "# plt.grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "19", + "metadata": {}, + "outputs": [], + "source": [ + "plt.plot(A23_values.real, A23_values.imag)\n", + "plt.title(r\"Argand diagram of $A^{23}$\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20", + "metadata": {}, + "outputs": [], + "source": [ + "# Example values\n", + "m_Delta_val = 1.54\n", + "Gamma_Delta_val = 0.1\n", + "b_vals = [-1.5, 4, 0.5]\n", + "\n", + "# Generate s values\n", + "s_values = np.linspace(0, 5, 100)\n", + "# PHI = np.linspace(-np.pi, +np.pi, num=100)\n", + "# THETA = np.linspace(0, np.pi, num=100)\n", + "\n", + "PHI, THETA = np.meshgrid(\n", + " np.linspace(-np.pi, +np.pi, num=100),\n", + " np.linspace(0, np.pi, num=100),\n", + ")\n", + "A23_Angles_values = A23_func(\n", + " s_values, *b_vals, m_Delta_val, Gamma_Delta_val, THETA, PHI\n", + ")\n", + "\n", + "# Create the plot\n", + "plt.figure(figsize=(10, 6))\n", + "\n", + "plt.plot(\n", + " s_values, A23_Angles_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\"\n", + ")\n", + "plt.plot(s_values, A23_Angles_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", + "# plt.plot(s_values, np.abs(A23_values) ** 2, label=\"|A23|^2\", linestyle=\"-.\", color=\"g\")\n", + "plt.plot(\n", + " s_values,\n", + " np.angle(A23_Angles_values),\n", + " label=\"Phase (angle)\",\n", + " linestyle=\":\",\n", + " color=\"m\",\n", + ")\n", + "\n", + "plt.xlabel(\"s\")\n", + "plt.ylabel(r\"$A^{23}$ components\")\n", + "plt.title(r\"Components of $A^{23}$ vs s\")\n", + "# plt.legend()\n", + "# plt.grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21", + "metadata": {}, + "outputs": [], + "source": [ + "plt.figure(figsize=(10, 6))\n", + "plt.plot(\n", + " s_values, np.abs(A23_Angles_values) ** 2, label=\"|A23|^2\", linestyle=\"-.\", color=\"g\"\n", + ")\n", + "plt.xlabel(\"s\")\n", + "plt.ylabel(r\"$A^{23}$ components\")\n", + "plt.title(r\"Components of $A^{23}$ vs s\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "22", + "metadata": {}, + "outputs": [], + "source": [ + "plt.plot(A23_Angles_values.real, A23_Angles_values.imag)\n", + "plt.title(r\"Argand diagram of $A^{23}$\")\n", + "plt.show()" ] }, { "cell_type": "markdown", - "id": "15", + "id": "23", "metadata": { "editable": true, "slideshow": { @@ -331,7 +502,7 @@ { "cell_type": "code", "execution_count": null, - "id": "16", + "id": "24", "metadata": { "editable": true, "slideshow": { @@ -349,7 +520,7 @@ { "cell_type": "code", "execution_count": null, - "id": "17", + "id": "25", "metadata": { "editable": true, "slideshow": { @@ -365,7 +536,7 @@ { "cell_type": "code", "execution_count": null, - "id": "18", + "id": "26", "metadata": { "editable": true, "slideshow": { @@ -381,7 +552,7 @@ { "cell_type": "code", "execution_count": null, - "id": "19", + "id": "27", "metadata": { "editable": true, "slideshow": { @@ -397,28 +568,7 @@ { "cell_type": "code", "execution_count": null, - "id": "20", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "s_values = np.linspace(0, 5, 100)\n", - "A31_values = A31_func(s_values, 1, 1.5, 0.6)\n", - "plt.plot(s_values, A31_values.imag)\n", - "plt.plot(s_values, A31_values.real)\n", - "plt.plot(s_values, np.abs(A31_values) ** 2)\n", - "plt.plot(s_values, np.angle(A31_values))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "21", + "id": "28", "metadata": { "editable": true, "slideshow": { @@ -429,9 +579,9 @@ "outputs": [], "source": [ "# Example values for m_Nstar and Gamma_Nstar\n", - "m_Nstar_val = 1.5\n", - "Gamma_Nstar_val = 0.6\n", - "c0_val = 1\n", + "m_Nstar_val = 1.87\n", + "Gamma_Nstar_val = 0.1\n", + "c0_val = 2.5\n", "\n", "# Generate s values\n", "s_values = np.linspace(0, 5, 100)\n", @@ -458,7 +608,7 @@ { "cell_type": "code", "execution_count": null, - "id": "22", + "id": "29", "metadata": { "editable": true, "slideshow": { @@ -472,54 +622,6 @@ "plt.title(r\"Argand diagram of $A^{31}$\")\n", "plt.show()" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "23", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# # Example values for m_Nstar and Gamma_Nstar\n", - "# m_Nstar_val = 1.5\n", - "# Gamma_Nstar_val = 0.6\n", - "# c0_val = 1\n", - "\n", - "# # Generate s values\n", - "# s_values = np.linspace(0, 5, 100)\n", - "# A12_values = A12_func(s_values, c0_val, m_Nstar_val, Gamma_Nstar_val)\n", - "\n", - "# # Create the plot\n", - "# plt.figure(figsize=(10, 6))\n", - "\n", - "# plt.plot(s_values, A31_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\")\n", - "# plt.plot(s_values, A31_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", - "# plt.plot(s_values, np.abs(A31_values) ** 2, label=\"|A31|^2\", linestyle=\"-.\", color=\"g\")\n", - "# plt.plot(\n", - "# s_values, np.angle(A31_values), label=\"Phase (angle)\", linestyle=\":\", color=\"m\"\n", - "# )\n", - "\n", - "# plt.xlabel(\"s\")\n", - "# plt.ylabel(r\"$A^{31}$ components\")\n", - "# plt.title(r\"Components of $A^{31}$ vs s\")\n", - "# plt.legend()\n", - "# plt.grid(True)\n", - "# plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "24", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From 5bf3922370cec7ecddd74014c49b2e9e14a82de5 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Fri, 7 Jun 2024 15:12:06 +0200 Subject: [PATCH 15/44] delete duplicate equation label --- docs/symbolics.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb index 8e09689..def95b8 100644 --- a/docs/symbolics.ipynb +++ b/docs/symbolics.ipynb @@ -26,7 +26,7 @@ "\\\n", "A^{31} &=& \\frac{c_0}{s_{31}-m^2_{N^*}+im_{N^*} \\Gamma_{N^*}}\n", "\\end{eqnarray}\n", - "$$ (BW_SH_label)" + "$$" ] }, { From b7310d4423f3569bc17f4f072b0483a39a68eb68 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Wed, 12 Jun 2024 12:08:41 +0200 Subject: [PATCH 16/44] matplotlib --- pixi.lock | 69 +++++++++++++++++++++++++++---------------------------- 1 file changed, 34 insertions(+), 35 deletions(-) diff --git a/pixi.lock b/pixi.lock index a04abeb..7bb7a25 100644 --- a/pixi.lock +++ b/pixi.lock @@ -9,7 +9,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.11-hd590300_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.12-h4ab18f5_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ampform-0.15.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda @@ -146,7 +146,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.69-h0f662aa_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-22_linux64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.7-default_h127d8a8_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-18.1.6-default_h5d6823c_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-18.1.7-default_h087397f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h4637d8d_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.20-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 @@ -169,7 +169,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-22_linux64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.7-hb3ce162_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm18-18.1.6-hb77312f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm18-18.1.7-hb77312f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.4-h7f98852_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.27-pthreads_h413a1c8_0.conda @@ -341,7 +341,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.0-h8ee46fc_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.9-hd590300_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.1-h8ee46fc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.41-hd590300_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.42-h4ab18f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-h7391055_0.conda @@ -423,19 +423,18 @@ packages: timestamp: 1704848898483 - kind: conda name: alsa-lib - version: 1.2.11 - build: hd590300_1 - build_number: 1 + version: 1.2.12 + build: h4ab18f5_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.11-hd590300_1.conda - sha256: 0e2b75b9834a6e520b13db516f7cf5c9cea8f0bbc9157c978444173dacb98fec - md5: 0bb492cca54017ea314b809b1ee3a176 + url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.12-h4ab18f5_0.conda + sha256: 64b95dd06d7ca6b54cea03b02da8f1657b9899ca376d0ca7b47823064f55fb16 + md5: 7ed427f0871fd41cb1d9c17727c17589 depends: - libgcc-ng >=12 license: LGPL-2.1-or-later license_family: GPL - size: 554699 - timestamp: 1709396557528 + size: 555868 + timestamp: 1718118368236 - kind: conda name: ampform version: 0.15.3 @@ -2841,20 +2840,20 @@ packages: timestamp: 1711063711931 - kind: conda name: libclang13 - version: 18.1.6 - build: default_h5d6823c_0 + version: 18.1.7 + build: default_h087397f_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-18.1.6-default_h5d6823c_0.conda - sha256: aa8246dca2e738a6e4dda87b448b1c01be00035489bd4f1cf409830ab7ce7d7d - md5: fbe666f653068958eb27f549cb12f202 + url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-18.1.7-default_h087397f_0.conda + sha256: d981a2734c3af6217dd42c1bccc13b99fc3ca5a64c379739612d6cf67f992a1d + md5: 536526073c2e7f9056fdce8584da779e depends: - libgcc-ng >=12 - - libllvm18 >=18.1.6,<18.2.0a0 + - libllvm18 >=18.1.7,<18.2.0a0 - libstdcxx-ng >=12 license: Apache-2.0 WITH LLVM-exception license_family: Apache - size: 11057117 - timestamp: 1716714834549 + size: 11057579 + timestamp: 1717819075043 - kind: conda name: libcups version: 2.3.3 @@ -3239,22 +3238,22 @@ packages: timestamp: 1701375836233 - kind: conda name: libllvm18 - version: 18.1.6 + version: 18.1.7 build: hb77312f_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libllvm18-18.1.6-hb77312f_0.conda - sha256: 0f529a258d0e586f4d443b5c4df9c36b1fcf5391d867e7e0a2b2cb6084337477 - md5: 1246fc4b9f4db452e69cc297967d4b3e + url: https://conda.anaconda.org/conda-forge/linux-64/libllvm18-18.1.7-hb77312f_0.conda + sha256: 9a9167b3e8e05abc517671fe45e5d40ae866d3e8195865ddad3c68131d059e25 + md5: bc0ea7e1f75a9b1c8467597fbbd9f86b depends: - libgcc-ng >=12 - libstdcxx-ng >=12 - libxml2 >=2.12.7,<3.0a0 - - libzlib >=1.2.13,<2.0.0a0 + - libzlib >=1.2.13,<2.0a0 - zstd >=1.5.6,<1.6.0a0 license: Apache-2.0 WITH LLVM-exception license_family: Apache - size: 38428999 - timestamp: 1716642164972 + size: 38423980 + timestamp: 1717781615068 - kind: conda name: libnsl version: 2.0.1 @@ -6228,19 +6227,19 @@ packages: timestamp: 1684679248466 - kind: conda name: xkeyboard-config - version: '2.41' - build: hd590300_0 + version: '2.42' + build: h4ab18f5_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.41-hd590300_0.conda - sha256: 56955610c0747ea7cb026bb8aa9ef165ff41d616e89894538173b8b7dd2ee49a - md5: 81f740407b45e3f9047b3174fa94eb9e + url: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.42-h4ab18f5_0.conda + sha256: 240caab7d9d85154ef373ecbac3ff9fb424add2029dbb124e949c6cbab2996dd + md5: b193af204da1bfb8c13882d131a14bd2 depends: - libgcc-ng >=12 - - xorg-libx11 >=1.8.7,<2.0a0 + - xorg-libx11 >=1.8.9,<2.0a0 license: MIT license_family: MIT - size: 898045 - timestamp: 1707104384997 + size: 388998 + timestamp: 1717817668629 - kind: conda name: xorg-kbproto version: 1.0.7 From 9e030baaeb77adc12b347a675be339390f1f058b Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Wed, 12 Jun 2024 15:46:35 +0200 Subject: [PATCH 17/44] remove pgamma state file which is in report0 branch --- docs/pgamma-state.ipynb | 436 ---------------------------------------- 1 file changed, 436 deletions(-) delete mode 100644 docs/pgamma-state.ipynb diff --git a/docs/pgamma-state.ipynb b/docs/pgamma-state.ipynb deleted file mode 100644 index d2ff38b..0000000 --- a/docs/pgamma-state.ipynb +++ /dev/null @@ -1,436 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "0", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "# Virtual particle that represents the state pγ " - ] - }, - { - "cell_type": "markdown", - "id": "1", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "Address to issue ✅ [ComPWA/gluex-nstar#5](https://github.com/ComPWA/gluex-nstar/issues/5), this section is an investigation of creating a virtual particle that represents the state $p \\gamma$ in `QRules`" - ] - }, - { - "cell_type": "markdown", - "id": "2", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "As an example of side note, create a virtual particle that represents state $e^+ e^-$ can be seen [here](https://qrules.readthedocs.io/0.10.x/usage/particle/#adding-custom-particle-definitions-through-python)." - ] - }, - { - "cell_type": "markdown", - "id": "3", - "metadata": {}, - "source": [ - "## Finding particles" - ] - }, - { - "cell_type": "markdown", - "id": "4", - "metadata": {}, - "source": [ - "Our reaction is $p + \\gamma \\to \\eta + \\pi^0 + p$, so we can look for each of the reaction and decay particles" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from qrules.particle import load_pdg\n", - "\n", - "particle_db = load_pdg()\n", - "print(\"Number of loaded particles:\", len(particle_db))" - ] - }, - { - "cell_type": "markdown", - "id": "6", - "metadata": {}, - "source": [ - "The [`ParticleCollection`](https://qrules.readthedocs.io/0.10.x/api/qrules.particle/#qrules.particle.ParticleCollection) class offers some methods to search for particles by name or by PID, name, or other properties." - ] - }, - { - "cell_type": "markdown", - "id": "7", - "metadata": {}, - "source": [ - "### Proton" - ] - }, - { - "cell_type": "markdown", - "id": "8", - "metadata": {}, - "source": [ - "Search by Particle ID (PID) for proton:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "particle_db.find(2212)" - ] - }, - { - "cell_type": "markdown", - "id": "10", - "metadata": {}, - "source": [ - "Search by Particle name for proton:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "11", - "metadata": {}, - "outputs": [], - "source": [ - "particle_db.find(\"p\")\n", - "proton = particle_db[\"p\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "12", - "metadata": {}, - "outputs": [], - "source": [ - "from IPython.display import Math\n", - "\n", - "Math(proton.latex)" - ] - }, - { - "cell_type": "markdown", - "id": "13", - "metadata": {}, - "source": [ - "### $\\gamma$" - ] - }, - { - "cell_type": "markdown", - "id": "14", - "metadata": {}, - "source": [ - "similarly for $\\gamma$:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "15", - "metadata": {}, - "outputs": [], - "source": [ - "particle_db.find(\"gamma\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "16", - "metadata": {}, - "outputs": [], - "source": [ - "gamma = particle_db[\"gamma\"]\n", - "Math(gamma.latex)" - ] - }, - { - "cell_type": "markdown", - "id": "17", - "metadata": {}, - "source": [ - "### $\\eta$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "18", - "metadata": {}, - "outputs": [], - "source": [ - "particle_db.find(\"eta\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "19", - "metadata": {}, - "outputs": [], - "source": [ - "eta = particle_db[\"eta\"]\n", - "Math(gamma.latex)" - ] - }, - { - "cell_type": "markdown", - "id": "20", - "metadata": {}, - "source": [ - "### $\\pi^0$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "21", - "metadata": {}, - "outputs": [], - "source": [ - "particle_db.find(\"pi0\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "22", - "metadata": {}, - "outputs": [], - "source": [ - "pi0 = particle_db[\"pi0\"]\n", - "Math(pi0.latex)" - ] - }, - { - "cell_type": "markdown", - "id": "23", - "metadata": {}, - "source": [ - "# Adding custom particle" - ] - }, - { - "cell_type": "markdown", - "id": "24", - "metadata": {}, - "source": [ - "We add the virtual particle $p\\gamma$ to represent the state of $p-\\gamma$ system in the photoproduction reaction.\n", - "See PWA101 (temporary [here](https://compwa--217.org.readthedocs.build/report/999.html)), the value of the mass of the system $m_{p\\gamma}$ in CM frame is about 4.102 GeV in this analysis.\n", - "\n", - "\n", - "We use `Particle` from `QRules` for adding custom particle, so that some quantum numbers we need to determine for the $p\\gamma$ virtual state particle:\n", - "\n", - "* (Total) Spin\n", - " * $J_{p\\gamma} = \\frac{1}{2}$ or $\\frac{3}{2}$\n", - " \n", - " because $J_{p\\gamma}$ = from $|s_p-s_{\\gamma}|$ to $s_p + s_{\\gamma}$ = from $|\\frac{1}{2}-1|$ to $\\frac{1}{2} + 1$\n", - " \n", - "* Mass\n", - " * $m_{p\\gamma} = E_{p\\gamma} \\approx 4.102$\n", - " \n", - "* Charge\n", - " * $Q_{p\\gamma} = Q_p + Q_{\\gamma} = 1 $\n", - " \n", - "* Isospin and $3^{rd}# component of isospin\n", - " * $I_{p\\gamma} = I_p = \\frac{1}{2}$\n", - " * $I_{3_{p\\gamma}} = I_{3_p} = +\\frac{1}{2}$\n", - " \n", - "* Baryon Number\n", - " * $B_{p\\gamma} = B_p = 1$\n", - "\n", - "* Parity\n", - " * $P_{p\\gamma} = P_p \\times P_{\\gamma} = +1 \\times (-1) = -1$" - ] - }, - { - "cell_type": "markdown", - "id": "25", - "metadata": {}, - "source": [ - "These quantum numbers provide a complete and accurate description of the virtual particle representing the p−γ system with a mass of 4.102 GeV.\n", - "The pγ virtual particle has two possibilities for the total spin, while the other quantum numbers are fixed." - ] - }, - { - "cell_type": "markdown", - "id": "26", - "metadata": {}, - "source": [ - "We add the spin-$\\frac{1}{2}$ $p\\gamma$ virtual particle via `QRules` and named it $p\\gamma$ with a make-up pid number 99990" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "27", - "metadata": {}, - "outputs": [], - "source": [ - "from qrules.particle import Particle, Spin\n", - "\n", - "pgamma = Particle(\n", - " name=\"p\",\n", - " latex=r\"p\\gamma (s1/2)\",\n", - " spin=0.5,\n", - " mass=4.101931071854584,\n", - " charge=1,\n", - " isospin=Spin(1 / 2, +1 / 2),\n", - " baryon_number=1,\n", - " parity=-1,\n", - " pid=99990,\n", - ")\n", - "pgamma" - ] - }, - { - "cell_type": "markdown", - "id": "28", - "metadata": {}, - "source": [ - "We add the spin-$\\frac{3}{2}$ $p\\gamma$ virtual particle via `QRules` and named it $p\\gamma (s3/2)$ with a make-up pid number 99991" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "29", - "metadata": {}, - "outputs": [], - "source": [ - "pgamma_j3over2 = Particle(\n", - " name=\"pgamma\",\n", - " latex=R\"p\\gamma (s3/2)\",\n", - " spin=1.5,\n", - " mass=4.101931071854584,\n", - " charge=1,\n", - " isospin=Spin(1 / 2, +1 / 2),\n", - " baryon_number=1,\n", - " parity=-1,\n", - " pid=99991,\n", - ")\n", - "pgamma_j3over2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "30", - "metadata": {}, - "outputs": [], - "source": [ - "Math(pgamma.latex)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "31", - "metadata": {}, - "outputs": [], - "source": [ - "Math(pgamma_j3over2.latex)" - ] - }, - { - "cell_type": "markdown", - "id": "32", - "metadata": {}, - "source": [ - "The $`p\\gamma`$ virtual states generated via `QRules` will be used in later stages, both possible spin states $(J= \\frac{1}{2}$ and $\\frac{3}{2})$ should be taken into account if possible, otherwise simplified if necessary." - ] - }, - { - "cell_type": "markdown", - "id": "33", - "metadata": {}, - "source": [ - ":::{important}\n", - "It is possible to add any kind of custom Particle, as long as its quantum numbers comply with the [gellmann_nishijima()](https://qrules.readthedocs.io/0.10.x/api/qrules.conservation_rules/#qrules.conservation_rules.gellmann_nishijima) rule:\n", - ":::\n" - ] - }, - { - "cell_type": "markdown", - "id": "34", - "metadata": {}, - "source": [ - ":::{note}\n", - "[Gell-Mann-Nishijima formula](https://en.wikipedia.org/wiki/Gell-Mann–Nishijima_formula):\n", - "$Q = I_3 + \\frac{1}{2}(B+S+C+B'+T)$\n", - "\n", - "where \n", - "Q is charge, \n", - "$I_3$ is Spin projection of isospin, \n", - " B is baryon number, \n", - " S is strangeness, \n", - " C is charmness, \n", - " B' is bottomness, and \n", - " T is topness.\n", - ":::\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From 1ea37feb15af71b691d2803fc28e08fecba02e5b Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Wed, 12 Jun 2024 16:05:39 +0200 Subject: [PATCH 18/44] Add all-in-one for sections of transitions and amplitude model --- docs/all-in-one.ipynb | 185 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 docs/all-in-one.ipynb diff --git a/docs/all-in-one.ipynb b/docs/all-in-one.ipynb new file mode 100644 index 0000000..1dda022 --- /dev/null +++ b/docs/all-in-one.ipynb @@ -0,0 +1,185 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0", + "metadata": {}, + "source": [ + "# Formulate Model" + ] + }, + { + "cell_type": "markdown", + "id": "1", + "metadata": {}, + "source": [ + "## Generate Transitions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2", + "metadata": {}, + "outputs": [], + "source": [ + "from __future__ import annotations\n", + "from IPython.display import Math\n", + "from qrules.particle import load_pdg\n", + "from ampform.io import aslatex, improve_latex_rendering\n", + "\n", + "improve_latex_rendering()\n", + "particle_db = load_pdg()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3", + "metadata": {}, + "outputs": [], + "source": [ + "from qrules.particle import Particle, Spin\n", + "\n", + "pgamma = Particle(\n", + " name=\"pgamma\",\n", + " latex=r\"p\\gamma (s1/2)\",\n", + " spin=0.5,\n", + " mass=4.101931071854584,\n", + " charge=1,\n", + " isospin=Spin(1 / 2, +1 / 2),\n", + " baryon_number=1,\n", + " parity=-1,\n", + " pid=99990,\n", + ")\n", + "pgamma" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4", + "metadata": {}, + "outputs": [], + "source": [ + "pgamma2 = Particle(\n", + " name=\"pgamma2\",\n", + " latex=R\"p\\gamma (s3/2)\",\n", + " spin=1.5,\n", + " mass=4.101931071854584,\n", + " charge=1,\n", + " isospin=Spin(1 / 2, +1 / 2),\n", + " baryon_number=1,\n", + " parity=-1,\n", + " pid=99991,\n", + ")\n", + "pgamma2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5", + "metadata": {}, + "outputs": [], + "source": [ + "particle_db.add(pgamma)\n", + "particle_db.add(pgamma2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6", + "metadata": {}, + "outputs": [], + "source": [ + "import qrules\n", + "import graphviz\n", + "\n", + "reaction1_strong_EM = qrules.generate_transitions(\n", + " initial_state=(\"pgamma\"),\n", + " final_state=[\"eta\", \"pi0\", \"p\"],\n", + " allowed_intermediate_particles=[\"a(2)\", \"Delta\", \"N\"],\n", + " allowed_interaction_types=[\"strong\", \"EM\"],\n", + " formalism=\"canonical-helicity\",\n", + " particle_db=particle_db,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7", + "metadata": {}, + "outputs": [], + "source": [ + "dot_se = qrules.io.asdot(reaction1_strong_EM, collapse_graphs=True)\n", + "graphviz.Source(dot_se)" + ] + }, + { + "cell_type": "markdown", + "id": "8", + "metadata": {}, + "source": [ + "## Build Amplitude Models" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9", + "metadata": {}, + "outputs": [], + "source": [ + "import ampform\n", + "\n", + "model_builder = ampform.get_builder(reaction1_strong_EM)\n", + "model_no_dynamics = model_builder.formulate()\n", + "model_no_dynamics.intensity" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10", + "metadata": {}, + "outputs": [], + "source": [ + "from ampform.io import aslatex\n", + "\n", + "Math(aslatex(model_no_dynamics.amplitudes))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From f613efbcd400cd7e1869954a3b3706d664ef2550 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Thu, 13 Jun 2024 09:29:24 +0200 Subject: [PATCH 19/44] Add full example until generate data section --- docs/all-in-one.ipynb | 428 ++++++++++++++++++- pixi.lock | 952 +++++++++++++++++++++++++++++++++++++++++- pixi.toml | 7 +- 3 files changed, 1364 insertions(+), 23 deletions(-) diff --git a/docs/all-in-one.ipynb b/docs/all-in-one.ipynb index 1dda022..835fd37 100644 --- a/docs/all-in-one.ipynb +++ b/docs/all-in-one.ipynb @@ -126,10 +126,18 @@ "## Build Amplitude Models" ] }, + { + "cell_type": "markdown", + "id": "9", + "metadata": {}, + "source": [ + "we use ampform to formulate the transitions as an amplitude model (here: HelicityModel). " + ] + }, { "cell_type": "code", "execution_count": null, - "id": "9", + "id": "10", "metadata": {}, "outputs": [], "source": [ @@ -143,7 +151,7 @@ { "cell_type": "code", "execution_count": null, - "id": "10", + "id": "11", "metadata": {}, "outputs": [], "source": [ @@ -155,10 +163,422 @@ { "cell_type": "code", "execution_count": null, - "id": "11", + "id": "12", + "metadata": {}, + "outputs": [], + "source": [ + "Math(aslatex(model_no_dynamics.parameter_defaults))" + ] + }, + { + "cell_type": "markdown", + "id": "13", + "metadata": {}, + "source": [ + "We choose to use relativistic_breit_wigner_with_ff() as the lineshape for all resonances and use a Blatt-Weisskopf form factor (create_non_dynamic_with_ff()) for the production decay. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "14", + "metadata": {}, + "outputs": [], + "source": [ + "from ampform.dynamics.builder import (\n", + " create_non_dynamic_with_ff,\n", + " create_relativistic_breit_wigner_with_ff,\n", + ")\n", + "\n", + "model_builder.dynamics.assign(\"pgamma\", create_non_dynamic_with_ff)\n", + "for name in reaction1_strong_EM.get_intermediate_particles().names:\n", + " model_builder.dynamics.assign(name, create_relativistic_breit_wigner_with_ff)\n", + "model = model_builder.formulate()" + ] + }, + { + "cell_type": "markdown", + "id": "15", + "metadata": {}, + "source": [ + "take another look at the parameters of the model to see which new parameters are there:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16", + "metadata": {}, + "outputs": [], + "source": [ + "sorted_parameter_defaults = {\n", + " symbol: model.parameter_defaults[symbol]\n", + " for symbol in sorted(model.parameter_defaults, key=str)\n", + "}\n", + "src = aslatex(sorted_parameter_defaults)\n", + "Math(src)" + ] + }, + { + "cell_type": "markdown", + "id": "17", + "metadata": {}, + "source": [ + "Optionally, we can backup the HelicityModel to disk via pickle." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18", + "metadata": {}, + "outputs": [], + "source": [ + "import pickle\n", + "\n", + "qrules.io.write(reaction1_strong_EM, \"transitions.json\")\n", + "with open(\"helicity_model.pickle\", \"wb\") as stream:\n", + " pickle.dump(model, stream)" + ] + }, + { + "cell_type": "markdown", + "id": "19", + "metadata": {}, + "source": [ + "# Generate data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "import pickle\n", + "\n", + "from ampform.helicity import HelicityModel\n", + "\n", + "with open(\"helicity_model.pickle\", \"rb\") as model_file:\n", + " imported_model: HelicityModel = pickle.load(model_file)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21", + "metadata": {}, + "outputs": [], + "source": [ + "initial_state, *_ = imported_model.reaction_info.initial_state.values()\n", + "print(\"Initial state:\")\n", + "print(\" \", initial_state.name)\n", + "print(\"Final state:\")\n", + "for i, p in imported_model.reaction_info.final_state.items():\n", + " print(f\" {i}: {p.name}\")\n", + "del initial_state" + ] + }, + { + "cell_type": "markdown", + "id": "22", + "metadata": {}, + "source": [ + "## Generate phase space sample" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23", + "metadata": {}, + "outputs": [], + "source": [ + "from tensorwaves.data import TFPhaseSpaceGenerator, TFUniformRealNumberGenerator\n", + "\n", + "rng = TFUniformRealNumberGenerator(seed=0)\n", + "phsp_generator = TFPhaseSpaceGenerator(\n", + " initial_state_mass=reaction1_strong_EM.initial_state[-1].mass,\n", + " final_state_masses={i: p.mass for i, p in reaction1_strong_EM.final_state.items()},\n", + ")\n", + "phsp_momenta = phsp_generator.generate(100_000, rng)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "24", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "pd.DataFrame(\n", + " {\n", + " (k, label): np.transpose(v)[i]\n", + " for k, v in phsp_momenta.items()\n", + " for i, label in enumerate([\"E\", \"px\", \"py\", \"pz\"])\n", + " }\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "25", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "\n", + "p = np.array(list(phsp_momenta.values()))\n", + "p.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26", + "metadata": {}, + "outputs": [], + "source": [ + "p.sum(axis=0).round(decimals=14)" + ] + }, + { + "cell_type": "markdown", + "id": "27", + "metadata": {}, + "source": [ + "## Generate intensity-based sample" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "28", + "metadata": {}, + "outputs": [], + "source": [ + "from tensorwaves.function.sympy import create_parametrized_function\n", + "\n", + "unfolded_expression = model.expression.doit()\n", + "intensity_func = create_parametrized_function(\n", + " expression=unfolded_expression,\n", + " parameters=model.parameter_defaults,\n", + " backend=\"numpy\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29", + "metadata": {}, + "outputs": [], + "source": [ + "Math(aslatex(model.kinematic_variables))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "30", + "metadata": {}, + "outputs": [], + "source": [ + "from tensorwaves.data import SympyDataTransformer\n", + "\n", + "helicity_transformer = SympyDataTransformer.from_sympy(\n", + " model.kinematic_variables, backend=\"jax\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31", + "metadata": {}, + "outputs": [], + "source": [ + "from tensorwaves.data import (\n", + " IntensityDistributionGenerator,\n", + " TFWeightedPhaseSpaceGenerator,\n", + ")\n", + "\n", + "weighted_phsp_generator = TFWeightedPhaseSpaceGenerator(\n", + " initial_state_mass=reaction1_strong_EM.initial_state[-1].mass,\n", + " final_state_masses={i: p.mass for i, p in reaction1_strong_EM.final_state.items()},\n", + ")\n", + "data_generator = IntensityDistributionGenerator(\n", + " domain_generator=weighted_phsp_generator,\n", + " function=intensity_func,\n", + " domain_transformer=helicity_transformer,\n", + ")\n", + "data_momenta = data_generator.generate(10_000, rng)\n", + "pd.DataFrame(\n", + " {\n", + " (k, label): np.transpose(v)[i]\n", + " for k, v in data_momenta.items()\n", + " for i, label in enumerate([\"E\", \"px\", \"py\", \"pz\"])\n", + " }\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "32", + "metadata": {}, + "source": [ + "## Visualize kinematic variables" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "33", + "metadata": {}, + "outputs": [], + "source": [ + "phsp = helicity_transformer(phsp_momenta)\n", + "data = helicity_transformer(data_momenta)\n", + "list(data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34", + "metadata": {}, + "outputs": [], + "source": [ + "for state_id, particle in reaction1_strong_EM.final_state.items():\n", + " print(f\"ID {state_id}:\", particle.name)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "35", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "data_frame = pd.DataFrame(data)\n", + "phsp_frame = pd.DataFrame(phsp)\n", + "data_frame" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36", + "metadata": {}, + "outputs": [], + "source": [ + "%config InlineBackend.figure_formats = ['svg']\n", + "\n", + "import matplotlib.pyplot as plt\n", + "\n", + "resonances = sorted(\n", + " reaction1_strong_EM.get_intermediate_particles(),\n", + " key=lambda p: p.mass,\n", + ")\n", + "evenly_spaced_interval = np.linspace(0, 1, len(resonances))\n", + "colors = [plt.cm.rainbow(x) for x in evenly_spaced_interval]\n", + "fig, ax = plt.subplots(figsize=(9, 4))\n", + "ax.hist(\n", + " np.real(data_frame[\"m_12\"]),\n", + " bins=100,\n", + " alpha=0.5,\n", + " density=True,\n", + ")\n", + "ax.set_xlabel(\"$m$ [GeV]\")\n", + "for p, color in zip(resonances, colors):\n", + " ax.axvline(x=p.mass, linestyle=\"dotted\", label=p.name, color=color)\n", + "ax.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "37", + "metadata": {}, + "source": [ + "## Export data sets" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "38", + "metadata": {}, + "outputs": [], + "source": [ + "import pickle\n", + "\n", + "with open(\"data.pickle\", \"wb\") as stream:\n", + " pickle.dump(data, stream)\n", + "with open(\"phsp.pickle\", \"wb\") as stream:\n", + " pickle.dump(phsp, stream)" + ] + }, + { + "cell_type": "markdown", + "id": "39", + "metadata": {}, + "source": [ + "# Perform fit" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "40", + "metadata": {}, + "outputs": [], + "source": [ + "reaction = qrules.io.load(\"transitions.json\")\n", + "with open(\"helicity_model.pickle\", \"rb\") as stream:\n", + " model: HelicityModel = pickle.load(stream)\n", + "with open(\"data.pickle\", \"rb\") as stream:\n", + " data = pickle.load(stream)\n", + "with open(\"phsp.pickle\", \"rb\") as stream:\n", + " phsp = pickle.load(stream)" + ] + }, + { + "cell_type": "markdown", + "id": "41", + "metadata": {}, + "source": [ + "## Prepare parametrized function" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "42", + "metadata": {}, + "outputs": [], + "source": [ + "initial_parameters = {\n", + " R\"C_{p\\gamma \\to {f_{0}(1500)}_{0} \\gamma_{+1}; f_{0}(1500) \\to \\eta \\pi^{0} p}\": (\n", + " 1.0 + 0.0j\n", + " ),\n", + " \"m_{f_{0}(500)}\": 0.4,\n", + " \"m_{f_{0}(980)}\": 0.88,\n", + " \"m_{f_{0}(1370)}\": 1.22,\n", + " \"m_{f_{0}(1500)}\": 1.45,\n", + " \"m_{f_{0}(1710)}\": 1.83,\n", + " R\"\\Gamma_{f_{0}(500)}\": 0.3,\n", + " R\"\\Gamma_{f_{0}(980)}\": 0.1,\n", + " R\"\\Gamma_{f_{0}(1710)}\": 0.3,\n", + "}" + ] } ], "metadata": { diff --git a/pixi.lock b/pixi.lock index 7bb7a25..8e85dd2 100644 --- a/pixi.lock +++ b/pixi.lock @@ -7,20 +7,23 @@ environments: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/absl-py-2.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/accessible-pygments-0.0.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.12-h4ab18f5_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/ampform-0.15.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/ampform-0.15.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/anyio-4.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h98912ed_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/astunparse-1.6.3-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.0.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.38.0-h04ea711_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.1-h166bdaf_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-23.2.0-pyh71513ae_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.3-py312h4413252_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/black-24.4.2-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/bleach-6.1.0-pyhd8ed1ab_0.conda @@ -38,22 +41,27 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.3.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/comm-0.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/contourpy-1.2.1-py312h8572e83_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cryptography-42.0.7-py312hbcc2302_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cycler-0.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.1-py312h30efb56_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/decaylanguage-0.18.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.8-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/dm-tree-0.1.8-py312h72fbbdf_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.6.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/flatbuffers-24.3.25-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 @@ -65,6 +73,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-h267a509_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/fribidi-1.0.10-h36c2ea0_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/gast-0.5.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.12-hb9ae30d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.22.5-h59595ed_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gettext-tools-0.22.5-h59595ed_2.conda @@ -75,16 +84,20 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.80.2-hb6ce0ca_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-h59595ed_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.5-py312h1d5cde6_1.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/google-pasta-0.2.0-pyh8c360ce_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h59595ed_1003.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-9.0.0-h78e8752_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.0.3-py312h30efb56_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.62.2-py312hb06c811_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.24.4-h9ad1361_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.24.4-haf2f30d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h280cfa0_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.1.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.11.0-nompi_py312hb7ab980_102.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.5.0-hfac3d4d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.3-nompi_hdf9ad27_104.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hepunits-2.3.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.0.0-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.5-pyhd8ed1ab_0.conda @@ -94,6 +107,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.36-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.7-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/iminuit-2.25.2-py312h30efb56_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.1.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.1.0-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.0-pyhd8ed1ab_0.conda @@ -129,14 +143,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.27.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-3.0.10-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/keras-3.3.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.4.5-py312h8572e83_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.2-h659d440_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lame-3.100-h166bdaf_1003.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/lark-1.1.9-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h55db66e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20240116.2-cxx17_h59595ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.3-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libasprintf-0.22.5-h661eb56_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libasprintf-devel-0.22.5-h661eb56_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-22_linux64_openblas.conda @@ -148,8 +165,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.7-default_h127d8a8_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-18.1.7-default_h087397f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h4637d8d_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.8.0-hca28451_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.20-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libevent-2.1.12-hf998b51_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 @@ -170,6 +189,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-22_linux64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.7-hb3ce162_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm18-18.1.7-hb77312f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.4-h7f98852_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.27-pthreads_h413a1c8_0.conda @@ -182,6 +202,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libsndfile-1.2.2-hc60ed4a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.18-h36c2ea0_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.45.3-h2797004_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-hc0a3c3a_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-255-h3516f8a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-h1dd3fc0_3.conda @@ -196,6 +217,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda - conda: https://conda.anaconda.org/conda-forge/noarch/livereload-2.6.3-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.5-py312h98912ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.8.4-py312h7900ff3_2.conda @@ -204,7 +226,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.4.0-py312h1d6d2e6_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.3.2-py312hfb8ada1_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h9458935_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/mpg123-1.32.6-h59595ed_0.conda @@ -215,6 +237,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/mysql-libs-8.3.0-hca2cd23_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-nb-1.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/myst-parser-3.0.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/namex-0.0.8-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-7.16.4-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.16.4-pyhd8ed1ab_0.conda @@ -233,26 +256,32 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.3.0-h4ab18f5_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/opt-einsum-3.3.0-hd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/opt_einsum-3.3.0-pyhc1e730c_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/optree-0.11.0-py312h8572e83_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-24.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.2-py312h1d6d2e6_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pandoc-3.2-ha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/pango-1.52.2-ha41ecd1_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/parso-0.8.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/particle-0.24.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.43-hcad00b1_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/phasespace-1.10.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.3.0-py312hdcec9eb_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/plumbum-1.8.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.7.1-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.20.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.42-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/prompt_toolkit-3.0.42-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/protobuf-4.25.3-py312h72fbbdf_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.8-py312h98912ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 @@ -261,6 +290,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.15.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.5.0-py312h98912ed_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.9-py312h949fe66_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyqt5-sip-12.12.2-py312h30efb56_5.conda @@ -269,10 +299,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/python-constraint-1.4.0-py_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.19.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-flatbuffers-24.3.25-pyh59ac667_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-graphviz-0.20.3-pyh717bed2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.12-4_cp312.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py312h98912ed_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.0.3-py312h8fd38d8_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/qrules-0.10.1-pyhd8ed1ab_0.conda @@ -285,6 +318,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.32.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.7.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.18.1-py312h4413252_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.13.0-py312hc2bc53b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_0.conda @@ -293,6 +327,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/sip-6.7.12-py312h30efb56_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.0-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.0-hdb0a2a9_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.5-pyhd8ed1ab_1.conda @@ -310,7 +345,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/starlette-0.37.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/sympy-1.12-pypyh9d50eac_103.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tabulate-0.9.0-pyhd8ed1ab_1.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/tensorboard-2.16.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tensorboard-data-server-0.7.0-py312h241aef2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tensorflow-2.16.1-cpu_py312hfe0d8c0_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tensorflow-base-2.16.1-cpu_py312hc526dda_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tensorflow-estimator-2.16.1-cpu_py312hbf2973a_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tensorflow-probability-0.24.0-pyh4af843d_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tensorwaves-0.4.12-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/termcolor-2.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyh0d859eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/tf-keras-2.16.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 @@ -327,6 +371,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/uvicorn-0.29.0-py312h7900ff3_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/vector-1.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.26.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-0.21.0-py312h4b3b743_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda @@ -334,6 +379,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-12.0-py312h98912ed_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.10-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.16.0-py312h98912ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.0-hd590300_1.conda @@ -390,6 +436,21 @@ packages: license_family: BSD size: 23621 timestamp: 1650670423406 +- kind: conda + name: absl-py + version: 2.1.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/absl-py-2.1.0-pyhd8ed1ab_0.conda + sha256: 6c84575fe0c3a860c7b6a52cb36dc548c838503c8da0f950a63a64c29b443937 + md5: 035d1d58677c13ec93122d9eb6b8803b + depends: + - python >=3.7 + license: Apache-2.0 + license_family: Apache + size: 107266 + timestamp: 1705494755555 - kind: conda name: accessible-pygments version: 0.0.4 @@ -437,13 +498,13 @@ packages: timestamp: 1718118368236 - kind: conda name: ampform - version: 0.15.3 + version: 0.15.4 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/ampform-0.15.3-pyhd8ed1ab_0.conda - sha256: bd2a51349635cb2dee6f197d7bc75af934710ddb9b2c998070127d1b6ddc0385 - md5: 7f698ec34d66b9bc40c03375a3efaf2c + url: https://conda.anaconda.org/conda-forge/noarch/ampform-0.15.4-pyhd8ed1ab_0.conda + sha256: 624cff712efc18b9671a8252d619c0d09333145820d317730790ec56c7f22d3d + md5: b84e06a4afa0667bb831782d42aff262 depends: - attrs >=20.1.0 - importlib-metadata @@ -454,8 +515,8 @@ packages: - typing-extensions license: GPL-3.0-or-later license_family: GPL - size: 76396 - timestamp: 1716358323855 + size: 76402 + timestamp: 1716399533026 - kind: conda name: anyio version: 4.3.0 @@ -548,6 +609,21 @@ packages: license_family: Apache size: 28922 timestamp: 1698341257884 +- kind: conda + name: astunparse + version: 1.6.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/astunparse-1.6.3-pyhd8ed1ab_0.tar.bz2 + sha256: e5173d1ed038038e24c0623f0219dc587ee8663cf7efa737e7075128edbc6c60 + md5: 000b6f68a0bfaba800ced7500c11780f + depends: + - python >=3.6 + - six >=1.6.1,<2.0 + license: BSD-3-Clause AND PSF-2.0 + size: 15539 + timestamp: 1610696401707 - kind: conda name: async-lru version: 2.0.4 @@ -630,6 +706,22 @@ packages: license_family: BSD size: 7609750 timestamp: 1702422720584 +- kind: conda + name: bcrypt + version: 4.1.3 + build: py312h4413252_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.3-py312h4413252_0.conda + sha256: 85974c97ed04aaa19aa2ad7c645d436f1a8333dfae2d48c1ede902fe3a6c83bb + md5: 6c31ba904235897ff6869ad448139838 + depends: + - libgcc-ng >=12 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 541268 + timestamp: 1715971784439 - kind: conda name: beautifulsoup4 version: 4.12.3 @@ -919,6 +1011,21 @@ packages: license_family: BSD size: 84437 timestamp: 1692311973840 +- kind: conda + name: cloudpickle + version: 3.0.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/cloudpickle-3.0.0-pyhd8ed1ab_0.conda + sha256: 0dfbc1ffa72e7a0882f486c9b1e4e9cccb68cf5c576fe53a89d076c9f1d43754 + md5: 753d29fe41bb881e4b9c004f0abf973f + depends: + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 24746 + timestamp: 1697464875382 - kind: conda name: colorama version: 0.4.6 @@ -968,6 +1075,24 @@ packages: license_family: BSD size: 256764 timestamp: 1712430146809 +- kind: conda + name: cryptography + version: 42.0.7 + build: py312hbcc2302_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-42.0.7-py312hbcc2302_0.conda + sha256: 91fa2d4229096ecffa36e71a33f2163d1138dc1ef98a0be20ba0e5905e420a85 + md5: 7bc0e1aae21b2e82d03959931f4294f0 + depends: + - cffi >=1.12 + - libgcc-ng >=12 + - openssl >=3.3.0,<4.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 AND BSD-3-Clause AND PSF-2.0 AND MIT + license_family: BSD + size: 1978679 + timestamp: 1715044173081 - kind: conda name: cycler version: 0.12.1 @@ -1017,6 +1142,30 @@ packages: license_family: MIT size: 2079306 timestamp: 1707444570818 +- kind: conda + name: decaylanguage + version: 0.18.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/decaylanguage-0.18.3-pyhd8ed1ab_0.conda + sha256: 55207320a2d49ce3c1cfdb9df4cfe89c981c5dea58dc964f528b4b78684e402c + md5: b5ab58816e0cfc55ecba1b222babc724 + depends: + - attrs >=19.2 + - deprecated + - importlib_resources >=2.0 + - lark >=1.0.0 + - numpy >=1.12 + - pandas >=0.22 + - particle >=0.22.0 + - plumbum >=1.7.0 + - python >=3.7 + - python-graphviz + license: BSD-3-Clause + license_family: BSD + size: 164952 + timestamp: 1717020370718 - kind: conda name: decorator version: 5.1.1 @@ -1078,6 +1227,26 @@ packages: license_family: APACHE size: 274915 timestamp: 1702383349284 +- kind: conda + name: dm-tree + version: 0.1.8 + build: py312h72fbbdf_4 + build_number: 4 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/dm-tree-0.1.8-py312h72fbbdf_4.conda + sha256: b8ff422d76c03e64c7902d8bdb10672f414d8c236aaa49c61c5fb011c0c0cba3 + md5: 9af124bccde71fcd767c020004e3d34d + depends: + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: Apache + size: 118694 + timestamp: 1709887014156 - kind: conda name: docutils version: 0.21.2 @@ -1166,6 +1335,21 @@ packages: license: Unlicense size: 15902 timestamp: 1714422911808 +- kind: conda + name: flatbuffers + version: 24.3.25 + build: h59595ed_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/flatbuffers-24.3.25-h59595ed_0.conda + sha256: 0f3b8d6a958d40d5b2ac105ba0ec09f61dd4ce78cafdf99ab2d0fc298dc54d75 + md5: 2941a8c4e4871cdfa738c8c1a7611533 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: Apache-2.0 + license_family: APACHE + size: 1459911 + timestamp: 1711467009850 - kind: conda name: font-ttf-dejavu-sans-mono version: '2.37' @@ -1333,6 +1517,23 @@ packages: license: LGPL-2.1 size: 114383 timestamp: 1604416621168 +- kind: conda + name: gast + version: 0.5.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/gast-0.5.4-pyhd8ed1ab_0.conda + sha256: e029d50d55f8fe8cf9323045f84416b7af50e25a0dc1b978f8ba6b9ca8d53ca7 + md5: 8189adbad784030b76bbf81c68d7b0d4 + depends: + - python >=3.4 + constrains: + - pythran >=0.12.2 + license: BSD-3-Clause + license_family: BSD + size: 23585 + timestamp: 1688368852991 - kind: conda name: gdk-pixbuf version: 2.42.12 @@ -1499,6 +1700,22 @@ packages: license_family: LGPL size: 212406 timestamp: 1715527440339 +- kind: conda + name: google-pasta + version: 0.2.0 + build: pyh8c360ce_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/google-pasta-0.2.0-pyh8c360ce_0.tar.bz2 + sha256: 6fe6859982e0600bc2347df4e4ad2b374971f1b913fbae468658e40e9095e748 + md5: 26e27d7d3d7fe2336b543dd8e0f12cbf + depends: + - python + - six + license: Apache-2.0 + license_family: APACHE + size: 43200 + timestamp: 1584374174720 - kind: conda name: graphite2 version: 1.3.13 @@ -1560,6 +1777,25 @@ packages: license_family: MIT size: 233067 timestamp: 1703201779255 +- kind: conda + name: grpcio + version: 1.62.2 + build: py312hb06c811_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.62.2-py312hb06c811_0.conda + sha256: a1271ba0e425bb83b924af546097375322b9cb75b8420bb5373307db6a5e6a31 + md5: 5c7e29383847fcd7e7b74bb5cd03307a + depends: + - libgcc-ng >=12 + - libgrpc 1.62.2 h15f2491_0 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 1046177 + timestamp: 1713390905173 - kind: conda name: gst-plugins-base version: 1.24.4 @@ -1685,6 +1921,26 @@ packages: license_family: MIT size: 46754 timestamp: 1634280590080 +- kind: conda + name: h5py + version: 3.11.0 + build: nompi_py312hb7ab980_102 + build_number: 102 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/h5py-3.11.0-nompi_py312hb7ab980_102.conda + sha256: 08f9cea9414fce460e7dd6aa489e6c81af1eebe3766e8ae22fc55b7238e5b803 + md5: 966750c8f347ece01e80aa2114b4a76d + depends: + - cached-property + - hdf5 >=1.14.3,<1.14.4.0a0 + - libgcc-ng >=12 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 1245015 + timestamp: 1717665055969 - kind: conda name: harfbuzz version: 8.5.0 @@ -1705,6 +1961,28 @@ packages: license_family: MIT size: 1598244 timestamp: 1715701061364 +- kind: conda + name: hdf5 + version: 1.14.3 + build: nompi_hdf9ad27_104 + build_number: 104 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.14.3-nompi_hdf9ad27_104.conda + sha256: b610883350b855aca3819e05b3f20aa8b79ccf1d84b7c2b107c39406dbfa8493 + md5: 5d028c0507dd26309c3caf01f2abbbd2 + depends: + - libaec >=1.1.3,<2.0a0 + - libcurl >=8.8.0,<9.0a0 + - libgcc-ng >=12 + - libgfortran-ng + - libgfortran5 >=12.3.0 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0a0 + - openssl >=3.3.0,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 3882449 + timestamp: 1717503005736 - kind: conda name: hepunits version: 2.3.3 @@ -1851,6 +2129,24 @@ packages: license_family: MIT size: 10164 timestamp: 1656939625410 +- kind: conda + name: iminuit + version: 2.25.2 + build: py312h30efb56_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/iminuit-2.25.2-py312h30efb56_0.conda + sha256: 72da4b4ccf07918c9032134b5299a8518cce680337f84f7afb791ee6f2b94ecb + md5: 569da1dedda546e5f8cc45c843589fc4 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - numpy + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: LGPL-2.0-or-later + license_family: LGPL + size: 477373 + timestamp: 1707480618851 - kind: conda name: importlib-metadata version: 7.1.0 @@ -2561,6 +2857,33 @@ packages: license_family: BSD size: 187135 timestamp: 1707422097508 +- kind: conda + name: keras + version: 3.3.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/keras-3.3.3-pyhd8ed1ab_0.conda + sha256: a8030a626960f522bc88cf966162fe20d47b4626db5a6afd4b69b9bb7543bf5d + md5: 0038c23b52e79facde5d5ecf6745cf64 + depends: + - absl-py + - h5py + - ml_dtypes + - namex + - numpy <2.0a0 + - optree + - packaging + - python >=3.9 + - rich + constrains: + - pytorch >=2.1,<2.3 + - jax 0.4.* + - tensorflow >=2.15.0,<2.17.0a + license: Apache-2.0 + license_family: APACHE + size: 860960 + timestamp: 1714206432046 - kind: conda name: keyutils version: 1.6.1 @@ -2626,6 +2949,21 @@ packages: license_family: LGPL size: 508258 timestamp: 1664996250081 +- kind: conda + name: lark + version: 1.1.9 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/lark-1.1.9-pyhd8ed1ab_0.conda + sha256: a9529f428ef27ac7c99b5826730d4fbbc33220b748955b908826c2bbc1fce8c5 + md5: f5b35b5ad9b6b4bfcfd300d66fd4f173 + depends: + - python >=3.6 + license: MIT + license_family: MIT + size: 92527 + timestamp: 1704993021250 - kind: conda name: lcms2 version: '2.16' @@ -2689,6 +3027,21 @@ packages: license_family: Apache size: 1266634 timestamp: 1714403128134 +- kind: conda + name: libaec + version: 1.1.3 + build: h59595ed_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libaec-1.1.3-h59595ed_0.conda + sha256: 2ef420a655528bca9d269086cf33b7e90d2f54ad941b437fb1ed5eca87cee017 + md5: 5e97e271911b8b2001a8b71860c32faa + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 35446 + timestamp: 1711021212685 - kind: conda name: libasprintf version: 0.22.5 @@ -2872,6 +3225,26 @@ packages: license_family: Apache size: 4519402 timestamp: 1689195353551 +- kind: conda + name: libcurl + version: 8.8.0 + build: hca28451_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.8.0-hca28451_0.conda + sha256: 45aec0ffc6fe3fd4c0083b815aa102b8103380acc2b6714fb272d921acc68ab2 + md5: f21c27f076a07907e70c49bb57bd0f20 + depends: + - krb5 >=1.21.2,<1.22.0a0 + - libgcc-ng >=12 + - libnghttp2 >=1.58.0,<2.0a0 + - libssh2 >=1.11.0,<2.0a0 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.3.0,<4.0a0 + - zstd >=1.5.6,<1.6.0a0 + license: curl + license_family: MIT + size: 405535 + timestamp: 1716378550673 - kind: conda name: libdeflate version: '1.20' @@ -2902,6 +3275,21 @@ packages: license_family: BSD size: 123878 timestamp: 1597616541093 +- kind: conda + name: libev + version: '4.33' + build: hd590300_2 + build_number: 2 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda + sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4 + md5: 172bf1cd1ff8629f2b1179945ed45055 + depends: + - libgcc-ng >=12 + license: BSD-2-Clause + license_family: BSD + size: 112766 + timestamp: 1702146165126 - kind: conda name: libevent version: 2.1.12 @@ -3254,6 +3642,27 @@ packages: license_family: Apache size: 38423980 timestamp: 1717781615068 +- kind: conda + name: libnghttp2 + version: 1.58.0 + build: h47da74e_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_1.conda + sha256: 1910c5306c6aa5bcbd623c3c930c440e9c77a5a019008e1487810e3c1d3716cb + md5: 700ac6ea6d53d5510591c4344d5c989a + depends: + - c-ares >=1.23.0,<2.0a0 + - libev >=4.33,<4.34.0a0 + - libev >=4.33,<5.0a0 + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.2.0,<4.0a0 + license: MIT + license_family: MIT + size: 631936 + timestamp: 1702130036271 - kind: conda name: libnsl version: 2.0.1 @@ -3455,6 +3864,22 @@ packages: license: Unlicense size: 859858 timestamp: 1713367435849 +- kind: conda + name: libssh2 + version: 1.11.0 + build: h0841786_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda + sha256: 50e47fd9c4f7bf841a11647ae7486f65220cfc988ec422a4475fe8d5a823824d + md5: 1f5a58e686b13bcfde88b93f547d23fe + depends: + - libgcc-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - openssl >=3.1.1,<4.0a0 + license: BSD-3-Clause + license_family: BSD + size: 271133 + timestamp: 1685837707056 - kind: conda name: libstdcxx-ng version: 13.2.0 @@ -3694,6 +4119,22 @@ packages: license_family: BSD size: 143402 timestamp: 1674727076728 +- kind: conda + name: markdown + version: '3.6' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/markdown-3.6-pyhd8ed1ab_0.conda + sha256: fce1fde00359696983989699c00f9891194c4ebafea647a8d21b7e2e3329b56e + md5: 06e9bebf748a0dea03ecbe1f0e27e909 + depends: + - importlib-metadata >=4.4 + - python >=3.6 + license: BSD-3-Clause + license_family: BSD + size: 78331 + timestamp: 1710435316163 - kind: conda name: markdown-it-py version: 3.0.0 @@ -3842,22 +4283,21 @@ packages: timestamp: 1698947249750 - kind: conda name: ml_dtypes - version: 0.4.0 - build: py312h1d6d2e6_1 - build_number: 1 + version: 0.3.2 + build: py312hfb8ada1_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.4.0-py312h1d6d2e6_1.conda - sha256: 7a27970a62c65eba0da9aa20c08bee3593ca0d0473e42c674fa0b96fa5d1da72 - md5: ff893cf9cee50a89122e5b765e8a1c37 + url: https://conda.anaconda.org/conda-forge/linux-64/ml_dtypes-0.3.2-py312hfb8ada1_0.conda + sha256: d9f7af15329c01e9a89767118ed3760d5ff7abe05f81381c73f7fefad477a53f + md5: f2c10ae8f4dac8c514d87c20c6294d05 depends: - libgcc-ng >=12 - libstdcxx-ng >=12 - - numpy >=1.19,<3 + - numpy >=1.26.3,<2.0a0 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 license: MPL-2.0 AND Apache-2.0 - size: 171303 - timestamp: 1715895755176 + size: 171927 + timestamp: 1704727833964 - kind: conda name: mpc version: 1.3.1 @@ -4033,6 +4473,21 @@ packages: license_family: MIT size: 72235 timestamp: 1714413912964 +- kind: conda + name: namex + version: 0.0.8 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/namex-0.0.8-pyhd8ed1ab_0.conda + sha256: 9ed4061868dfd2b97363ae3ee08f192b822d1f7f999c7c081deed43310b3e5af + md5: b96883bd4ee5a6aef4636674783a6d57 + depends: + - python >=3.6 + license: Apache-2.0 + license_family: APACHE + size: 11435 + timestamp: 1713169837914 - kind: conda name: nbclient version: 0.10.0 @@ -4366,6 +4821,24 @@ packages: license_family: MIT size: 58004 timestamp: 1696449058916 +- kind: conda + name: optree + version: 0.11.0 + build: py312h8572e83_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/optree-0.11.0-py312h8572e83_0.conda + sha256: d13f5620b3cd35444b3bee407562136557d952801313f4551b53be3dcf632bc2 + md5: 3d4a6109d531d5b3ab4f4731e9366013 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - typing-extensions >=4.0.0 + license: Apache-2.0 + license_family: Apache + size: 272503 + timestamp: 1711402615959 - kind: conda name: overrides version: 7.7.0 @@ -4397,6 +4870,28 @@ packages: license_family: APACHE size: 49832 timestamp: 1710076089469 +- kind: conda + name: pandas + version: 2.2.2 + build: py312h1d6d2e6_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.2-py312h1d6d2e6_1.conda + sha256: 80fd53b68aa89b929d03874b99621ec8cc6a12629bd8bfbdca87a95f8852af96 + md5: ae00b61f3000d2284d1f2584d4dfafa8 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - numpy >=1.19,<3 + - python >=3.12,<3.13.0a0 + - python-dateutil >=2.8.1 + - python-tzdata >=2022a + - python_abi 3.12.* *_cp312 + - pytz >=2020.1 + license: BSD-3-Clause + license_family: BSD + size: 15458981 + timestamp: 1715898284697 - kind: conda name: pandoc version: '3.2' @@ -4445,6 +4940,24 @@ packages: license: LGPL-2.1-or-later size: 446864 timestamp: 1712103212459 +- kind: conda + name: paramiko + version: 3.4.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.4.0-pyhd8ed1ab_0.conda + sha256: 2e66359261954a79b66858c30e69ea6dd4380bf8bd733940527386b25e31dd13 + md5: a5e792523b028b06d7ce6e65a6cd4a33 + depends: + - bcrypt >=3.2 + - cryptography >=3.3 + - pynacl >=1.5 + - python >=3.6 + license: LGPL-2.1-or-later + license_family: LGPL + size: 160045 + timestamp: 1703016056314 - kind: conda name: parso version: 0.8.4 @@ -4526,6 +5039,26 @@ packages: license: ISC size: 53600 timestamp: 1706113273252 +- kind: conda + name: phasespace + version: 1.10.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/phasespace-1.10.3-pyhd8ed1ab_0.conda + sha256: dae8ca787f2bf088dcac9c576e821e91954c183a70223c52304aed8f715381c7 + md5: fa5997cd7988d6a2132c732b4f5dddf5 + depends: + - decaylanguage + - particle + - python >=3.9 + - tensorflow >=2.15 + - tensorflow-probability >=0.23 + - vector + license: BSD-3-Clause + license_family: BSD + size: 38210 + timestamp: 1714074138091 - kind: conda name: pickleshare version: 0.7.5 @@ -4611,6 +5144,23 @@ packages: license_family: MIT size: 20572 timestamp: 1715777739019 +- kind: conda + name: plumbum + version: 1.8.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/plumbum-1.8.3-pyhd8ed1ab_0.conda + sha256: 1fc48032cd371f3c4df0634c0337a1824abe36efab23c3e63ddfd5b48648cd9f + md5: 96de36ea78154d3cc6372cd118bfe9d0 + depends: + - paramiko + - python >=3.6 + - pywin32-on-windows + license: MIT + license_family: MIT + size: 97196 + timestamp: 1714378366627 - kind: conda name: ply version: '3.11' @@ -4695,6 +5245,27 @@ packages: license_family: BSD size: 6846 timestamp: 1702399567048 +- kind: conda + name: protobuf + version: 4.25.3 + build: py312h72fbbdf_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/protobuf-4.25.3-py312h72fbbdf_0.conda + sha256: 9bb6d2a6f1b1ae085eb9e3d7bea21da9583edbbc501eaf473511f7ddf0e741bd + md5: 83b85f6cee7bbdb9b5ad2f1b785234c8 + depends: + - libabseil * cxx17* + - libabseil >=20240116.1,<20240117.0a0 + - libgcc-ng >=12 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libstdcxx-ng >=12 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - setuptools + license: BSD-3-Clause + license_family: BSD + size: 391574 + timestamp: 1709685971370 - kind: conda name: psutil version: 5.9.8 @@ -4828,6 +5399,26 @@ packages: license_family: BSD size: 879295 timestamp: 1714846885370 +- kind: conda + name: pynacl + version: 1.5.0 + build: py312h98912ed_3 + build_number: 3 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.5.0-py312h98912ed_3.conda + sha256: f9077093cbd75165abd2f538ad2924ec4cf3a5928604e9ff6ffcf2b224de2163 + md5: 66244781991f08a163ff80a91359dbf5 + depends: + - cffi >=1.4.1 + - libgcc-ng >=12 + - libsodium >=1.0.18,<1.0.19.0a0 + - python >=3.12.0rc3,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - six + license: Apache-2.0 + license_family: Apache + size: 1147941 + timestamp: 1695545046950 - kind: conda name: pyparsing version: 3.1.2 @@ -4978,6 +5569,21 @@ packages: license_family: BSD size: 225250 timestamp: 1703781171097 +- kind: conda + name: python-flatbuffers + version: 24.3.25 + build: pyh59ac667_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-flatbuffers-24.3.25-pyh59ac667_0.conda + sha256: 6a9d285fef959480eccbc69e276ede64e292c8eee35ddc727d5a0fb9a4bcc3a2 + md5: dfc884dcd61ff6543fde37a41b7d7f31 + depends: + - python >=3.6 + license: Apache-2.0 + license_family: Apache + size: 34336 + timestamp: 1711466847930 - kind: conda name: python-graphviz version: 0.20.3 @@ -5009,6 +5615,21 @@ packages: license_family: BSD size: 13383 timestamp: 1677079727691 +- kind: conda + name: python-tzdata + version: '2024.1' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.1-pyhd8ed1ab_0.conda + sha256: 9da9a849d53705dee450b83507df1ca8ffea5f83bd21a215202221f1c492f8ad + md5: 98206ea9954216ee7540f0c773f2104d + depends: + - python >=3.6 + license: Apache-2.0 + license_family: APACHE + size: 144024 + timestamp: 1707747742930 - kind: conda name: python_abi version: '3.12' @@ -5039,6 +5660,23 @@ packages: license_family: MIT size: 188538 timestamp: 1706886944988 +- kind: conda + name: pywin32-on-windows + version: 0.1.0 + build: pyh1179c8e_3 + build_number: 3 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2 + sha256: 6502696aaef571913b22a808b15c185bd8ea4aabb952685deb29e6a6765761cb + md5: 2807a0becd1d986fe1ef9b7f8135f215 + depends: + - __unix + - python >=2.7 + license: BSD-3-Clause + license_family: BSD + size: 4856 + timestamp: 1646866525560 - kind: conda name: pyyaml version: 6.0.1 @@ -5295,6 +5933,24 @@ packages: license_family: MIT size: 7818 timestamp: 1598024297745 +- kind: conda + name: rich + version: 13.7.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/rich-13.7.1-pyhd8ed1ab_0.conda + sha256: 2b26d58aa59e46f933c3126367348651b0dab6e0bf88014e857415bb184a4667 + md5: ba445bf767ae6f0d959ff2b40c20912b + depends: + - markdown-it-py >=2.2.0 + - pygments >=2.13.0,<3.0.0 + - python >=3.7.0 + - typing_extensions >=4.0.0,<5.0.0 + license: MIT + license_family: MIT + size: 184347 + timestamp: 1709150578093 - kind: conda name: rpds-py version: 0.18.1 @@ -5432,6 +6088,22 @@ packages: license_family: BSD size: 22483 timestamp: 1634310465482 +- kind: conda + name: snappy + version: 1.2.0 + build: hdb0a2a9_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/snappy-1.2.0-hdb0a2a9_1.conda + sha256: bb87116b8c6198f6979b3d212e9af12e08e12f2bf09970d0f9b4582607648b22 + md5: 843bbb8ace1d64ac50d64639ff38b014 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + license: BSD-3-Clause + license_family: BSD + size: 42334 + timestamp: 1712591084054 - kind: conda name: sniffio version: 1.3.1 @@ -5734,6 +6406,200 @@ packages: license_family: MIT size: 35912 timestamp: 1665138565317 +- kind: conda + name: tensorboard + version: 2.16.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/tensorboard-2.16.2-pyhd8ed1ab_0.conda + sha256: 471ed4bf7811b7a6ede1fd9a6c281cd07139b0b5694b3a18fe21a8d4bee032c7 + md5: 78633141b91d2910b08fac6458e0ddb1 + depends: + - absl-py >=0.4 + - grpcio >=1.48.2 + - markdown >=2.6.8 + - numpy >=1.12.0 + - protobuf >=3.19.6,!=4.24.0 + - python >=3.8 + - setuptools >=41.0.0 + - six >=1.9 + - tensorboard-data-server >=0.7.0,<0.8.0 + - werkzeug >=1.0.1 + license: Apache-2.0 + license_family: APACHE + size: 5174472 + timestamp: 1708285949271 +- kind: conda + name: tensorboard-data-server + version: 0.7.0 + build: py312h241aef2_1 + build_number: 1 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tensorboard-data-server-0.7.0-py312h241aef2_1.conda + sha256: 7dbdebe5cc350ce6074e3037d7155556d7e90a15f85e6f2410d58097ce16ab9b + md5: 11878d75bddf78af635f046c59375c9e + depends: + - libgcc-ng >=12 + - openssl >=3.1.3,<4.0a0 + - python >=3.12.0rc3,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: Apache-2.0 + license_family: APACHE + size: 4765866 + timestamp: 1695425788569 +- kind: conda + name: tensorflow + version: 2.16.1 + build: cpu_py312hfe0d8c0_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tensorflow-2.16.1-cpu_py312hfe0d8c0_0.conda + sha256: 398f91210ced2d9b17ba39402c846c53058843a2b154f69588e043d87c962a9c + md5: 07fb155a8cadc9a62b615b46cd32d4a7 + depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - tensorflow-base 2.16.1 cpu_py312hc526dda_0 + - tensorflow-estimator 2.16.1 cpu_py312hbf2973a_0 + track_features: + - tensorflow-cpu + license: Apache-2.0 + license_family: Apache + size: 42194 + timestamp: 1716523360871 +- kind: conda + name: tensorflow-base + version: 2.16.1 + build: cpu_py312hc526dda_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tensorflow-base-2.16.1-cpu_py312hc526dda_0.conda + sha256: 4800b30312d396e53cfe8d0f7c1588d1f53ddbdeb7742f2bfbdd2006ff683a30 + md5: 6789495ea21302dbd6bba70edefa4702 + depends: + - absl-py >=1.0.0 + - astunparse >=1.6.0 + - flatbuffers >=24.3.25,<24.3.26.0a0 + - gast >=0.2.1,!=0.5.0,!=0.5.1,!=0.5.2 + - giflib >=5.2.2,<5.3.0a0 + - google-pasta >=0.1.1 + - grpcio 1.62.* + - h5py >=3.10 + - icu >=73.2,<74.0a0 + - keras >=3.0 + - libabseil * cxx17* + - libabseil >=20240116.2,<20240117.0a0 + - libcurl >=8.8.0,<9.0a0 + - libgcc-ng >=12 + - libgrpc >=1.62.2,<1.63.0a0 + - libjpeg-turbo >=3.0.0,<4.0a0 + - libpng >=1.6.43,<1.7.0a0 + - libprotobuf >=4.25.3,<4.25.4.0a0 + - libsqlite >=3.45.3,<4.0a0 + - libstdcxx-ng >=12 + - libzlib >=1.2.13,<2.0.0a0 + - ml_dtypes >=0.3.1,<0.4 + - numpy >=1.22,<2.0a0 + - numpy >=1.26.4,<2.0a0 + - openssl >=3.3.0,<4.0a0 + - opt_einsum >=2.3.2 + - packaging + - protobuf >=3.20.3,<5,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5 + - python >=3.12,<3.13.0a0 + - python-flatbuffers >=23.5.26 + - python_abi 3.12.* *_cp312 + - requests >=2.21.0,<3 + - six >=1.12 + - snappy >=1.2.0,<1.3.0a0 + - tensorboard >=2.16,<2.17 + - termcolor >=1.1.0 + - typing_extensions >=3.6.6 + - wrapt >=1.11.0 + track_features: + - tensorflow-cpu + license: Apache-2.0 + license_family: Apache + size: 157134694 + timestamp: 1716522780480 +- kind: conda + name: tensorflow-estimator + version: 2.16.1 + build: cpu_py312hbf2973a_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/tensorflow-estimator-2.16.1-cpu_py312hbf2973a_0.conda + sha256: 6e8f471539c542158b8f3acfa7a963f7fa161af81fd862d322643989da1cffc3 + md5: 492b9e434c37820acc6512f1a53ddd12 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - openssl >=3.3.0,<4.0a0 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + - tensorflow-base 2.16.1 cpu_py312hc526dda_0 + license: Apache-2.0 + license_family: Apache + size: 697840 + timestamp: 1716523349151 +- kind: conda + name: tensorflow-probability + version: 0.24.0 + build: pyh4af843d_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/tensorflow-probability-0.24.0-pyh4af843d_0.conda + sha256: 5e5361240be6a53ece2d749837b24d95f6037a2dc95e3201d0659a9dc3c07362 + md5: a39fabe06f10f544e7adde5f10743bd3 + depends: + - absl-py + - cloudpickle >=1.3 + - decorator + - dm-tree + - gast >=0.3.2 + - jax >=0.4.25,<0.5.0 + - numpy >=1.13.3 + - python >=3.9 + - six >=1.10.0 + - tensorflow-base >=2.16.0,<2.17.0 + - tf-keras >=2.16 + license: Apache-2.0 + license_family: Apache + size: 2186303 + timestamp: 1716814596258 +- kind: conda + name: tensorwaves + version: 0.4.12 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/tensorwaves-0.4.12-pyhd8ed1ab_0.conda + sha256: 6fdcc45cf9172fb8f5e3998393caf44fb948b3a901742db4a512d7239504c729 + md5: bc8a2954ac8f11698f91a209281c898f + depends: + - attrs >=20.1.0 + - iminuit >=2.0 + - numpy + - python >=3.8 + - pyyaml >=5.1 + - sympy >=1.9 + - tqdm >=4.24.0 + license: GPL-3.0-or-later + license_family: GPL + size: 43302 + timestamp: 1709885857040 +- kind: conda + name: termcolor + version: 2.4.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/termcolor-2.4.0-pyhd8ed1ab_0.conda + sha256: 59588d41f2c02d599fd6528583013d85bd47d17b1acec11edbb29deadd81fbca + md5: a5033708ad9283907c3b1bc1f90d0d0d + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 12721 + timestamp: 1704358124294 - kind: conda name: terminado version: 0.18.1 @@ -5752,6 +6618,23 @@ packages: license_family: BSD size: 22452 timestamp: 1710262728753 +- kind: conda + name: tf-keras + version: 2.16.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/tf-keras-2.16.0-pyhd8ed1ab_0.conda + sha256: f075ea95d9fbb18d2c3a15aa63d484e3ca7e79af5f148ceea007565cd334adee + md5: 84d6a4b73d13bf11fc35df60fcb27b29 + depends: + - numpy >=1.23 + - python >=3.8 + - tensorflow >=2.16,<2.17 + license: Apache-2.0 + license_family: APACHE + size: 906195 + timestamp: 1716750135979 - kind: conda name: tinycss2 version: 1.3.0 @@ -5999,6 +6882,25 @@ packages: license_family: BSD size: 126964 timestamp: 1710932152563 +- kind: conda + name: vector + version: 1.4.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/vector-1.4.1-pyhd8ed1ab_0.conda + sha256: e8806a7dc862bf169de681672e261af18bf7889f2292febd6c5ec217e415c3d6 + md5: bb95ca87b1a3cd4af3f3f49bc4718777 + depends: + - importlib_metadata >=0.22 + - numpy >=1.14.5 + - packaging + - python >=3.8 + - typing-extensions + license: BSD-3-Clause + license_family: BSD + size: 95437 + timestamp: 1718033105021 - kind: conda name: virtualenv version: 20.26.2 @@ -6111,6 +7013,22 @@ packages: license_family: BSD size: 201426 timestamp: 1697914826988 +- kind: conda + name: werkzeug + version: 3.0.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.0.3-pyhd8ed1ab_0.conda + sha256: a77d0c67096999c35854e0480e3b978ef72ee008e295e92b0dc67116b2398661 + md5: 2e60f5f388845027ee87fca6bee4ac23 + depends: + - markupsafe >=2.1.1 + - python >=3.8 + license: BSD-3-Clause + license_family: BSD + size: 242920 + timestamp: 1715000337645 - kind: conda name: widgetsnbextension version: 4.0.10 diff --git a/pixi.toml b/pixi.toml index 0603ee3..bf4ae1c 100644 --- a/pixi.toml +++ b/pixi.toml @@ -20,12 +20,12 @@ sphinx-autobuild \ """ [dependencies] -ampform = ">=0.15.2,<0.16" +ampform = ">=0.15.4,<0.16" black = ">=24.4.2,<24.5" graphviz = ">=9.0.0,<9.1" ipywidgets = ">=8.1.2,<8.2" isort = ">=5.13.2,<5.14" -jax = ">=0.4.26,<0.5" +jax = ">=0.4.27,<0.5" jaxlib = ">=0.4.23,<0.5" jupyter = ">=1.0.0,<1.1" jupyterlab = ">=4.2.0,<4.3" @@ -36,6 +36,7 @@ jupyterlab_code_formatter = ">=2.2.1,<2.3" matplotlib = ">=3.8.4,<3.9" myst-nb = ">=1.1.0,<1.2" numpy = ">=1.26.4,<1.27" +phasespace = ">=1.10.3,<1.11" pre-commit = ">=3.7.1,<3.8" pydata-sphinx-theme = ">=0.15.2,<0.16" python = ">=3.12.3,<3.13" @@ -45,3 +46,5 @@ scipy = ">=1.13.0,<1.14" sphinx-autobuild = ">=2024.4.16,<2024.5" sphinx-book-theme = ">=1.1.2,<1.2" sympy = ">=1.12,<2" +tensorflow = ">=2.16.1,<2.17" +tensorwaves = ">=0.4.12,<0.5" From b35f4456e99e6bf1f5757f046e7218788abff373 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Thu, 13 Jun 2024 14:31:55 +0200 Subject: [PATCH 20/44] draft in start of perform fit --- docs/all-in-one.ipynb | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/all-in-one.ipynb b/docs/all-in-one.ipynb index 835fd37..b9d8816 100644 --- a/docs/all-in-one.ipynb +++ b/docs/all-in-one.ipynb @@ -565,19 +565,19 @@ "metadata": {}, "outputs": [], "source": [ - "initial_parameters = {\n", - " R\"C_{p\\gamma \\to {f_{0}(1500)}_{0} \\gamma_{+1}; f_{0}(1500) \\to \\eta \\pi^{0} p}\": (\n", - " 1.0 + 0.0j\n", - " ),\n", - " \"m_{f_{0}(500)}\": 0.4,\n", - " \"m_{f_{0}(980)}\": 0.88,\n", - " \"m_{f_{0}(1370)}\": 1.22,\n", - " \"m_{f_{0}(1500)}\": 1.45,\n", - " \"m_{f_{0}(1710)}\": 1.83,\n", - " R\"\\Gamma_{f_{0}(500)}\": 0.3,\n", - " R\"\\Gamma_{f_{0}(980)}\": 0.1,\n", - " R\"\\Gamma_{f_{0}(1710)}\": 0.3,\n", - "}" + "# initial_parameters = {\n", + "# R\"C_{p\\gamma \\to {f_{0}(1500)}_{0} \\gamma_{+1}; f_{0}(1500) \\to \\eta \\pi^{0} p}\": (\n", + "# 1.0 + 0.0j\n", + "# ),\n", + "# \"m_{f_{0}(500)}\": 0.4,\n", + "# \"m_{f_{0}(980)}\": 0.88,\n", + "# \"m_{f_{0}(1370)}\": 1.22,\n", + "# \"m_{f_{0}(1500)}\": 1.45,\n", + "# \"m_{f_{0}(1710)}\": 1.83,\n", + "# R\"\\Gamma_{f_{0}(500)}\": 0.3,\n", + "# R\"\\Gamma_{f_{0}(980)}\": 0.1,\n", + "# R\"\\Gamma_{f_{0}(1710)}\": 0.3,\n", + "# }" ] } ], From 387351c3d532432b76b148647421be094668968d Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Tue, 18 Jun 2024 16:55:52 +0200 Subject: [PATCH 21/44] limit resonances and add max angular momentum and spin magnitude --- docs/all-in-one.ipynb | 110 ++++++++----- pixi.lock | 363 ++++++++++++++++++++++++++++++++++++++++++ pixi.toml | 2 + 3 files changed, 438 insertions(+), 37 deletions(-) diff --git a/docs/all-in-one.ipynb b/docs/all-in-one.ipynb index b9d8816..37aca79 100644 --- a/docs/all-in-one.ipynb +++ b/docs/all-in-one.ipynb @@ -93,6 +93,40 @@ "id": "6", "metadata": {}, "outputs": [], + "source": [ + "particle_db[\"N(1680)+\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7", + "metadata": {}, + "outputs": [], + "source": [ + "particle_db[\"N(1650)+\"]" + ] + }, + { + "cell_type": "markdown", + "id": "8", + "metadata": {}, + "source": [ + "For simplicity, we limit the intermediate resonances to be:\n", + "\n", + "\"$a(2)$\" for $\\eta \\pi^0$, \n", + "\n", + "\"$\\Delta^*$\" for $\\pi^0 p$, \n", + "\n", + "\"$N^*$\" for $\\eta p$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9", + "metadata": {}, + "outputs": [], "source": [ "import qrules\n", "import graphviz\n", @@ -100,17 +134,19 @@ "reaction1_strong_EM = qrules.generate_transitions(\n", " initial_state=(\"pgamma\"),\n", " final_state=[\"eta\", \"pi0\", \"p\"],\n", - " allowed_intermediate_particles=[\"a(2)\", \"Delta\", \"N\"],\n", + " allowed_intermediate_particles=[\"a(2)(1320)\", \"Delta(1232)\", \"N(1535)\"],\n", " allowed_interaction_types=[\"strong\", \"EM\"],\n", " formalism=\"canonical-helicity\",\n", " particle_db=particle_db,\n", + " max_angular_momentum=3,\n", + " max_spin_magnitude=3,\n", ")" ] }, { "cell_type": "code", "execution_count": null, - "id": "7", + "id": "10", "metadata": {}, "outputs": [], "source": [ @@ -120,7 +156,7 @@ }, { "cell_type": "markdown", - "id": "8", + "id": "11", "metadata": {}, "source": [ "## Build Amplitude Models" @@ -128,7 +164,7 @@ }, { "cell_type": "markdown", - "id": "9", + "id": "12", "metadata": {}, "source": [ "we use ampform to formulate the transitions as an amplitude model (here: HelicityModel). " @@ -137,7 +173,7 @@ { "cell_type": "code", "execution_count": null, - "id": "10", + "id": "13", "metadata": {}, "outputs": [], "source": [ @@ -151,7 +187,7 @@ { "cell_type": "code", "execution_count": null, - "id": "11", + "id": "14", "metadata": {}, "outputs": [], "source": [ @@ -163,7 +199,7 @@ { "cell_type": "code", "execution_count": null, - "id": "12", + "id": "15", "metadata": {}, "outputs": [], "source": [ @@ -172,7 +208,7 @@ }, { "cell_type": "markdown", - "id": "13", + "id": "16", "metadata": {}, "source": [ "We choose to use relativistic_breit_wigner_with_ff() as the lineshape for all resonances and use a Blatt-Weisskopf form factor (create_non_dynamic_with_ff()) for the production decay. " @@ -181,7 +217,7 @@ { "cell_type": "code", "execution_count": null, - "id": "14", + "id": "17", "metadata": {}, "outputs": [], "source": [ @@ -198,7 +234,7 @@ }, { "cell_type": "markdown", - "id": "15", + "id": "18", "metadata": {}, "source": [ "take another look at the parameters of the model to see which new parameters are there:" @@ -207,7 +243,7 @@ { "cell_type": "code", "execution_count": null, - "id": "16", + "id": "19", "metadata": {}, "outputs": [], "source": [ @@ -221,7 +257,7 @@ }, { "cell_type": "markdown", - "id": "17", + "id": "20", "metadata": {}, "source": [ "Optionally, we can backup the HelicityModel to disk via pickle." @@ -230,7 +266,7 @@ { "cell_type": "code", "execution_count": null, - "id": "18", + "id": "21", "metadata": {}, "outputs": [], "source": [ @@ -243,7 +279,7 @@ }, { "cell_type": "markdown", - "id": "19", + "id": "22", "metadata": {}, "source": [ "# Generate data" @@ -252,7 +288,7 @@ { "cell_type": "code", "execution_count": null, - "id": "20", + "id": "23", "metadata": {}, "outputs": [], "source": [ @@ -267,7 +303,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21", + "id": "24", "metadata": {}, "outputs": [], "source": [ @@ -282,7 +318,7 @@ }, { "cell_type": "markdown", - "id": "22", + "id": "25", "metadata": {}, "source": [ "## Generate phase space sample" @@ -291,7 +327,7 @@ { "cell_type": "code", "execution_count": null, - "id": "23", + "id": "26", "metadata": {}, "outputs": [], "source": [ @@ -308,7 +344,7 @@ { "cell_type": "code", "execution_count": null, - "id": "24", + "id": "27", "metadata": {}, "outputs": [], "source": [ @@ -327,7 +363,7 @@ { "cell_type": "code", "execution_count": null, - "id": "25", + "id": "28", "metadata": {}, "outputs": [], "source": [ @@ -340,7 +376,7 @@ { "cell_type": "code", "execution_count": null, - "id": "26", + "id": "29", "metadata": {}, "outputs": [], "source": [ @@ -349,7 +385,7 @@ }, { "cell_type": "markdown", - "id": "27", + "id": "30", "metadata": {}, "source": [ "## Generate intensity-based sample" @@ -358,7 +394,7 @@ { "cell_type": "code", "execution_count": null, - "id": "28", + "id": "31", "metadata": {}, "outputs": [], "source": [ @@ -375,7 +411,7 @@ { "cell_type": "code", "execution_count": null, - "id": "29", + "id": "32", "metadata": {}, "outputs": [], "source": [ @@ -385,7 +421,7 @@ { "cell_type": "code", "execution_count": null, - "id": "30", + "id": "33", "metadata": {}, "outputs": [], "source": [ @@ -399,7 +435,7 @@ { "cell_type": "code", "execution_count": null, - "id": "31", + "id": "34", "metadata": {}, "outputs": [], "source": [ @@ -429,7 +465,7 @@ }, { "cell_type": "markdown", - "id": "32", + "id": "35", "metadata": {}, "source": [ "## Visualize kinematic variables" @@ -438,7 +474,7 @@ { "cell_type": "code", "execution_count": null, - "id": "33", + "id": "36", "metadata": {}, "outputs": [], "source": [ @@ -450,7 +486,7 @@ { "cell_type": "code", "execution_count": null, - "id": "34", + "id": "37", "metadata": {}, "outputs": [], "source": [ @@ -461,7 +497,7 @@ { "cell_type": "code", "execution_count": null, - "id": "35", + "id": "38", "metadata": {}, "outputs": [], "source": [ @@ -475,7 +511,7 @@ { "cell_type": "code", "execution_count": null, - "id": "36", + "id": "39", "metadata": {}, "outputs": [], "source": [ @@ -505,7 +541,7 @@ }, { "cell_type": "markdown", - "id": "37", + "id": "40", "metadata": {}, "source": [ "## Export data sets" @@ -514,7 +550,7 @@ { "cell_type": "code", "execution_count": null, - "id": "38", + "id": "41", "metadata": {}, "outputs": [], "source": [ @@ -528,7 +564,7 @@ }, { "cell_type": "markdown", - "id": "39", + "id": "42", "metadata": {}, "source": [ "# Perform fit" @@ -537,7 +573,7 @@ { "cell_type": "code", "execution_count": null, - "id": "40", + "id": "43", "metadata": {}, "outputs": [], "source": [ @@ -552,7 +588,7 @@ }, { "cell_type": "markdown", - "id": "41", + "id": "44", "metadata": {}, "source": [ "## Prepare parametrized function" @@ -561,7 +597,7 @@ { "cell_type": "code", "execution_count": null, - "id": "42", + "id": "45", "metadata": {}, "outputs": [], "source": [ diff --git a/pixi.lock b/pixi.lock index 8e85dd2..cbc9783 100644 --- a/pixi.lock +++ b/pixi.lock @@ -16,12 +16,14 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-23.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-21.2.0-py312h98912ed_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/arrow-1.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/astroid-3.2.2-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/asttokens-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/astunparse-1.6.3-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/async-lru-2.0.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/atk-1.0-2.38.0-h04ea711_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.1-h166bdaf_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/attrs-23.2.0-pyh71513ae_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/autopep8-2.0.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.3-py312h4413252_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.12.3-pyha770c72_0.conda @@ -53,14 +55,17 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/decorator-5.1.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/deprecated-1.2.14-pyh1a96a4e_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.8-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.8-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/dm-tree-0.1.8-py312h72fbbdf_4.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/docstring-to-markdown-0.15-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/docutils-0.21.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.6.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.14.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/flatbuffers-24.3.25-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 @@ -223,6 +228,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-3.8.4-py312h7900ff3_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.4-py312h20ab3a6_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.1.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/mdit-py-plugins-0.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mistune-3.0.2-pyhd8ed1ab_0.conda @@ -275,6 +281,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/plumbum-1.8.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ply-3.11-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.7.1-pyha770c72_0.conda @@ -287,9 +294,13 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/pulseaudio-client-17.0-hb77b528_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.2-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.11.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pydata-sphinx-theme-0.15.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pyflakes-3.2.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.18.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pylint-3.2.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pynacl-1.5.0-py312h98912ed_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyparsing-3.1.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyqt-5.15.9-py312h949fe66_5.conda @@ -302,8 +313,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/python-flatbuffers-24.3.25-pyh59ac667_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-graphviz-0.20.3-pyh717bed2_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-lsp-jsonrpc-1.1.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-lsp-server-1.11.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/python-lsp-server-base-1.11.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.12-4_cp312.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/pytoolconfig-1.2.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pywin32-on-windows-0.1.0-pyh1179c8e_3.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py312h98912ed_1.conda @@ -319,6 +334,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/rich-13.7.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/rope-1.13.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.18.1-py312h4413252_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.13.0-py312hc2bc53b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_0.conda @@ -359,6 +375,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda - conda: https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.12.5-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4-py312h98912ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_0.conda @@ -367,6 +384,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.11.0-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024a-h0c530f3_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ujson-5.10.0-py312h7070661_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py312h8572e83_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.1-pyhd8ed1ab_0.conda @@ -380,6 +398,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.8.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/websockets-12.0-py312h98912ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/werkzeug-3.0.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/whatthepatch-1.0.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.10-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.16.0-py312h98912ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.0-hd590300_1.conda @@ -402,6 +421,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-h7f98852_1007.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/yapf-0.40.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h75354e8_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-hd590300_5.conda @@ -593,6 +613,21 @@ packages: license_family: Apache size: 100096 timestamp: 1696129131844 +- kind: conda + name: astroid + version: 3.2.2 + build: py312h7900ff3_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/astroid-3.2.2-py312h7900ff3_0.conda + sha256: e194bbb0a8c660cf90db67889b179b4e1bef9d324f21096a0c439a17ac8ab519 + md5: 2acaebd0ea2aeaf38e996bda79545c0b + depends: + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: LGPL-2.1-or-later + license_family: LGPL + size: 505913 + timestamp: 1716193798370 - kind: conda name: asttokens version: 2.4.1 @@ -689,6 +724,24 @@ packages: license_family: MIT size: 54582 timestamp: 1704011393776 +- kind: conda + name: autopep8 + version: 2.0.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/autopep8-2.0.4-pyhd8ed1ab_0.conda + sha256: 5d9de00093c8757939df773754a76341f908bd7d6aaa65005e8dbae5632bac73 + md5: 1053857605b5139c8f9818a029a71913 + depends: + - packaging + - pycodestyle >=2.10.0 + - python >=3.6 + - tomli + license: MIT + license_family: MIT + size: 45709 + timestamp: 1693061409657 - kind: conda name: babel version: 2.14.0 @@ -1212,6 +1265,21 @@ packages: license_family: MIT size: 14033 timestamp: 1685233463632 +- kind: conda + name: dill + version: 0.3.8 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/dill-0.3.8-pyhd8ed1ab_0.conda + sha256: 482b5b566ca559119b504c53df12b08f3962a5ef8e48061d62fd58a47f8f2ec4 + md5: 78745f157d56877a2c6e7b386f66f3e2 + depends: + - python >=3.7 + license: BSD-3-Clause + license_family: BSD + size: 88169 + timestamp: 1706434833883 - kind: conda name: distlib version: 0.3.8 @@ -1247,6 +1315,20 @@ packages: license_family: Apache size: 118694 timestamp: 1709887014156 +- kind: conda + name: docstring-to-markdown + version: '0.15' + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/docstring-to-markdown-0.15-pyhd8ed1ab_0.conda + sha256: 0c640c23785f0fb41e4c3dd815cce22efd14230a6ebc08275ce1a484e480e476 + md5: a3a1e6af2926a3affcd6f2072871f551 + depends: + - python >=3.7 + license: LGPL-2.1-or-later + size: 34061 + timestamp: 1708563226581 - kind: conda name: docutils version: 0.21.2 @@ -1335,6 +1417,24 @@ packages: license: Unlicense size: 15902 timestamp: 1714422911808 +- kind: conda + name: flake8 + version: 7.0.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/flake8-7.0.0-pyhd8ed1ab_0.conda + sha256: fd9256b775551e8b802151dc812833f60565fd284707b969ab6c257a02a36c0b + md5: 15bc58c860fc0a9abc26ec902df35252 + depends: + - mccabe >=0.7.0,<0.8.0 + - pycodestyle >=2.11.0,<2.12.0 + - pyflakes >=3.2.0,<3.3.0 + - python >=3.8.1 + license: MIT + license_family: MIT + size: 110938 + timestamp: 1704483964269 - kind: conda name: flatbuffers version: 24.3.25 @@ -4235,6 +4335,21 @@ packages: license_family: BSD size: 14599 timestamp: 1713250613726 +- kind: conda + name: mccabe + version: 0.7.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/mccabe-0.7.0-pyhd8ed1ab_0.tar.bz2 + sha256: 0466ad9490b761e9a8c57fab574fc099136b45fa19a0746ce33acdeb2a84766b + md5: 34fc335fc50eef0b5ea708f2b5f54e0c + depends: + - python >=3.6 + license: MIT + license_family: MIT + size: 10909 + timestamp: 1643049714491 - kind: conda name: mdit-py-plugins version: 0.4.1 @@ -5144,6 +5259,21 @@ packages: license_family: MIT size: 20572 timestamp: 1715777739019 +- kind: conda + name: pluggy + version: 1.5.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.5.0-pyhd8ed1ab_0.conda + sha256: 33eaa3359948a260ebccf9cdc2fd862cea5a6029783289e13602d8e634cd9a26 + md5: d3483c8fc2dc2cc3f5cf43e26d60cabf + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 23815 + timestamp: 1713667175451 - kind: conda name: plumbum version: 1.8.3 @@ -5346,6 +5476,21 @@ packages: license_family: MIT size: 14551 timestamp: 1642876055775 +- kind: conda + name: pycodestyle + version: 2.11.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pycodestyle-2.11.1-pyhd8ed1ab_0.conda + sha256: 1bd1199c16514cfbc92c0fdc143a00fc55a3deaf800a62a09ac79294606e567e + md5: 29ff12b36df16bb66fdccd4206aaebfb + depends: + - python >=3.8 + license: MIT + license_family: MIT + size: 34318 + timestamp: 1697203012487 - kind: conda name: pycparser version: '2.22' @@ -5384,6 +5529,38 @@ packages: license_family: BSD size: 1375728 timestamp: 1705630287042 +- kind: conda + name: pydocstyle + version: 6.3.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pydocstyle-6.3.0-pyhd8ed1ab_0.conda + sha256: 2076385b40e99732a013eff3b8defd88cd848764b9911d8e0d21728fbc89e301 + md5: 7e23a61a7fbaedfef6eb0e1ac775c8e5 + depends: + - python >=3.8 + - snowballstemmer >=2.2.0 + - tomli >=1.2.3 + license: MIT + license_family: MIT + size: 39851 + timestamp: 1673997613432 +- kind: conda + name: pyflakes + version: 3.2.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pyflakes-3.2.0-pyhd8ed1ab_0.conda + sha256: b1582410fcfa30b3597629e39b688ead87833c4a64f7c4637068f80aa1411d49 + md5: 0cf7fef6aa123df28adb21a590065e3d + depends: + - python ==2.7.*|>=3.5 + license: MIT + license_family: MIT + size: 58654 + timestamp: 1704424729210 - kind: conda name: pygments version: 2.18.0 @@ -5399,6 +5576,30 @@ packages: license_family: BSD size: 879295 timestamp: 1714846885370 +- kind: conda + name: pylint + version: 3.2.3 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pylint-3.2.3-pyhd8ed1ab_0.conda + sha256: 4d67967d4fbcb57859cb2162d1e621fa9cd649e9660448023d68cff440234da6 + md5: 206e71eea41f956fd1bb606d6b0c87fd + depends: + - astroid >=3.2.2,<3.3.0-dev0 + - colorama >=0.4.5 + - dill >=0.3.7 + - isort >=4.2.5,<6,!=5.13.0 + - mccabe >=0.6,<0.8 + - platformdirs >=2.2.0 + - python >=3.8.0 + - tomli >=1.1.0 + - tomlkit >=0.10.1 + - typing_extensions >=3.10.0 + license: GPL-2.0-or-later + license_family: GPL + size: 351223 + timestamp: 1717705700460 - kind: conda name: pynacl version: 1.5.0 @@ -5615,6 +5816,69 @@ packages: license_family: BSD size: 13383 timestamp: 1677079727691 +- kind: conda + name: python-lsp-jsonrpc + version: 1.1.2 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-lsp-jsonrpc-1.1.2-pyhd8ed1ab_0.conda + sha256: 9d60c2ebce844420946beed1aca571f2bb8001269352c70ff0168a07bdc656e1 + md5: ff30dbdb341a54947c4fa183900380b7 + depends: + - python >=3.8 + - ujson >=3.0.0 + license: MIT + license_family: MIT + size: 13984 + timestamp: 1695528516444 +- kind: conda + name: python-lsp-server + version: 1.11.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-lsp-server-1.11.0-pyhd8ed1ab_0.conda + sha256: 99b31fe02bf4dafc6f151d8dffd412014f273acd97dadf59476a446269c9646b + md5: c1db1a6057f7f2d7299ed2b59c51bd34 + depends: + - autopep8 >=2.0.4,<2.1.0 + - flake8 >=7.0.0,<8.0.0 + - mccabe >=0.7.0,<0.8.0 + - pycodestyle >=2.11.0,<2.12.0 + - pydocstyle >=6.3.0,<6.4.0 + - pyflakes >=3.2.0,<3.3.0 + - pylint >=3.1.0,<4.0.0 + - python + - python-lsp-server-base 1.11.0 pyhd8ed1ab_0 + - rope >=1.11.0 + - whatthepatch >=1.0.2,<2.0.0 + - yapf >=0.33.0 + license: MIT + license_family: MIT + size: 7170 + timestamp: 1711734928412 +- kind: conda + name: python-lsp-server-base + version: 1.11.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/python-lsp-server-base-1.11.0-pyhd8ed1ab_0.conda + sha256: 34fc82a789d94e97e40f57f1e24c3ae276a37cdc548c8ab13bf6001411f58377 + md5: 6ae8c26c3ebf7d148d7000f7fbad9512 + depends: + - docstring-to-markdown + - importlib_metadata >=4.8.3 + - jedi >=0.17.2,<0.20 + - pluggy >=1.0.0 + - python >=3.8 + - python-lsp-jsonrpc >=1.1.0,<2.0.0 + - ujson >=3.0.0 + license: MIT + license_family: MIT + size: 60864 + timestamp: 1711734907043 - kind: conda name: python-tzdata version: '2024.1' @@ -5645,6 +5909,24 @@ packages: license_family: BSD size: 6385 timestamp: 1695147396604 +- kind: conda + name: pytoolconfig + version: 1.2.5 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/pytoolconfig-1.2.5-pyhd8ed1ab_0.conda + sha256: a76ca96ab4abd3d444917322ff4627961d4114cb1d4e14c4c25f934b38244107 + md5: 2d6bdf5a69cfcd1fcc7f2b900cb4082f + depends: + - packaging >=22.0 + - python >=3.7 + - tomli >=2.0.1 + - typing-extensions >=4.4.0 + license: LGPL-3.0-or-later + license_family: LGPL + size: 21331 + timestamp: 1675124885156 - kind: conda name: pytz version: '2024.1' @@ -5951,6 +6233,22 @@ packages: license_family: MIT size: 184347 timestamp: 1709150578093 +- kind: conda + name: rope + version: 1.13.0 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/rope-1.13.0-pyhd8ed1ab_0.conda + sha256: 6807bf6955e193d0c725f5d1db2c9348343263fb70153537e16f34190cf9abf9 + md5: dffa002fbd3d86924b7992c718efa7bc + depends: + - python >=3.8 + - pytoolconfig >=1.2.2 + license: LGPL-3.0-or-later + license_family: LGPL + size: 150446 + timestamp: 1711296424635 - kind: conda name: rpds-py version: 0.18.1 @@ -6697,6 +6995,21 @@ packages: license_family: MIT size: 15940 timestamp: 1644342331069 +- kind: conda + name: tomlkit + version: 0.12.5 + build: pyha770c72_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.12.5-pyha770c72_0.conda + sha256: 5117eff35992d896ca177dfffc08be8a9b3bf3d306ddc3d8bf4b699cdf1e1b79 + md5: e5dde5caf905e9d95895e05f94967e14 + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 37297 + timestamp: 1715185504185 - kind: conda name: tornado version: '6.4' @@ -6814,6 +7127,23 @@ packages: license: LicenseRef-Public-Domain size: 119815 timestamp: 1706886945727 +- kind: conda + name: ujson + version: 5.10.0 + build: py312h7070661_0 + subdir: linux-64 + url: https://conda.anaconda.org/conda-forge/linux-64/ujson-5.10.0-py312h7070661_0.conda + sha256: 36c39df244b96e501300ff9f11fb9648e9d82ea8a33ebb9afa17795e08875c0d + md5: dd19f5820a3fd57aea70aaf88e6dd191 + depends: + - libgcc-ng >=12 + - libstdcxx-ng >=12 + - python >=3.12,<3.13.0a0 + - python_abi 3.12.* *_cp312 + license: BSD-3-Clause + license_family: BSD + size: 52337 + timestamp: 1715783243655 - kind: conda name: ukkonen version: 1.0.1 @@ -7029,6 +7359,21 @@ packages: license_family: BSD size: 242920 timestamp: 1715000337645 +- kind: conda + name: whatthepatch + version: 1.0.5 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/whatthepatch-1.0.5-pyhd8ed1ab_0.conda + sha256: e88752339157f78c7ea3e506627a8f9fede7869a3f2d34020b3a899e9dfc3c30 + md5: e62ea65e1979c18c4c9034567e7105c5 + depends: + - python >=3.7 + license: MIT + license_family: MIT + size: 16986 + timestamp: 1683396918646 - kind: conda name: widgetsnbextension version: 4.0.10 @@ -7370,6 +7715,24 @@ packages: license_family: MIT size: 89141 timestamp: 1641346969816 +- kind: conda + name: yapf + version: 0.40.1 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + url: https://conda.anaconda.org/conda-forge/noarch/yapf-0.40.1-pyhd8ed1ab_0.conda + sha256: b227bb911a88e08d985aa09a636d0b23f273eb85fe47b6be8a47c86e6bd52c31 + md5: f269942e802d5e148632143d4c37acc9 + depends: + - importlib-metadata >=6.6.0 + - platformdirs >=3.5.1 + - python >=3.7 + - tomli >=2.0.1 + license: Apache-2.0 + license_family: APACHE + size: 176345 + timestamp: 1690388073748 - kind: conda name: zeromq version: 4.3.5 diff --git a/pixi.toml b/pixi.toml index bf4ae1c..78e99ed 100644 --- a/pixi.toml +++ b/pixi.toml @@ -28,6 +28,7 @@ isort = ">=5.13.2,<5.14" jax = ">=0.4.27,<0.5" jaxlib = ">=0.4.23,<0.5" jupyter = ">=1.0.0,<1.1" +jupyter-lsp = ">=2.2.5,<2.3" jupyterlab = ">=4.2.0,<4.3" jupyterlab-git = ">=0.50.0,<0.51" jupyterlab-lsp = ">=5.1.0,<5.2" @@ -41,6 +42,7 @@ pre-commit = ">=3.7.1,<3.8" pydata-sphinx-theme = ">=0.15.2,<0.16" python = ">=3.12.3,<3.13" python-graphviz = ">=0.20.3,<0.21" +python-lsp-server = ">=1.11.0,<1.12" qrules = ">=0.10.1,<0.11" scipy = ">=1.13.0,<1.14" sphinx-autobuild = ">=2024.4.16,<2024.5" From 28ba866e8c9df871053c9752a0123acbb48a065d Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Wed, 19 Jun 2024 11:06:43 +0200 Subject: [PATCH 22/44] add section to index --- docs/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/index.md b/docs/index.md index b08e62e..d126a3f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -17,4 +17,6 @@ address to the issue ✅ [ComPWA/gluex-nstar#1](https://github.com/ComPWA/g ```{toctree} reaction pgamma-state +symbolics +all-in-one ``` From f4f74f9709a189dacabd05a21b92a806ddb5128c Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Wed, 19 Jun 2024 16:11:19 +0200 Subject: [PATCH 23/44] draft before splitting the branch --- .gitignore | 3 + docs/LamKpi.ipynb | 171 ++++++++++++++++++++++++++++++++- docs/all-in-one.ipynb | 216 +++++++++++++++++++++++++++++++++--------- docs/index.md | 1 + docs/symbolics.ipynb | 2 +- 5 files changed, 346 insertions(+), 47 deletions(-) diff --git a/.gitignore b/.gitignore index edef47a..9bdcb24 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,7 @@ *.egg-info .ipynb_checkpoints/ .pixi +.virtual_documents/ node_modules/ +**/*.pickle +**/*.json diff --git a/docs/LamKpi.ipynb b/docs/LamKpi.ipynb index cbe7ef2..66e56a3 100644 --- a/docs/LamKpi.ipynb +++ b/docs/LamKpi.ipynb @@ -14,6 +14,175 @@ "id": "1", "metadata": {}, "outputs": [], + "source": [ + "from __future__ import annotations\n", + "from IPython.display import Math\n", + "from qrules.particle import load_pdg\n", + "from ampform.io import aslatex, improve_latex_rendering\n", + "\n", + "improve_latex_rendering()\n", + "particle_db = load_pdg()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2", + "metadata": {}, + "outputs": [], + "source": [ + "from qrules.particle import Particle, Spin\n", + "\n", + "pgamma = Particle(\n", + " name=\"pgamma\",\n", + " latex=r\"p\\gamma (s1/2)\",\n", + " spin=0.5,\n", + " mass=4.101931071854584,\n", + " charge=1,\n", + " isospin=Spin(1 / 2, +1 / 2),\n", + " baryon_number=1,\n", + " parity=-1,\n", + " pid=99990,\n", + ")\n", + "pgamma" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3", + "metadata": {}, + "outputs": [], + "source": [ + "pgamma2 = Particle(\n", + " name=\"pgamma2\",\n", + " latex=R\"p\\gamma (s3/2)\",\n", + " spin=1.5,\n", + " mass=4.101931071854584,\n", + " charge=1,\n", + " isospin=Spin(1 / 2, +1 / 2),\n", + " baryon_number=1,\n", + " parity=-1,\n", + " pid=99991,\n", + ")\n", + "pgamma2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4", + "metadata": {}, + "outputs": [], + "source": [ + "particle_db.add(pgamma)\n", + "particle_db.add(pgamma2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5", + "metadata": {}, + "outputs": [], + "source": [ + "import qrules\n", + "import graphviz\n", + "\n", + "reaction1 = qrules.generate_transitions(\n", + " initial_state=(\"pgamma\"),\n", + " final_state=[\"Lambda\", \"K+\", \"pi0\"],\n", + " # allowed_intermediate_particles=[\"a(2)(1320)\",\"N\",\"Delta\"],\n", + " allowed_interaction_types=[\"strong\"],\n", + " formalism=\"canonical-helicity\",\n", + " particle_db=particle_db,\n", + " max_angular_momentum=3,\n", + " max_spin_magnitude=3,\n", + " mass_conservation_factor=0,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6", + "metadata": {}, + "outputs": [], + "source": [ + "particle_db[\"Lambda\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7", + "metadata": {}, + "outputs": [], + "source": [ + "dot_se = qrules.io.asdot(reaction1, collapse_graphs=True)\n", + "graphviz.Source(dot_se)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8", + "metadata": {}, + "outputs": [], + "source": [ + "import ampform\n", + "\n", + "model_builder = ampform.get_builder(reaction1)\n", + "model_no_dynamics = model_builder.formulate()\n", + "model_no_dynamics.intensity" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9", + "metadata": {}, + "outputs": [], + "source": [ + "from ampform.io import aslatex\n", + "\n", + "Math(aslatex(model_no_dynamics.amplitudes))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10", + "metadata": {}, + "outputs": [], + "source": [ + "Math(aslatex(model_no_dynamics.parameter_defaults))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11", + "metadata": {}, + "outputs": [], + "source": [ + "from ampform.dynamics.builder import (\n", + " create_non_dynamic_with_ff,\n", + " create_relativistic_breit_wigner_with_ff,\n", + ")\n", + "\n", + "model_builder.dynamics.assign(\"pgamma\", create_non_dynamic_with_ff)\n", + "for name in reaction1_strong_EM.get_intermediate_particles().names:\n", + " model_builder.dynamics.assign(name, create_relativistic_breit_wigner_with_ff)\n", + "model = model_builder.formulate()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12", + "metadata": {}, + "outputs": [], "source": [] } ], @@ -33,7 +202,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.12.4" } }, "nbformat": 4, diff --git a/docs/all-in-one.ipynb b/docs/all-in-one.ipynb index 37aca79..185997f 100644 --- a/docs/all-in-one.ipynb +++ b/docs/all-in-one.ipynb @@ -108,23 +108,32 @@ ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "id": "8", "metadata": {}, + "outputs": [], + "source": [ + "particle_db[\"Delta(1232)+\"]" + ] + }, + { + "cell_type": "markdown", + "id": "9", + "metadata": {}, "source": [ "For simplicity, we limit the intermediate resonances to be:\n", "\n", "\"$a(2)$\" for $\\eta \\pi^0$, \n", "\n", - "\"$\\Delta^*$\" for $\\pi^0 p$, \n", - "\n", - "\"$N^*$\" for $\\eta p$" + "Both \"$N*$\" for $\\pi^0 p$\n", + "and $\\eta p$" ] }, { "cell_type": "code", "execution_count": null, - "id": "9", + "id": "10", "metadata": {}, "outputs": [], "source": [ @@ -134,19 +143,20 @@ "reaction1_strong_EM = qrules.generate_transitions(\n", " initial_state=(\"pgamma\"),\n", " final_state=[\"eta\", \"pi0\", \"p\"],\n", - " allowed_intermediate_particles=[\"a(2)(1320)\", \"Delta(1232)\", \"N(1535)\"],\n", + " allowed_intermediate_particles=[\"a(2)(1320)\", \"N\", \"Delta\"],\n", " allowed_interaction_types=[\"strong\", \"EM\"],\n", " formalism=\"canonical-helicity\",\n", " particle_db=particle_db,\n", " max_angular_momentum=3,\n", " max_spin_magnitude=3,\n", + " mass_conservation_factor=0,\n", ")" ] }, { "cell_type": "code", "execution_count": null, - "id": "10", + "id": "11", "metadata": {}, "outputs": [], "source": [ @@ -156,7 +166,7 @@ }, { "cell_type": "markdown", - "id": "11", + "id": "12", "metadata": {}, "source": [ "## Build Amplitude Models" @@ -164,7 +174,7 @@ }, { "cell_type": "markdown", - "id": "12", + "id": "13", "metadata": {}, "source": [ "we use ampform to formulate the transitions as an amplitude model (here: HelicityModel). " @@ -173,7 +183,7 @@ { "cell_type": "code", "execution_count": null, - "id": "13", + "id": "14", "metadata": {}, "outputs": [], "source": [ @@ -187,7 +197,7 @@ { "cell_type": "code", "execution_count": null, - "id": "14", + "id": "15", "metadata": {}, "outputs": [], "source": [ @@ -199,7 +209,7 @@ { "cell_type": "code", "execution_count": null, - "id": "15", + "id": "16", "metadata": {}, "outputs": [], "source": [ @@ -208,7 +218,7 @@ }, { "cell_type": "markdown", - "id": "16", + "id": "17", "metadata": {}, "source": [ "We choose to use relativistic_breit_wigner_with_ff() as the lineshape for all resonances and use a Blatt-Weisskopf form factor (create_non_dynamic_with_ff()) for the production decay. " @@ -217,7 +227,7 @@ { "cell_type": "code", "execution_count": null, - "id": "17", + "id": "18", "metadata": {}, "outputs": [], "source": [ @@ -234,7 +244,7 @@ }, { "cell_type": "markdown", - "id": "18", + "id": "19", "metadata": {}, "source": [ "take another look at the parameters of the model to see which new parameters are there:" @@ -243,7 +253,7 @@ { "cell_type": "code", "execution_count": null, - "id": "19", + "id": "20", "metadata": {}, "outputs": [], "source": [ @@ -257,7 +267,7 @@ }, { "cell_type": "markdown", - "id": "20", + "id": "21", "metadata": {}, "source": [ "Optionally, we can backup the HelicityModel to disk via pickle." @@ -266,7 +276,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21", + "id": "22", "metadata": {}, "outputs": [], "source": [ @@ -279,7 +289,7 @@ }, { "cell_type": "markdown", - "id": "22", + "id": "23", "metadata": {}, "source": [ "# Generate data" @@ -288,7 +298,7 @@ { "cell_type": "code", "execution_count": null, - "id": "23", + "id": "24", "metadata": {}, "outputs": [], "source": [ @@ -303,7 +313,7 @@ { "cell_type": "code", "execution_count": null, - "id": "24", + "id": "25", "metadata": {}, "outputs": [], "source": [ @@ -318,7 +328,7 @@ }, { "cell_type": "markdown", - "id": "25", + "id": "26", "metadata": {}, "source": [ "## Generate phase space sample" @@ -327,7 +337,7 @@ { "cell_type": "code", "execution_count": null, - "id": "26", + "id": "27", "metadata": {}, "outputs": [], "source": [ @@ -338,13 +348,13 @@ " initial_state_mass=reaction1_strong_EM.initial_state[-1].mass,\n", " final_state_masses={i: p.mass for i, p in reaction1_strong_EM.final_state.items()},\n", ")\n", - "phsp_momenta = phsp_generator.generate(100_000, rng)" + "phsp_momenta = phsp_generator.generate(1_000_000, rng)" ] }, { "cell_type": "code", "execution_count": null, - "id": "27", + "id": "28", "metadata": {}, "outputs": [], "source": [ @@ -363,7 +373,7 @@ { "cell_type": "code", "execution_count": null, - "id": "28", + "id": "29", "metadata": {}, "outputs": [], "source": [ @@ -376,16 +386,62 @@ { "cell_type": "code", "execution_count": null, - "id": "29", + "id": "30", "metadata": {}, "outputs": [], "source": [ "p.sum(axis=0).round(decimals=14)" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "31", + "metadata": {}, + "outputs": [], + "source": [ + "E0 = p[0].T[0]\n", + "px0 = p[0].T[1]\n", + "py0 = p[0].T[2]\n", + "pz0 = p[0].T[3]\n", + "p0 = np.sqrt(px0**2 + py0**2 + pz0**2)\n", + "\n", + "E1 = p[1].T[0]\n", + "px1 = p[1].T[1]\n", + "py1 = p[1].T[2]\n", + "pz1 = p[1].T[3]\n", + "p1 = np.sqrt(px1**2 + py1**2 + pz1**2)\n", + "\n", + "E2 = p[2].T[0]\n", + "px2 = p[2].T[1]\n", + "py2 = p[2].T[2]\n", + "pz2 = p[2].T[3]\n", + "p2 = np.sqrt(px2**2 + py2**2 + pz2**2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "32", + "metadata": {}, + "outputs": [], + "source": [ + "np.sqrt(px0**2 + py0**2 + pz0**2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "33", + "metadata": {}, + "outputs": [], + "source": [ + "phsp_momenta" + ] + }, { "cell_type": "markdown", - "id": "30", + "id": "34", "metadata": {}, "source": [ "## Generate intensity-based sample" @@ -394,7 +450,7 @@ { "cell_type": "code", "execution_count": null, - "id": "31", + "id": "35", "metadata": {}, "outputs": [], "source": [ @@ -411,7 +467,7 @@ { "cell_type": "code", "execution_count": null, - "id": "32", + "id": "36", "metadata": {}, "outputs": [], "source": [ @@ -421,7 +477,7 @@ { "cell_type": "code", "execution_count": null, - "id": "33", + "id": "37", "metadata": {}, "outputs": [], "source": [ @@ -435,7 +491,7 @@ { "cell_type": "code", "execution_count": null, - "id": "34", + "id": "38", "metadata": {}, "outputs": [], "source": [ @@ -453,7 +509,7 @@ " function=intensity_func,\n", " domain_transformer=helicity_transformer,\n", ")\n", - "data_momenta = data_generator.generate(10_000, rng)\n", + "data_momenta = data_generator.generate(100_000, rng)\n", "pd.DataFrame(\n", " {\n", " (k, label): np.transpose(v)[i]\n", @@ -465,7 +521,7 @@ }, { "cell_type": "markdown", - "id": "35", + "id": "39", "metadata": {}, "source": [ "## Visualize kinematic variables" @@ -474,7 +530,7 @@ { "cell_type": "code", "execution_count": null, - "id": "36", + "id": "40", "metadata": {}, "outputs": [], "source": [ @@ -486,7 +542,7 @@ { "cell_type": "code", "execution_count": null, - "id": "37", + "id": "41", "metadata": {}, "outputs": [], "source": [ @@ -497,7 +553,7 @@ { "cell_type": "code", "execution_count": null, - "id": "38", + "id": "42", "metadata": {}, "outputs": [], "source": [ @@ -511,7 +567,77 @@ { "cell_type": "code", "execution_count": null, - "id": "39", + "id": "43", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "46", + "metadata": {}, + "outputs": [], + "source": [ + "plt.hist2d(phsp[\"m_01\"] ** 2, phsp[\"m_12\"] ** 2, bins=100, cmin=1)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "47", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "48", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "49", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "50", + "metadata": {}, + "outputs": [], + "source": [ + "plt.hist2d(data[\"m_01\"] ** 2, data[\"m_12\"] ** 2, bins=100, cmin=1)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "51", "metadata": {}, "outputs": [], "source": [ @@ -541,7 +667,7 @@ }, { "cell_type": "markdown", - "id": "40", + "id": "52", "metadata": {}, "source": [ "## Export data sets" @@ -550,7 +676,7 @@ { "cell_type": "code", "execution_count": null, - "id": "41", + "id": "53", "metadata": {}, "outputs": [], "source": [ @@ -564,7 +690,7 @@ }, { "cell_type": "markdown", - "id": "42", + "id": "54", "metadata": {}, "source": [ "# Perform fit" @@ -573,7 +699,7 @@ { "cell_type": "code", "execution_count": null, - "id": "43", + "id": "55", "metadata": {}, "outputs": [], "source": [ @@ -588,7 +714,7 @@ }, { "cell_type": "markdown", - "id": "44", + "id": "56", "metadata": {}, "source": [ "## Prepare parametrized function" @@ -597,7 +723,7 @@ { "cell_type": "code", "execution_count": null, - "id": "45", + "id": "57", "metadata": {}, "outputs": [], "source": [ @@ -633,7 +759,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.12.4" } }, "nbformat": 4, diff --git a/docs/index.md b/docs/index.md index d126a3f..ff2bd0f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -19,4 +19,5 @@ reaction pgamma-state symbolics all-in-one +LamKpi ``` diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb index def95b8..2719da2 100644 --- a/docs/symbolics.ipynb +++ b/docs/symbolics.ipynb @@ -640,7 +640,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.3" + "version": "3.12.4" } }, "nbformat": 4, From e9ac6a52912870ec95a1e07506fae9a1fd9da5ef Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Thu, 20 Jun 2024 15:41:09 +0200 Subject: [PATCH 24/44] fix naming error --- docs/LamKpi.ipynb | 2 +- docs/all-in-one.ipynb | 73 ++++++++----------------------------------- docs/symbolics.ipynb | 22 ++++++------- 3 files changed, 25 insertions(+), 72 deletions(-) diff --git a/docs/LamKpi.ipynb b/docs/LamKpi.ipynb index 66e56a3..62aa5db 100644 --- a/docs/LamKpi.ipynb +++ b/docs/LamKpi.ipynb @@ -172,7 +172,7 @@ ")\n", "\n", "model_builder.dynamics.assign(\"pgamma\", create_non_dynamic_with_ff)\n", - "for name in reaction1_strong_EM.get_intermediate_particles().names:\n", + "for name in reaction1.get_intermediate_particles().names:\n", " model_builder.dynamics.assign(name, create_relativistic_breit_wigner_with_ff)\n", "model = model_builder.formulate()" ] diff --git a/docs/all-in-one.ipynb b/docs/all-in-one.ipynb index 185997f..bc7b6bd 100644 --- a/docs/all-in-one.ipynb +++ b/docs/all-in-one.ipynb @@ -27,6 +27,7 @@ "from IPython.display import Math\n", "from qrules.particle import load_pdg\n", "from ampform.io import aslatex, improve_latex_rendering\n", + "import matplotlib.pyplot as plt\n", "\n", "improve_latex_rendering()\n", "particle_db = load_pdg()" @@ -143,13 +144,13 @@ "reaction1_strong_EM = qrules.generate_transitions(\n", " initial_state=(\"pgamma\"),\n", " final_state=[\"eta\", \"pi0\", \"p\"],\n", - " allowed_intermediate_particles=[\"a(2)(1320)\", \"N\", \"Delta\"],\n", + " allowed_intermediate_particles=[\"a(2)(1320)\", \"N(1440)\", \"Delta(1232)\"],\n", " allowed_interaction_types=[\"strong\", \"EM\"],\n", " formalism=\"canonical-helicity\",\n", " particle_db=particle_db,\n", " max_angular_momentum=3,\n", " max_spin_magnitude=3,\n", - " mass_conservation_factor=0,\n", + " # mass_conservation_factor=0,\n", ")" ] }, @@ -348,7 +349,7 @@ " initial_state_mass=reaction1_strong_EM.initial_state[-1].mass,\n", " final_state_masses={i: p.mass for i, p in reaction1_strong_EM.final_state.items()},\n", ")\n", - "phsp_momenta = phsp_generator.generate(1_000_000, rng)" + "phsp_momenta = phsp_generator.generate(100_000, rng)" ] }, { @@ -509,7 +510,7 @@ " function=intensity_func,\n", " domain_transformer=helicity_transformer,\n", ")\n", - "data_momenta = data_generator.generate(100_000, rng)\n", + "data_momenta = data_generator.generate(10_000, rng)\n", "pd.DataFrame(\n", " {\n", " (k, label): np.transpose(v)[i]\n", @@ -570,30 +571,6 @@ "id": "43", "metadata": {}, "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "44", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "45", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "46", - "metadata": {}, - "outputs": [], "source": [ "plt.hist2d(phsp[\"m_01\"] ** 2, phsp[\"m_12\"] ** 2, bins=100, cmin=1)\n", "plt.show()" @@ -602,31 +579,7 @@ { "cell_type": "code", "execution_count": null, - "id": "47", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "48", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "49", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "50", + "id": "44", "metadata": {}, "outputs": [], "source": [ @@ -637,7 +590,7 @@ { "cell_type": "code", "execution_count": null, - "id": "51", + "id": "45", "metadata": {}, "outputs": [], "source": [ @@ -667,7 +620,7 @@ }, { "cell_type": "markdown", - "id": "52", + "id": "46", "metadata": {}, "source": [ "## Export data sets" @@ -676,7 +629,7 @@ { "cell_type": "code", "execution_count": null, - "id": "53", + "id": "47", "metadata": {}, "outputs": [], "source": [ @@ -690,7 +643,7 @@ }, { "cell_type": "markdown", - "id": "54", + "id": "48", "metadata": {}, "source": [ "# Perform fit" @@ -699,7 +652,7 @@ { "cell_type": "code", "execution_count": null, - "id": "55", + "id": "49", "metadata": {}, "outputs": [], "source": [ @@ -714,7 +667,7 @@ }, { "cell_type": "markdown", - "id": "56", + "id": "50", "metadata": {}, "source": [ "## Prepare parametrized function" @@ -723,7 +676,7 @@ { "cell_type": "code", "execution_count": null, - "id": "57", + "id": "51", "metadata": {}, "outputs": [], "source": [ diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb index 2719da2..d1369d1 100644 --- a/docs/symbolics.ipynb +++ b/docs/symbolics.ipynb @@ -44,24 +44,24 @@ }, "outputs": [], "source": [ - "import numpy as np\n", "import graphviz\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", "import sympy as sp\n", + "from IPython.display import Latex, display\n", "from sympy import (\n", - " re,\n", - " im,\n", - " I,\n", " E,\n", - " symbols,\n", - " Sum,\n", - " IndexedBase,\n", " Function,\n", - " Ynm,\n", + " I,\n", + " IndexedBase,\n", + " Sum,\n", " Symbol,\n", + " Ynm,\n", + " im,\n", + " re,\n", " simplify,\n", - ")\n", - "from IPython.display import display, Latex\n", - "import matplotlib.pyplot as plt" + " symbols,\n", + ")" ] }, { From a390b9a86a41b3f8f2e1e5cd48b78abe6a076b00 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Thu, 20 Jun 2024 16:04:03 +0200 Subject: [PATCH 25/44] number of events --- docs/all-in-one.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/all-in-one.ipynb b/docs/all-in-one.ipynb index bc7b6bd..17cd366 100644 --- a/docs/all-in-one.ipynb +++ b/docs/all-in-one.ipynb @@ -349,7 +349,7 @@ " initial_state_mass=reaction1_strong_EM.initial_state[-1].mass,\n", " final_state_masses={i: p.mass for i, p in reaction1_strong_EM.final_state.items()},\n", ")\n", - "phsp_momenta = phsp_generator.generate(100_000, rng)" + "phsp_momenta = phsp_generator.generate(1_000_000, rng)" ] }, { @@ -510,7 +510,7 @@ " function=intensity_func,\n", " domain_transformer=helicity_transformer,\n", ")\n", - "data_momenta = data_generator.generate(10_000, rng)\n", + "data_momenta = data_generator.generate(100_000, rng)\n", "pd.DataFrame(\n", " {\n", " (k, label): np.transpose(v)[i]\n", From 187b837aa2fad96e55199a4fc0376ef190c1516d Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Thu, 20 Jun 2024 16:36:42 +0200 Subject: [PATCH 26/44] new branch for Lambda K Pi via ComPWA --- docs/all-in-one.ipynb | 720 ------------------------------------------ docs/index.md | 2 - docs/symbolics.ipynb | 648 ------------------------------------- 3 files changed, 1370 deletions(-) delete mode 100644 docs/all-in-one.ipynb delete mode 100644 docs/symbolics.ipynb diff --git a/docs/all-in-one.ipynb b/docs/all-in-one.ipynb deleted file mode 100644 index 17cd366..0000000 --- a/docs/all-in-one.ipynb +++ /dev/null @@ -1,720 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "0", - "metadata": {}, - "source": [ - "# Formulate Model" - ] - }, - { - "cell_type": "markdown", - "id": "1", - "metadata": {}, - "source": [ - "## Generate Transitions" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2", - "metadata": {}, - "outputs": [], - "source": [ - "from __future__ import annotations\n", - "from IPython.display import Math\n", - "from qrules.particle import load_pdg\n", - "from ampform.io import aslatex, improve_latex_rendering\n", - "import matplotlib.pyplot as plt\n", - "\n", - "improve_latex_rendering()\n", - "particle_db = load_pdg()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3", - "metadata": {}, - "outputs": [], - "source": [ - "from qrules.particle import Particle, Spin\n", - "\n", - "pgamma = Particle(\n", - " name=\"pgamma\",\n", - " latex=r\"p\\gamma (s1/2)\",\n", - " spin=0.5,\n", - " mass=4.101931071854584,\n", - " charge=1,\n", - " isospin=Spin(1 / 2, +1 / 2),\n", - " baryon_number=1,\n", - " parity=-1,\n", - " pid=99990,\n", - ")\n", - "pgamma" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4", - "metadata": {}, - "outputs": [], - "source": [ - "pgamma2 = Particle(\n", - " name=\"pgamma2\",\n", - " latex=R\"p\\gamma (s3/2)\",\n", - " spin=1.5,\n", - " mass=4.101931071854584,\n", - " charge=1,\n", - " isospin=Spin(1 / 2, +1 / 2),\n", - " baryon_number=1,\n", - " parity=-1,\n", - " pid=99991,\n", - ")\n", - "pgamma2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5", - "metadata": {}, - "outputs": [], - "source": [ - "particle_db.add(pgamma)\n", - "particle_db.add(pgamma2)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6", - "metadata": {}, - "outputs": [], - "source": [ - "particle_db[\"N(1680)+\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7", - "metadata": {}, - "outputs": [], - "source": [ - "particle_db[\"N(1650)+\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8", - "metadata": {}, - "outputs": [], - "source": [ - "particle_db[\"Delta(1232)+\"]" - ] - }, - { - "cell_type": "markdown", - "id": "9", - "metadata": {}, - "source": [ - "For simplicity, we limit the intermediate resonances to be:\n", - "\n", - "\"$a(2)$\" for $\\eta \\pi^0$, \n", - "\n", - "Both \"$N*$\" for $\\pi^0 p$\n", - "and $\\eta p$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "10", - "metadata": {}, - "outputs": [], - "source": [ - "import qrules\n", - "import graphviz\n", - "\n", - "reaction1_strong_EM = qrules.generate_transitions(\n", - " initial_state=(\"pgamma\"),\n", - " final_state=[\"eta\", \"pi0\", \"p\"],\n", - " allowed_intermediate_particles=[\"a(2)(1320)\", \"N(1440)\", \"Delta(1232)\"],\n", - " allowed_interaction_types=[\"strong\", \"EM\"],\n", - " formalism=\"canonical-helicity\",\n", - " particle_db=particle_db,\n", - " max_angular_momentum=3,\n", - " max_spin_magnitude=3,\n", - " # mass_conservation_factor=0,\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "11", - "metadata": {}, - "outputs": [], - "source": [ - "dot_se = qrules.io.asdot(reaction1_strong_EM, collapse_graphs=True)\n", - "graphviz.Source(dot_se)" - ] - }, - { - "cell_type": "markdown", - "id": "12", - "metadata": {}, - "source": [ - "## Build Amplitude Models" - ] - }, - { - "cell_type": "markdown", - "id": "13", - "metadata": {}, - "source": [ - "we use ampform to formulate the transitions as an amplitude model (here: HelicityModel). " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "14", - "metadata": {}, - "outputs": [], - "source": [ - "import ampform\n", - "\n", - "model_builder = ampform.get_builder(reaction1_strong_EM)\n", - "model_no_dynamics = model_builder.formulate()\n", - "model_no_dynamics.intensity" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "15", - "metadata": {}, - "outputs": [], - "source": [ - "from ampform.io import aslatex\n", - "\n", - "Math(aslatex(model_no_dynamics.amplitudes))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "16", - "metadata": {}, - "outputs": [], - "source": [ - "Math(aslatex(model_no_dynamics.parameter_defaults))" - ] - }, - { - "cell_type": "markdown", - "id": "17", - "metadata": {}, - "source": [ - "We choose to use relativistic_breit_wigner_with_ff() as the lineshape for all resonances and use a Blatt-Weisskopf form factor (create_non_dynamic_with_ff()) for the production decay. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "18", - "metadata": {}, - "outputs": [], - "source": [ - "from ampform.dynamics.builder import (\n", - " create_non_dynamic_with_ff,\n", - " create_relativistic_breit_wigner_with_ff,\n", - ")\n", - "\n", - "model_builder.dynamics.assign(\"pgamma\", create_non_dynamic_with_ff)\n", - "for name in reaction1_strong_EM.get_intermediate_particles().names:\n", - " model_builder.dynamics.assign(name, create_relativistic_breit_wigner_with_ff)\n", - "model = model_builder.formulate()" - ] - }, - { - "cell_type": "markdown", - "id": "19", - "metadata": {}, - "source": [ - "take another look at the parameters of the model to see which new parameters are there:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "20", - "metadata": {}, - "outputs": [], - "source": [ - "sorted_parameter_defaults = {\n", - " symbol: model.parameter_defaults[symbol]\n", - " for symbol in sorted(model.parameter_defaults, key=str)\n", - "}\n", - "src = aslatex(sorted_parameter_defaults)\n", - "Math(src)" - ] - }, - { - "cell_type": "markdown", - "id": "21", - "metadata": {}, - "source": [ - "Optionally, we can backup the HelicityModel to disk via pickle." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "22", - "metadata": {}, - "outputs": [], - "source": [ - "import pickle\n", - "\n", - "qrules.io.write(reaction1_strong_EM, \"transitions.json\")\n", - "with open(\"helicity_model.pickle\", \"wb\") as stream:\n", - " pickle.dump(model, stream)" - ] - }, - { - "cell_type": "markdown", - "id": "23", - "metadata": {}, - "source": [ - "# Generate data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "24", - "metadata": {}, - "outputs": [], - "source": [ - "import pickle\n", - "\n", - "from ampform.helicity import HelicityModel\n", - "\n", - "with open(\"helicity_model.pickle\", \"rb\") as model_file:\n", - " imported_model: HelicityModel = pickle.load(model_file)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "25", - "metadata": {}, - "outputs": [], - "source": [ - "initial_state, *_ = imported_model.reaction_info.initial_state.values()\n", - "print(\"Initial state:\")\n", - "print(\" \", initial_state.name)\n", - "print(\"Final state:\")\n", - "for i, p in imported_model.reaction_info.final_state.items():\n", - " print(f\" {i}: {p.name}\")\n", - "del initial_state" - ] - }, - { - "cell_type": "markdown", - "id": "26", - "metadata": {}, - "source": [ - "## Generate phase space sample" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "27", - "metadata": {}, - "outputs": [], - "source": [ - "from tensorwaves.data import TFPhaseSpaceGenerator, TFUniformRealNumberGenerator\n", - "\n", - "rng = TFUniformRealNumberGenerator(seed=0)\n", - "phsp_generator = TFPhaseSpaceGenerator(\n", - " initial_state_mass=reaction1_strong_EM.initial_state[-1].mass,\n", - " final_state_masses={i: p.mass for i, p in reaction1_strong_EM.final_state.items()},\n", - ")\n", - "phsp_momenta = phsp_generator.generate(1_000_000, rng)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "28", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import pandas as pd\n", - "\n", - "pd.DataFrame(\n", - " {\n", - " (k, label): np.transpose(v)[i]\n", - " for k, v in phsp_momenta.items()\n", - " for i, label in enumerate([\"E\", \"px\", \"py\", \"pz\"])\n", - " }\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "29", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "\n", - "p = np.array(list(phsp_momenta.values()))\n", - "p.shape" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "30", - "metadata": {}, - "outputs": [], - "source": [ - "p.sum(axis=0).round(decimals=14)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "31", - "metadata": {}, - "outputs": [], - "source": [ - "E0 = p[0].T[0]\n", - "px0 = p[0].T[1]\n", - "py0 = p[0].T[2]\n", - "pz0 = p[0].T[3]\n", - "p0 = np.sqrt(px0**2 + py0**2 + pz0**2)\n", - "\n", - "E1 = p[1].T[0]\n", - "px1 = p[1].T[1]\n", - "py1 = p[1].T[2]\n", - "pz1 = p[1].T[3]\n", - "p1 = np.sqrt(px1**2 + py1**2 + pz1**2)\n", - "\n", - "E2 = p[2].T[0]\n", - "px2 = p[2].T[1]\n", - "py2 = p[2].T[2]\n", - "pz2 = p[2].T[3]\n", - "p2 = np.sqrt(px2**2 + py2**2 + pz2**2)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "32", - "metadata": {}, - "outputs": [], - "source": [ - "np.sqrt(px0**2 + py0**2 + pz0**2)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "33", - "metadata": {}, - "outputs": [], - "source": [ - "phsp_momenta" - ] - }, - { - "cell_type": "markdown", - "id": "34", - "metadata": {}, - "source": [ - "## Generate intensity-based sample" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "35", - "metadata": {}, - "outputs": [], - "source": [ - "from tensorwaves.function.sympy import create_parametrized_function\n", - "\n", - "unfolded_expression = model.expression.doit()\n", - "intensity_func = create_parametrized_function(\n", - " expression=unfolded_expression,\n", - " parameters=model.parameter_defaults,\n", - " backend=\"numpy\",\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "36", - "metadata": {}, - "outputs": [], - "source": [ - "Math(aslatex(model.kinematic_variables))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "37", - "metadata": {}, - "outputs": [], - "source": [ - "from tensorwaves.data import SympyDataTransformer\n", - "\n", - "helicity_transformer = SympyDataTransformer.from_sympy(\n", - " model.kinematic_variables, backend=\"jax\"\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "38", - "metadata": {}, - "outputs": [], - "source": [ - "from tensorwaves.data import (\n", - " IntensityDistributionGenerator,\n", - " TFWeightedPhaseSpaceGenerator,\n", - ")\n", - "\n", - "weighted_phsp_generator = TFWeightedPhaseSpaceGenerator(\n", - " initial_state_mass=reaction1_strong_EM.initial_state[-1].mass,\n", - " final_state_masses={i: p.mass for i, p in reaction1_strong_EM.final_state.items()},\n", - ")\n", - "data_generator = IntensityDistributionGenerator(\n", - " domain_generator=weighted_phsp_generator,\n", - " function=intensity_func,\n", - " domain_transformer=helicity_transformer,\n", - ")\n", - "data_momenta = data_generator.generate(100_000, rng)\n", - "pd.DataFrame(\n", - " {\n", - " (k, label): np.transpose(v)[i]\n", - " for k, v in data_momenta.items()\n", - " for i, label in enumerate([\"E\", \"px\", \"py\", \"pz\"])\n", - " }\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "39", - "metadata": {}, - "source": [ - "## Visualize kinematic variables" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "40", - "metadata": {}, - "outputs": [], - "source": [ - "phsp = helicity_transformer(phsp_momenta)\n", - "data = helicity_transformer(data_momenta)\n", - "list(data)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "41", - "metadata": {}, - "outputs": [], - "source": [ - "for state_id, particle in reaction1_strong_EM.final_state.items():\n", - " print(f\"ID {state_id}:\", particle.name)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "42", - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "\n", - "data_frame = pd.DataFrame(data)\n", - "phsp_frame = pd.DataFrame(phsp)\n", - "data_frame" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "43", - "metadata": {}, - "outputs": [], - "source": [ - "plt.hist2d(phsp[\"m_01\"] ** 2, phsp[\"m_12\"] ** 2, bins=100, cmin=1)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "44", - "metadata": {}, - "outputs": [], - "source": [ - "plt.hist2d(data[\"m_01\"] ** 2, data[\"m_12\"] ** 2, bins=100, cmin=1)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "45", - "metadata": {}, - "outputs": [], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "\n", - "import matplotlib.pyplot as plt\n", - "\n", - "resonances = sorted(\n", - " reaction1_strong_EM.get_intermediate_particles(),\n", - " key=lambda p: p.mass,\n", - ")\n", - "evenly_spaced_interval = np.linspace(0, 1, len(resonances))\n", - "colors = [plt.cm.rainbow(x) for x in evenly_spaced_interval]\n", - "fig, ax = plt.subplots(figsize=(9, 4))\n", - "ax.hist(\n", - " np.real(data_frame[\"m_12\"]),\n", - " bins=100,\n", - " alpha=0.5,\n", - " density=True,\n", - ")\n", - "ax.set_xlabel(\"$m$ [GeV]\")\n", - "for p, color in zip(resonances, colors):\n", - " ax.axvline(x=p.mass, linestyle=\"dotted\", label=p.name, color=color)\n", - "ax.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "46", - "metadata": {}, - "source": [ - "## Export data sets" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "47", - "metadata": {}, - "outputs": [], - "source": [ - "import pickle\n", - "\n", - "with open(\"data.pickle\", \"wb\") as stream:\n", - " pickle.dump(data, stream)\n", - "with open(\"phsp.pickle\", \"wb\") as stream:\n", - " pickle.dump(phsp, stream)" - ] - }, - { - "cell_type": "markdown", - "id": "48", - "metadata": {}, - "source": [ - "# Perform fit" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "49", - "metadata": {}, - "outputs": [], - "source": [ - "reaction = qrules.io.load(\"transitions.json\")\n", - "with open(\"helicity_model.pickle\", \"rb\") as stream:\n", - " model: HelicityModel = pickle.load(stream)\n", - "with open(\"data.pickle\", \"rb\") as stream:\n", - " data = pickle.load(stream)\n", - "with open(\"phsp.pickle\", \"rb\") as stream:\n", - " phsp = pickle.load(stream)" - ] - }, - { - "cell_type": "markdown", - "id": "50", - "metadata": {}, - "source": [ - "## Prepare parametrized function" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "51", - "metadata": {}, - "outputs": [], - "source": [ - "# initial_parameters = {\n", - "# R\"C_{p\\gamma \\to {f_{0}(1500)}_{0} \\gamma_{+1}; f_{0}(1500) \\to \\eta \\pi^{0} p}\": (\n", - "# 1.0 + 0.0j\n", - "# ),\n", - "# \"m_{f_{0}(500)}\": 0.4,\n", - "# \"m_{f_{0}(980)}\": 0.88,\n", - "# \"m_{f_{0}(1370)}\": 1.22,\n", - "# \"m_{f_{0}(1500)}\": 1.45,\n", - "# \"m_{f_{0}(1710)}\": 1.83,\n", - "# R\"\\Gamma_{f_{0}(500)}\": 0.3,\n", - "# R\"\\Gamma_{f_{0}(980)}\": 0.1,\n", - "# R\"\\Gamma_{f_{0}(1710)}\": 0.3,\n", - "# }" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.4" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/index.md b/docs/index.md index ff2bd0f..0eaf3c8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -17,7 +17,5 @@ address to the issue ✅ [ComPWA/gluex-nstar#1](https://github.com/ComPWA/g ```{toctree} reaction pgamma-state -symbolics -all-in-one LamKpi ``` diff --git a/docs/symbolics.ipynb b/docs/symbolics.ipynb deleted file mode 100644 index d1369d1..0000000 --- a/docs/symbolics.ipynb +++ /dev/null @@ -1,648 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "0", - "metadata": {}, - "source": [ - "# Symbolic expression for the amplitude model" - ] - }, - { - "cell_type": "markdown", - "id": "1", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "$$\n", - "\\begin{eqnarray}\n", - "A^{12} &=& \\frac{\\sum a_m Y_2^m (\\Omega_1)}{s_{12}-m^2_{a_2}+im_{a_2} \\Gamma_{a_2}} \\\\\n", - "A^{23} &=& \\frac{\\sum b_m Y_1^m (\\Omega_2)}{s_{23}-m^2_{\\Delta}+im_{\\Delta} \\Gamma_{\\Delta}} \\\\\n", - "\\\n", - "A^{31} &=& \\frac{c_0}{s_{31}-m^2_{N^*}+im_{N^*} \\Gamma_{N^*}}\n", - "\\end{eqnarray}\n", - "$$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [ - "hide-cell" - ] - }, - "outputs": [], - "source": [ - "import graphviz\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "import sympy as sp\n", - "from IPython.display import Latex, display\n", - "from sympy import (\n", - " E,\n", - " Function,\n", - " I,\n", - " IndexedBase,\n", - " Sum,\n", - " Symbol,\n", - " Ynm,\n", - " im,\n", - " re,\n", - " simplify,\n", - " symbols,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "3", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "# $A^{12}$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4", - "metadata": {}, - "outputs": [], - "source": [ - "newa = IndexedBase(\"a\")\n", - "type(newa[0])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "s12, m_a2, Gamma_a2 = symbols(r\"s_{12} m_{a_2} \\Gamma_{a_2}\")\n", - "theta1, phi1 = symbols(\"theta_1 phi_1\")\n", - "# Ynm(l, m, theta, phi)\n", - "a = IndexedBase(\"a\")\n", - "# Y2_m = Function(\"Y_2^m\")(\"Omega_1\")\n", - "m = symbols(\"m\", cls=sp.Idx)\n", - "# Omega1 = symbols(\"Omega_1\")\n", - "\n", - "A12 = sp.Sum(a[m] * Ynm(2, m, theta1, phi1), (m, -2, 2)) / (\n", - " s12 - m_a2**2 + I * m_a2 * Gamma_a2\n", - ")\n", - "A12" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6", - "metadata": {}, - "outputs": [], - "source": [ - "Ynm(2, 1, 1, 1).expand(func=False)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7", - "metadata": {}, - "outputs": [], - "source": [ - "Ynm(2, 1, 1, 1).expand(func=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "A12.free_symbols" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "A12_func = sp.lambdify(\n", - " [s12, a[-2], a[-1], a[0], a[1], a[2], m_a2, Gamma_a2, theta1, phi1],\n", - " A12.doit().expand(func=True),\n", - ")\n", - "A12_func" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "10", - "metadata": {}, - "outputs": [], - "source": [ - "# Example values\n", - "m_a2_val = 1.32\n", - "Gamma_a2_val = 0.1\n", - "a_vals = [0, 0.5, 3.5, 4, 2.5]\n", - "\n", - "# Generate s values\n", - "s_values = np.linspace(0, 5, 100)\n", - "PHI = np.pi / 4\n", - "THETA = np.pi / 4\n", - "A12_values = A12_func(s_values, *a_vals, m_a2_val, Gamma_a2_val, THETA, PHI)\n", - "\n", - "# Create the plot\n", - "plt.figure(figsize=(10, 6))\n", - "\n", - "plt.plot(s_values, A12_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\")\n", - "plt.plot(s_values, A12_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", - "plt.plot(s_values, np.abs(A12_values) ** 2, label=\"|A12|^2\", linestyle=\"-.\", color=\"g\")\n", - "plt.plot(\n", - " s_values, np.angle(A12_values), label=\"Phase (angle)\", linestyle=\":\", color=\"m\"\n", - ")\n", - "\n", - "plt.xlabel(\"s\")\n", - "plt.ylabel(r\"$A^{12}$ components\")\n", - "plt.title(r\"Components of $A^{12}$ vs s at 45 degree\")\n", - "plt.legend()\n", - "# plt.grid(True)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "11", - "metadata": {}, - "outputs": [], - "source": [ - "plt.plot(A12_values.real, A12_values.imag)\n", - "plt.title(r\"Argand diagram of $A^{12}$\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "12", - "metadata": {}, - "outputs": [], - "source": [ - "# Example values\n", - "m_a2_val = 1.5\n", - "Gamma_a2_val = 0.6\n", - "a_vals = [1, 2, 3, 4, 5]\n", - "\n", - "# Generate s values\n", - "s_values = np.linspace(0, 5, 100)\n", - "# PHI = np.linspace(-np.pi, +np.pi, num=100)\n", - "# THETA = np.linspace(0, np.pi, num=100)\n", - "\n", - "PHI, THETA = np.meshgrid(\n", - " np.linspace(-np.pi, +np.pi, num=100),\n", - " np.linspace(0, np.pi, num=100),\n", - ")\n", - "A12_Angles_values = A12_func(s_values, *a_vals, m_a2_val, Gamma_a2_val, THETA, PHI)\n", - "\n", - "# Create the plot\n", - "plt.figure(figsize=(10, 6))\n", - "\n", - "plt.plot(\n", - " s_values, A12_Angles_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\"\n", - ")\n", - "plt.plot(s_values, A12_Angles_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", - "plt.plot(\n", - " s_values, np.abs(A12_Angles_values) ** 2, label=\"|A12|^2\", linestyle=\"-.\", color=\"g\"\n", - ")\n", - "plt.plot(\n", - " s_values,\n", - " np.angle(A12_Angles_values),\n", - " label=\"Phase (angle)\",\n", - " linestyle=\":\",\n", - " color=\"m\",\n", - ")\n", - "\n", - "plt.xlabel(\"s\")\n", - "plt.ylabel(r\"$A^{12}$ components\")\n", - "plt.title(r\"Components of $A^{12}$ vs s\")\n", - "# plt.legend()\n", - "# plt.grid(True)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "13", - "metadata": {}, - "outputs": [], - "source": [ - "plt.plot(A12_Angles_values.real, A12_Angles_values.imag)\n", - "plt.title(r\"Argand diagram of $A^{12}$\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "14", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "# $A^{23}$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "15", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "s23, m_Delta, Gamma_Delta = symbols(\"s_{23} m_Delta Gamma_Delta\")\n", - "b = IndexedBase(\"b\")\n", - "m = symbols(\"m\", cls=sp.Idx)\n", - "\n", - "Y1_m = Function(\"Y_1^m\")(\"Omega_2\")\n", - "theta2, phi2 = symbols(\"theta_2 phi_2\")\n", - "A23 = Sum(b[m] * Ynm(1, m, theta2, phi2), (m, -1, 1)) / (\n", - " s23 - m_Delta**2 + I * m_Delta * Gamma_Delta\n", - ")\n", - "A23" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "16", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "A23.free_symbols" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "17", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "A23_func = sp.lambdify(\n", - " [s23, b[-1], b[0], b[1], m_Delta, Gamma_Delta, theta2, phi2],\n", - " A23.doit().expand(func=True),\n", - ")\n", - "A23_func" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "18", - "metadata": {}, - "outputs": [], - "source": [ - "# Example values\n", - "m_Delta_val = 1.54\n", - "Gamma_Delta_val = 0.1\n", - "b_vals = [-1.5, 4, 0.5]\n", - "\n", - "# Generate s values\n", - "s_values = np.linspace(0, 5, 100)\n", - "# PHI = np.linspace(-np.pi, +np.pi, num=100)\n", - "# THETA = np.linspace(0, np.pi, num=100)\n", - "PHI = np.pi / 4\n", - "THETA = np.pi / 4\n", - "\n", - "A23_values = A23_func(s_values, *b_vals, m_Delta_val, Gamma_Delta_val, THETA, PHI)\n", - "\n", - "# Create the plot\n", - "plt.figure(figsize=(10, 6))\n", - "\n", - "plt.plot(s_values, A23_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\")\n", - "plt.plot(s_values, A23_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", - "plt.plot(s_values, np.abs(A23_values) ** 2, label=\"|A23|^2\", linestyle=\"-.\", color=\"g\")\n", - "plt.plot(\n", - " s_values, np.angle(A23_values), label=\"Phase (angle)\", linestyle=\":\", color=\"m\"\n", - ")\n", - "\n", - "plt.xlabel(\"s\")\n", - "plt.ylabel(r\"$A^{23}$ components\")\n", - "plt.title(r\"Components of $A^{23}$ vs s at 45 degree\")\n", - "plt.legend()\n", - "# plt.grid(True)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "19", - "metadata": {}, - "outputs": [], - "source": [ - "plt.plot(A23_values.real, A23_values.imag)\n", - "plt.title(r\"Argand diagram of $A^{23}$\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "20", - "metadata": {}, - "outputs": [], - "source": [ - "# Example values\n", - "m_Delta_val = 1.54\n", - "Gamma_Delta_val = 0.1\n", - "b_vals = [-1.5, 4, 0.5]\n", - "\n", - "# Generate s values\n", - "s_values = np.linspace(0, 5, 100)\n", - "# PHI = np.linspace(-np.pi, +np.pi, num=100)\n", - "# THETA = np.linspace(0, np.pi, num=100)\n", - "\n", - "PHI, THETA = np.meshgrid(\n", - " np.linspace(-np.pi, +np.pi, num=100),\n", - " np.linspace(0, np.pi, num=100),\n", - ")\n", - "A23_Angles_values = A23_func(\n", - " s_values, *b_vals, m_Delta_val, Gamma_Delta_val, THETA, PHI\n", - ")\n", - "\n", - "# Create the plot\n", - "plt.figure(figsize=(10, 6))\n", - "\n", - "plt.plot(\n", - " s_values, A23_Angles_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\"\n", - ")\n", - "plt.plot(s_values, A23_Angles_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", - "# plt.plot(s_values, np.abs(A23_values) ** 2, label=\"|A23|^2\", linestyle=\"-.\", color=\"g\")\n", - "plt.plot(\n", - " s_values,\n", - " np.angle(A23_Angles_values),\n", - " label=\"Phase (angle)\",\n", - " linestyle=\":\",\n", - " color=\"m\",\n", - ")\n", - "\n", - "plt.xlabel(\"s\")\n", - "plt.ylabel(r\"$A^{23}$ components\")\n", - "plt.title(r\"Components of $A^{23}$ vs s\")\n", - "# plt.legend()\n", - "# plt.grid(True)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "21", - "metadata": {}, - "outputs": [], - "source": [ - "plt.figure(figsize=(10, 6))\n", - "plt.plot(\n", - " s_values, np.abs(A23_Angles_values) ** 2, label=\"|A23|^2\", linestyle=\"-.\", color=\"g\"\n", - ")\n", - "plt.xlabel(\"s\")\n", - "plt.ylabel(r\"$A^{23}$ components\")\n", - "plt.title(r\"Components of $A^{23}$ vs s\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "22", - "metadata": {}, - "outputs": [], - "source": [ - "plt.plot(A23_Angles_values.real, A23_Angles_values.imag)\n", - "plt.title(r\"Argand diagram of $A^{23}$\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "23", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "source": [ - "# $A^{31}$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "24", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "s31, c0, m_Nstar, Gamma_Nstar = symbols(r\"s_{31} c_0 m_{N^*} \\Gamma_{N^*}\")\n", - "A31 = c0 / (s31 - m_Nstar**2 + I * m_Nstar * Gamma_Nstar)\n", - "A31" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "25", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "A31.free_symbols" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "26", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "sp.lambdify([s31, c0, m_Nstar, Gamma_Nstar], A31)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "27", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "A31_func = sp.lambdify([s31, c0, m_Nstar, Gamma_Nstar], A31)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "28", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Example values for m_Nstar and Gamma_Nstar\n", - "m_Nstar_val = 1.87\n", - "Gamma_Nstar_val = 0.1\n", - "c0_val = 2.5\n", - "\n", - "# Generate s values\n", - "s_values = np.linspace(0, 5, 100)\n", - "A31_values = A31_func(s_values, c0_val, m_Nstar_val, Gamma_Nstar_val)\n", - "\n", - "# Create the plot\n", - "plt.figure(figsize=(10, 6))\n", - "\n", - "plt.plot(s_values, A31_values.imag, label=\"Imaginary Part\", linestyle=\"-\", color=\"b\")\n", - "plt.plot(s_values, A31_values.real, label=\"Real Part\", linestyle=\"--\", color=\"r\")\n", - "plt.plot(s_values, np.abs(A31_values) ** 2, label=\"|A31|^2\", linestyle=\"-.\", color=\"g\")\n", - "plt.plot(\n", - " s_values, np.angle(A31_values), label=\"Phase (angle)\", linestyle=\":\", color=\"m\"\n", - ")\n", - "\n", - "plt.xlabel(\"s\")\n", - "plt.ylabel(r\"$A^{31}$ components\")\n", - "plt.title(r\"Components of $A^{31}$ vs s\")\n", - "plt.legend()\n", - "# plt.grid(True)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "29", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "plt.plot(A31_values.real, A31_values.imag)\n", - "plt.title(r\"Argand diagram of $A^{31}$\")\n", - "plt.show()" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.4" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From 5794adfff5906f6d2d7b3c1665b58aec998516a9 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Thu, 20 Jun 2024 17:05:05 +0200 Subject: [PATCH 27/44] Add document title --- docs/LamKpi.ipynb | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/docs/LamKpi.ipynb b/docs/LamKpi.ipynb index 62aa5db..452a2a0 100644 --- a/docs/LamKpi.ipynb +++ b/docs/LamKpi.ipynb @@ -5,13 +5,21 @@ "id": "0", "metadata": {}, "source": [ - "$p \\gamma \\to K^+ \\pi^0 \\Lambda$" + "# PWA for pγ → ΛK⁺π⁰ via `ComPWA`" + ] + }, + { + "cell_type": "markdown", + "id": "1", + "metadata": {}, + "source": [ + "PWA study on $p \\gamma \\to K^+ \\pi^0 \\Lambda$" ] }, { "cell_type": "code", "execution_count": null, - "id": "1", + "id": "2", "metadata": {}, "outputs": [], "source": [ @@ -27,7 +35,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2", + "id": "3", "metadata": {}, "outputs": [], "source": [ @@ -50,7 +58,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3", + "id": "4", "metadata": {}, "outputs": [], "source": [ @@ -71,7 +79,7 @@ { "cell_type": "code", "execution_count": null, - "id": "4", + "id": "5", "metadata": {}, "outputs": [], "source": [ @@ -82,7 +90,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5", + "id": "6", "metadata": {}, "outputs": [], "source": [ @@ -105,7 +113,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6", + "id": "7", "metadata": {}, "outputs": [], "source": [ @@ -115,7 +123,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7", + "id": "8", "metadata": {}, "outputs": [], "source": [ @@ -126,7 +134,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8", + "id": "9", "metadata": {}, "outputs": [], "source": [ @@ -140,7 +148,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9", + "id": "10", "metadata": {}, "outputs": [], "source": [ @@ -152,7 +160,7 @@ { "cell_type": "code", "execution_count": null, - "id": "10", + "id": "11", "metadata": {}, "outputs": [], "source": [ @@ -162,7 +170,7 @@ { "cell_type": "code", "execution_count": null, - "id": "11", + "id": "12", "metadata": {}, "outputs": [], "source": [ @@ -180,7 +188,7 @@ { "cell_type": "code", "execution_count": null, - "id": "12", + "id": "13", "metadata": {}, "outputs": [], "source": [] From 88b58022a6be48857a71ad5b0162eeecf4311d1d Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Mon, 24 Jun 2024 12:29:30 +0200 Subject: [PATCH 28/44] resolve pixi.lock conflict --- pixi.lock | 527 +++++++++++++++++++++++++++--------------------------- 1 file changed, 259 insertions(+), 268 deletions(-) diff --git a/pixi.lock b/pixi.lock index 9c524b7..19af638 100644 --- a/pixi.lock +++ b/pixi.lock @@ -37,7 +37,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.6.2-hbcca054_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-hbb29018_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.6.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.16.0-py312hf06ca03_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.3.1-pyhd8ed1ab_0.tar.bz2 @@ -64,7 +64,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/executing-2.0.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.6.2-h59595ed_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.15.1-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-3.15.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/flake8-7.0.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/flatbuffers-24.3.25-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 @@ -87,15 +87,15 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.43-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-2.80.2-h8a4344b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/glib-tools-2.80.2-h73ef956_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-h59595ed_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.1.5-py312h1d5cde6_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/google-pasta-0.2.0-pyh8c360ce_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h59595ed_1003.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/graphviz-9.0.0-h78e8752_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/greenlet-3.0.3-py312h30efb56_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/grpcio-1.62.2-py312hb06c811_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.24.4-h9ad1361_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.24.4-haf2f30d_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.24.5-hbaaba92_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.24.5-haf2f30d_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h280cfa0_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/gts-0.7.6-h977cf35_4.conda - conda: https://conda.anaconda.org/conda-forge/noarch/h11-0.14.0-pyhd8ed1ab_0.tar.bz2 @@ -113,8 +113,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.7-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/iminuit-2.25.2-py312h30efb56_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.1.0-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.1.0-hd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.2.1-pyha770c72_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.2.1-hd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib_resources-6.4.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipykernel-6.29.4-pyh3099207_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ipython-8.25.0-pyh707e725_0.conda @@ -168,7 +168,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libcap-2.69-h0f662aa_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-22_linux64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp15-15.0.7-default_h127d8a8_5.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-18.1.7-default_h087397f_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libclang13-18.1.8-default_h6ae225f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h4637d8d_4.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.8.0-hca28451_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.20-hd590300_0.conda @@ -178,22 +178,22 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.6.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libflac-1.4.3-h59595ed_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h77fa898_10.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h77fa898_13.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcrypt-1.10.3-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h119a65a_9.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgettextpo-0.22.5-h59595ed_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgettextpo-devel-0.22.5-h59595ed_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_10.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-h3d2ce59_10.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_13.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-h3d2ce59_13.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.80.2-h8a4344b_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h77fa898_10.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h77fa898_13.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgpg-error-1.49-h4f305b6_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgrpc-1.62.2-h15f2491_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-22_linux64_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm15-15.0.7-hb3ce162_4.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm18-18.1.7-hc9dba70_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libllvm18-18.1.8-hc9dba70_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libogg-1.3.4-h7f98852_1.tar.bz2 @@ -208,19 +208,19 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.18-h36c2ea0_1.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.46.0-hde9e2c9_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-hc0a3c3a_10.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-hc0a3c3a_13.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-255-h3516f8a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-h1dd3fc0_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libvorbis-1.3.7-h9c3ff4c_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.4.0-h2c329e2_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.4.0-hd590300_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.15-h0b41bf4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.16-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.7.0-h662e7e4_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.7.0-h2c5496b_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.12.7-hc051c1a_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-h4ab18f5_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/livereload-2.6.3-pyh9f0ad1d_0.tar.bz2 + - conda: https://conda.anaconda.org/conda-forge/noarch/livereload-2.7.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.4-hcb278e6_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-3.0.0-pyhd8ed1ab_0.conda @@ -277,7 +277,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/phasespace-1.10.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2 - - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.3.0-py312hdcec9eb_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.3.0-py312h287a98d_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.2-h59595ed_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pkgutil-resolve-name-1.3.10-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.2-pyhd8ed1ab_0.conda @@ -324,7 +324,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py312h98912ed_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pyzmq-26.0.3-py312h8fd38d8_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/qrules-0.10.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.8-hc9dc06e_21.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.8-ha2b5568_22.conda - conda: https://conda.anaconda.org/conda-forge/noarch/qtconsole-base-5.5.2-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/qtpy-2.4.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/re2-2023.09.01-h7f4b329_2.conda @@ -338,7 +338,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.18.1-py312h4413252_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/scipy-1.13.1-py312hc2bc53b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/send2trash-1.8.3-pyh0d859eb_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-70.0.0-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-70.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/singledispatchmethod-1.0-pyhd8ed1ab_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/sip-6.7.12-py312h30efb56_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2 @@ -390,7 +390,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.2.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/uvicorn-0.30.1-py312h7900ff3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/vector-1.4.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.26.2-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.26.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/watchfiles-0.22.0-py312h4413252_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/webcolors-24.6.0-pyhd8ed1ab_0.conda @@ -401,16 +401,16 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/whatthepatch-1.0.5-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/widgetsnbextension-4.0.11-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/wrapt-1.16.0-py312h98912ed_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.0-hd590300_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-h8ee46fc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.0-h8ee46fc_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.9-hd590300_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.1-h8ee46fc_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-hb711507_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xkeyboard-config-2.42-h4ab18f5_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.1-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-h7391055_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.9-h8ee46fc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.9-hb711507_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.11-hd590300_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2 - conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h0b41bf4_2.conda @@ -960,32 +960,33 @@ packages: - kind: conda name: cairo version: 1.18.0 - build: h3faef2a_0 + build: hbb29018_2 + build_number: 2 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda - sha256: 142e2639a5bc0e99c44d76f4cc8dce9c6a2d87330c4beeabb128832cd871a86e - md5: f907bb958910dc404647326ca80c263e + url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-hbb29018_2.conda + sha256: 51cfaf4669ad83499b3da215b915c503d36faf6edf6db4681a70b5710842a86c + md5: b6d90276c5aee9b4407dd94eb0cd40a8 depends: - fontconfig >=2.14.2,<3.0a0 - fonts-conda-ecosystem - freetype >=2.12.1,<3.0a0 - icu >=73.2,<74.0a0 - libgcc-ng >=12 - - libglib >=2.78.0,<3.0a0 - - libpng >=1.6.39,<1.7.0a0 + - libglib >=2.80.2,<3.0a0 + - libpng >=1.6.43,<1.7.0a0 - libstdcxx-ng >=12 - - libxcb >=1.15,<1.16.0a0 - - libzlib >=1.2.13,<2.0.0a0 - - pixman >=0.42.2,<1.0a0 + - libxcb >=1.16,<1.17.0a0 + - libzlib >=1.3.1,<2.0a0 + - pixman >=0.43.2,<1.0a0 - xorg-libice >=1.1.1,<2.0a0 - xorg-libsm >=1.2.4,<2.0a0 - - xorg-libx11 >=1.8.6,<2.0a0 + - xorg-libx11 >=1.8.9,<2.0a0 - xorg-libxext >=1.3.4,<2.0a0 - xorg-libxrender >=0.9.11,<0.10.0a0 - zlib license: LGPL-2.1-only or MPL-1.1 - size: 982351 - timestamp: 1697028423052 + size: 984224 + timestamp: 1718985592664 - kind: conda name: certifi version: 2024.6.2 @@ -1405,18 +1406,18 @@ packages: timestamp: 1710362144873 - kind: conda name: filelock - version: 3.15.1 + version: 3.15.4 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.15.1-pyhd8ed1ab_0.conda - sha256: 4b32cbd6082db21d463250cbfaaaaf37bfaa84950deeb1298753cae8d45771e7 - md5: ca4149866d80007713ff47906bba8cb3 + url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.15.4-pyhd8ed1ab_0.conda + sha256: f78d9c0be189a77cb0c67d02f33005f71b89037a85531996583fb79ff3fe1a0a + md5: 0e7e4388e9d5283e22b35a9443bdbcc9 depends: - python >=3.7 license: Unlicense - size: 17437 - timestamp: 1718250206482 + size: 17592 + timestamp: 1719088395353 - kind: conda name: flake8 version: 7.0.0 @@ -1770,18 +1771,18 @@ packages: - kind: conda name: gmp version: 6.3.0 - build: h59595ed_1 - build_number: 1 + build: hac33072_2 + build_number: 2 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-h59595ed_1.conda - sha256: cfc4202c23d6895d9c84042d08d5cda47d597772df870d4d2a10fc86dded5576 - md5: e358c7c5f6824c272b5034b3816438a7 + url: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda + sha256: 309cf4f04fec0c31b6771a5809a1909b4b3154a2208f52351e1ada006f4c750c + md5: c94a5994ef49749880a8139cf9afcbe1 depends: - libgcc-ng >=12 - libstdcxx-ng >=12 license: GPL-2.0-or-later OR LGPL-3.0-or-later - size: 569852 - timestamp: 1710169507479 + size: 460055 + timestamp: 1718980856608 - kind: conda name: gmpy2 version: 2.1.5 @@ -1900,16 +1901,16 @@ packages: timestamp: 1713390905173 - kind: conda name: gst-plugins-base - version: 1.24.4 - build: h9ad1361_0 + version: 1.24.5 + build: hbaaba92_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.24.4-h9ad1361_0.conda - sha256: 4726f1905bbc84b44c8a78a53c0b2bc20b0f6780614b897e83bdfb9f1f94e9d5 - md5: 147cce520ec59367549fd0d96d404213 + url: https://conda.anaconda.org/conda-forge/linux-64/gst-plugins-base-1.24.5-hbaaba92_0.conda + sha256: eb9ea3a6b2a3873a379f9b2c86abba510709ae6e0083a7c0c8563c25ed3dc4bd + md5: 4a485842570569ba754863b2c083b346 depends: - __glibc >=2.17,<3.0.a0 - - alsa-lib >=1.2.11,<1.3.0a0 - - gstreamer 1.24.4 haf2f30d_0 + - alsa-lib >=1.2.12,<1.3.0a0 + - gstreamer 1.24.5 haf2f30d_0 - libexpat >=2.6.2,<3.0a0 - libgcc-ng >=12 - libglib >=2.80.2,<3.0a0 @@ -1918,24 +1919,24 @@ packages: - libpng >=1.6.43,<1.7.0a0 - libstdcxx-ng >=12 - libvorbis >=1.3.7,<1.4.0a0 - - libxcb >=1.15,<1.16.0a0 - - libzlib >=1.2.13,<2.0a0 + - libxcb >=1.16,<1.17.0a0 + - libzlib >=1.3.1,<2.0a0 - xorg-libx11 >=1.8.9,<2.0a0 - xorg-libxau >=1.0.11,<2.0a0 - xorg-libxext >=1.3.4,<2.0a0 - xorg-libxrender >=0.9.11,<0.10.0a0 license: LGPL-2.0-or-later license_family: LGPL - size: 2784812 - timestamp: 1717008701241 + size: 2804833 + timestamp: 1718924385674 - kind: conda name: gstreamer - version: 1.24.4 + version: 1.24.5 build: haf2f30d_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.24.4-haf2f30d_0.conda - sha256: d20031196ed30ee5eb1e225f6cf0ed605d95158612589602a9d893a7386a4608 - md5: 926c2c7ee7a0b48d6d70783a33f7bc80 + url: https://conda.anaconda.org/conda-forge/linux-64/gstreamer-1.24.5-haf2f30d_0.conda + sha256: b824bf5e8b1b2aed4b6cad08caccdb48624a3180a96e7e6b5b978f009a3a7e85 + md5: c5252c02592373fa8caf5a5327165a89 depends: - __glibc >=2.17,<3.0.a0 - glib >=2.80.2,<3.0a0 @@ -1945,8 +1946,8 @@ packages: - libstdcxx-ng >=12 license: LGPL-2.0-or-later license_family: LGPL - size: 2019311 - timestamp: 1717008522417 + size: 2020578 + timestamp: 1718924252333 - kind: conda name: gtk2 version: 2.24.33 @@ -2251,35 +2252,35 @@ packages: timestamp: 1707480618851 - kind: conda name: importlib-metadata - version: 7.1.0 + version: 7.2.1 build: pyha770c72_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.1.0-pyha770c72_0.conda - sha256: cc2e7d1f7f01cede30feafc1118b7aefa244d0a12224513734e24165ae12ba49 - md5: 0896606848b2dc5cebdf111b6543aa04 + url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.2.1-pyha770c72_0.conda + sha256: 21c0aed99d05658760c87dcb3fce6e1175966d1bc51b7c31981e779e90574d27 + md5: b9f5330c0853ccabc39a9878c6f1a2ab depends: - python >=3.8 - zipp >=0.5 license: Apache-2.0 license_family: APACHE - size: 27043 - timestamp: 1710971498183 + size: 27612 + timestamp: 1719171345874 - kind: conda name: importlib_metadata - version: 7.1.0 + version: 7.2.1 build: hd8ed1ab_0 subdir: noarch noarch: generic - url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.1.0-hd8ed1ab_0.conda - sha256: 01dc057a45dedcc742a71599f67c7383ae2bf873be6018ebcbd06ac8d994dedb - md5: 6ef2b72d291b39e479d7694efa2b2b98 + url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.2.1-hd8ed1ab_0.conda + sha256: 24520c5f12ce9b78beb97b4f815ca7b763518cc84136e12f6db10aa23f55d0f8 + md5: d6c936d009aa63e5f82d216c95cdcaee depends: - - importlib-metadata >=7.1.0,<7.1.1.0a0 + - importlib-metadata >=7.2.1,<7.2.2.0a0 license: Apache-2.0 license_family: APACHE - size: 9444 - timestamp: 1710971502542 + size: 9520 + timestamp: 1719171350317 - kind: conda name: importlib_resources version: 6.4.0 @@ -3092,6 +3093,7 @@ packages: constrains: - binutils_impl_linux-64 2.40 license: GPL-3.0-only + license_family: GPL size: 707602 timestamp: 1718625640445 - kind: conda @@ -3293,20 +3295,20 @@ packages: timestamp: 1711063711931 - kind: conda name: libclang13 - version: 18.1.7 - build: default_h087397f_0 + version: 18.1.8 + build: default_h6ae225f_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-18.1.7-default_h087397f_0.conda - sha256: d981a2734c3af6217dd42c1bccc13b99fc3ca5a64c379739612d6cf67f992a1d - md5: 536526073c2e7f9056fdce8584da779e + url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-18.1.8-default_h6ae225f_0.conda + sha256: c4c878a7419b6cce2b81d538025a577e1761e95731463aad7d211ebe5c8a2ede + md5: 28ad2db5c14d2e23d7962b8389e2cc0b depends: - libgcc-ng >=12 - - libllvm18 >=18.1.7,<18.2.0a0 + - libllvm18 >=18.1.8,<18.2.0a0 - libstdcxx-ng >=12 license: Apache-2.0 WITH LLVM-exception license_family: Apache - size: 11057579 - timestamp: 1717819075043 + size: 11033359 + timestamp: 1718868986747 - kind: conda name: libcups version: 2.3.3 @@ -3458,21 +3460,20 @@ packages: - kind: conda name: libgcc-ng version: 13.2.0 - build: h77fa898_10 - build_number: 10 + build: h77fa898_13 + build_number: 13 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h77fa898_10.conda - sha256: 78931358d83ff585d0cd448632366a5cbe6bcf41a66c07e8178200008127c2b5 - md5: bbb96c5e7a11ef8ca2b666fe9fe3d199 + url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h77fa898_13.conda + sha256: ffa0f472c8b37f864de855af2d3c057f1813162319f10ebd97332d73fc27ba60 + md5: 9358cdd61ef0d600d2a0dde2d53b006c depends: - _libgcc_mutex 0.1 conda_forge - _openmp_mutex >=4.5 constrains: - - libgomp 13.2.0 h77fa898_10 + - libgomp 13.2.0 h77fa898_13 license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 802677 - timestamp: 1718485010755 + size: 792721 + timestamp: 1719179941452 - kind: conda name: libgcrypt version: 1.10.3 @@ -3550,35 +3551,33 @@ packages: - kind: conda name: libgfortran-ng version: 13.2.0 - build: h69a702a_10 - build_number: 10 + build: h69a702a_13 + build_number: 13 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_10.conda - sha256: de97f291cda4be906c9021c93a9d5d40eb65ab7bd5cba38dfa11f12597d7ef6a - md5: a78f7b3d951665c4c57578a8d3787993 + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_13.conda + sha256: 3ef5d92510e9cdd70ec2a9f1f83b8c1d327ff0f9bfc17831a8f8f06f10c2085c + md5: 516e66b26eea14e7e322fe99e88e0f02 depends: - - libgfortran5 13.2.0 h3d2ce59_10 + - libgfortran5 13.2.0 h3d2ce59_13 license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 48629 - timestamp: 1718485240765 + size: 48419 + timestamp: 1719179972468 - kind: conda name: libgfortran5 version: 13.2.0 - build: h3d2ce59_10 - build_number: 10 + build: h3d2ce59_13 + build_number: 13 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-h3d2ce59_10.conda - sha256: be5f5873c392bc4c25bee25cef2d30a9dab69c0d82ff1ddf687f9ece6d36f56c - md5: e3896e5c2dd1cbabaf4abb3254df47b0 + url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-h3d2ce59_13.conda + sha256: 19cffb68b19ff5f426d1cb3db670dccb73c09f54b8d3f8e304665e2cee68f14f + md5: 1e380198685bc1e993bbbc4b579f5916 depends: - libgcc-ng >=13.2.0 constrains: - libgfortran-ng 13.2.0 license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 1463819 - timestamp: 1718485020621 + size: 1459384 + timestamp: 1719179951703 - kind: conda name: libglib version: 2.80.2 @@ -3602,18 +3601,17 @@ packages: - kind: conda name: libgomp version: 13.2.0 - build: h77fa898_10 - build_number: 10 + build: h77fa898_13 + build_number: 13 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h77fa898_10.conda - sha256: bcea6ddfea86f0e6a1a831d1d2c3f36f7613b5e447229e19f978ded0d184cf5a - md5: 9404d1686e63142d41acc72ef876a588 + url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h77fa898_13.conda + sha256: c5949bec7eee93cdd5c367e6e5c5e92ee1c5139a827567af23853dd52721d8ed + md5: d370d1855cca14dff6a819c90c77497c depends: - _libgcc_mutex 0.1 conda_forge license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 444719 - timestamp: 1718484940121 + size: 444091 + timestamp: 1719179831697 - kind: conda name: libgpg-error version: '1.49' @@ -3727,13 +3725,12 @@ packages: timestamp: 1701375836233 - kind: conda name: libllvm18 - version: 18.1.7 - build: hc9dba70_1 - build_number: 1 + version: 18.1.8 + build: hc9dba70_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libllvm18-18.1.7-hc9dba70_1.conda - sha256: 0488d745b8222ef733d74edaee7a1e601d508e7456008521d02ecc15562b85f0 - md5: d321aff45652d36ced0fa1a2a71af4b7 + url: https://conda.anaconda.org/conda-forge/linux-64/libllvm18-18.1.8-hc9dba70_0.conda + sha256: e29a5f79a746f33a73fe540ae46eaaf8bbb64abceeb9f056347d9f2112b8e799 + md5: f94ed0c5953c78dcca7adb953f4c5bfb depends: - libgcc-ng >=12 - libstdcxx-ng >=12 @@ -3742,8 +3739,8 @@ packages: - zstd >=1.5.6,<1.6.0a0 license: Apache-2.0 WITH LLVM-exception license_family: Apache - size: 38402117 - timestamp: 1718317883519 + size: 38397164 + timestamp: 1718831290770 - kind: conda name: libnghttp2 version: 1.58.0 @@ -3984,18 +3981,17 @@ packages: - kind: conda name: libstdcxx-ng version: 13.2.0 - build: hc0a3c3a_10 - build_number: 10 + build: hc0a3c3a_13 + build_number: 13 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-hc0a3c3a_10.conda - sha256: 9a5d43eed33fe8b2fd6adf71ef8f0253fd515e1440c9b7b7782db608e3085bea - md5: ea50441ab527f23ffa108ade07e2fde0 + url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-hc0a3c3a_13.conda + sha256: 143171c6084e526122cc2976fbbfadf7b9f50e5d13036adf20feb7ed9d036dd2 + md5: 1053882642ed5bbc799e1e866ff86826 depends: - - libgcc-ng 13.2.0 h77fa898_10 + - libgcc-ng 13.2.0 h77fa898_13 license: GPL-3.0-only WITH GCC-exception-3.1 - license_family: GPL - size: 3862528 - timestamp: 1718485050139 + size: 3836375 + timestamp: 1719179964037 - kind: conda name: libsystemd0 version: '255' @@ -4106,21 +4102,21 @@ packages: timestamp: 1713199854503 - kind: conda name: libxcb - version: '1.15' - build: h0b41bf4_0 + version: '1.16' + build: hd590300_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.15-h0b41bf4_0.conda - sha256: a670902f0a3173a466c058d2ac22ca1dd0df0453d3a80e0212815c20a16b0485 - md5: 33277193f5b92bad9fdd230eb700929c + url: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.16-hd590300_0.conda + sha256: 7180375f37fd264bb50672a63da94536d4abd81ccec059e932728ae056324b3a + md5: 151cba22b85a989c2d6ef9633ffee1e4 depends: - libgcc-ng >=12 - pthread-stubs - - xorg-libxau + - xorg-libxau >=1.0.11,<2.0a0 - xorg-libxdmcp license: MIT license_family: MIT - size: 384238 - timestamp: 1682082368177 + size: 394932 + timestamp: 1693088990429 - kind: conda name: libxcrypt version: 4.4.36 @@ -4138,22 +4134,23 @@ packages: - kind: conda name: libxkbcommon version: 1.7.0 - build: h662e7e4_0 + build: h2c5496b_1 + build_number: 1 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.7.0-h662e7e4_0.conda - sha256: 3d97d7f964237f42452295d461afdbc51e93f72e2c80be516f56de80e3bb6621 - md5: b32c0da42b1f24a98577bb3d7fc0b995 + url: https://conda.anaconda.org/conda-forge/linux-64/libxkbcommon-1.7.0-h2c5496b_1.conda + sha256: 6804c2a7062d10de6f159f7106dc45ebccc8d42bfb925f7919e26e567fa6da6b + md5: e2eaefa4de2b7237af7c907b8bbc760a depends: - libgcc-ng >=12 - libstdcxx-ng >=12 - - libxcb >=1.15,<1.16.0a0 - - libxml2 >=2.12.6,<3.0a0 + - libxcb >=1.16,<1.17.0a0 + - libxml2 >=2.12.7,<3.0a0 - xkeyboard-config - xorg-libxau >=1.0.11,<2.0a0 license: MIT/X11 Derivative license_family: MIT - size: 593534 - timestamp: 1711303445595 + size: 593336 + timestamp: 1718819935698 - kind: conda name: libxml2 version: 2.12.7 @@ -4192,22 +4189,19 @@ packages: timestamp: 1716874187109 - kind: conda name: livereload - version: 2.6.3 - build: pyh9f0ad1d_0 + version: 2.7.0 + build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/livereload-2.6.3-pyh9f0ad1d_0.tar.bz2 - sha256: 0e88f8f8abc0a641c2f3b1b306258fab87c39a95f3495e53e6b3873107da1765 - md5: b7190e3ec3eff52839434bf4698e2d62 + url: https://conda.anaconda.org/conda-forge/noarch/livereload-2.7.0-pyhd8ed1ab_0.conda + sha256: 9c2cd37b052996cc3f787f9caae74d9a2b616c48c6e1f27796680cb882c45bfc + md5: c6aa475c46f6bdd203841dd8525f3b91 depends: - - python - - setuptools - - six + - python >=3.7 - tornado license: BSD-3-Clause - license_family: BSD - size: 24973 - timestamp: 1598114846810 + size: 25951 + timestamp: 1719215280117 - kind: conda name: lz4-c version: 1.9.4 @@ -5199,27 +5193,28 @@ packages: - kind: conda name: pillow version: 10.3.0 - build: py312hdcec9eb_0 + build: py312h287a98d_1 + build_number: 1 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.3.0-py312hdcec9eb_0.conda - sha256: a7fdcc1e56b66d95622bad073cc8d347cc180988040419754abb2a4ed7b29471 - md5: 425bb325f970e57a047ac57c4586489d + url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.3.0-py312h287a98d_1.conda + sha256: e1a2426f23535fc15e577d799685229a93117b645734e5cca60597bb23cef09e + md5: b1325cda3f250f9f842180607054e6ed depends: - freetype >=2.12.1,<3.0a0 - lcms2 >=2.16,<3.0a0 - libgcc-ng >=12 - libjpeg-turbo >=3.0.0,<4.0a0 - libtiff >=4.6.0,<4.7.0a0 - - libwebp-base >=1.3.2,<2.0a0 - - libxcb >=1.15,<1.16.0a0 - - libzlib >=1.2.13,<2.0.0a0 + - libwebp-base >=1.4.0,<2.0a0 + - libxcb >=1.16,<1.17.0a0 + - libzlib >=1.3.1,<2.0a0 - openjpeg >=2.5.2,<3.0a0 - python >=3.12,<3.13.0a0 - python_abi 3.12.* *_cp312 - tk >=8.6.13,<8.7.0a0 license: HPND - size: 41991755 - timestamp: 1712154634705 + size: 41702764 + timestamp: 1718833930009 - kind: conda name: pixman version: 0.43.2 @@ -6027,22 +6022,22 @@ packages: - kind: conda name: qt-main version: 5.15.8 - build: hc9dc06e_21 - build_number: 21 + build: ha2b5568_22 + build_number: 22 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.8-hc9dc06e_21.conda - sha256: 6b4594f6f2fad65a7ed52993f602e3ab183193755fe4a492aaa48e463b23105b - md5: b325046180590c868ce0dbf267b82eb8 + url: https://conda.anaconda.org/conda-forge/linux-64/qt-main-5.15.8-ha2b5568_22.conda + sha256: e621b4445b08c353cd754e8b1e529ed6d27b53d23629064e504727225e291017 + md5: 15de976572f24032540236006d6d0e9f depends: - __glibc >=2.17,<3.0.a0 - - alsa-lib >=1.2.11,<1.3.0a0 + - alsa-lib >=1.2.12,<1.3.0a0 - dbus >=1.13.6,<2.0a0 - fontconfig >=2.14.2,<3.0a0 - fonts-conda-ecosystem - freetype >=2.12.1,<3.0a0 - - gst-plugins-base >=1.24.1,<1.25.0a0 - - gstreamer >=1.24.1,<1.25.0a0 - - harfbuzz >=8.3.0,<9.0a0 + - gst-plugins-base >=1.24.5,<1.25.0a0 + - gstreamer >=1.24.5,<1.25.0a0 + - harfbuzz >=8.5.0,<9.0a0 - icu >=73.2,<74.0a0 - krb5 >=1.21.2,<1.22.0a0 - libclang-cpp15 >=15.0.7,<15.1.0a0 @@ -6051,39 +6046,39 @@ packages: - libevent >=2.1.12,<2.1.13.0a0 - libexpat >=2.6.2,<3.0a0 - libgcc-ng >=12 - - libglib >=2.80.0,<3.0a0 + - libglib >=2.80.2,<3.0a0 - libjpeg-turbo >=3.0.0,<4.0a0 - libllvm15 >=15.0.7,<15.1.0a0 - libpng >=1.6.43,<1.7.0a0 - - libpq >=16.2,<17.0a0 - - libsqlite >=3.45.2,<4.0a0 + - libpq >=16.3,<17.0a0 + - libsqlite >=3.46.0,<4.0a0 - libstdcxx-ng >=12 - - libxcb >=1.15,<1.16.0a0 + - libxcb >=1.16,<1.17.0a0 - libxkbcommon >=1.7.0,<2.0a0 - - libxml2 >=2.12.6,<3.0a0 - - libzlib >=1.2.13,<2.0.0a0 + - libxml2 >=2.12.7,<3.0a0 + - libzlib >=1.3.1,<2.0a0 - mysql-libs >=8.3.0,<8.4.0a0 - nspr >=4.35,<5.0a0 - - nss >=3.98,<4.0a0 - - openssl >=3.2.1,<4.0a0 + - nss >=3.101,<4.0a0 + - openssl >=3.3.1,<4.0a0 - pulseaudio-client >=17.0,<17.1.0a0 - - xcb-util >=0.4.0,<0.5.0a0 + - xcb-util >=0.4.1,<0.5.0a0 - xcb-util-image >=0.4.0,<0.5.0a0 - - xcb-util-keysyms >=0.4.0,<0.5.0a0 - - xcb-util-renderutil >=0.3.9,<0.4.0a0 - - xcb-util-wm >=0.4.1,<0.5.0a0 + - xcb-util-keysyms >=0.4.1,<0.5.0a0 + - xcb-util-renderutil >=0.3.10,<0.4.0a0 + - xcb-util-wm >=0.4.2,<0.5.0a0 - xorg-libice >=1.1.1,<2.0a0 - xorg-libsm >=1.2.4,<2.0a0 - xorg-libx11 >=1.8.9,<2.0a0 - xorg-libxext >=1.3.4,<2.0a0 - xorg-xf86vidmodeproto - - zstd >=1.5.5,<1.6.0a0 + - zstd >=1.5.6,<1.6.0a0 constrains: - qt 5.15.8 license: LGPL-3.0-only license_family: LGPL - size: 61305384 - timestamp: 1712549380352 + size: 61406677 + timestamp: 1719032641557 - kind: conda name: qtconsole-base version: 5.5.2 @@ -6314,19 +6309,19 @@ packages: timestamp: 1712585140895 - kind: conda name: setuptools - version: 70.0.0 + version: 70.1.0 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/setuptools-70.0.0-pyhd8ed1ab_0.conda - sha256: daa4638d288cfdf3b0ecea395d8efa25cafc4ebf4026464a36c797c84541d2be - md5: c8ddb4f34a208df4dd42509a0f6a1c89 + url: https://conda.anaconda.org/conda-forge/noarch/setuptools-70.1.0-pyhd8ed1ab_0.conda + sha256: a43d33436f4ac57ebd6ee15f700b33b26a2d37b7e43981b1fa036908579dafd6 + md5: 258e66f95f814d51ada2a1fe9274039b depends: - python >=3.8 license: MIT license_family: MIT - size: 483015 - timestamp: 1716368141661 + size: 495951 + timestamp: 1718881009207 - kind: conda name: singledispatchmethod version: '1.0' @@ -6636,6 +6631,7 @@ packages: - python_abi 3.12.* *_cp312 - typing-extensions >=4.6.0 license: MIT + license_family: MIT size: 3494447 timestamp: 1718781304578 - kind: conda @@ -7238,22 +7234,21 @@ packages: timestamp: 1718033105021 - kind: conda name: virtualenv - version: 20.26.2 + version: 20.26.3 build: pyhd8ed1ab_0 subdir: noarch noarch: python - url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.26.2-pyhd8ed1ab_0.conda - sha256: 1eefd180723fb2fd295352323b53777eeae5765b24d62ae75fc9f1e71b455f11 - md5: 7d36e7a485ea2f5829408813bdbbfb38 + url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.26.3-pyhd8ed1ab_0.conda + sha256: f78961b194e33eed5fdccb668774651ec9423a043069fa7a4e3e2f853b08aa0c + md5: 284008712816c64c85bf2b7fa9f3b264 depends: - distlib <1,>=0.3.7 - filelock <4,>=3.12.2 - platformdirs <5,>=3.9.1 - python >=3.8 license: MIT - license_family: MIT - size: 3458445 - timestamp: 1715681264937 + size: 4363507 + timestamp: 1719150878323 - kind: conda name: watchfiles version: 0.22.0 @@ -7412,87 +7407,82 @@ packages: timestamp: 1699532968076 - kind: conda name: xcb-util - version: 0.4.0 - build: hd590300_1 - build_number: 1 + version: 0.4.1 + build: hb711507_2 + build_number: 2 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.0-hd590300_1.conda - sha256: 0c91d87f0efdaadd4e56a5f024f8aab20ec30f90aa2ce9e4ebea05fbc20f71ad - md5: 9bfac7ccd94d54fd21a0501296d60424 + url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-0.4.1-hb711507_2.conda + sha256: 416aa55d946ce4ab173ab338796564893a2f820e80e04e098ff00c25fb981263 + md5: 8637c3e5821654d0edf97e2b0404b443 depends: - libgcc-ng >=12 - - libxcb >=1.13 - - libxcb >=1.15,<1.16.0a0 + - libxcb >=1.16,<1.17.0a0 license: MIT license_family: MIT - size: 19728 - timestamp: 1684639166048 + size: 19965 + timestamp: 1718843348208 - kind: conda name: xcb-util-image version: 0.4.0 - build: h8ee46fc_1 - build_number: 1 + build: hb711507_2 + build_number: 2 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-h8ee46fc_1.conda - sha256: 92ffd68d2801dbc27afe223e04ae7e78ef605fc8575f107113c93c7bafbd15b0 - md5: 9d7bcddf49cbf727730af10e71022c73 + url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-image-0.4.0-hb711507_2.conda + sha256: 94b12ff8b30260d9de4fd7a28cca12e028e572cbc504fd42aa2646ec4a5bded7 + md5: a0901183f08b6c7107aab109733a3c91 depends: - libgcc-ng >=12 - - libxcb >=1.15,<1.16.0a0 - - xcb-util >=0.4.0,<0.5.0a0 + - libxcb >=1.16,<1.17.0a0 + - xcb-util >=0.4.1,<0.5.0a0 license: MIT license_family: MIT - size: 24474 - timestamp: 1684679894554 + size: 24551 + timestamp: 1718880534789 - kind: conda name: xcb-util-keysyms - version: 0.4.0 - build: h8ee46fc_1 - build_number: 1 + version: 0.4.1 + build: hb711507_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.0-h8ee46fc_1.conda - sha256: 8451d92f25d6054a941b962179180728c48c62aab5bf20ac10fef713d5da6a9a - md5: 632413adcd8bc16b515cab87a2932913 + url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-keysyms-0.4.1-hb711507_0.conda + sha256: 546e3ee01e95a4c884b6401284bb22da449a2f4daf508d038fdfa0712fe4cc69 + md5: ad748ccca349aec3e91743e08b5e2b50 depends: - libgcc-ng >=12 - - libxcb >=1.15,<1.16.0a0 + - libxcb >=1.16,<1.17.0a0 license: MIT license_family: MIT - size: 14186 - timestamp: 1684680497805 + size: 14314 + timestamp: 1718846569232 - kind: conda name: xcb-util-renderutil - version: 0.3.9 - build: hd590300_1 - build_number: 1 + version: 0.3.10 + build: hb711507_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.9-hd590300_1.conda - sha256: 6987588e6fff5892056021c2ea52f7a0deefb2c7348e70d24750e2d60dabf009 - md5: e995b155d938b6779da6ace6c6b13816 + url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-renderutil-0.3.10-hb711507_0.conda + sha256: 2d401dadc43855971ce008344a4b5bd804aca9487d8ebd83328592217daca3df + md5: 0e0cbe0564d03a99afd5fd7b362feecd depends: - libgcc-ng >=12 - - libxcb >=1.13 - - libxcb >=1.15,<1.16.0a0 + - libxcb >=1.16,<1.17.0a0 license: MIT license_family: MIT - size: 16955 - timestamp: 1684639112393 + size: 16978 + timestamp: 1718848865819 - kind: conda name: xcb-util-wm - version: 0.4.1 - build: h8ee46fc_1 - build_number: 1 + version: 0.4.2 + build: hb711507_0 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.1-h8ee46fc_1.conda - sha256: 08ba7147c7579249b6efd33397dc1a8c2404278053165aaecd39280fee705724 - md5: 90108a432fb5c6150ccfee3f03388656 + url: https://conda.anaconda.org/conda-forge/linux-64/xcb-util-wm-0.4.2-hb711507_0.conda + sha256: 31d44f297ad87a1e6510895740325a635dd204556aa7e079194a0034cdd7e66a + md5: 608e0ef8256b81d04456e8d211eee3e8 depends: - libgcc-ng >=12 - - libxcb >=1.15,<1.16.0a0 + - libxcb >=1.16,<1.17.0a0 license: MIT license_family: MIT - size: 52114 - timestamp: 1684679248466 + size: 51689 + timestamp: 1718844051451 - kind: conda name: xkeyboard-config version: '2.42' @@ -7556,21 +7546,22 @@ packages: - kind: conda name: xorg-libx11 version: 1.8.9 - build: h8ee46fc_0 + build: hb711507_1 + build_number: 1 subdir: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.9-h8ee46fc_0.conda - sha256: 3e53ba247f1ad68353f18aceba5bf8ce87e3dea930de85d36946844a7658c9fb - md5: 077b6e8ad6a3ddb741fce2496dd01bec + url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.9-hb711507_1.conda + sha256: 66eabe62b66c1597c4a755dcd3f4ce2c78adaf7b32e25dfee45504d67d7735c1 + md5: 4a6d410296d7e39f00bacdee7df046e9 depends: - libgcc-ng >=12 - - libxcb >=1.15,<1.16.0a0 + - libxcb >=1.16,<1.17.0a0 - xorg-kbproto - xorg-xextproto >=7.3.0,<8.0a0 - xorg-xproto license: MIT license_family: MIT - size: 828060 - timestamp: 1712415742569 + size: 832198 + timestamp: 1718846846409 - kind: conda name: xorg-libxau version: 1.0.11 From 228d59b8228e7fabcd6990c7159e941ed60101b5 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Tue, 25 Jun 2024 19:24:51 +0200 Subject: [PATCH 29/44] Add Dalitz plot --- docs/LamKpi.ipynb | 622 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 589 insertions(+), 33 deletions(-) diff --git a/docs/LamKpi.ipynb b/docs/LamKpi.ipynb index 452a2a0..b2e9080 100644 --- a/docs/LamKpi.ipynb +++ b/docs/LamKpi.ipynb @@ -3,7 +3,13 @@ { "cell_type": "markdown", "id": "0", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "# PWA for pγ → ΛK⁺π⁰ via `ComPWA`" ] @@ -11,7 +17,13 @@ { "cell_type": "markdown", "id": "1", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ "PWA study on $p \\gamma \\to K^+ \\pi^0 \\Lambda$" ] @@ -20,23 +32,158 @@ "cell_type": "code", "execution_count": null, "id": "2", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "from __future__ import annotations\n", "from IPython.display import Math\n", "from qrules.particle import load_pdg\n", "from ampform.io import aslatex, improve_latex_rendering\n", + "import matplotlib.pyplot as plt\n", "\n", "improve_latex_rendering()\n", "particle_db = load_pdg()" ] }, + { + "cell_type": "markdown", + "id": "3", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "## Inital and final state" + ] + }, + { + "cell_type": "markdown", + "id": "4", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "### Check existing particles in `PDG`" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "3", - "metadata": {}, + "id": "5", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "particle_db[\"Lambda\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "particle_db[\"K+\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "particle_db[\"pi0\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "particle_db[\"gamma\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "particle_db[\"p\"]" + ] + }, + { + "cell_type": "markdown", + "id": "10", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "### Add custom particle for initial state" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "from qrules.particle import Particle, Spin\n", @@ -58,8 +205,14 @@ { "cell_type": "code", "execution_count": null, - "id": "4", - "metadata": {}, + "id": "12", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "pgamma2 = Particle(\n", @@ -79,19 +232,45 @@ { "cell_type": "code", "execution_count": null, - "id": "5", - "metadata": {}, + "id": "13", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "particle_db.add(pgamma)\n", "particle_db.add(pgamma2)" ] }, + { + "cell_type": "markdown", + "id": "14", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "### Generate Transitions" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "6", - "metadata": {}, + "id": "15", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "import qrules\n", @@ -113,55 +292,131 @@ { "cell_type": "code", "execution_count": null, - "id": "7", - "metadata": {}, + "id": "16", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ - "particle_db[\"Lambda\"]" + "dot_se = qrules.io.asdot(reaction1, collapse_graphs=True)\n", + "graphviz.Source(dot_se)" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "8", - "metadata": {}, - "outputs": [], + "cell_type": "markdown", + "id": "17", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ - "dot_se = qrules.io.asdot(reaction1, collapse_graphs=True)\n", - "graphviz.Source(dot_se)" + "## Build Helicity Amplitude Models" + ] + }, + { + "cell_type": "markdown", + "id": "18", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "### Intensity" ] }, { "cell_type": "code", "execution_count": null, - "id": "9", - "metadata": {}, + "id": "19", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "import ampform\n", "\n", "model_builder = ampform.get_builder(reaction1)\n", + "model_builder.config.scalar_initial_state_mass = True\n", + "model_builder.config.stable_final_state_ids = 0, 1, 2\n", "model_no_dynamics = model_builder.formulate()\n", "model_no_dynamics.intensity" ] }, + { + "cell_type": "markdown", + "id": "20", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "### Amplitudes" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "10", - "metadata": {}, + "id": "21", + "metadata": { + "editable": true, + "jupyter": { + "outputs_hidden": true + }, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ - "from ampform.io import aslatex\n", - "\n", "Math(aslatex(model_no_dynamics.amplitudes))" ] }, + { + "cell_type": "markdown", + "id": "22", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "### Parameters" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "11", - "metadata": {}, + "id": "23", + "metadata": { + "editable": true, + "jupyter": { + "outputs_hidden": true + }, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "Math(aslatex(model_no_dynamics.parameter_defaults))" @@ -170,7 +425,7 @@ { "cell_type": "code", "execution_count": null, - "id": "12", + "id": "24", "metadata": {}, "outputs": [], "source": [ @@ -185,13 +440,314 @@ "model = model_builder.formulate()" ] }, + { + "cell_type": "markdown", + "id": "25", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "## Reaction Info" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "13", - "metadata": {}, + "id": "26", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], - "source": [] + "source": [ + "initial_state, *_ = model.reaction_info.initial_state.values()\n", + "print(\"Initial state:\")\n", + "print(\"-1: \", initial_state.name)\n", + "print(\"Final state:\")\n", + "for i, p in model.reaction_info.final_state.items():\n", + " print(f\" {i}: {p.name}\")\n", + "del initial_state" + ] + }, + { + "cell_type": "markdown", + "id": "27", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "## Generate phase space sample" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "28", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "phsp_event = 1_000_000\n", + "from tensorwaves.data import TFPhaseSpaceGenerator, TFUniformRealNumberGenerator\n", + "\n", + "rng = TFUniformRealNumberGenerator(seed=0)\n", + "phsp_generator = TFPhaseSpaceGenerator(\n", + " initial_state_mass=reaction1.initial_state[-1].mass,\n", + " final_state_masses={i: p.mass for i, p in reaction1.final_state.items()},\n", + ")\n", + "phsp_momenta = phsp_generator.generate(phsp_event, rng)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "pd.DataFrame(\n", + " {\n", + " (k, label): np.transpose(v)[i]\n", + " for k, v in phsp_momenta.items()\n", + " for i, label in enumerate([\"E\", \"px\", \"py\", \"pz\"])\n", + " }\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "30", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "## Visualize kinematic variables" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from tensorwaves.function.sympy import create_parametrized_function\n", + "\n", + "unfolded_expression = model.expression.doit()\n", + "intensity_func = create_parametrized_function(\n", + " expression=unfolded_expression,\n", + " parameters=model.parameter_defaults,\n", + " backend=\"numpy\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "32", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "Math(aslatex(model.kinematic_variables))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "33", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from tensorwaves.data import SympyDataTransformer\n", + "\n", + "helicity_transformer = SympyDataTransformer.from_sympy(\n", + " model.kinematic_variables, backend=\"jax\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "phsp = helicity_transformer(phsp_momenta)\n", + "list(phsp)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "35", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "for state_id, particle in reaction1.final_state.items():\n", + " print(f\"ID {state_id}:\", particle.name)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "phsp_frame = pd.DataFrame(phsp)\n", + "phsp_frame" + ] + }, + { + "cell_type": "markdown", + "id": "37", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "## Visualize model and intensity-based sample" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "38", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [ + "hide-input" + ] + }, + "outputs": [], + "source": [ + "%config InlineBackend.figure_formats = ['png']\n", + "fig, ax = plt.subplots()\n", + "hist = ax.hist2d(\n", + " phsp[\"m_01\"].real ** 2,\n", + " phsp[\"m_12\"].real ** 2,\n", + " bins=200,\n", + " cmin=1e-6,\n", + " density=True,\n", + " cmap=\"jet\",\n", + " # vmax=0.15,\n", + ")\n", + "ax.set_title(\"Phase Space Dalitz Plot\")\n", + "ax.set_xlabel(R\"$m^2(\\Lambda K^+)\\;\\left[\\mathrm{GeV}^2\\right]$\")\n", + "ax.set_ylabel(R\"$m^2(K^+ \\pi^0)\\;\\left[\\mathrm{GeV}^2\\right]$\")\n", + "cbar = fig.colorbar(hist[3], ax=ax)\n", + "fig.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "39", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [ + "hide-input" + ] + }, + "outputs": [], + "source": [ + "# %config InlineBackend.figure_formats = ['png']\n", + "\n", + "fig, ax = plt.subplots()\n", + "hist = ax.hist2d(\n", + " phsp[\"m_01\"].real ** 2,\n", + " phsp[\"m_12\"].real ** 2,\n", + " bins=200,\n", + " cmin=1e-6,\n", + " density=True,\n", + " cmap=\"jet\",\n", + " vmax=0.15,\n", + " weights=intensity_func(phsp),\n", + ")\n", + "ax.set_title(\"Model-weighted Phase space Dalitz Plot\")\n", + "ax.set_xlabel(R\"$m^2(\\Lambda K^+)\\;\\left[\\mathrm{GeV}^2\\right]$\")\n", + "ax.set_ylabel(R\"$m^2(K^+ \\pi^0)\\;\\left[\\mathrm{GeV}^2\\right]$\")\n", + "cbar = fig.colorbar(hist[3], ax=ax)\n", + "fig.tight_layout()\n", + "plt.show()" + ] } ], "metadata": { From f62148c11b886cfcdd23915556881cffb830c492 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Wed, 26 Jun 2024 12:47:34 +0200 Subject: [PATCH 30/44] full-width --- docs/LamKpi.ipynb | 56 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 43 insertions(+), 13 deletions(-) diff --git a/docs/LamKpi.ipynb b/docs/LamKpi.ipynb index b2e9080..e5b6d5f 100644 --- a/docs/LamKpi.ipynb +++ b/docs/LamKpi.ipynb @@ -25,7 +25,7 @@ "tags": [] }, "source": [ - "PWA study on $p \\gamma \\to K^+ \\pi^0 \\Lambda$" + "PWA study on $p \\gamma \\to \\Lambda K^+ \\pi^0 $" ] }, { @@ -376,13 +376,12 @@ "id": "21", "metadata": { "editable": true, - "jupyter": { - "outputs_hidden": true - }, "slideshow": { "slide_type": "" }, - "tags": [] + "tags": [ + "full-width" + ] }, "outputs": [], "source": [ @@ -409,9 +408,6 @@ "id": "23", "metadata": { "editable": true, - "jupyter": { - "outputs_hidden": true - }, "slideshow": { "slide_type": "" }, @@ -523,7 +519,9 @@ "slideshow": { "slide_type": "" }, - "tags": [] + "tags": [ + "full-width" + ] }, "outputs": [], "source": [ @@ -655,7 +653,9 @@ "slideshow": { "slide_type": "" }, - "tags": [] + "tags": [ + "full-width" + ] }, "outputs": [], "source": [ @@ -683,13 +683,28 @@ "cell_type": "code", "execution_count": null, "id": "38", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "39", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [ - "hide-input" + "hide-input", + "full-width" ] }, "outputs": [], @@ -716,14 +731,15 @@ { "cell_type": "code", "execution_count": null, - "id": "39", + "id": "40", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [ - "hide-input" + "hide-input", + "full-width" ] }, "outputs": [], @@ -748,6 +764,20 @@ "fig.tight_layout()\n", "plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [] } ], "metadata": { From 47167ad01b2d7fc4051462b21741294ac26e3aab Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Thu, 27 Jun 2024 16:16:05 +0200 Subject: [PATCH 31/44] Add the l and pz to 4 --- docs/LamKpi.ipynb | 225 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 181 insertions(+), 44 deletions(-) diff --git a/docs/LamKpi.ipynb b/docs/LamKpi.ipynb index e5b6d5f..050f633 100644 --- a/docs/LamKpi.ipynb +++ b/docs/LamKpi.ipynb @@ -46,6 +46,7 @@ "from qrules.particle import load_pdg\n", "from ampform.io import aslatex, improve_latex_rendering\n", "import matplotlib.pyplot as plt\n", + "import numpy as np\n", "\n", "improve_latex_rendering()\n", "particle_db = load_pdg()" @@ -70,6 +71,7 @@ "id": "4", "metadata": { "editable": true, + "jp-MarkdownHeadingCollapsed": true, "slideshow": { "slide_type": "" }, @@ -164,6 +166,7 @@ "id": "10", "metadata": { "editable": true, + "jp-MarkdownHeadingCollapsed": true, "slideshow": { "slide_type": "" }, @@ -177,6 +180,22 @@ "cell_type": "code", "execution_count": null, "id": "11", + "metadata": {}, + "outputs": [], + "source": [ + "E_lab_gamma = 8.5\n", + "# E_lab_gamma = 5\n", + "m_proton = 0.938\n", + "m_0 = np.sqrt(2 * E_lab_gamma * m_proton + m_proton**2)\n", + "m_eta = 0.548\n", + "m_pi = 0.135\n", + "m_0" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12", "metadata": { "editable": true, "slideshow": { @@ -192,7 +211,7 @@ " name=\"pgamma\",\n", " latex=r\"p\\gamma (s1/2)\",\n", " spin=0.5,\n", - " mass=4.101931071854584,\n", + " mass=m_0,\n", " charge=1,\n", " isospin=Spin(1 / 2, +1 / 2),\n", " baryon_number=1,\n", @@ -205,7 +224,7 @@ { "cell_type": "code", "execution_count": null, - "id": "12", + "id": "13", "metadata": { "editable": true, "slideshow": { @@ -219,7 +238,7 @@ " name=\"pgamma2\",\n", " latex=R\"p\\gamma (s3/2)\",\n", " spin=1.5,\n", - " mass=4.101931071854584,\n", + " mass=m_0,\n", " charge=1,\n", " isospin=Spin(1 / 2, +1 / 2),\n", " baryon_number=1,\n", @@ -232,7 +251,7 @@ { "cell_type": "code", "execution_count": null, - "id": "13", + "id": "14", "metadata": { "editable": true, "slideshow": { @@ -248,7 +267,7 @@ }, { "cell_type": "markdown", - "id": "14", + "id": "15", "metadata": { "editable": true, "slideshow": { @@ -263,7 +282,7 @@ { "cell_type": "code", "execution_count": null, - "id": "15", + "id": "16", "metadata": { "editable": true, "slideshow": { @@ -282,9 +301,10 @@ " # allowed_intermediate_particles=[\"a(2)(1320)\",\"N\",\"Delta\"],\n", " allowed_interaction_types=[\"strong\"],\n", " formalism=\"canonical-helicity\",\n", + " # formalism=\"helicity\",\n", " particle_db=particle_db,\n", - " max_angular_momentum=3,\n", - " max_spin_magnitude=3,\n", + " max_angular_momentum=4,\n", + " max_spin_magnitude=4,\n", " mass_conservation_factor=0,\n", ")" ] @@ -292,7 +312,7 @@ { "cell_type": "code", "execution_count": null, - "id": "16", + "id": "17", "metadata": { "editable": true, "slideshow": { @@ -308,9 +328,10 @@ }, { "cell_type": "markdown", - "id": "17", + "id": "18", "metadata": { "editable": true, + "jp-MarkdownHeadingCollapsed": true, "slideshow": { "slide_type": "" }, @@ -322,7 +343,7 @@ }, { "cell_type": "markdown", - "id": "18", + "id": "19", "metadata": { "editable": true, "slideshow": { @@ -337,7 +358,7 @@ { "cell_type": "code", "execution_count": null, - "id": "19", + "id": "20", "metadata": { "editable": true, "slideshow": { @@ -358,7 +379,7 @@ }, { "cell_type": "markdown", - "id": "20", + "id": "21", "metadata": { "editable": true, "slideshow": { @@ -373,7 +394,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21", + "id": "22", "metadata": { "editable": true, "slideshow": { @@ -390,7 +411,7 @@ }, { "cell_type": "markdown", - "id": "22", + "id": "23", "metadata": { "editable": true, "slideshow": { @@ -405,7 +426,7 @@ { "cell_type": "code", "execution_count": null, - "id": "23", + "id": "24", "metadata": { "editable": true, "slideshow": { @@ -421,7 +442,7 @@ { "cell_type": "code", "execution_count": null, - "id": "24", + "id": "25", "metadata": {}, "outputs": [], "source": [ @@ -438,9 +459,10 @@ }, { "cell_type": "markdown", - "id": "25", + "id": "26", "metadata": { "editable": true, + "jp-MarkdownHeadingCollapsed": true, "slideshow": { "slide_type": "" }, @@ -453,7 +475,7 @@ { "cell_type": "code", "execution_count": null, - "id": "26", + "id": "27", "metadata": { "editable": true, "slideshow": { @@ -474,9 +496,10 @@ }, { "cell_type": "markdown", - "id": "27", + "id": "28", "metadata": { "editable": true, + "jp-MarkdownHeadingCollapsed": true, "slideshow": { "slide_type": "" }, @@ -489,7 +512,7 @@ { "cell_type": "code", "execution_count": null, - "id": "28", + "id": "29", "metadata": { "editable": true, "slideshow": { @@ -499,7 +522,7 @@ }, "outputs": [], "source": [ - "phsp_event = 1_000_000\n", + "phsp_event = 500_000\n", "from tensorwaves.data import TFPhaseSpaceGenerator, TFUniformRealNumberGenerator\n", "\n", "rng = TFUniformRealNumberGenerator(seed=0)\n", @@ -513,7 +536,7 @@ { "cell_type": "code", "execution_count": null, - "id": "29", + "id": "30", "metadata": { "editable": true, "slideshow": { @@ -539,9 +562,10 @@ }, { "cell_type": "markdown", - "id": "30", + "id": "31", "metadata": { "editable": true, + "jp-MarkdownHeadingCollapsed": true, "slideshow": { "slide_type": "" }, @@ -554,7 +578,7 @@ { "cell_type": "code", "execution_count": null, - "id": "31", + "id": "32", "metadata": { "editable": true, "slideshow": { @@ -577,7 +601,7 @@ { "cell_type": "code", "execution_count": null, - "id": "32", + "id": "33", "metadata": { "editable": true, "slideshow": { @@ -593,7 +617,7 @@ { "cell_type": "code", "execution_count": null, - "id": "33", + "id": "34", "metadata": { "editable": true, "slideshow": { @@ -613,7 +637,7 @@ { "cell_type": "code", "execution_count": null, - "id": "34", + "id": "35", "metadata": { "editable": true, "slideshow": { @@ -630,7 +654,7 @@ { "cell_type": "code", "execution_count": null, - "id": "35", + "id": "36", "metadata": { "editable": true, "slideshow": { @@ -647,7 +671,7 @@ { "cell_type": "code", "execution_count": null, - "id": "36", + "id": "37", "metadata": { "editable": true, "slideshow": { @@ -667,7 +691,7 @@ }, { "cell_type": "markdown", - "id": "37", + "id": "38", "metadata": { "editable": true, "slideshow": { @@ -682,23 +706,139 @@ { "cell_type": "code", "execution_count": null, - "id": "38", + "id": "39", "metadata": { "editable": true, + "jupyter": { + "source_hidden": true + }, "slideshow": { "slide_type": "" }, - "tags": [] + "tags": [ + "full-width", + "hide-input" + ] }, "outputs": [], - "source": [] + "source": [ + "%config InlineBackend.figure_formats = ['svg']\n", + "\n", + "resonances = sorted(\n", + " reaction1.get_intermediate_particles(),\n", + " key=lambda p: p.mass,\n", + ")\n", + "evenly_spaced_interval = np.linspace(0, 1, len(resonances))\n", + "colors = [plt.cm.rainbow(x) for x in evenly_spaced_interval]\n", + "fig, ax = plt.subplots(figsize=(10, 6))\n", + "ax.hist(\n", + " np.real(phsp_frame[\"m_01\"]),\n", + " bins=100,\n", + " alpha=0.5,\n", + " density=True,\n", + " color=\"orange\",\n", + " # color = colors[1],\n", + " label=\"Weighted PHSP\",\n", + " weights=intensity_func(phsp),\n", + ")\n", + "ax.set_xlabel(R\"$m(\\Lambda K^+)\\;\\left[\\mathrm{GeV}^2\\right]$ [GeV]\")\n", + "N_stars = [p for p in resonances if \"N\" in p.name]\n", + "for p, color in zip(N_stars, colors):\n", + " ax.axvline(x=p.mass, linestyle=\"dotted\", label=p.name, color=color)\n", + "ax.legend()\n", + "plt.show()" + ] }, { "cell_type": "code", "execution_count": null, - "id": "39", + "id": "40", + "metadata": { + "editable": true, + "jupyter": { + "source_hidden": true + }, + "slideshow": { + "slide_type": "" + }, + "tags": [ + "full-width", + "hide-input" + ] + }, + "outputs": [], + "source": [ + "%config InlineBackend.figure_formats = ['svg']\n", + "\n", + "fig, ax = plt.subplots(figsize=(10, 6))\n", + "\n", + "ax.hist(\n", + " np.real(phsp_frame[\"m_12\"]),\n", + " bins=100,\n", + " alpha=0.5,\n", + " density=True,\n", + " color=\"yellow\",\n", + " label=\"Weighted PHSP\",\n", + " weights=intensity_func(phsp),\n", + ")\n", + "\n", + "ax.set_xlabel(R\"$m(K^+ \\pi^0)$ [GeV]\")\n", + "\n", + "K_stars = [p for p in resonances if \"K\" in p.name]\n", + "for p, color in zip(K_stars, colors):\n", + " ax.axvline(x=p.mass, linestyle=\"dotted\", label=p.name, color=color)\n", + "ax.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41", + "metadata": { + "editable": true, + "jupyter": { + "source_hidden": true + }, + "slideshow": { + "slide_type": "" + }, + "tags": [ + "full-width", + "hide-input" + ] + }, + "outputs": [], + "source": [ + "%config InlineBackend.figure_formats = ['svg']\n", + "\n", + "fig, ax = plt.subplots(figsize=(10, 6))\n", + "ax.hist(\n", + " np.real(phsp_frame[\"m_02\"]),\n", + " bins=100,\n", + " alpha=0.5,\n", + " density=True,\n", + " color=\"red\",\n", + " label=\"Weighted PHSP\",\n", + " weights=intensity_func(phsp),\n", + ")\n", + "ax.set_xlabel(R\"$m(\\Lambda \\pi^0)$ [GeV]\")\n", + "Sigma_stars = [p for p in resonances if \"Sigma\" in p.name]\n", + "for p, color in zip(Sigma_stars, colors):\n", + " ax.axvline(x=p.mass, linestyle=\"dotted\", label=p.name, color=color)\n", + "ax.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "42", "metadata": { "editable": true, + "jupyter": { + "source_hidden": true + }, "slideshow": { "slide_type": "" }, @@ -731,9 +871,12 @@ { "cell_type": "code", "execution_count": null, - "id": "40", + "id": "43", "metadata": { "editable": true, + "jupyter": { + "source_hidden": true + }, "slideshow": { "slide_type": "" }, @@ -768,14 +911,8 @@ { "cell_type": "code", "execution_count": null, - "id": "41", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "id": "44", + "metadata": {}, "outputs": [], "source": [] } From 46e862452c531a7b53e3a56d3521c71a49b5b771 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Thu, 4 Jul 2024 17:07:20 +0200 Subject: [PATCH 32/44] hide full amplitude model expression --- docs/LamKpi.ipynb | 77 ++++++++++++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 27 deletions(-) diff --git a/docs/LamKpi.ipynb b/docs/LamKpi.ipynb index 050f633..19df9b8 100644 --- a/docs/LamKpi.ipynb +++ b/docs/LamKpi.ipynb @@ -71,7 +71,6 @@ "id": "4", "metadata": { "editable": true, - "jp-MarkdownHeadingCollapsed": true, "slideshow": { "slide_type": "" }, @@ -166,7 +165,6 @@ "id": "10", "metadata": { "editable": true, - "jp-MarkdownHeadingCollapsed": true, "slideshow": { "slide_type": "" }, @@ -331,7 +329,6 @@ "id": "18", "metadata": { "editable": true, - "jp-MarkdownHeadingCollapsed": true, "slideshow": { "slide_type": "" }, @@ -391,17 +388,43 @@ "### Amplitudes" ] }, + { + "cell_type": "markdown", + "id": "22", + "metadata": {}, + "source": [ + "The first term in the amplitude model:" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "22", + "id": "23", + "metadata": {}, + "outputs": [], + "source": [ + "from ampform.io import aslatex\n", + "\n", + "(symbol, expr), *_ = model.amplitudes.items()\n", + "Math(aslatex({symbol: expr}, terms_per_line=1))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "24", "metadata": { "editable": true, + "mystnb": { + "code_prompt_show": "Full expression of the amplitude model (It takes long time to render)" + }, "slideshow": { "slide_type": "" }, "tags": [ - "full-width" + "full-width", + "hide-input", + "hide-output" ] }, "outputs": [], @@ -411,7 +434,7 @@ }, { "cell_type": "markdown", - "id": "23", + "id": "25", "metadata": { "editable": true, "slideshow": { @@ -426,7 +449,7 @@ { "cell_type": "code", "execution_count": null, - "id": "24", + "id": "26", "metadata": { "editable": true, "slideshow": { @@ -442,7 +465,7 @@ { "cell_type": "code", "execution_count": null, - "id": "25", + "id": "27", "metadata": {}, "outputs": [], "source": [ @@ -459,7 +482,7 @@ }, { "cell_type": "markdown", - "id": "26", + "id": "28", "metadata": { "editable": true, "jp-MarkdownHeadingCollapsed": true, @@ -475,7 +498,7 @@ { "cell_type": "code", "execution_count": null, - "id": "27", + "id": "29", "metadata": { "editable": true, "slideshow": { @@ -496,7 +519,7 @@ }, { "cell_type": "markdown", - "id": "28", + "id": "30", "metadata": { "editable": true, "jp-MarkdownHeadingCollapsed": true, @@ -512,7 +535,7 @@ { "cell_type": "code", "execution_count": null, - "id": "29", + "id": "31", "metadata": { "editable": true, "slideshow": { @@ -536,7 +559,7 @@ { "cell_type": "code", "execution_count": null, - "id": "30", + "id": "32", "metadata": { "editable": true, "slideshow": { @@ -562,7 +585,7 @@ }, { "cell_type": "markdown", - "id": "31", + "id": "33", "metadata": { "editable": true, "jp-MarkdownHeadingCollapsed": true, @@ -578,7 +601,7 @@ { "cell_type": "code", "execution_count": null, - "id": "32", + "id": "34", "metadata": { "editable": true, "slideshow": { @@ -601,7 +624,7 @@ { "cell_type": "code", "execution_count": null, - "id": "33", + "id": "35", "metadata": { "editable": true, "slideshow": { @@ -617,7 +640,7 @@ { "cell_type": "code", "execution_count": null, - "id": "34", + "id": "36", "metadata": { "editable": true, "slideshow": { @@ -637,7 +660,7 @@ { "cell_type": "code", "execution_count": null, - "id": "35", + "id": "37", "metadata": { "editable": true, "slideshow": { @@ -654,7 +677,7 @@ { "cell_type": "code", "execution_count": null, - "id": "36", + "id": "38", "metadata": { "editable": true, "slideshow": { @@ -671,7 +694,7 @@ { "cell_type": "code", "execution_count": null, - "id": "37", + "id": "39", "metadata": { "editable": true, "slideshow": { @@ -691,7 +714,7 @@ }, { "cell_type": "markdown", - "id": "38", + "id": "40", "metadata": { "editable": true, "slideshow": { @@ -706,7 +729,7 @@ { "cell_type": "code", "execution_count": null, - "id": "39", + "id": "41", "metadata": { "editable": true, "jupyter": { @@ -752,7 +775,7 @@ { "cell_type": "code", "execution_count": null, - "id": "40", + "id": "42", "metadata": { "editable": true, "jupyter": { @@ -794,7 +817,7 @@ { "cell_type": "code", "execution_count": null, - "id": "41", + "id": "43", "metadata": { "editable": true, "jupyter": { @@ -833,7 +856,7 @@ { "cell_type": "code", "execution_count": null, - "id": "42", + "id": "44", "metadata": { "editable": true, "jupyter": { @@ -871,7 +894,7 @@ { "cell_type": "code", "execution_count": null, - "id": "43", + "id": "45", "metadata": { "editable": true, "jupyter": { @@ -911,7 +934,7 @@ { "cell_type": "code", "execution_count": null, - "id": "44", + "id": "46", "metadata": {}, "outputs": [], "source": [] From 3cce4caeff47107d8dd7de6d1006281ce68425e3 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Thu, 11 Jul 2024 16:11:12 +0200 Subject: [PATCH 33/44] showing only first term of model --- docs/{ => ampform}/LamKpi.ipynb | 134 +++++++++++++++++++------------- docs/index.md | 2 +- 2 files changed, 80 insertions(+), 56 deletions(-) rename docs/{ => ampform}/LamKpi.ipynb (91%) diff --git a/docs/LamKpi.ipynb b/docs/ampform/LamKpi.ipynb similarity index 91% rename from docs/LamKpi.ipynb rename to docs/ampform/LamKpi.ipynb index 19df9b8..ac8e9bc 100644 --- a/docs/LamKpi.ipynb +++ b/docs/ampform/LamKpi.ipynb @@ -42,11 +42,23 @@ "outputs": [], "source": [ "from __future__ import annotations\n", - "from IPython.display import Math\n", - "from qrules.particle import load_pdg\n", - "from ampform.io import aslatex, improve_latex_rendering\n", + "\n", + "import ampform\n", + "import graphviz\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", + "import pandas as pd\n", + "import qrules\n", + "from ampform.dynamics.builder import RelativisticBreitWignerBuilder\n", + "from ampform.io import aslatex, improve_latex_rendering\n", + "from IPython.display import Math\n", + "from qrules.particle import Particle, Spin, load_pdg\n", + "from tensorwaves.data import (\n", + " SympyDataTransformer,\n", + " TFPhaseSpaceGenerator,\n", + " TFUniformRealNumberGenerator,\n", + ")\n", + "from tensorwaves.function.sympy import create_parametrized_function\n", "\n", "improve_latex_rendering()\n", "particle_db = load_pdg()" @@ -178,7 +190,13 @@ "cell_type": "code", "execution_count": null, "id": "11", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "E_lab_gamma = 8.5\n", @@ -203,8 +221,6 @@ }, "outputs": [], "source": [ - "from qrules.particle import Particle, Spin\n", - "\n", "pgamma = Particle(\n", " name=\"pgamma\",\n", " latex=r\"p\\gamma (s1/2)\",\n", @@ -290,10 +306,7 @@ }, "outputs": [], "source": [ - "import qrules\n", - "import graphviz\n", - "\n", - "reaction1 = qrules.generate_transitions(\n", + "reaction = qrules.generate_transitions(\n", " initial_state=(\"pgamma\"),\n", " final_state=[\"Lambda\", \"K+\", \"pi0\"],\n", " # allowed_intermediate_particles=[\"a(2)(1320)\",\"N\",\"Delta\"],\n", @@ -320,7 +333,7 @@ }, "outputs": [], "source": [ - "dot_se = qrules.io.asdot(reaction1, collapse_graphs=True)\n", + "dot_se = qrules.io.asdot(reaction, collapse_graphs=True)\n", "graphviz.Source(dot_se)" ] }, @@ -339,7 +352,8 @@ ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "id": "19", "metadata": { "editable": true, @@ -348,13 +362,24 @@ }, "tags": [] }, + "outputs": [], "source": [ - "### Intensity" + "model_builder = ampform.get_builder(reaction)\n", + "model_builder.config.scalar_initial_state_mass = True\n", + "model_builder.config.stable_final_state_ids = 0, 1, 2\n", + "\n", + "bw_builder = RelativisticBreitWignerBuilder(\n", + " energy_dependent_width=False,\n", + " form_factor=False,\n", + ")\n", + "\n", + "for name in reaction.get_intermediate_particles().names:\n", + " model_builder.dynamics.assign(name, bw_builder)\n", + "model = model_builder.formulate()" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "id": "20", "metadata": { "editable": true, @@ -363,19 +388,13 @@ }, "tags": [] }, - "outputs": [], "source": [ - "import ampform\n", - "\n", - "model_builder = ampform.get_builder(reaction1)\n", - "model_builder.config.scalar_initial_state_mass = True\n", - "model_builder.config.stable_final_state_ids = 0, 1, 2\n", - "model_no_dynamics = model_builder.formulate()\n", - "model_no_dynamics.intensity" + "### Intensity" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "id": "21", "metadata": { "editable": true, @@ -384,29 +403,37 @@ }, "tags": [] }, + "outputs": [], "source": [ - "### Amplitudes" + "model_no_dynamics.intensity" ] }, { "cell_type": "markdown", "id": "22", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ - "The first term in the amplitude model:" + "### Amplitudes" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "id": "23", - "metadata": {}, - "outputs": [], + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ - "from ampform.io import aslatex\n", - "\n", - "(symbol, expr), *_ = model.amplitudes.items()\n", - "Math(aslatex({symbol: expr}, terms_per_line=1))" + "The first term in the amplitude model:" ] }, { @@ -415,21 +442,17 @@ "id": "24", "metadata": { "editable": true, - "mystnb": { - "code_prompt_show": "Full expression of the amplitude model (It takes long time to render)" - }, "slideshow": { "slide_type": "" }, - "tags": [ - "full-width", - "hide-input", - "hide-output" - ] + "tags": [] }, "outputs": [], "source": [ - "Math(aslatex(model_no_dynamics.amplitudes))" + "from ampform.io import aslatex\n", + "\n", + "(symbol, expr), *_ = model.amplitudes.items()\n", + "Math(aslatex({symbol: expr}, terms_per_line=1))" ] }, { @@ -466,7 +489,13 @@ "cell_type": "code", "execution_count": null, "id": "27", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "from ampform.dynamics.builder import (\n", @@ -475,7 +504,7 @@ ")\n", "\n", "model_builder.dynamics.assign(\"pgamma\", create_non_dynamic_with_ff)\n", - "for name in reaction1.get_intermediate_particles().names:\n", + "for name in reaction.get_intermediate_particles().names:\n", " model_builder.dynamics.assign(name, create_relativistic_breit_wigner_with_ff)\n", "model = model_builder.formulate()" ] @@ -522,7 +551,6 @@ "id": "30", "metadata": { "editable": true, - "jp-MarkdownHeadingCollapsed": true, "slideshow": { "slide_type": "" }, @@ -550,8 +578,8 @@ "\n", "rng = TFUniformRealNumberGenerator(seed=0)\n", "phsp_generator = TFPhaseSpaceGenerator(\n", - " initial_state_mass=reaction1.initial_state[-1].mass,\n", - " final_state_masses={i: p.mass for i, p in reaction1.final_state.items()},\n", + " initial_state_mass=reaction.initial_state[-1].mass,\n", + " final_state_masses={i: p.mass for i, p in reaction.final_state.items()},\n", ")\n", "phsp_momenta = phsp_generator.generate(phsp_event, rng)" ] @@ -588,7 +616,6 @@ "id": "33", "metadata": { "editable": true, - "jp-MarkdownHeadingCollapsed": true, "slideshow": { "slide_type": "" }, @@ -687,7 +714,7 @@ }, "outputs": [], "source": [ - "for state_id, particle in reaction1.final_state.items():\n", + "for state_id, particle in reaction.final_state.items():\n", " print(f\"ID {state_id}:\", particle.name)" ] }, @@ -732,9 +759,6 @@ "id": "41", "metadata": { "editable": true, - "jupyter": { - "source_hidden": true - }, "slideshow": { "slide_type": "" }, @@ -748,7 +772,7 @@ "%config InlineBackend.figure_formats = ['svg']\n", "\n", "resonances = sorted(\n", - " reaction1.get_intermediate_particles(),\n", + " reaction.get_intermediate_particles(),\n", " key=lambda p: p.mass,\n", ")\n", "evenly_spaced_interval = np.linspace(0, 1, len(resonances))\n", diff --git a/docs/index.md b/docs/index.md index 0eaf3c8..a9732aa 100644 --- a/docs/index.md +++ b/docs/index.md @@ -17,5 +17,5 @@ address to the issue ✅ [ComPWA/gluex-nstar#1](https://github.com/ComPWA/g ```{toctree} reaction pgamma-state -LamKpi +ampform/LamKpi ``` From 76cb63b29883b98275048baa1d849492b4b3ba1c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 11 Jul 2024 14:13:46 +0000 Subject: [PATCH 34/44] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- docs/ampform/LamKpi.ipynb | 401 ++++---------------------------------- pixi.toml | 2 +- 2 files changed, 44 insertions(+), 359 deletions(-) diff --git a/docs/ampform/LamKpi.ipynb b/docs/ampform/LamKpi.ipynb index ac8e9bc..afdc0ae 100644 --- a/docs/ampform/LamKpi.ipynb +++ b/docs/ampform/LamKpi.ipynb @@ -2,28 +2,14 @@ "cells": [ { "cell_type": "markdown", - "id": "0", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "# PWA for pγ → ΛK⁺π⁰ via `ComPWA`" ] }, { "cell_type": "markdown", - "id": "1", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "PWA study on $p \\gamma \\to \\Lambda K^+ \\pi^0 $" ] @@ -31,14 +17,7 @@ { "cell_type": "code", "execution_count": null, - "id": "2", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from __future__ import annotations\n", @@ -66,28 +45,14 @@ }, { "cell_type": "markdown", - "id": "3", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "## Inital and final state" ] }, { "cell_type": "markdown", - "id": "4", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "### Check existing particles in `PDG`" ] @@ -95,14 +60,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "particle_db[\"Lambda\"]" @@ -111,14 +69,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "particle_db[\"K+\"]" @@ -127,14 +78,7 @@ { "cell_type": "code", "execution_count": null, - "id": "7", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "particle_db[\"pi0\"]" @@ -143,14 +87,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "particle_db[\"gamma\"]" @@ -159,14 +96,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "particle_db[\"p\"]" @@ -174,14 +104,7 @@ }, { "cell_type": "markdown", - "id": "10", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "### Add custom particle for initial state" ] @@ -189,14 +112,7 @@ { "cell_type": "code", "execution_count": null, - "id": "11", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "E_lab_gamma = 8.5\n", @@ -211,14 +127,7 @@ { "cell_type": "code", "execution_count": null, - "id": "12", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "pgamma = Particle(\n", @@ -238,14 +147,7 @@ { "cell_type": "code", "execution_count": null, - "id": "13", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "pgamma2 = Particle(\n", @@ -265,14 +167,7 @@ { "cell_type": "code", "execution_count": null, - "id": "14", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "particle_db.add(pgamma)\n", @@ -281,14 +176,7 @@ }, { "cell_type": "markdown", - "id": "15", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "### Generate Transitions" ] @@ -296,14 +184,7 @@ { "cell_type": "code", "execution_count": null, - "id": "16", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "reaction = qrules.generate_transitions(\n", @@ -323,14 +204,7 @@ { "cell_type": "code", "execution_count": null, - "id": "17", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "dot_se = qrules.io.asdot(reaction, collapse_graphs=True)\n", @@ -339,14 +213,7 @@ }, { "cell_type": "markdown", - "id": "18", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "## Build Helicity Amplitude Models" ] @@ -354,14 +221,7 @@ { "cell_type": "code", "execution_count": null, - "id": "19", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "model_builder = ampform.get_builder(reaction)\n", @@ -380,14 +240,7 @@ }, { "cell_type": "markdown", - "id": "20", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "### Intensity" ] @@ -395,14 +248,7 @@ { "cell_type": "code", "execution_count": null, - "id": "21", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "model_no_dynamics.intensity" @@ -410,28 +256,14 @@ }, { "cell_type": "markdown", - "id": "22", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "### Amplitudes" ] }, { "cell_type": "markdown", - "id": "23", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "The first term in the amplitude model:" ] @@ -439,32 +271,16 @@ { "cell_type": "code", "execution_count": null, - "id": "24", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ - "from ampform.io import aslatex\n", - "\n", "(symbol, expr), *_ = model.amplitudes.items()\n", "Math(aslatex({symbol: expr}, terms_per_line=1))" ] }, { "cell_type": "markdown", - "id": "25", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "### Parameters" ] @@ -472,14 +288,7 @@ { "cell_type": "code", "execution_count": null, - "id": "26", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "Math(aslatex(model_no_dynamics.parameter_defaults))" @@ -488,14 +297,7 @@ { "cell_type": "code", "execution_count": null, - "id": "27", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "from ampform.dynamics.builder import (\n", @@ -511,14 +313,8 @@ }, { "cell_type": "markdown", - "id": "28", "metadata": { - "editable": true, - "jp-MarkdownHeadingCollapsed": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] + "jp-MarkdownHeadingCollapsed": true }, "source": [ "## Reaction Info" @@ -527,14 +323,7 @@ { "cell_type": "code", "execution_count": null, - "id": "29", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "initial_state, *_ = model.reaction_info.initial_state.values()\n", @@ -548,14 +337,7 @@ }, { "cell_type": "markdown", - "id": "30", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "## Generate phase space sample" ] @@ -563,18 +345,10 @@ { "cell_type": "code", "execution_count": null, - "id": "31", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "phsp_event = 500_000\n", - "from tensorwaves.data import TFPhaseSpaceGenerator, TFUniformRealNumberGenerator\n", "\n", "rng = TFUniformRealNumberGenerator(seed=0)\n", "phsp_generator = TFPhaseSpaceGenerator(\n", @@ -587,12 +361,7 @@ { "cell_type": "code", "execution_count": null, - "id": "32", "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, "tags": [ "full-width" ] @@ -600,27 +369,19 @@ "outputs": [], "source": [ "import numpy as np\n", - "import pandas as pd\n", "\n", "pd.DataFrame(\n", " {\n", " (k, label): np.transpose(v)[i]\n", " for k, v in phsp_momenta.items()\n", " for i, label in enumerate([\"E\", \"px\", \"py\", \"pz\"])\n", - " }\n", + " },\n", ")" ] }, { "cell_type": "markdown", - "id": "33", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "## Visualize kinematic variables" ] @@ -628,18 +389,9 @@ { "cell_type": "code", "execution_count": null, - "id": "34", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ - "from tensorwaves.function.sympy import create_parametrized_function\n", - "\n", "unfolded_expression = model.expression.doit()\n", "intensity_func = create_parametrized_function(\n", " expression=unfolded_expression,\n", @@ -651,14 +403,7 @@ { "cell_type": "code", "execution_count": null, - "id": "35", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "Math(aslatex(model.kinematic_variables))" @@ -667,34 +412,19 @@ { "cell_type": "code", "execution_count": null, - "id": "36", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ - "from tensorwaves.data import SympyDataTransformer\n", - "\n", "helicity_transformer = SympyDataTransformer.from_sympy(\n", - " model.kinematic_variables, backend=\"jax\"\n", + " model.kinematic_variables,\n", + " backend=\"jax\",\n", ")" ] }, { "cell_type": "code", "execution_count": null, - "id": "37", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "phsp = helicity_transformer(phsp_momenta)\n", @@ -704,14 +434,7 @@ { "cell_type": "code", "execution_count": null, - "id": "38", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "outputs": [], "source": [ "for state_id, particle in reaction.final_state.items():\n", @@ -721,12 +444,7 @@ { "cell_type": "code", "execution_count": null, - "id": "39", "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, "tags": [ "full-width" ] @@ -741,14 +459,7 @@ }, { "cell_type": "markdown", - "id": "40", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "metadata": {}, "source": [ "## Visualize model and intensity-based sample" ] @@ -756,12 +467,7 @@ { "cell_type": "code", "execution_count": null, - "id": "41", "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, "tags": [ "full-width", "hide-input" @@ -799,15 +505,10 @@ { "cell_type": "code", "execution_count": null, - "id": "42", "metadata": { - "editable": true, "jupyter": { "source_hidden": true }, - "slideshow": { - "slide_type": "" - }, "tags": [ "full-width", "hide-input" @@ -841,15 +542,10 @@ { "cell_type": "code", "execution_count": null, - "id": "43", "metadata": { - "editable": true, "jupyter": { "source_hidden": true }, - "slideshow": { - "slide_type": "" - }, "tags": [ "full-width", "hide-input" @@ -880,15 +576,10 @@ { "cell_type": "code", "execution_count": null, - "id": "44", "metadata": { - "editable": true, "jupyter": { "source_hidden": true }, - "slideshow": { - "slide_type": "" - }, "tags": [ "hide-input", "full-width" @@ -918,15 +609,10 @@ { "cell_type": "code", "execution_count": null, - "id": "45", "metadata": { - "editable": true, "jupyter": { "source_hidden": true }, - "slideshow": { - "slide_type": "" - }, "tags": [ "hide-input", "full-width" @@ -958,7 +644,6 @@ { "cell_type": "code", "execution_count": null, - "id": "46", "metadata": {}, "outputs": [], "source": [] @@ -984,5 +669,5 @@ } }, "nbformat": 4, - "nbformat_minor": 5 + "nbformat_minor": 4 } diff --git a/pixi.toml b/pixi.toml index 5eace1b..25f0012 100644 --- a/pixi.toml +++ b/pixi.toml @@ -74,4 +74,4 @@ sphinx-autobuild \ -b html \ docs/ docs/_build/html """ -env = {EXECUTE_NB = "yes"} \ No newline at end of file +env = {EXECUTE_NB = "yes"} From 10250b316bce6d011cea1dc63b3f9a4748ff4bf4 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Fri, 12 Jul 2024 13:50:43 +0200 Subject: [PATCH 35/44] Overall structure improvement --- docs/ampform/LamKpi.ipynb | 494 +++++++++++++++++-------------------- docs/ampform/etapi0p.ipynb | 2 +- 2 files changed, 226 insertions(+), 270 deletions(-) diff --git a/docs/ampform/LamKpi.ipynb b/docs/ampform/LamKpi.ipynb index afdc0ae..1ee9604 100644 --- a/docs/ampform/LamKpi.ipynb +++ b/docs/ampform/LamKpi.ipynb @@ -4,34 +4,66 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# PWA for pγ → ΛK⁺π⁰ via `ComPWA`" + "# pγ → ΛK⁺π⁰ `Ampform` amplitude model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "PWA study on $p \\gamma \\to \\Lambda K^+ \\pi^0 $" + "PWA study on $p \\gamma \\to \\Lambda K^+ \\pi^0$.\n", + "We formulate the helicity amplitude model symbolically using `AmpForm` here." ] }, { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "mystnb": { + "code_prompt_show": "Hide warnings" + }, + "tags": [ + "hide-input" + ] + }, "outputs": [], "source": [ "from __future__ import annotations\n", "\n", + "import logging\n", + "import os\n", + "import warnings\n", + "\n", + "os.environ[\"TF_CPP_MIN_LOG_LEVEL\"] = \"3\"\n", + "logging.disable(logging.WARNING)\n", + "warnings.filterwarnings(\"ignore\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "mystnb": { + "code_prompt_show": "Import Python Libraries" + }, + "tags": [ + "hide-input" + ] + }, + "outputs": [], + "source": [ + "from collections import defaultdict\n", + "\n", "import ampform\n", "import graphviz\n", + "import jax\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", - "import pandas as pd\n", "import qrules\n", "from ampform.dynamics.builder import RelativisticBreitWignerBuilder\n", "from ampform.io import aslatex, improve_latex_rendering\n", "from IPython.display import Math\n", - "from qrules.particle import Particle, Spin, load_pdg\n", + "from qrules.particle import Particle, Spin, create_particle, load_pdg\n", "from tensorwaves.data import (\n", " SympyDataTransformer,\n", " TFPhaseSpaceGenerator,\n", @@ -60,7 +92,14 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "mystnb": { + "code_prompt_show": "Lambda" + }, + "tags": [ + "hide-cell" + ] + }, "outputs": [], "source": [ "particle_db[\"Lambda\"]" @@ -69,7 +108,14 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "mystnb": { + "code_prompt_show": "K+" + }, + "tags": [ + "hide-cell" + ] + }, "outputs": [], "source": [ "particle_db[\"K+\"]" @@ -78,7 +124,14 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "mystnb": { + "code_prompt_show": "pi0" + }, + "tags": [ + "hide-cell" + ] + }, "outputs": [], "source": [ "particle_db[\"pi0\"]" @@ -87,7 +140,14 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "mystnb": { + "code_prompt_show": "gamma" + }, + "tags": [ + "hide-cell" + ] + }, "outputs": [], "source": [ "particle_db[\"gamma\"]" @@ -96,12 +156,40 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "mystnb": { + "code_prompt_show": "p" + }, + "tags": [ + "hide-cell" + ] + }, "outputs": [], "source": [ "particle_db[\"p\"]" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "| Particle | Lambda | K+ | pi0 | gamma | p |\n", + "|------------------|-------------------|------------------|------------------|------------------|------------------|\n", + "| **Name** | Lambda | K+ | pi0 | gamma | p |\n", + "| **PID** | 3122 | 321 | 111 | 22 | 2212 |\n", + "| **Latex** | \\(\\Lambda\\) | \\(K^{+}\\) | \\(\\pi^{0}\\) | \\(\\gamma\\) | \\(p\\) |\n", + "| **Spin** | 0.5 | 0.0 | 0.0 | 1.0 | 0.5 |\n", + "| **Mass** | 1.115683 | 0.49367700000000003 | 0.1349768 | 0.0 | 0.93827208816 |\n", + "| **Width** | 2.501e-15 | 5.317e-17 | 7.81e-09 | | |\n", + "| **Charge** | | 1 | | | 1 |\n", + "| **Isospin** | Spin(0, 0) | Spin(1/2, +1/2) | Spin(1, 0) | | Spin(1/2, +1/2) |\n", + "| **Strangeness** | -1 | 1 | | | |\n", + "| **Baryon Number**| 1 | | | | 1 |\n", + "| **Parity** | +1 | -1 | -1 | -1 | +1 |\n", + "| **C Parity** | | | +1 | -1 | |\n", + "| **G Parity** | | | -1 | | |\n" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -109,6 +197,13 @@ "### Add custom particle for initial state" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Mass for $p \\gamma$ system" + ] + }, { "cell_type": "code", "execution_count": null, @@ -116,7 +211,6 @@ "outputs": [], "source": [ "E_lab_gamma = 8.5\n", - "# E_lab_gamma = 5\n", "m_proton = 0.938\n", "m_0 = np.sqrt(2 * E_lab_gamma * m_proton + m_proton**2)\n", "m_eta = 0.548\n", @@ -124,14 +218,21 @@ "m_0" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Add custom particle $p \\gamma$" + ] + }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "pgamma = Particle(\n", - " name=\"pgamma\",\n", + "pgamma1 = Particle(\n", + " name=\"pgamma1\",\n", " latex=r\"p\\gamma (s1/2)\",\n", " spin=0.5,\n", " mass=m_0,\n", @@ -141,44 +242,39 @@ " parity=-1,\n", " pid=99990,\n", ")\n", - "pgamma" + "pgamma2 = create_particle(\n", + " template_particle=pgamma1,\n", + " name=\"pgamma2\",\n", + " latex=R\"p\\gamma (s3/2)\",\n", + " spin=1.5,\n", + " pid=pgamma1.pid + 1,\n", + ")\n", + "particle_db.update([pgamma1, pgamma2])" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "pgamma2 = Particle(\n", - " name=\"pgamma2\",\n", - " latex=R\"p\\gamma (s3/2)\",\n", - " spin=1.5,\n", - " mass=m_0,\n", - " charge=1,\n", - " isospin=Spin(1 / 2, +1 / 2),\n", - " baryon_number=1,\n", - " parity=-1,\n", - " pid=99991,\n", - ")\n", - "pgamma2" + "### Generate Transitions" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "particle_db.add(pgamma)\n", - "particle_db.add(pgamma2)" + "For simplicity, we use the initial state $p \\gamma$ (with spin-$\\frac{1}{2}$), \n", + "and set the allowed interaction type to be strong only,\n", + "the formalism is selected to be helicity formalism instead of canonical." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Generate Transitions" + ":::{seealso}\n", + "[Helicity versus canonical](https://ampform.readthedocs.io/stable/usage/helicity/formalism.html)\n", + ":::" ] }, { @@ -188,12 +284,10 @@ "outputs": [], "source": [ "reaction = qrules.generate_transitions(\n", - " initial_state=(\"pgamma\"),\n", + " initial_state=(\"pgamma1\"),\n", " final_state=[\"Lambda\", \"K+\", \"pi0\"],\n", - " # allowed_intermediate_particles=[\"a(2)(1320)\",\"N\",\"Delta\"],\n", " allowed_interaction_types=[\"strong\"],\n", - " formalism=\"canonical-helicity\",\n", - " # formalism=\"helicity\",\n", + " formalism=\"helicity\",\n", " particle_db=particle_db,\n", " max_angular_momentum=4,\n", " max_spin_magnitude=4,\n", @@ -251,7 +345,7 @@ "metadata": {}, "outputs": [], "source": [ - "model_no_dynamics.intensity" + "model.intensity" ] }, { @@ -288,36 +382,24 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "Math(aslatex(model_no_dynamics.parameter_defaults))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, + "metadata": { + "mystnb": { + "code_prompt_show": "m, Gamma, C" + }, + "tags": [ + "hide-cell" + ] + }, "outputs": [], "source": [ - "from ampform.dynamics.builder import (\n", - " create_non_dynamic_with_ff,\n", - " create_relativistic_breit_wigner_with_ff,\n", - ")\n", - "\n", - "model_builder.dynamics.assign(\"pgamma\", create_non_dynamic_with_ff)\n", - "for name in reaction.get_intermediate_particles().names:\n", - " model_builder.dynamics.assign(name, create_relativistic_breit_wigner_with_ff)\n", - "model = model_builder.formulate()" + "Math(aslatex(model.parameter_defaults))" ] }, { "cell_type": "markdown", - "metadata": { - "jp-MarkdownHeadingCollapsed": true - }, + "metadata": {}, "source": [ - "## Reaction Info" + "### Kinematic variables" ] }, { @@ -326,13 +408,7 @@ "metadata": {}, "outputs": [], "source": [ - "initial_state, *_ = model.reaction_info.initial_state.values()\n", - "print(\"Initial state:\")\n", - "print(\"-1: \", initial_state.name)\n", - "print(\"Final state:\")\n", - "for i, p in model.reaction_info.final_state.items():\n", - " print(f\" {i}: {p.name}\")\n", - "del initial_state" + "Math(aslatex(model.kinematic_variables))" ] }, { @@ -345,7 +421,11 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [ + "hide-output" + ] + }, "outputs": [], "source": [ "phsp_event = 500_000\n", @@ -358,32 +438,11 @@ "phsp_momenta = phsp_generator.generate(phsp_event, rng)" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "full-width" - ] - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "\n", - "pd.DataFrame(\n", - " {\n", - " (k, label): np.transpose(v)[i]\n", - " for k, v in phsp_momenta.items()\n", - " for i, label in enumerate([\"E\", \"px\", \"py\", \"pz\"])\n", - " },\n", - ")" - ] - }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Visualize kinematic variables" + "## Visualization" ] }, { @@ -396,19 +455,10 @@ "intensity_func = create_parametrized_function(\n", " expression=unfolded_expression,\n", " parameters=model.parameter_defaults,\n", - " backend=\"numpy\",\n", + " backend=\"jax\",\n", ")" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "Math(aslatex(model.kinematic_variables))" - ] - }, { "cell_type": "code", "execution_count": null, @@ -421,165 +471,24 @@ ")" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "phsp = helicity_transformer(phsp_momenta)\n", - "list(phsp)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for state_id, particle in reaction.final_state.items():\n", - " print(f\"ID {state_id}:\", particle.name)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "full-width" - ] - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "\n", - "phsp_frame = pd.DataFrame(phsp)\n", - "phsp_frame" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Visualize model and intensity-based sample" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "tags": [ - "full-width", - "hide-input" - ] - }, - "outputs": [], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "\n", - "resonances = sorted(\n", - " reaction.get_intermediate_particles(),\n", - " key=lambda p: p.mass,\n", - ")\n", - "evenly_spaced_interval = np.linspace(0, 1, len(resonances))\n", - "colors = [plt.cm.rainbow(x) for x in evenly_spaced_interval]\n", - "fig, ax = plt.subplots(figsize=(10, 6))\n", - "ax.hist(\n", - " np.real(phsp_frame[\"m_01\"]),\n", - " bins=100,\n", - " alpha=0.5,\n", - " density=True,\n", - " color=\"orange\",\n", - " # color = colors[1],\n", - " label=\"Weighted PHSP\",\n", - " weights=intensity_func(phsp),\n", - ")\n", - "ax.set_xlabel(R\"$m(\\Lambda K^+)\\;\\left[\\mathrm{GeV}^2\\right]$ [GeV]\")\n", - "N_stars = [p for p in resonances if \"N\" in p.name]\n", - "for p, color in zip(N_stars, colors):\n", - " ax.axvline(x=p.mass, linestyle=\"dotted\", label=p.name, color=color)\n", - "ax.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "jupyter": { - "source_hidden": true - }, - "tags": [ - "full-width", - "hide-input" - ] - }, - "outputs": [], - "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "\n", - "fig, ax = plt.subplots(figsize=(10, 6))\n", - "\n", - "ax.hist(\n", - " np.real(phsp_frame[\"m_12\"]),\n", - " bins=100,\n", - " alpha=0.5,\n", - " density=True,\n", - " color=\"yellow\",\n", - " label=\"Weighted PHSP\",\n", - " weights=intensity_func(phsp),\n", - ")\n", - "\n", - "ax.set_xlabel(R\"$m(K^+ \\pi^0)$ [GeV]\")\n", - "\n", - "K_stars = [p for p in resonances if \"K\" in p.name]\n", - "for p, color in zip(K_stars, colors):\n", - " ax.axvline(x=p.mass, linestyle=\"dotted\", label=p.name, color=color)\n", - "ax.legend()\n", - "plt.show()" - ] - }, { "cell_type": "code", "execution_count": null, "metadata": { - "jupyter": { - "source_hidden": true - }, "tags": [ - "full-width", - "hide-input" + "hide-output" ] }, "outputs": [], "source": [ - "%config InlineBackend.figure_formats = ['svg']\n", - "\n", - "fig, ax = plt.subplots(figsize=(10, 6))\n", - "ax.hist(\n", - " np.real(phsp_frame[\"m_02\"]),\n", - " bins=100,\n", - " alpha=0.5,\n", - " density=True,\n", - " color=\"red\",\n", - " label=\"Weighted PHSP\",\n", - " weights=intensity_func(phsp),\n", - ")\n", - "ax.set_xlabel(R\"$m(\\Lambda \\pi^0)$ [GeV]\")\n", - "Sigma_stars = [p for p in resonances if \"Sigma\" in p.name]\n", - "for p, color in zip(Sigma_stars, colors):\n", - " ax.axvline(x=p.mass, linestyle=\"dotted\", label=p.name, color=color)\n", - "ax.legend()\n", - "plt.show()" + "phsp = helicity_transformer(phsp_momenta)\n", + "list(phsp)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { - "jupyter": { - "source_hidden": true - }, "tags": [ "hide-input", "full-width" @@ -588,7 +497,7 @@ "outputs": [], "source": [ "%config InlineBackend.figure_formats = ['png']\n", - "fig, ax = plt.subplots()\n", + "fig, ax = plt.subplots(dpi=200)\n", "hist = ax.hist2d(\n", " phsp[\"m_01\"].real ** 2,\n", " phsp[\"m_12\"].real ** 2,\n", @@ -596,9 +505,10 @@ " cmin=1e-6,\n", " density=True,\n", " cmap=\"jet\",\n", - " # vmax=0.15,\n", + " vmax=0.15,\n", + " weights=intensity_func(phsp),\n", ")\n", - "ax.set_title(\"Phase Space Dalitz Plot\")\n", + "ax.set_title(\"Model-weighted Phase space Dalitz Plot\")\n", "ax.set_xlabel(R\"$m^2(\\Lambda K^+)\\;\\left[\\mathrm{GeV}^2\\right]$\")\n", "ax.set_ylabel(R\"$m^2(K^+ \\pi^0)\\;\\left[\\mathrm{GeV}^2\\right]$\")\n", "cbar = fig.colorbar(hist[3], ax=ax)\n", @@ -606,6 +516,23 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "resonances = defaultdict(set)\n", + "for transition in reaction.transitions:\n", + " topology = transition.topology\n", + " top_decay_products = topology.get_edge_ids_outgoing_from_node(0)\n", + " (resonance_id, resonance), *_ = transition.intermediate_states.items()\n", + " recoil_id, *_ = top_decay_products - {resonance_id}\n", + " resonances[recoil_id].add(resonance.particle)\n", + "resonances = {k: sorted(v, key=lambda p: p.mass) for k, v in resonances.items()}\n", + "{k: [p.name for p in v] for k, v in resonances.items()}" + ] + }, { "cell_type": "code", "execution_count": null, @@ -614,31 +541,60 @@ "source_hidden": true }, "tags": [ - "hide-input", - "full-width" + "hide-input" ] }, "outputs": [], "source": [ - "# %config InlineBackend.figure_formats = ['png']\n", + "%config InlineBackend.figure_formats = ['svg']\n", + "fig, axes = plt.subplots(figsize=(14, 4), ncols=3, sharey=True)\n", + "ax1, ax2, ax3 = axes\n", + "\n", + "max_value = 0\n", + "color_id = 0\n", + "intensities = intensity_func(phsp)\n", + "for recoil_id, ax in enumerate(axes):\n", + " decay_products = sorted({0, 1, 2} - {recoil_id})\n", + " key = f\"m_{''.join(str(i) for i in decay_products)}\"\n", + " bin_values, bin_edges = jax.numpy.histogram(\n", + " phsp[key].real,\n", + " bins=100,\n", + " density=True,\n", + " weights=intensities,\n", + " )\n", + " max_value = max(max_value, bin_values.max())\n", + " ax.fill_between(\n", + " bin_edges[:-1],\n", + " bin_values,\n", + " alpha=0.5,\n", + " step=\"pre\",\n", + " )\n", + " ax.set_ylim(0, None)\n", + " for resonance in resonances[recoil_id]:\n", + " ax.axvline(\n", + " resonance.mass,\n", + " c=f\"C{color_id}\",\n", + " ls=\"dotted\",\n", + " label=resonance.name,\n", + " )\n", + " color_id += 1\n", + "\n", + " product_latex = \" \".join(\n", + " [reaction.final_state[i].latex for i in decay_products],\n", + " )\n", + " ax.set_xlabel(f\"$m({product_latex})$ [GeV]\")\n", + "\n", + " if recoil_id == 0:\n", + " ax.legend(fontsize=\"small\", loc=\"upper right\")\n", + " elif recoil_id == 1:\n", + " ax.legend(fontsize=\"small\", loc=\"upper center\", bbox_to_anchor=(0.6, 1.0))\n", + " else:\n", + " ax.legend(fontsize=\"small\", loc=\"upper center\")\n", + "for ax in axes:\n", + " ax.set_ylim(0, max_value * 1.1)\n", "\n", - "fig, ax = plt.subplots()\n", - "hist = ax.hist2d(\n", - " phsp[\"m_01\"].real ** 2,\n", - " phsp[\"m_12\"].real ** 2,\n", - " bins=200,\n", - " cmin=1e-6,\n", - " density=True,\n", - " cmap=\"jet\",\n", - " vmax=0.15,\n", - " weights=intensity_func(phsp),\n", - ")\n", - "ax.set_title(\"Model-weighted Phase space Dalitz Plot\")\n", - "ax.set_xlabel(R\"$m^2(\\Lambda K^+)\\;\\left[\\mathrm{GeV}^2\\right]$\")\n", - "ax.set_ylabel(R\"$m^2(K^+ \\pi^0)\\;\\left[\\mathrm{GeV}^2\\right]$\")\n", - "cbar = fig.colorbar(hist[3], ax=ax)\n", "fig.tight_layout()\n", - "plt.show()" + "plt.show(fig)" ] }, { diff --git a/docs/ampform/etapi0p.ipynb b/docs/ampform/etapi0p.ipynb index 69434b5..0a2f875 100644 --- a/docs/ampform/etapi0p.ipynb +++ b/docs/ampform/etapi0p.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# pγ→ηπ⁰p amplitude model" + "# pγ→ηπ⁰p `AmpForm` amplitude model" ] }, { From b879ace7821c0c7337e82ec032ff2e7b9b4238b6 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Fri, 12 Jul 2024 14:27:57 +0200 Subject: [PATCH 36/44] full width for plot --- docs/ampform/LamKpi.ipynb | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/ampform/LamKpi.ipynb b/docs/ampform/LamKpi.ipynb index 1ee9604..c892d09 100644 --- a/docs/ampform/LamKpi.ipynb +++ b/docs/ampform/LamKpi.ipynb @@ -365,7 +365,11 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [ + "full-width" + ] + }, "outputs": [], "source": [ "(symbol, expr), *_ = model.amplitudes.items()\n", @@ -489,6 +493,9 @@ "cell_type": "code", "execution_count": null, "metadata": { + "jupyter": { + "source_hidden": true + }, "tags": [ "hide-input", "full-width" @@ -541,7 +548,8 @@ "source_hidden": true }, "tags": [ - "hide-input" + "hide-input", + "full-width" ] }, "outputs": [], @@ -596,13 +604,6 @@ "fig.tight_layout()\n", "plt.show(fig)" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From cd22417e75bdabc9f5a440ce2335813317d09c7a Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Fri, 12 Jul 2024 14:54:43 +0200 Subject: [PATCH 37/44] rename file --- docs/ampform/{LamKpi.ipynb => Lambda0Kpi0.ipynb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/ampform/{LamKpi.ipynb => Lambda0Kpi0.ipynb} (100%) diff --git a/docs/ampform/LamKpi.ipynb b/docs/ampform/Lambda0Kpi0.ipynb similarity index 100% rename from docs/ampform/LamKpi.ipynb rename to docs/ampform/Lambda0Kpi0.ipynb From 03fc047d1e59a6dccd425ebf8f9dd5fadda2cbdc Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Fri, 12 Jul 2024 14:55:40 +0200 Subject: [PATCH 38/44] DX: define `lab` task for pixi --- pixi.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pixi.toml b/pixi.toml index 25f0012..feb35a6 100644 --- a/pixi.toml +++ b/pixi.toml @@ -75,3 +75,6 @@ sphinx-autobuild \ docs/ docs/_build/html """ env = {EXECUTE_NB = "yes"} + +[tasks.lab] +cmd = "jupyter lab docs" From bc7b6257744d13c474b961df6102e81f87554ac9 Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Fri, 12 Jul 2024 14:59:32 +0200 Subject: [PATCH 39/44] MAINT: remove 0 from filename --- docs/ampform/{Lambda0Kpi0.ipynb => LambdaKpi0.ipynb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/ampform/{Lambda0Kpi0.ipynb => LambdaKpi0.ipynb} (100%) diff --git a/docs/ampform/Lambda0Kpi0.ipynb b/docs/ampform/LambdaKpi0.ipynb similarity index 100% rename from docs/ampform/Lambda0Kpi0.ipynb rename to docs/ampform/LambdaKpi0.ipynb From b27403bea882c7d596beb963051742540520484b Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:07:59 +0200 Subject: [PATCH 40/44] DX: remove `.virtual_documents` from toctree --- docs/conf.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 71a2ab7..f884a50 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -4,11 +4,12 @@ "hypothesis": True, } exclude_patterns = [ - "**.ipynb_checkpoints", + "_build", ".DS_Store", ".pixi", + ".virtual_documents", + "**.ipynb_checkpoints", "Thumbs.db", - "_build", ] extensions = [ "myst_nb", From 8de34525ade0c70b1cc91f9bb350c5b9136a7749 Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:08:18 +0200 Subject: [PATCH 41/44] FIX: update filename in `toctree` --- docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index 3508384..ed23ae0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -20,5 +20,5 @@ symbolics pgamma-state branching-fraction ampform/etapi0p -ampform/LamKpi +ampform/LambdaKpi0 ``` From 2f69399a9aee15c6c6aa27447ad11ffc96549fc2 Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:09:15 +0200 Subject: [PATCH 42/44] DOC: shorten document titles --- docs/ampform/LambdaKpi0.ipynb | 4 ++-- docs/ampform/etapi0p.ipynb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/ampform/LambdaKpi0.ipynb b/docs/ampform/LambdaKpi0.ipynb index c892d09..a213f15 100644 --- a/docs/ampform/LambdaKpi0.ipynb +++ b/docs/ampform/LambdaKpi0.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# pγ → ΛK⁺π⁰ `Ampform` amplitude model" + "# pγ → ΛK⁺π⁰ amplitude model" ] }, { @@ -12,7 +12,7 @@ "metadata": {}, "source": [ "PWA study on $p \\gamma \\to \\Lambda K^+ \\pi^0$.\n", - "We formulate the helicity amplitude model symbolically using `AmpForm` here." + "We formulate the helicity amplitude model symbolically using AmpForm here." ] }, { diff --git a/docs/ampform/etapi0p.ipynb b/docs/ampform/etapi0p.ipynb index 0a2f875..69434b5 100644 --- a/docs/ampform/etapi0p.ipynb +++ b/docs/ampform/etapi0p.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# pγ→ηπ⁰p `AmpForm` amplitude model" + "# pγ→ηπ⁰p amplitude model" ] }, { From 937184a6ce736bba4cdc00f5096afa41a9b69084 Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:22:50 +0200 Subject: [PATCH 43/44] DOC: improve cell rendering on webpage --- docs/ampform/LambdaKpi0.ipynb | 146 +++++++++++++++------------------- 1 file changed, 64 insertions(+), 82 deletions(-) diff --git a/docs/ampform/LambdaKpi0.ipynb b/docs/ampform/LambdaKpi0.ipynb index a213f15..68a05c2 100644 --- a/docs/ampform/LambdaKpi0.ipynb +++ b/docs/ampform/LambdaKpi0.ipynb @@ -12,13 +12,16 @@ "metadata": {}, "source": [ "PWA study on $p \\gamma \\to \\Lambda K^+ \\pi^0$.\n", - "We formulate the helicity amplitude model symbolically using AmpForm here." + "We formulate the helicity amplitude model symbolically using `AmpForm` here." ] }, { "cell_type": "code", "execution_count": null, "metadata": { + "jupyter": { + "source_hidden": true + }, "mystnb": { "code_prompt_show": "Hide warnings" }, @@ -43,6 +46,9 @@ "cell_type": "code", "execution_count": null, "metadata": { + "jupyter": { + "source_hidden": true + }, "mystnb": { "code_prompt_show": "Import Python Libraries" }, @@ -79,14 +85,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Inital and final state" + "## Decay definition" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Check existing particles in `PDG`" + "### Particle definitions" ] }, { @@ -194,7 +200,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Add custom particle for initial state" + "### Initial state definition" ] }, { @@ -256,7 +262,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Generate Transitions" + "### Generate transitions" ] }, { @@ -298,18 +304,25 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "jupyter": { + "source_hidden": true + }, + "tags": [ + "hide-input" + ] + }, "outputs": [], "source": [ - "dot_se = qrules.io.asdot(reaction, collapse_graphs=True)\n", - "graphviz.Source(dot_se)" + "dot = qrules.io.asdot(reaction, collapse_graphs=True)\n", + "graphviz.Source(dot)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Build Helicity Amplitude Models" + "## Formulate amplitude model" ] }, { @@ -321,24 +334,15 @@ "model_builder = ampform.get_builder(reaction)\n", "model_builder.config.scalar_initial_state_mass = True\n", "model_builder.config.stable_final_state_ids = 0, 1, 2\n", - "\n", "bw_builder = RelativisticBreitWignerBuilder(\n", " energy_dependent_width=False,\n", " form_factor=False,\n", ")\n", - "\n", "for name in reaction.get_intermediate_particles().names:\n", " model_builder.dynamics.assign(name, bw_builder)\n", "model = model_builder.formulate()" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Intensity" - ] - }, { "cell_type": "code", "execution_count": null, @@ -348,13 +352,6 @@ "model.intensity" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Amplitudes" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -366,8 +363,12 @@ "cell_type": "code", "execution_count": null, "metadata": { + "jupyter": { + "source_hidden": true + }, "tags": [ - "full-width" + "hide-input", + "scroll-output" ] }, "outputs": [], @@ -376,22 +377,16 @@ "Math(aslatex({symbol: expr}, terms_per_line=1))" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Parameters" - ] - }, { "cell_type": "code", "execution_count": null, "metadata": { "mystnb": { - "code_prompt_show": "m, Gamma, C" + "code_prompt_show": "Model parameters" }, "tags": [ - "hide-cell" + "scroll-output", + "hide-input" ] }, "outputs": [], @@ -399,47 +394,21 @@ "Math(aslatex(model.parameter_defaults))" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Kinematic variables" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "Math(aslatex(model.kinematic_variables))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Generate phase space sample" - ] - }, { "cell_type": "code", "execution_count": null, "metadata": { + "mystnb": { + "code_prompt_show": "Kinematic variable definitions" + }, "tags": [ - "hide-output" + "hide-input", + "scroll-output" ] }, "outputs": [], "source": [ - "phsp_event = 500_000\n", - "\n", - "rng = TFUniformRealNumberGenerator(seed=0)\n", - "phsp_generator = TFPhaseSpaceGenerator(\n", - " initial_state_mass=reaction.initial_state[-1].mass,\n", - " final_state_masses={i: p.mass for i, p in reaction.final_state.items()},\n", - ")\n", - "phsp_momenta = phsp_generator.generate(phsp_event, rng)" + "Math(aslatex(model.kinematic_variables))" ] }, { @@ -466,27 +435,33 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [ + "remove-output" + ] + }, "outputs": [], "source": [ - "helicity_transformer = SympyDataTransformer.from_sympy(\n", - " model.kinematic_variables,\n", - " backend=\"jax\",\n", - ")" + "phsp_event = 500_000\n", + "rng = TFUniformRealNumberGenerator(seed=0)\n", + "phsp_generator = TFPhaseSpaceGenerator(\n", + " initial_state_mass=reaction.initial_state[-1].mass,\n", + " final_state_masses={i: p.mass for i, p in reaction.final_state.items()},\n", + ")\n", + "phsp_momenta = phsp_generator.generate(phsp_event, rng)" ] }, { "cell_type": "code", "execution_count": null, - "metadata": { - "tags": [ - "hide-output" - ] - }, + "metadata": {}, "outputs": [], "source": [ - "phsp = helicity_transformer(phsp_momenta)\n", - "list(phsp)" + "helicity_transformer = SympyDataTransformer.from_sympy(\n", + " model.kinematic_variables,\n", + " backend=\"jax\",\n", + ")\n", + "phsp = helicity_transformer(phsp_momenta)" ] }, { @@ -497,8 +472,7 @@ "source_hidden": true }, "tags": [ - "hide-input", - "full-width" + "hide-input" ] }, "outputs": [], @@ -526,7 +500,15 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "jupyter": { + "source_hidden": true + }, + "tags": [ + "hide-output", + "hide-input" + ] + }, "outputs": [], "source": [ "resonances = defaultdict(set)\n", From 43f96fb6ce617394a02ea267b042af48d3aa2f2e Mon Sep 17 00:00:00 2001 From: Remco de Boer <29308176+redeboer@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:26:05 +0200 Subject: [PATCH 44/44] MAINT: revert `jax` lower boundary upgrade --- pixi.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pixi.toml b/pixi.toml index feb35a6..bfcd8f5 100644 --- a/pixi.toml +++ b/pixi.toml @@ -13,7 +13,7 @@ black = ">=24.4.2,<24.5" graphviz = ">=9.0.0,<9.1" ipywidgets = ">=8.1.2,<8.2" isort = ">=5.13.2,<5.14" -jax = ">=0.4.27,<0.5" +jax = ">=0.4.26,<0.5" jaxlib = ">=0.4.23,<0.5" jupyter = ">=1.0.0,<1.1" jupyterlab = ">=4.2.0,<4.3"