micro-quantum

uQ - an embedded quantum simulator

https://github.com/quantumvillage/micro-quantum

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.8%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

uQ - an embedded quantum simulator

Basic Info
  • Host: GitHub
  • Owner: QuantumVillage
  • Language: C
  • Default Branch: main
  • Homepage:
  • Size: 1.46 MB
Statistics
  • Stars: 12
  • Watchers: 2
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Created almost 4 years ago · Last pushed almost 3 years ago
Metadata Files
Readme Citation

README.md

uQ : micro Quantum

uQ - an embedded quantum simulator

Hardware Required

The uQ is currently designed for the following hardware (with links to PiHut): * Raspberry Pi Pico - https://thepihut.com/products/raspberry-pi-pico * LCD Display Module for Pico - https://thepihut.com/products/1-3-ips-lcd-display-module-for-raspberry-pi-pico-240x240

These parts were chosen as they are very easy to assemble, and give us a nice basic interface; a screen, a small joystick, and some buttons.

Firmware Instructions

Download the pico-sdk and set the correct environment variables:

PICO_SDK_PATH=/path/to/pico-sdk

cd build/ cmake ..

and then run

make -j9

Then press BOOTSEL whilst plugging in the pico into a USB port, which will present as a USB drive. Now move the main.u2f to the drive, it will reboot and flash and you're good!

 What you should see

When you have built the module you should see something like this:

assembled uQ

The usage is as follows:

  • Use the dpad - up/down/left/right - to navigate the circuit.
  • Press the joystick down to change the gates - currently supported gates include:
    • - - the identity gate ('do nothing')
    • X - the NOT gate
    • H - the Hadamard (superposition) gate
    • R - a fixed pi/8 x-axis rotation
    • x - the SWAP gate (MUST come in pairs)
    • V - the square root of the X gate
    • c - the control indicator - adds single qubit control to any given gate in that slice
  • Press A to compute the circuit and generate the output state vector
  • Press B to clear the circuit
  • Press X for the help screen

TODOs

  1. Add a decent PRNG (seeded quantumly?) and properly simulate the circuit
  2. Add more gates
  3. Add support for multiple controls in a single slice (like mcx in qiskit)

Owner

  • Name: Quantum Village
  • Login: QuantumVillage
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Carney
    given-names: Mark
    orcid: https://orcid.org/0000-0001-9372-9033
title: "Micro Quantum Simulator by Quantum Village"
version: 0.1.0
date-released: 2022-08-19

GitHub Events

Total
  • Watch event: 6
  • Fork event: 1
Last Year
  • Watch event: 6
  • Fork event: 1