Skip to main content

Simple definition and fast solution of quantum systems described by a Lindblad master equation.

Project description

Spylind is a Python library for the symbolic definition and high-performance solution of large ensembles of quantum systems described by the Lindblad master equation.

It is particularly optimized for ensembles with many degrees of freedom (e.g., inhomogeneous broadening), utilizing JAX and TensorFlow for JIT compilation and GPU acceleration.

Core Components

  • spylind: Generates symbolic equations of motion (EOM) for density matrix elements from a Hamiltonian and collapse operators.

  • spyIVP: A high-performance bridge between symbolic expressions and numerical ODE solvers.

Key Features

  • Symbolic-to-Numerical: Automates the transition from SymPy expressions to optimized solver code.

  • Multiple Backends:
    • Diffrax (JAX): High-performance, JIT-compiled, and GPU-capable.

    • NumPy (SciPy): Robust, industry-standard CPU integration.

    • TensorFlow: scalable integration for large-scale problems.

  • Multi-dimensional Ensembles: Native support for parameter sweeps and spatial dimensions.

  • QuTiP Integration: Supports QuTiP Qobj for operator definitions.

Installation

pip install spylind[jax]  # Recommended for performance
pip install spylind[tf]   # For TensorFlow support
pip install spylind[full] # All backends

Quick Example

from spylind import spylind as spl
import qutip as q
import numpy as np
import sympy as sm

# Define a 2-level system symbolically
H = [0.1 * np.pi * q.sigmaz(), [sm.symbols('Omega')/2, q.sigmax()]]
tlist = np.linspace(0, 1.0, 101)

# Solve using the Diffrax backend
res = spl.mesolve(H, q.basis(2,0), tlist,
                  t_dep_fL={'Omega': lambda t: 2*np.pi},
                  e_ops=[q.sigmaz()],
                  backend='diffrax')
  • License: 3-clause BSD

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spylind-0.21.tar.gz (72.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spylind-0.21-py3-none-any.whl (52.0 kB view details)

Uploaded Python 3

File details

Details for the file spylind-0.21.tar.gz.

File metadata

  • Download URL: spylind-0.21.tar.gz
  • Upload date:
  • Size: 72.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for spylind-0.21.tar.gz
Algorithm Hash digest
SHA256 6d0415f91cb2c3701755d07e0415d162dddb44221ff35affe649ff7ec909d176
MD5 b35f993df76e584b40a32d1e6e3ade05
BLAKE2b-256 cc950326b0887e9884dc9212d0ebdbd88b9556546d3dad18081b9c24309edeb8

See more details on using hashes here.

File details

Details for the file spylind-0.21-py3-none-any.whl.

File metadata

  • Download URL: spylind-0.21-py3-none-any.whl
  • Upload date:
  • Size: 52.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for spylind-0.21-py3-none-any.whl
Algorithm Hash digest
SHA256 00cc08e602f9c69c318eb04f3f6c693baaa58d3a6d5083817b55c020fc8cac26
MD5 b512d4448baad204b42846c50af17901
BLAKE2b-256 284d82c1fb7c3061cefcf70a41b92e0cbb1f72e91cc690d9198950c3d02b601c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page