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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d0415f91cb2c3701755d07e0415d162dddb44221ff35affe649ff7ec909d176
|
|
| MD5 |
b35f993df76e584b40a32d1e6e3ade05
|
|
| BLAKE2b-256 |
cc950326b0887e9884dc9212d0ebdbd88b9556546d3dad18081b9c24309edeb8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00cc08e602f9c69c318eb04f3f6c693baaa58d3a6d5083817b55c020fc8cac26
|
|
| MD5 |
b512d4448baad204b42846c50af17901
|
|
| BLAKE2b-256 |
284d82c1fb7c3061cefcf70a41b92e0cbb1f72e91cc690d9198950c3d02b601c
|