-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathReadMe with Function Descriptions
154 lines (125 loc) · 5.97 KB
/
ReadMe with Function Descriptions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<h3 align="center">Qiskit Ising</h3>
<div align="center">
[![Status](https://img.shields.io/badge/status-active-success.svg)]()
<!---
[![GitHub Issues](https://img.shields.io/github/issues/kylelobo/The-Documentation-Compendium.svg)](https://github.com/kaelynj/Qiskit-IsingModel/issues)
[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/kylelobo/The-Documentation-Compendium.svg)](https://github.com/kaelynj/Qiskit-IsingModel/pulls)
-->
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE.md)
</div>
---
<p align="center"> Few lines describing your project.
<br>
</p>
## 📝 Table of Contents
- [Problem Statement](#problem_statement)
- [Idea / Solution](#idea)
- [Dependencies / Limitations](#limitations)
- [Future Scope](#future_scope)
- [Setting up a local environment](#getting_started)
- [Usage](#usage)
- [Technology Stack](#tech_stack)
- [Contributing](../CONTRIBUTING.md)
- [Authors](#authors)
- [Acknowledgments](#acknowledgments)
## 🧐 Problem Statement <a name = "problem_statement"></a>
<!---
```
It is useful to design and follow a specific format when writing a problem statement. While there are several options
for doing this, the following is a simple and straightforward template often used in Business Analysis to maintain
focus on defining the problem.
- IDEAL: This section is used to describe the desired or “to be” state of the process or product. At large, this section
should illustrate what the expected environment would look like once the solution is implemented.
- REALITY: This section is used to describe the current or “as is” state of the process or product.
- CONSEQUENCES: This section is used to describe the impacts on the business if the problem is not fixed or improved upon.
This includes costs associated with loss of money, time, productivity, competitive advantage, and so forth.
Following this format will result in a workable document that can be used to understand the problem and elicit
requirements that will lead to a winning solution.
```
## 💡 Idea / Solution <a name = "idea"></a>
```
This section is used to describe potential solutions.
Once the ideal, reality, and consequences sections have been
completed, and understood, it becomes easier to provide a solution for solving the problem.
```
-->
## ⛓️ Dependencies / Limitations <a name = "limitations"></a>
<!---
```
- What are the dependencies of your project?
- Describe each limitation in detailed but concise terms
- Explain why each limitation exists
- Provide the reasons why each limitation could not be overcome using the method(s) chosen to acquire.
- Assess the impact of each limitation in relation to the overall findings and conclusions of your project, and if
appropriate, describe how these limitations could point to the need for further research.
```
-->
## 🚀 Future Scope <a name = "future_scope"></a>
<!---```
Write about what you could not develop during the course of the Hackathon; and about what your project can achieve
in the future.
```
-->
## 🏁 Getting Started <a name = "getting_started"></a>
<!---```
These instructions will get you a copy of the project up and running on your local machine for development
and testing purposes. See [deployment](#deployment) for notes on how to deploy the project on a live system.
```
### Prerequisites
```
What things you need to install the software and how to install them.
```
-->
### Installing
<!--- ```
A step by step series of examples that tell you how to get a development env running.
Say what the step will be
```
-->
## 🎈 Usage <a name="usage"></a>
### Summary of the functionalities of Qiskit functions used here:
### thetak
Calculates the expression from equation 14, given k and λ.
### bog
Performs Bogoliubov transformation using native rotational gates from Rigetti's and IBM's computer.
<p> As pointed out in Figurwe 11 of the Appendix, this transformation can be implemented with a combination of X, CNOTs and Controlled-Rx(θ_k) operations. The Controlled-Rx(θ_k) will be decomposed into base rotational gates, taking the angular value obtained with the function thetak. </p>
### fourier
Similar decomposition of the Fourier transformation into base gates, also taking thetak as input.
### digit_sum
This function reads the digits of the state in binary basis. Thus, the sum of its zeros and ones will return the number of excited qubits, which is a quantity that will be used to calculate the magnetization, which returns +1 for state |0> and -1 for state |1>.
### ground_state
This part of the code will:
<p> 1. Set the correct ground state, based on lambda input, </p>
<p> 2. Applies Bogoliubov and Fourier transformations using their decomposed versions and measure the qubit states at the end, </p>
<p> 3. Sends the job to the desired backend (whish is an input of this function). </p>
<p> 4. Store the "counts" output from the backend to calculate the magnetization. </p>
### time_evo
This part of the code will:
<p> 1. Set the desired state to be time-evolved (in this case, all spins up).
In computational basis, this is done by rotating the first qubit and applying a CNOT. </p>
<p> 2. Calculates the magnetization, as done in the previous function. </p>
<p> 3. Defines a time interval to evolve the state, </p>
<p> 4. Iterates time_evo over this reange of times. </p>
<!---```
Add notes about how to use the system.
## ⛏️ Built With <a name = "tech_stack"></a>
- [MongoDB](https://www.mongodb.com/) - Database
- [Express](https://expressjs.com/) - Server Framework
- [VueJs](https://vuejs.org/) - Web Framework
- [NodeJs](https://nodejs.org/en/) - Server Environment
```
-->
## ✍️ Authors <a name = "authors"></a>
<!---
- [@kylelobo](https://github.com/kylelobo) - Idea & Initial work
See also the list of [contributors](https://github.com/kylelobo/The-Documentation-Compendium/contributors)
who participated in this project.
-->
## 🎉 Acknowledgments <a name = "acknowledgments"></a>
<!---
```
- Hat tip to anyone whose code was used
- Inspiration
- References
```
-->