Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

SImBA - Systematic Inference of Bosonic quAntum systems

License: MIT Documentation Status

>>Documentation<<

Compute graphical quantum system representations from transfer functions

from simba import transfer_function_to_graph, tf2rss, adiabatically_eliminate
from sympy import symbols

s = symbols('s')
gamma_f, lmbda = symbols('gamma_f lambda', real=True, positive=True)
tf = (s**2 + s * gamma_f - lmbda) / (s**2 - s * gamma_f - lmbda)

transfer_function_to_graph(tf, 'active_coupled_cavity.png', layout='dot')
Active coupled cavity realisation

Calculate system transfer functions from the inferred system

split_network = tf2rss(tf).to_slh().split()
h_int = split_network.interaction_hamiltonian
h_int.expr.simplify()

Compute transfer functions between any degrees of freedom of the system

print(split_network.state_vector)
tfm = split_network.tfm
tf = tfm.open_loop('a_1', 'aout_1').simplify()
gamma_1, _ = split_network.aux_coupling_constants
adiabatically_eliminate(tf, gamma_1)

Installation

Install via pip install quantum-simba

See notebooks for examples.

To clone the dev environment run,

$ conda env create -f=environment.yml
$ conda activate simba

To install simba for development purposes,

$ pwd
... (simba code directory containing setup.py)
$ pip install -e .
(then to run test suite)
$ py.test

To build documentation locally,

$ pwd
... (simba code directory containing setup.py)
$ ./make_docs.sh

Motivation

Often when designing detectors for high-precision measurements, we are most interested in the frequency domain behaviour of such systems. For example, when computing the measurement shot noise of a gravitational wave detector, the noise spectrum is determined solely by the transfer function from the internal degree of freedom perturbed by the passing gravitational wave to the measurement output of the detector.

Until recently there has been no way to infer the layout of a quantum system directly from its transfer function, but now due to recent research in the quantum control community this is possible.

This software makes the process of finding a given physical realisation from the input-output transfer function completely automatic. Once this has been computed, it can then be used, for example, to deduce physical realisations, or more interestingly, to compute the most sensitive possible detector for a given numbers of internal degrees of freedom by minimizing the quantum Cramer-Rao bound.

TODO

  • Example notebooks
  • Write paper
  • Implement scattering matrix
  • Include examples on this page

Metadata

Release files for quantum-simba 0.9.6.dev0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quantum-simba 0.9.6.dev0
File Size Uploaded Provenance Actions
quantum-simba-0.9.6.dev0.tar.gz 20.1 kB Without provenance Details for quantum-simba-0.9.6.dev0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for quantum-simba 0.9.6.dev0
File Interpreter ABI Platform Actions
quantum_simba-0.9.6.dev0-py3-none-any.whl Python 3 none any Details for quantum_simba-0.9.6.dev0-py3-none-any.whl

Total release size: 42.8 kB

Release files / quantum-simba-0.9.6.dev0.tar.gz

Download URL quantum-simba-0.9.6.dev0.tar.gz
Size 20.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e3d0c8fc2757e64095b7133430faa278b527d89b960a4b34e559439cb44465fb
BLAKE2b-256 checksum
How to use checksums
8a2b32ad04ebb23e7bafa963f0af1ada8486871376d767cca0f7c5a3c0d68a14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.3

Release files / quantum_simba-0.9.6.dev0-py3-none-any.whl

Download URL quantum_simba-0.9.6.dev0-py3-none-any.whl
Size 22.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2e1d6ff8df292505c9a7f54f39857d2037c2f5017265fff298006e2f3e5d4115
BLAKE2b-256 checksum
How to use checksums
fd6f5bc03f7fa7ec70c13131a06502c5146702dc74a24d484e03c93ab580dc86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.3

Security for quantum-simba 0.9.6.dev0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page