Name | pytrino JSON |
Version |
0.0.5
JSON |
| download |
home_page | |
Summary | Pytrino: A new way to numerically compute neutrino oscillations |
upload_time | 2023-05-31 09:44:16 |
maintainer | |
docs_url | None |
author | Baalateja Kataru |
requires_python | |
license | |
keywords |
probability
neutrino
oscillations
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
![](logo.png)
We use the recently discovered Eigenvalue-Eigenvector and Adjugate Identities to compute oscillation probabilities with minimal algorithmic steps.
# Usage
## Imports
```Python
import numpy as np
np.set_printoptions(precision=3)
from pytrino.oscprobs import OscProbIdentities
```
## Define your oscillation parameters
```Python
a = 0.2
theta12 = np.radians(33.2)
theta13 = np.radians(4.4)
theta23 = np.radians(46.1)
alpha = 0.026
delta = 50
deltacp = np.pi/6
```
## Compute probabilities
```Python
prob = OscProbIdentities(alpha, a, delta, deltacp, theta12, theta13, theta23)
print(prob.mat_angles_phase()) # prints mixing angles and phase in matter
# (29.988882340423384, 84.48628984963665, 3.5930259417910695, 44.188561816129464)
print(prob.PMNS()) # prints values of PMNS matrix elements
"""
[[ 0.849+0.000e+00j -0.297+0.000e+00j -0.062-4.318e-01j]
[-0.335+8.346e-02j -0.92 -2.921e-02j -0.184+1.342e-18j]
[ 0.01 +3.989e-01j 0.214-1.396e-01j -0.881-7.870e-19j]]
"""
print(prob.PMNS() @ prob.PMNS().H) # unitarity check
"""
[[1.000e+00-1.696e-22j 0.000e+00+1.561e-17j 6.939e-18+5.551e-17j]
[0.000e+00-1.561e-17j 1.000e+00-4.276e-19j 5.551e-17-1.327e-18j]
[1.388e-17-4.857e-17j 5.551e-17+0.000e+00j 1.000e+00-8.097e-19j]]
"""
print(prob.probabilities()) # prints all 9 probabilities
"""
[[0.97 0.015 0.014]
[0.014 0.236 0.75 ]
[0.015 0.749 0.236]]
"""
```
Raw data
{
"_id": null,
"home_page": "",
"name": "pytrino",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "probability,neutrino,oscillations",
"author": "Baalateja Kataru",
"author_email": "<kavesbteja@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/26/55/06618aa7575e2ee4d1119b2c00e509609046e0d29e1bfb2a9e56e3ef46d5/pytrino-0.0.5.tar.gz",
"platform": null,
"description": "![](logo.png)\r\n\r\nWe use the recently discovered Eigenvalue-Eigenvector and Adjugate Identities to compute oscillation probabilities with minimal algorithmic steps.\r\n\r\n# Usage\r\n\r\n\r\n## Imports\r\n```Python\r\nimport numpy as np\r\nnp.set_printoptions(precision=3)\r\n\r\nfrom pytrino.oscprobs import OscProbIdentities\r\n```\r\n\r\n## Define your oscillation parameters\r\n\r\n```Python\r\na = 0.2\r\ntheta12 = np.radians(33.2)\r\ntheta13 = np.radians(4.4)\r\ntheta23 = np.radians(46.1)\r\nalpha = 0.026\r\ndelta = 50\r\ndeltacp = np.pi/6\r\n```\r\n\r\n## Compute probabilities\r\n```Python\r\nprob = OscProbIdentities(alpha, a, delta, deltacp, theta12, theta13, theta23)\r\n\r\nprint(prob.mat_angles_phase()) # prints mixing angles and phase in matter\r\n# (29.988882340423384, 84.48628984963665, 3.5930259417910695, 44.188561816129464)\r\n\r\nprint(prob.PMNS()) # prints values of PMNS matrix elements\r\n\"\"\"\r\n[[ 0.849+0.000e+00j -0.297+0.000e+00j -0.062-4.318e-01j]\r\n [-0.335+8.346e-02j -0.92 -2.921e-02j -0.184+1.342e-18j]\r\n [ 0.01 +3.989e-01j 0.214-1.396e-01j -0.881-7.870e-19j]]\r\n\"\"\"\r\n\r\nprint(prob.PMNS() @ prob.PMNS().H) # unitarity check\r\n\"\"\"\r\n[[1.000e+00-1.696e-22j 0.000e+00+1.561e-17j 6.939e-18+5.551e-17j]\r\n [0.000e+00-1.561e-17j 1.000e+00-4.276e-19j 5.551e-17-1.327e-18j]\r\n [1.388e-17-4.857e-17j 5.551e-17+0.000e+00j 1.000e+00-8.097e-19j]]\r\n\"\"\"\r\n\r\nprint(prob.probabilities()) # prints all 9 probabilities\r\n\"\"\"\r\n[[0.97 0.015 0.014]\r\n [0.014 0.236 0.75 ]\r\n [0.015 0.749 0.236]]\r\n\"\"\"\r\n```\r\n",
"bugtrack_url": null,
"license": "",
"summary": "Pytrino: A new way to numerically compute neutrino oscillations",
"version": "0.0.5",
"project_urls": null,
"split_keywords": [
"probability",
"neutrino",
"oscillations"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d7dcb78d913986df92fa6531bf38e3ee988d9b39c87d728620b9ff5f6098398c",
"md5": "8a64361d4b7f03d501708aad0995e854",
"sha256": "04898dc0b60475356d3f802975d3d9cba6e6aee11eb40f132ef418c96d3ac1be"
},
"downloads": -1,
"filename": "pytrino-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8a64361d4b7f03d501708aad0995e854",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4685,
"upload_time": "2023-05-31T09:44:14",
"upload_time_iso_8601": "2023-05-31T09:44:14.036437Z",
"url": "https://files.pythonhosted.org/packages/d7/dc/b78d913986df92fa6531bf38e3ee988d9b39c87d728620b9ff5f6098398c/pytrino-0.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "265506618aa7575e2ee4d1119b2c00e509609046e0d29e1bfb2a9e56e3ef46d5",
"md5": "6e3e94db71b6c306f1baac416b3b3054",
"sha256": "ef985dfecb0806915bd17488a06504747d493bd4c78965f68f1b2ab1b1c3425e"
},
"downloads": -1,
"filename": "pytrino-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "6e3e94db71b6c306f1baac416b3b3054",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4389,
"upload_time": "2023-05-31T09:44:16",
"upload_time_iso_8601": "2023-05-31T09:44:16.200079Z",
"url": "https://files.pythonhosted.org/packages/26/55/06618aa7575e2ee4d1119b2c00e509609046e0d29e1bfb2a9e56e3ef46d5/pytrino-0.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-31 09:44:16",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pytrino"
}