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.221.tar.gz (66.4 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.221-py3-none-any.whl (46.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for spylind-0.221.tar.gz
Algorithm Hash digest
SHA256 b4265e93a05129d24cec7eabb76434910959e33ab21ba13053a461ec2ce1945e
MD5 efea0c4b57662500d4c3f1fd6e1539c1
BLAKE2b-256 022bce21f8a5403b24d3e9f99f4a2e53a39e62357d67048ce7b87878a554fad5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spylind-0.221-py3-none-any.whl
  • Upload date:
  • Size: 46.4 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.221-py3-none-any.whl
Algorithm Hash digest
SHA256 ccdc70942225b76ae64bd04994ecc560387ed699e268c5a4f5aec35cef073f50
MD5 b0543e24c7e56e9929eea881b0642a62
BLAKE2b-256 6ceac5212e8a6cc14866ce99e7a5ae406938135c1faf5a1c7dcd337efabe4670

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