Skip to main content

logicqubit-gpu is a simple library for quantum computing simulation with gpu acceleration.

Project description

Features

  • Numerical and symbolic simulation of quantum algorithms
  • Plot state and current operation, density matrix and measurement graphs
  • The state values can be represented as angles, which helps in the analysis of the fourrier quantum transform.
  • Operations can be performed directly on the instantiated qubit object or using qubit indices.
  • Support GPU

Table of Contents

Installation

pip install logicqubit-gpu

Startup

logicQuBit = LogicQuBit(n_qubits, symbolic = True)

Where n_qubits is the number of qubits, and symbolic defines whether the values a and b of the qubits will be symbolic or not, if the symbolic input is omitted the calculation will be numeric.

To instantiate a qubit

q = Qubit()

To instantiate a qubit register

reg = QubitRegister(num_qubits)

Operations

Operations on one qubit

The operation can be performed as q.Gate(parameters) or logicQuBit.Gate(id_qubit, parameters).

Operations on two qubits

In this case, the operation can be performed as q.Gate(control_qubit, parameters) or logicQuBit.Gate(control_qubit, target_qubit, parameters).

*The need for parameters depends on the type of gate.

List of available gates

Single-qubit gates: X, Y, Z, V, S, T, H, RX, RY, RZ, U, U1, U2, U3.

Two-qubits gates: CX or CNOT, CY, CZ, CV, CS, CT, CRX, CRY, CRZ, CU, CU1, CU2, CU3, SWAP.

Three-qubits gates: CCX or Toffoli, Fredkin.

Measure

Measure the expected value of one or more qubits

result = logicQuBit.Measure([q1,q2,..,qn])

Measure one shot on a qubit

value = logicQuBit.Measure_One(qubit)

Plot graphs and print state

Plot expected values

logicQuBit.plot()

Generate a graph of the values obtained by the Measure([...]).

Plot the density matrix

logicQuBit.PlotDensityMatrix()

Print the current state

logicQuBit.PrintState()

Print the current state as angles

logicQuBit.getPsiAtAngles(degree=True)

The degree variable defines whether the result will be displayed in degrees or radians.

Code sample

from logicqubit.logic import *

logicQuBit  = LogicQuBit(3)

a = Qubit()
b = Qubit()
c = Qubit()

a.H()
b.H()

c.CCX(a,b) # and operation

logicQuBit.Measure([c])
logicQuBit.Plot()

Other code samples

https://github.com/clnrp/logicqubit-algorithms

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

logicqubit_gpu-1.6.4.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

logicqubit_gpu-1.6.4-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file logicqubit_gpu-1.6.4.tar.gz.

File metadata

  • Download URL: logicqubit_gpu-1.6.4.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for logicqubit_gpu-1.6.4.tar.gz
Algorithm Hash digest
SHA256 d57f0372fa0a6692addf848a1b0890f6a7bf4eb21436ef14e9937ad2cc4e9b81
MD5 21f63d844f77ebdb0b99c3481b4bdce3
BLAKE2b-256 49609df8e0e9ba3724c2f5b515bb1b96e615327d93e7412e1e18c472387237c0

See more details on using hashes here.

File details

Details for the file logicqubit_gpu-1.6.4-py3-none-any.whl.

File metadata

  • Download URL: logicqubit_gpu-1.6.4-py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for logicqubit_gpu-1.6.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6837e617625cec887c2dc5e3e2ca4bd6d7ec3976a110089dc85aa823467783b1
MD5 af33a1acace1b2a3832bdffe19b8e64f
BLAKE2b-256 8c789c8a0584bbc970705adb9b8783b3d2462f3e1721f8bba1b7bf73ae18918c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page