samyak152002 commited on
Commit
23e87a4
1 Parent(s): 5a2a6ea

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +70 -13
README.md CHANGED
@@ -1,13 +1,70 @@
1
- ---
2
- title: Qiskit
3
- emoji: 🦀
4
- colorFrom: gray
5
- colorTo: red
6
- sdk: streamlit
7
- sdk_version: 1.27.0
8
- app_file: app.py
9
- pinned: false
10
- license: apache-2.0
11
- ---
12
-
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+
3
+ # Quantum Multiplication App
4
+
5
+ ## Overview
6
+
7
+ The Quantum Multiplication App is a simple web application developed using Streamlit that allows users to perform binary multiplication using a quantum algorithm implemented with IBM's Qiskit framework. This application demonstrates the power of quantum computing in solving computational problems.
8
+
9
+ ## Features
10
+
11
+ - Binary multiplication using quantum circuitry.
12
+ - Input two binary numbers (multiplicand and multiplier) and obtain the quantum multiplication result.
13
+ - User-friendly web interface.
14
+
15
+ ## Requirements
16
+
17
+ Before running this app, ensure that you have the following dependencies installed:
18
+
19
+ - Python 3.x
20
+ - Qiskit
21
+ - Streamlit
22
+
23
+
24
+ ## How it Works
25
+ The Quantum Multiplication App uses the following steps to perform binary multiplication using a quantum circuit:
26
+
27
+ ### Input Preparation:
28
+
29
+ Users input two binary numbers: the multiplicand and the multiplier. These binary numbers are represented as strings, e.g., "1101" and "101."
30
+ Quantum Registers:
31
+
32
+ The program starts by creating quantum registers to represent the multiplicand, multiplier, and an accumulator (for the result). It also creates classical registers for measurement outcomes.
33
+ Encoding Input:
34
+
35
+ Before performing quantum operations, the program encodes the binary input numbers into the quantum registers.
36
+ If a bit in the binary input is '1,' an X gate is applied to flip the corresponding qubit.
37
+ Quantum Circuit Operations:
38
+
39
+ The program enters a loop where it performs quantum operations similar to the Fourier Transform and inverse Fourier Transform (also known as the Inverse Quantum Fourier Transform). However, it's important to note that these quantum operations are approximations of the classical Fourier Transform.
40
+ It starts by adding the encoded multiplicand and multiplier to the accumulator in a way that resembles classical multiplication.
41
+ These operations are done iteratively while the multiplier is greater than zero. After each iteration, measurement is performed on the multiplier to check if it has reached zero.
42
+ The results of the measurements are used to determine when to exit the loop.
43
+ Measurement and Result:
44
+
45
+ After the loop is complete, measurement is performed on the accumulator to obtain the result of the quantum multiplication.
46
+ The measurement outcomes are collected and displayed to the user.
47
+ Visualization:
48
+
49
+ The Streamlit framework is used to create a user-friendly web interface where users can input binary numbers and trigger the quantum multiplication process.
50
+ The result of the quantum multiplication is displayed on the web interface for the user to see.
51
+ Quantum Computing Concepts
52
+ This app showcases the following quantum computing concepts:
53
+
54
+ Quantum Registers
55
+ Quantum Circuitry
56
+ Quantum Superposition
57
+ Quantum Phase Estimation
58
+ Limitations
59
+ This app is designed for educational purposes and may not be suitable for large binary numbers.
60
+ It uses a quantum simulator (Qiskit's Aer backend) and may not demonstrate the full potential of quantum hardware.
61
+ About the Author
62
+ This app was created by samyak152002.
63
+
64
+ Acknowledgments
65
+ Qiskit - An open-source quantum computing framework.
66
+ Streamlit - A Python library for creating web apps.
67
+ License
68
+ This app is open-source and available under the MIT License.
69
+
70
+