Skip to main content

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.

Known issues:

  • Gives incorrect result when using the non-compressed representation on GPU.

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.3.2

Fixed bug of using incorrect bounds when sandwiching.

1.3.1

Added ability to switch to using standard vectorisation as well as the optimised vectorisation.

1.3.0

Added ability to have coherences between blocks when using the simspins atom generator.

1.2.3

Fixed bug of incorrect bounds and memory leaks when using the kernel functionality on CPU.

1.2.2

Added CPU functionality for qutip.

1.2.1

Fixed bug of still requiring cuda for CPU functionality.

1.2.0

Fixed bug with unitary functionality.

1.1.3

Added CPU functionality. Noticed bug with unitary functionality.

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.

Metadata

Release files for superspinsim 1.3.2

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

Source distribution (sdist)

Source distribution for superspinsim 1.3.2
File Size Uploaded Provenance
superspinsim-1.3.2.tar.gz 50.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for superspinsim 1.3.2
File Interpreter ABI Platform
superspinsim-1.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 101.0 kB

Release files / superspinsim-1.3.2.tar.gz

Download URL superspinsim-1.3.2.tar.gz
Size 50.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c4c06b42b0dd547c90254c77a71a2d9c9fabd303625ddab538e717ea0996fd08
BLAKE2b-256 checksum
How to use checksums
28c64b894c0a6cacee5aedb7def49f8978c4f260858bb775a03dd2f549793234
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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}

Release files / superspinsim-1.3.2-py3-none-any.whl

Download URL superspinsim-1.3.2-py3-none-any.whl
Size 50.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4742a69455394d5807317c51e3ee54ef104cf82619a60a629d86e54f5808a821
BLAKE2b-256 checksum
How to use checksums
159c49f5b434c2b27a2c65f160f702f5b2337c10a72042d5e863427a4ec4b30a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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}

Security for superspinsim 1.3.2

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.

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