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 1/9] 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 2/9] 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 3/9] 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 4/9] 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 165b294585cb6b4e3bcdea435e3b66f4d400f7d7 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Fri, 24 May 2024 18:54:03 +0200 Subject: [PATCH 5/9] draft now for the transition --- docs/pgamma-state.ipynb | 133 ++++++++++++++++++++++++++++++++++++---- pixi.toml | 1 + 2 files changed, 123 insertions(+), 11 deletions(-) diff --git a/docs/pgamma-state.ipynb b/docs/pgamma-state.ipynb index d2ff38b..2db8722 100644 --- a/docs/pgamma-state.ipynb +++ b/docs/pgamma-state.ipynb @@ -71,6 +71,7 @@ }, "outputs": [], "source": [ + "from IPython.display import Math\n", "from qrules.particle import load_pdg\n", "\n", "particle_db = load_pdg()\n", @@ -305,13 +306,19 @@ "cell_type": "code", "execution_count": null, "id": "27", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "from qrules.particle import Particle, Spin\n", "\n", "pgamma = Particle(\n", - " name=\"p\",\n", + " name=\"pgamma\",\n", " latex=r\"p\\gamma (s1/2)\",\n", " spin=0.5,\n", " mass=4.101931071854584,\n", @@ -336,11 +343,17 @@ "cell_type": "code", "execution_count": null, "id": "29", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "pgamma_j3over2 = Particle(\n", - " name=\"pgamma\",\n", + " name=\"pgammas3/2\",\n", " latex=R\"p\\gamma (s3/2)\",\n", " spin=1.5,\n", " mass=4.101931071854584,\n", @@ -357,7 +370,13 @@ "cell_type": "code", "execution_count": null, "id": "30", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "Math(pgamma.latex)" @@ -367,23 +386,51 @@ "cell_type": "code", "execution_count": null, "id": "31", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "outputs": [], "source": [ "Math(pgamma_j3over2.latex)" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "id": "32", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], "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." + "particle_db.add(pgamma)" ] }, { "cell_type": "markdown", "id": "33", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "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": "34", "metadata": {}, "source": [ ":::{important}\n", @@ -393,8 +440,14 @@ }, { "cell_type": "markdown", - "id": "34", - "metadata": {}, + "id": "35", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, "source": [ ":::{note}\n", "[Gell-Mann-Nishijima formula](https://en.wikipedia.org/wiki/Gell-Mann–Nishijima_formula):\n", @@ -410,6 +463,64 @@ " T is topness.\n", ":::\n" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import qrules\n", + "\n", + "reaction1 = qrules.generate_transitions(\n", + " initial_state=(\"pgamma\"),\n", + " final_state=[\"eta\", \"pi0\", \"p\"],\n", + " # allowed_intermediate_particles=[\"f(0)(980)\", \"f(0)(1500)\"],\n", + " allowed_interaction_types=[\"strong\", \"EM\", \"weak\"],\n", + " formalism=\"canonical-helicity\",\n", + " particle_db=particle_db,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "37", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import graphviz\n", + "\n", + "dot = qrules.io.asdot(reaction1, collapse_graphs=True)\n", + "graphviz.Source(dot)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "38", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/pixi.toml b/pixi.toml index c8b913e..238cb6d 100644 --- a/pixi.toml +++ b/pixi.toml @@ -22,6 +22,7 @@ sphinx-autobuild \ [dependencies] black = ">=24.4.2,<24.5" graphviz = ">=9.0.0,<9.1" +ipython = ">=8.24.0,<8.25" ipywidgets = ">=8.1.2,<8.2" isort = ">=5.13.2,<5.14" jax = ">=0.4.26,<0.5" From c25be43e7cb1c396d854dd30fe8395aeaab2c9d0 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Mon, 3 Jun 2024 16:09:37 +0200 Subject: [PATCH 6/9] add transition and graph --- docs/pgamma-state.ipynb | 78 +++++++++++++++++++++++++++++------------ pixi.lock | 38 ++++++++++++++++++++ pixi.toml | 1 + 3 files changed, 95 insertions(+), 22 deletions(-) diff --git a/docs/pgamma-state.ipynb b/docs/pgamma-state.ipynb index 2db8722..b72ecc4 100644 --- a/docs/pgamma-state.ipynb +++ b/docs/pgamma-state.ipynb @@ -73,7 +73,9 @@ "source": [ "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()\n", "print(\"Number of loaded particles:\", len(particle_db))" ] @@ -274,7 +276,7 @@ "* Charge\n", " * $Q_{p\\gamma} = Q_p + Q_{\\gamma} = 1 $\n", " \n", - "* Isospin and $3^{rd}# component of isospin\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", @@ -352,8 +354,8 @@ }, "outputs": [], "source": [ - "pgamma_j3over2 = Particle(\n", - " name=\"pgammas3/2\",\n", + "pgamma2 = Particle(\n", + " name=\"pgamma2\",\n", " latex=R\"p\\gamma (s3/2)\",\n", " spin=1.5,\n", " mass=4.101931071854584,\n", @@ -363,7 +365,7 @@ " parity=-1,\n", " pid=99991,\n", ")\n", - "pgamma_j3over2" + "pgamma2" ] }, { @@ -395,7 +397,7 @@ }, "outputs": [], "source": [ - "Math(pgamma_j3over2.latex)" + "Math(pgamma2.latex)" ] }, { @@ -415,8 +417,18 @@ ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "id": "33", + "metadata": {}, + "outputs": [], + "source": [ + "particle_db.add(pgamma2)" + ] + }, + { + "cell_type": "markdown", + "id": "34", "metadata": { "editable": true, "slideshow": { @@ -430,7 +442,7 @@ }, { "cell_type": "markdown", - "id": "34", + "id": "35", "metadata": {}, "source": [ ":::{important}\n", @@ -440,7 +452,7 @@ }, { "cell_type": "markdown", - "id": "35", + "id": "36", "metadata": { "editable": true, "slideshow": { @@ -467,7 +479,7 @@ { "cell_type": "code", "execution_count": null, - "id": "36", + "id": "37", "metadata": { "editable": true, "slideshow": { @@ -478,8 +490,9 @@ "outputs": [], "source": [ "import qrules\n", + "import graphviz\n", "\n", - "reaction1 = qrules.generate_transitions(\n", + "reaction1_all = qrules.generate_transitions(\n", " initial_state=(\"pgamma\"),\n", " final_state=[\"eta\", \"pi0\", \"p\"],\n", " # allowed_intermediate_particles=[\"f(0)(980)\", \"f(0)(1500)\"],\n", @@ -492,7 +505,7 @@ { "cell_type": "code", "execution_count": null, - "id": "37", + "id": "38", "metadata": { "editable": true, "slideshow": { @@ -502,23 +515,44 @@ }, "outputs": [], "source": [ - "import graphviz\n", - "\n", - "dot = qrules.io.asdot(reaction1, collapse_graphs=True)\n", + "dot = qrules.io.asdot(reaction1_all, collapse_graphs=True)\n", + "print(\"All interaction types\")\n", "graphviz.Source(dot)" ] }, { "cell_type": "code", "execution_count": null, - "id": "38", - "metadata": { - "editable": true, - "slideshow": { - "slide_type": "" - }, - "tags": [] - }, + "id": "39", + "metadata": {}, + "outputs": [], + "source": [ + "reaction1 = qrules.generate_transitions(\n", + " initial_state=(\"pgamma2\"),\n", + " final_state=[\"eta\", \"pi0\", \"p\"],\n", + " # allowed_intermediate_particles=[\"f(0)(980)\", \"f(0)(1500)\"],\n", + " allowed_interaction_types=[\"strong\", \"EM\", \"weak\"],\n", + " formalism=\"canonical-helicity\",\n", + " particle_db=particle_db,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "40", + "metadata": {}, + "outputs": [], + "source": [ + "dot1 = qrules.io.asdot(reaction1, collapse_graphs=True)\n", + "graphviz.Source(dot1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41", + "metadata": {}, "outputs": [], "source": [] } diff --git a/pixi.lock b/pixi.lock index 1f31ac1..6e93627 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.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 @@ -232,6 +233,7 @@ environments: - 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/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 @@ -358,6 +360,27 @@ packages: - pkg:pypi/alabaster size: 18365 timestamp: 1704848898483 +- kind: conda + name: ampform + version: 0.15.4 + build: pyhd8ed1ab_0 + subdir: noarch + noarch: python + 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 + - python >=3.7 + - qrules >=0.9.6 + - singledispatchmethod + - sympy >=1.10 + - typing-extensions + license: GPL-3.0-or-later + license_family: GPL + size: 76402 + timestamp: 1716399533026 - kind: conda name: anyio version: 4.3.0 @@ -4567,6 +4590,21 @@ packages: - pkg:pypi/setuptools size: 501790 timestamp: 1713094963112 +- 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 diff --git a/pixi.toml b/pixi.toml index 238cb6d..a6442bd 100644 --- a/pixi.toml +++ b/pixi.toml @@ -20,6 +20,7 @@ sphinx-autobuild \ """ [dependencies] +ampform = ">=0.15.4,<0.16" black = ">=24.4.2,<24.5" graphviz = ">=9.0.0,<9.1" ipython = ">=8.24.0,<8.25" From da9e2d9fa819d9761a60e361f972bfd3ae6d3d48 Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:47:13 +0200 Subject: [PATCH 7/9] test diff transitions --- docs/pgamma-state.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/pgamma-state.ipynb b/docs/pgamma-state.ipynb index b72ecc4..3bfab17 100644 --- a/docs/pgamma-state.ipynb +++ b/docs/pgamma-state.ipynb @@ -495,7 +495,7 @@ "reaction1_all = qrules.generate_transitions(\n", " initial_state=(\"pgamma\"),\n", " final_state=[\"eta\", \"pi0\", \"p\"],\n", - " # allowed_intermediate_particles=[\"f(0)(980)\", \"f(0)(1500)\"],\n", + " allowed_intermediate_particles=[\"a(2)\", \"Delta\", \"N\"],\n", " allowed_interaction_types=[\"strong\", \"EM\", \"weak\"],\n", " formalism=\"canonical-helicity\",\n", " particle_db=particle_db,\n", @@ -530,7 +530,7 @@ "reaction1 = qrules.generate_transitions(\n", " initial_state=(\"pgamma2\"),\n", " final_state=[\"eta\", \"pi0\", \"p\"],\n", - " # allowed_intermediate_particles=[\"f(0)(980)\", \"f(0)(1500)\"],\n", + " allowed_intermediate_particles=[\"a(2)\", \"Delta\", \"N\"],\n", " allowed_interaction_types=[\"strong\", \"EM\", \"weak\"],\n", " formalism=\"canonical-helicity\",\n", " particle_db=particle_db,\n", From 675cc078b1dc0583c3950096f81b1af477515f1a Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Tue, 4 Jun 2024 17:46:57 +0200 Subject: [PATCH 8/9] strong EM weak transition --- docs/pgamma-state.ipynb | 41 ++++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/docs/pgamma-state.ipynb b/docs/pgamma-state.ipynb index 3bfab17..62a35f3 100644 --- a/docs/pgamma-state.ipynb +++ b/docs/pgamma-state.ipynb @@ -495,7 +495,7 @@ "reaction1_all = 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)\", \"Delta\", \"N\"],\n", " allowed_interaction_types=[\"strong\", \"EM\", \"weak\"],\n", " formalism=\"canonical-helicity\",\n", " particle_db=particle_db,\n", @@ -516,7 +516,6 @@ "outputs": [], "source": [ "dot = qrules.io.asdot(reaction1_all, collapse_graphs=True)\n", - "print(\"All interaction types\")\n", "graphviz.Source(dot)" ] }, @@ -527,11 +526,11 @@ "metadata": {}, "outputs": [], "source": [ - "reaction1 = qrules.generate_transitions(\n", - " initial_state=(\"pgamma2\"),\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\", \"weak\"],\n", + " # allowed_intermediate_particles=[\"a(2)\", \"Delta\", \"N\"],\n", + " allowed_interaction_types=[\"strong\", \"EM\"],\n", " formalism=\"canonical-helicity\",\n", " particle_db=particle_db,\n", ")" @@ -544,7 +543,7 @@ "metadata": {}, "outputs": [], "source": [ - "dot1 = qrules.io.asdot(reaction1, collapse_graphs=True)\n", + "dot1 = qrules.io.asdot(reaction1_strong_EM, collapse_graphs=True)\n", "graphviz.Source(dot1)" ] }, @@ -554,6 +553,34 @@ "id": "41", "metadata": {}, "outputs": [], + "source": [ + "reaction1_strong = 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\"],\n", + " formalism=\"canonical-helicity\",\n", + " particle_db=particle_db,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "42", + "metadata": {}, + "outputs": [], + "source": [ + "dot1 = qrules.io.asdot(reaction1_strong, collapse_graphs=True)\n", + "graphviz.Source(dot1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43", + "metadata": {}, + "outputs": [], "source": [] } ], From 139807e655d6a12f878bdf39166718088b4fae0c Mon Sep 17 00:00:00 2001 From: Vitor Shen <17490173+shenvitor@users.noreply.github.com> Date: Tue, 4 Jun 2024 18:05:40 +0200 Subject: [PATCH 9/9] add readthedoc yaml file --- .readthedocs.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .readthedocs.yaml diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000..2d7e00c --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,13 @@ +version: "2" + +build: + os: "ubuntu-22.04" + tools: + python: "3.12" + +python: + install: + - requirements: docs/requirements.txt + +sphinx: + configuration: docs/conf.py