_images/symmer_logo.png

Welcome to Symmer’s documentation!

Continuous_Integration codecov Unitary Fund Documentation Status

symmer is an easy and fast python library for manipulations of ‘Pauli operators and Quantum States’. One of the primary goals of the library is to reduce the qubit requirements of a quantum simulation problem by tapering and/or mapping the problem into a contextual subspace. The most useful classes of library, that form a base for all operations, are:

PauliwordOp

The PauliwordOp class contains tools for working with Pauli operators. It has a particular focus on:

  • fast operations (multiplication, addition, subtraction)

  • fast expectation value determination

  • output to various other backends: openfermion and qiskit

  • Find commutation relations between Pauli operators in an efficient manner.

QuantumState

The QuantumState class contains tools for working with quantum states. With this you can:

  • resample a state \(10^{15}\) times in nanoseconds (useful for bootstrapping)

  • evaluate expectation values with a PauliwordOp in linear time

  • compute various quantities including entanglement measures

  • Implement partial traces

  • Plot amplitudes

  • Make examining real NISQ data more streamlined

User Guide

The following guides give a basic introduction to the various parts:

Examples

The following guides, generated from the notebooks in notebooks, provide a beginners guide and demonstrate some more advanced features or complete usage: