-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
136 lines (103 loc) · 10.7 KB
/
index.html
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
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="viewport" content="width=640">
<link rel="stylesheet" href="stylesheets/core.css" media="screen">
<link rel="stylesheet" href="stylesheets/mobile.css" media="handheld, only screen and (max-device-width:640px)">
<link rel="stylesheet" href="stylesheets/github-light.css">
<script type="text/javascript" src="javascripts/modernizr.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="javascripts/headsmart.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#main_content').headsmart()
})
</script>
<title>Quantum Emulator by The-Quantum-Project</title>
</head>
<body>
<!--id="forkme_banner" href="https://github.com/The-Quantum-Project/web">View on GitHub</a-->
<div class="shell">
<header>
<span class="ribbon-outer">
<span class="ribbon-inner">
<h1>Quantum Emulator</h1>
<h2></h2>
</span>
<span class="left-tail"></span>
<span class="right-tail"></span>
</span>
</header>
<section id="downloads">
<span class="inner">
<!--a href="https://github.com/The-Quantum-Project/web/zipball/master" class="zip"><em>download</em> .ZIP</a><a href="https://github.com/The-Quantum-Project/web/tarball/master" class="tgz"><em>download</em> .TGZ</a-->
<a class="zip"><em> </a><a class="tgz"> </a>
</span>
</section>
<span class="banner-fix"></span>
<section id="main_content">
<h3>
<a id="welcome-to-the-quantum-project" class="anchor" href="#welcome-to-the-quantum-project" aria-hidden="true"><span class="octicon octicon-link"></span></a>Welcome to the Quantum Project</h3>
<p>This is a project by <em>Thomas Steinholz</em> and <em>Joshua Freedman</em> for the <em>2016 Science Fair</em>. This project aims to create software for a development platform that is still in a theoretical state for the most part. Please read on for more information.</p>
<h3>
<a id="rationale" class="anchor" href="#rationale" aria-hidden="true"><span class="octicon octicon-link"></span></a>Rationale</h3>
<p>For this project we are going to time travel into the not so distant future, a point in time where computers are no longer based on transistor processors; quantum computers have taken over. We plan to create an emulator to simulate theoretical processors based on Quantum Physics as well as design our own programming language designed specifically for the platform. Due to experimental and hybrid quantum computers costing millions of dollars (Rincon, §1), we will be programming a virtual one, in which we will be able to program theoretical data so as to cause it to behave like a real quantum computer. The goal of the emulator will be to make the software running on it not be able to tell the difference between the real thing and our emulator. One of the major bottlenecks of this project is performance. A normal computer can't even begin to compare to a quantum one, as they are built on totally separate hardware. On top of that, the emulator will be extremely resource intensive, and the code will take a lot more memory during runtime.</p>
<h3>
<a id="goals" class="anchor" href="#goals" aria-hidden="true"><span class="octicon octicon-link"></span></a>Goals</h3>
<p>The goal of our project is really a collection of many smaller goals. First and foremost, there is a more intimate understanding of quantum physics, circuitry, and technologies advances in the modern world. Another goal of ours is to make a working emulator that hopefully could be used to “code” programs for a real quantum computer. One of the more interesting aspects of this project is the ability to be able to potentially test out new theories and ideas on a piece of software the we have made. This project is most likely going to be tedious, elongated, and ambitious, however it will definitely be a great educational experience. All of the code relating to this project will be publicly hosted on Github[1] under the group “The Quantum Project”[2] and will be under the GNU Open-Source license. On the public repo, we will have our temporary website, our virtual machine and emulator code, the details of the custom language, and any other repositories related to this project. Throughout the daunting journey of this project, we will be doing massive amounts of research, and recording many of our notes, ideas, and theories in a public Google Drive[3][4] folder.</p>
<h3>
<a id="procedure-outline" class="anchor" href="#procedure-outline" aria-hidden="true"><span class="octicon octicon-link"></span></a>Procedure Outline</h3>
<p>This is a very complicated project that will require many steps to complete.
The first step is to get a complete understanding of what the emulator would need to do. In order to do this, we will need a fairly strong comprehension of how a quantum computer should theoretically work. Only once we have conducted nearly all of our research into quantum physics and its implementations into a quantum computer, will we be able to start designing our actual emulator.
The second thing we will need to do is layout or programing language, and all the features we will want it to have.<br>
The third task will be to choose the language we are going to write the emulator in, and actually start laying out the groundwork for the emulator.
The fourth step will be to either set up virtual machines or buy some mini computers to test our emulator on.
The fifth part of our plan involves getting the emulator to a working stage, without to many features, and then starting the creation process of our own language on it.
After that, we will have to design a compiler for our own language: Quantum Computing Language (QCL) and take it through rigorous tests. All test results will be available in the Google Drive folder.
The sixth step will to be to write an interpreter/virtual machine for our compiled code, and again take it through many, many hours of testing.
Once both the primitive version of the compiler and virtual machine are in a stable working state, we will be able to start writing the standard language libraries and the documentation for them.
At this point, if everything is working properly, we will start working on research into future uses of this, along with working on adding language support packages for common editors.
Last but hopefully not least, we will start adding on features on an as needed basis.</p>
<h3>
<a id="what-is-quantum-computing" class="anchor" href="#what-is-quantum-computing" aria-hidden="true"><span class="octicon octicon-link"></span></a>What is Quantum Computing?</h3>
<p>This is a extremely heavy question. One of the major differences between traditional computers and Quantum Computers (Q-Computers) is the use of quantum bits, or qubits. In a standard computer, a bit can either be 1 or 0, which is seen in things like binary code, where the number 7 is equal to 111. In Q-Computers however, qubits behave very differently. Quantum Computers encode information according to quantum mechanical states of the involved atomic constituents, such as spin directions of electrons or the orientation of photons. The various possibilities could also represent 0 or 1, or could represent a combination of the two, or could represent a combination between 0 and 1, and finally, could simultaneously represent many different numbers. (“Quantum computing”, §2). This phenomenon is called superposition, which is most certainly something that a standard computer cannot handle.</p>
<hr>
<p>[1] <a href="https://github.com">https://github.com</a></p>
<p>[2] <a href="https://github.com/The-Quantum-Project">https://github.com/The-Quantum-Project</a></p>
<p>[3] <a href="https://drive.google.com">https://drive.google.com</a></p>
<p>[4] <a href="https://drive.google.com/folderview?id=0B4D89DiD2y-jeHRNTk5UeUhtRE0&usp=sharing">https://drive.google.com/folderview?id=0B4D89DiD2y-jeHRNTk5UeUhtRE0&usp=sharing</a></p>
<p>Rincon, Paul. "D-Wave: Is $15m Machine a Glimpse of Future Computing?" BBC News. N.p., 20 May 2014. Web. 05 Oct. 2015. <a href="http://www.bbc.com/news/science-environment-27264552">http://www.bbc.com/news/science-environment-27264552</a>.</p>
<p>"Quantum computing." World of Computer Science. Gale, 2002. Science in Context. Web. 5 Oct. 2015. <a href="http://goo.gl/li0plk">http://goo.gl/li0plk</a></p>
<h3>
<a id="authors-and-contributors" class="anchor" href="#authors-and-contributors" aria-hidden="true"><span class="octicon octicon-link"></span></a>Authors and Contributors</h3>
<p>You can <a href="https://github.com/blog/821" class="user-mention">@mention</a> a GitHub username to generate a link to their profile. The resulting <code><a></code> element will link to the contributor’s GitHub Profile. For example: In 2007, Chris Wanstrath (<a href="https://github.com/defunkt" class="user-mention">@defunkt</a>), PJ Hyett (<a href="https://github.com/pjhyett" class="user-mention">@pjhyett</a>), and Tom Preston-Werner (<a href="https://github.com/mojombo" class="user-mention">@mojombo</a>) founded GitHub.</p>
<h3>
<a id="support-or-contact" class="anchor" href="#support-or-contact" aria-hidden="true"><span class="octicon octicon-link"></span></a>Support or Contact</h3>
<p>Having trouble with Pages? Check out our <a href="https://help.github.com/pages">documentation</a> or <a href="https://github.com/contact">contact support</a> and we’ll help you sort it out.</p>
</section>
<footer>
<span class="ribbon-outer">
<span class="ribbon-inner">
<p>this project by <a href="https://github.com/The-Quantum-Project">The-Quantum-Project</a> can be found on <a href="https://github.com/The-Quantum-Project/web">GitHub</a></p>
</span>
<span class="left-tail"></span>
<span class="right-tail"></span>
</span>
<p>Generated with <a href="https://pages.github.com">GitHub Pages</a> using Merlot</p>
<span class="octocat"></span>
</footer>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-68425377-1");
pageTracker._trackPageview();
} catch(err) {}
</script>
</body>
</html>