Skip to content

🔮 Futuristic storage system that works by encoding classical data into quantum circuits

License

Notifications You must be signed in to change notification settings

RohanGautam/storeQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StoreQ

logo

StoreQ is a futuristic storage system that works by encoding classical data into quantum circuits.

Made by me for Hack At Home. Devpost here!

How it works

StoreQ can upload and retrieve information from a quantum computer using quantum circuits. This entire process is done by simulation of qbits and quantum processes on my personal computer(which is obviously not quantum).

StoreQ can successfully demonstrate encoding normal (classical) data into a quantum simulation, and is also capable of extracting the data's information from the probability distribution of the qBits. It thus demonstrates a one-of-a-kind quantum data storage and backup system.

Why it's special

I think this project has huge extensability beyond what I was able to do in a day. Here's a few:

  • Because the storage media is via quantum circuits, we can use entanglement and superposition to represent all the data we accumulate into a single qbit superposition. [sorry for the jargon :(!] What it means is that we can represent a big chunk of information in a single quantum bit, and get the information we want from it by "measuring" it in certain ways.
  • Because of the API I created to link the backend to the frontend, it can actually be triggered from your google home! Say: Ok Google, ask StoreQ to launch demonstration
  • Because it's not all theory and jargon, with nothing to show. I'm proud to have implemented a working concept!

What Inspired me

Art! I initially was thinking of a way to link quantum computing principles with art. Art led to images, and quantum computing led to quantum circuitry. And bam, the idea was born.

How I built it

The frontend is linked with the core backend via a python RESTful API using flask.

  • The Upload button uploads the image (in greyscale, and resized to not overload my computer) to the quantum computer simulation.
  • The Download button downloads the image by reconstructing the data from the probability distributions stored in the qbits. homepage

This is how the backend core works. I'll go in steps:

  • Storage:
  • The data used here is an image. Each row's values are firstly one-hot encoded using a LabelBinarizer(a concept borrowed from machine learning), so that the vector amplitude sum is 1. This is a quantum constraint we have to follow.
  • Each binarized vector is stored in a qbit array via initialization of the values, which is the basis of out quantum circuit. qbits
  • Recovery
  • the array of quantum circuits and the LabelBinarizer objects are used to recover each vector.
  • The vectors are converted to numbers.
  • The numbers form the matrix, which Is the resultant image.

What I learnt

This was really, really, really fun. I learnt so much about how quantum computers work and was able to actually apply it to an idea that interested me. What gives me even more excitement is the possibilities this holds, that I haven't implemented yet due to time constraints. I learnt about the current quantum computing ecosystem and what tools researchers in the field use. I also got to whip up a quick web frontend for it, which I was also proud to learn and implement. Also, shoutout to my roommate for explaining to me fundamentals of quantum computing when my brain hurt from trying to understand too much at once. Like, a lot. He's got a bright future.

References:

About

🔮 Futuristic storage system that works by encoding classical data into quantum circuits

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published