-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
100 lines (97 loc) · 3.58 KB
/
index.html
File metadata and controls
100 lines (97 loc) · 3.58 KB
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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="index.css">
<link rel="shortcut icon" href="./logo.png" type="image/x-icon">
<title>Goose</title>
</head>
<body>
<header>
<div id="panel_up">
<nav id="menu">
<a href="">Goose</a>
<a href="./doc/quantumgoose/Quantumlib/index.html">Doc</a>
<a href="https://github.com/QGoose/Goose">Github</a>
</nav>
</div>
<div id="panel_down">
<h1>Goose</h1>
<p>
A friendly OCaml environment for Quantum Computing
</p>
<nav>
<!-- <a href="" class="button">Try It Online</a> -->
<a href="./doc/quantumgoose/Quantumlib/index.html" class="button">Read the Doc</a>
</nav>
</div>
</header>
<div id="teaser">
<section>
<h2>Simple</h2>
<img src="./simple.png" alt="">
<p>
Quantum Computing might sound a little bit scary.
Goose is designed with simplicity in mind, making it accessible
to a wide audience ranging from students to advanced researchers.
</p>
</section>
<section>
<h2>Modular</h2>
<img src="./modular.png" alt="">
<p>
The design of the library is highly modular, thanks to the use of
OCaml functors.
Combined with OCaml's strong typing, this enables you to customize
the library to fit your needs.
</p>
</section>
<section>
<h2>Extensible</h2>
<img src="./extensible.png" alt="">
<p>
The functor-oriented style of Goose and its strongly-typed API is
an ideal starting point for further extensions. From compilers to static analyzers,
Goose gives you the basic building blocks you need to prototype new tools for quantum programming
languages.
</p>
</section>
</div>
<hr />
<div id="content">
<section>
<h1>Circuit IR</h1>
<p>
Goose is an OCaml library to model, simulate, and compile quantum programs.
At its core, it features a simple intermediate representation (IR) for quantum circuits.
This IR can be targeted by compilers or used as an input for Goose's built-in simulator and compiler.
</p>
<h2>Open QASM</h2>
<p>
OpenQASM is an open source quantum assembly programming language to design quantum circuits.
It is the <i>de facto</i> standard for interoperability of quantum computing tools.
Goose supports <a href="https://arxiv.org/abs/1707.03429v2">OpenQASM 2.0</a> as an input language and features
a compiler from OpenQASM to circuit IR.
</p>
<h2>Simulation</h2>
<p>
You don't have access to a Quantum Computer? Don't worry! Goose features an easy to use quantum simulator.
Goose's simulator takes IR circuits as an input and simulates their execution on real quantum hardware.
The result of the simulation is returned as a straightforward array of complex numbers.
</p>
<h2>Compilation to C</h2>
<p>
Large circuits with a lot of qbits can take a long time to simulate.
When performance is important, Goose can compile circuits to efficient C code.
The C translation is performed by symbolic simulation of the circuit.
</p>
</section>
</div>
<footer>
Copyright (c) 2022, <a href="mailto:arthur.correnson@ens-rennes.fr">Arthur Correnson</a><br>
Logo by <a href="mailto:d.pauli@hbksaar.de">Daria Rahel Pauli</a>
</footer>
</body>
</html>