Skip to content

Commit 05a0e8a

Browse files
authored
Graph compile swaps (#62)
* Initial commit of helper graph class and tests. * Added graph features and filters for ProjectQ to utilize qubit graphs in unitary CC construction. This provides an example of using ProjectQ filters to compile to circuits with restricted connectivity, starting from TimeEvolution operators.
1 parent d049440 commit 05a0e8a

File tree

6 files changed

+586
-47
lines changed

6 files changed

+586
-47
lines changed

examples/fermilib_demo.ipynb

Lines changed: 53 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@
4646
{
4747
"cell_type": "code",
4848
"execution_count": 1,
49-
"metadata": {},
49+
"metadata": {
50+
"collapsed": false
51+
},
5052
"outputs": [
5153
{
5254
"name": "stdout",
@@ -77,7 +79,9 @@
7779
{
7880
"cell_type": "code",
7981
"execution_count": 2,
80-
"metadata": {},
82+
"metadata": {
83+
"collapsed": false
84+
},
8185
"outputs": [
8286
{
8387
"name": "stdout",
@@ -114,7 +118,9 @@
114118
{
115119
"cell_type": "code",
116120
"execution_count": 3,
117-
"metadata": {},
121+
"metadata": {
122+
"collapsed": false
123+
},
118124
"outputs": [
119125
{
120126
"name": "stdout",
@@ -142,7 +148,9 @@
142148
{
143149
"cell_type": "code",
144150
"execution_count": 4,
145-
"metadata": {},
151+
"metadata": {
152+
"collapsed": false
153+
},
146154
"outputs": [
147155
{
148156
"name": "stdout",
@@ -181,7 +189,9 @@
181189
{
182190
"cell_type": "code",
183191
"execution_count": 5,
184-
"metadata": {},
192+
"metadata": {
193+
"collapsed": false
194+
},
185195
"outputs": [
186196
{
187197
"name": "stdout",
@@ -235,7 +245,9 @@
235245
{
236246
"cell_type": "code",
237247
"execution_count": 6,
238-
"metadata": {},
248+
"metadata": {
249+
"collapsed": false
250+
},
239251
"outputs": [
240252
{
241253
"name": "stdout",
@@ -288,7 +300,9 @@
288300
{
289301
"cell_type": "code",
290302
"execution_count": 7,
291-
"metadata": {},
303+
"metadata": {
304+
"collapsed": false
305+
},
292306
"outputs": [
293307
{
294308
"name": "stdout",
@@ -326,7 +340,9 @@
326340
{
327341
"cell_type": "code",
328342
"execution_count": 8,
329-
"metadata": {},
343+
"metadata": {
344+
"collapsed": false
345+
},
330346
"outputs": [
331347
{
332348
"name": "stdout",
@@ -380,7 +396,9 @@
380396
{
381397
"cell_type": "code",
382398
"execution_count": 9,
383-
"metadata": {},
399+
"metadata": {
400+
"collapsed": false
401+
},
384402
"outputs": [
385403
{
386404
"name": "stdout",
@@ -438,7 +456,9 @@
438456
{
439457
"cell_type": "code",
440458
"execution_count": 10,
441-
"metadata": {},
459+
"metadata": {
460+
"collapsed": false
461+
},
442462
"outputs": [
443463
{
444464
"name": "stdout",
@@ -577,7 +597,9 @@
577597
{
578598
"cell_type": "code",
579599
"execution_count": 11,
580-
"metadata": {},
600+
"metadata": {
601+
"collapsed": false
602+
},
581603
"outputs": [
582604
{
583605
"name": "stdout",
@@ -655,7 +677,9 @@
655677
{
656678
"cell_type": "code",
657679
"execution_count": 12,
658-
"metadata": {},
680+
"metadata": {
681+
"collapsed": false
682+
},
659683
"outputs": [
660684
{
661685
"name": "stdout",
@@ -706,7 +730,9 @@
706730
{
707731
"cell_type": "code",
708732
"execution_count": 13,
709-
"metadata": {},
733+
"metadata": {
734+
"collapsed": false
735+
},
710736
"outputs": [
711737
{
712738
"name": "stdout",
@@ -1000,7 +1026,9 @@
10001026
{
10011027
"cell_type": "code",
10021028
"execution_count": 14,
1003-
"metadata": {},
1029+
"metadata": {
1030+
"collapsed": false
1031+
},
10041032
"outputs": [
10051033
{
10061034
"name": "stdout",
@@ -1172,7 +1200,9 @@
11721200
{
11731201
"cell_type": "code",
11741202
"execution_count": 7,
1175-
"metadata": {},
1203+
"metadata": {
1204+
"collapsed": true
1205+
},
11761206
"outputs": [],
11771207
"source": [
11781208
"# Load the molecule.\n",
@@ -1245,7 +1275,9 @@
12451275
{
12461276
"cell_type": "code",
12471277
"execution_count": 9,
1248-
"metadata": {},
1278+
"metadata": {
1279+
"collapsed": false
1280+
},
12491281
"outputs": [
12501282
{
12511283
"name": "stdout",
@@ -1292,7 +1324,9 @@
12921324
{
12931325
"cell_type": "code",
12941326
"execution_count": 10,
1295-
"metadata": {},
1327+
"metadata": {
1328+
"collapsed": false
1329+
},
12961330
"outputs": [
12971331
{
12981332
"name": "stdout",
@@ -1479,8 +1513,9 @@
14791513
}
14801514
],
14811515
"metadata": {
1516+
"anaconda-cloud": {},
14821517
"kernelspec": {
1483-
"display_name": "Python 2",
1518+
"display_name": "Python [default]",
14841519
"language": "python",
14851520
"name": "python2"
14861521
},

src/fermilib/utils/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
from ._chemical_series import (make_atomic_ring,
1414
make_atomic_lattice,
1515
make_atom)
16+
from ._graph import Graph, Node
17+
18+
from ._grid import Grid
1619

1720
from ._hubbard import fermi_hubbard
1821

@@ -51,4 +54,4 @@
5154
uccsd_singlet_operator,
5255
uccsd_singlet_paramsize)
5356

54-
from ._grid import Grid
57+

0 commit comments

Comments
 (0)