Skip to main content

A GPU-based simulator for time-dependent quantum systems.

Project description

SuperSpinsim

Documentation - GitHub - PyPI - Poster

A general, GPU-based simulator, optimised for time-dependent spin systems. We were motivated by the ability to quickly simulate highly time-dependent quantum sensing protocols for the seven-level spin and optical model of the nitrogen-vacancy (NV) colour centre in diamond. However, the dynamics of general atomic and defect systems are able to be simulated as well.

A simulated NV contrast experiment (fully-rendered microwave pulse):

A simulated NV optically-detected magnetic resonance (ODMR) sweep (fully-rendered microwave frequency sweep, and fully simulated optical dynamics):

Project status

SuperSpinsim is a work-in-progress.

The simulator is currently functional.

We are preparing a manuscript for review. There are a few that we want to add before submission which are not fully-implemented yet:

  • A simplified way to declare quantum states.

There are some further features which are thinking about adding, possibly after the manuscript is submitted:

  • Support to split the problem over multiple GPUs, rather than just one.
  • Support for running the algorithm on (SIMD operations on) a CPU.

Installation

SuperSpinsim is built on top of number.cuda, which means it has similar system requirements:

  • An Nvidia GPU capable of cuda.
    • Meaning AMD, Apple, and Intel GPUs are not currently supported.
  • Official Nvidia graphics drivers.
  • The Nvidia cuda toolkit
    • An installer can be downloaded directly, or it can be installed from a package manager like conda or pacman.
  • Python versions 3.11 to 3.13 only.
    • Meaning python version 3.14 is not currently supported.

If all of these are satisfied, then SuperSpinsim can be installed from the Python Package Index (PyPI),

uv add superspinsim       # If using the uv package manager
pip install superspinsim  # If using the pip package manager

From source

SuperSpinsim can be built from source using the uv package manager.

git clone https://github.com/monashNV/superspinsim.git
cd superspinsim
uv build

SuperSpinsim can also be installed into another project without being built using the uv package manager.

mkdir other-project
git clone https://github.com/monashNV/superspinsim.git
cd other-project
uv init
uv add ../superspinsim

Version log

1.1.2

Fixed bug with spin-spin interactions of different spin numbers.

1.1.1

Updated documentation

1.1.0

Added ability for incoherent transitions to entangled states (needed for, eg, the model of C? defects in hBN).

1.0.1

Fix for documentation.

1.0.0

BREAKING: The spin system generator uses a better model for T1 thermalisation.

0.5.0

Added unitary mode for solving the Shroedinger/von Neumann equation.

0.4.0

Tested equivalence classes.

0.3.3

Added a test system for a continuous integration (CI) like workflow to try and catch bugs early.

0.3.2

Qudratures datatype changed from float128 to float64 for windows compatibility.

0.3.1

README links fixed.

0.3.0

Public release.

0.2.0

Implementing equivalence classes.

0.1.1

Fixed bug in undefined zfs_generator in generate_generators.

0.1.0

First usable; private.

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

superspinsim-1.1.2.tar.gz (43.7 kB view details)

Uploaded Source

Built Distribution

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

superspinsim-1.1.2-py3-none-any.whl (43.3 kB view details)

Uploaded Python 3

File details

Details for the file superspinsim-1.1.2.tar.gz.

File metadata

  • Download URL: superspinsim-1.1.2.tar.gz
  • Upload date:
  • Size: 43.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Manjaro Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for superspinsim-1.1.2.tar.gz
Algorithm Hash digest
SHA256 faf9cd926c97ff1441ad6e0b1ebd98931725224d5048f496095ee77fe9c16188
MD5 d11db9dd5b98f28aafbacfad10320969
BLAKE2b-256 1db37db152184bb90ddfbdd270ca22eb64f87307d0171f8bc493af294e6216ca

See more details on using hashes here.

File details

Details for the file superspinsim-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: superspinsim-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 43.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Manjaro Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for superspinsim-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 445f0d41d20aee94458ea0a62564ee9d81bd690061c800672ba3bac20bad0e06
MD5 cb1936b8722e5dd43518cb4eb76a3b7c
BLAKE2b-256 b173569cfaf6b5f80967a84c5fc11d58caa0202ce2d0c3b48061986b3b5bbac1

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