Skip to content

Commit

Permalink
[add] six-qubit Q connectivity
Browse files Browse the repository at this point in the history
  • Loading branch information
Mc-Zen committed Feb 15, 2024
1 parent d9f14b7 commit 5ab843c
Show file tree
Hide file tree
Showing 6 changed files with 848 additions and 6 deletions.
3 changes: 2 additions & 1 deletion generate_mub_circuits.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,5 +100,6 @@ def write_mub_circuit_file(spec: str, connectivity: str):
# write_mub_circuit_file("{{ZZXZIY,XXYIIX,IIIIZI,IIIZII,XXXIIY,ZXZZII},{XYZZII,YYXZIY,ZYYZII,YZXYIY,IIIIXI,XXYIIZ},{YXYIIY,ZZZZIZ,ZYYZZI,YZXXIY,XXXIXY,YIXZIZ},{IZXZIX,YYXZZY,ZYYIII,ZYIYII,ZXZZXI,ZZXZII},{XYZZZI,YYXIIY,YZZZIY,XYYXIY,YYZZXZ,IIIIZY},{XYZIII,ZZIZII,IZXIII,IXYXIX,XXYIYX,XXYZZZ},{IZYZIY,XZYIIY,XIXIIZ,ZYZYZZ,IIIZYI,IIZZIX},{YZIIII,IIYIIX,YZIZZX,YZXXZY,XXXZXY,ZXIZIX},{ZIIIIZ,ZZZZZZ,ZYYIZI,ZYIXII,YIYZXY,IYYIII},{IZXZZX,YYXIZY,YZZIIY,IZZXII,XZIIXZ,YYZZZX},{XYZIZI,ZZIIII,XYIIIY,ZIXYIX,ZZXZYY,IIIZIY},{IZYIIY,IYZIII,YXYZIZ,XIIXZI,XXYZXX,IIZIZX},{ZYXIIY,ZXXZIX,IXZIZY,ZYZXIZ,XXXIYY,YIXIIZ},{IXZZIZ,XXIIZI,YZIIIX,ZYIYZI,ZXZIXI,YYIZIY},{YXYIZY,ZZZIIZ,YZZZZY,XYYYIY,ZZYZXX,ZXZZZY},{IZXIIX,ZZIZZI,IZXZII,XIZXIZ,YIXZYX,ZZXIZI},{IZYZZY,XZYZIY,IXIIIX,IZIXZZ,YYZIYZ,XXXZZI},{YZIZII,XXZIIZ,XYZIZX,IXYYZX,IIZZYZ,ZXIIZX},{YXXIIX,IYIIZZ,XIXZZZ,YZYXZX,YIYIYY,XZZZIY},{ZYYIZX,IIYZZX,ZYXIZZ,IZZYZI,IYXZXX,IYXIZZ},{ZIIZZZ,YYYIZX,XYIZZY,YXIXIZ,XZZIYI,XZIZIX},{XYIIZZ,IYZZZI,ZIZIIX,ZIYYZY,IYYZXY,ZZYZIZ},{ZYXZZY,YIIIIZ,YXXZZI,YXZXII,YYIZXI,ZXZZIY},{XIYIIX,ZXYZZY,ZIIIIY,IXXXIY,YIXZXX,ZZXZZI},{IXIZZI,YIZIII,XIYIII,IZIXIZ,YYZZYZ,IIIZZY},{XIXIIY,IIXIIY,XYZIIX,IXYXZX,XXYZYX,IIZZZX},{ZIZIII,IYIIIZ,XIXIZZ,ZYZXZZ,XXXZYY,ZXIIIX},{ZYYIIX,IIYIZX,YZIIZX,ZYIXZI,YIYIXY,XZZIIY},{ZIIIZZ,ZZZIZZ,YZZIZY,IZZYII,IYXIXX,XZIIZX},{IZXIZX,ZZIIZI,XYIZIY,YXIYIZ,IYYIYY,YYZIIX},{IZYIZY,IYZZII,ZIZZIX,YXZYZI,ZZXIXY,XXXIII},{ZYXZIY,YIIZIZ,ZIIZZY,XIIYII,IIZIXZ,YIXZZZ},{XIYZIX,YIZZZI,IXZZIY,YZYYIX,ZXZZYI,ZZXIII},{XIXZZY,XXIZII,ZYXZIZ,XYYXZY,YYZIXZ,XXXIZI},{YXYZIY,YYYZIX,IZXIZI,IXYYIX,IIZIYZ,YIXIZZ},{XYIZIZ,XZYIZY,XIXZIZ,YZYYZX,ZXZIYI,YYIIIY},{YZIIZI,IIYZIX,ZYXZZZ,XYYYZY,ZZYIXX,YIYZZI},{ZIIZIZ,YYYZZX,IZXZZI,XIZYIZ,ZXIZYZ,IYYZZI},{XYIZZZ,XZYZZY,IXIZIX,XYXXZX,XZIZYZ,ZZYIZZ},{YZIZZI,XXZZIZ,IZYIZZ,ZIXXZX,YYIIYI,YIYIII},{YXXZIX,XZXIZX,YXYIZZ,IXXYZY,ZXIIXZ,XZZIZY},{YZZIZZ,ZXXIZX,XIYZZI,XYXYIX,IYXIYX,XZIZZX},{IXZIZZ,IIXZZY,IZYZIZ,YXIYZZ,IYYZYY,ZZYIIZ},{ZIZZZI,XZXZIX,ZIZZZX,YXZXZI,YYIIXI,YIYZII},{YZZZIZ,YIIZZZ,ZIIIZY,IXXYIY,ZXIZXZ,IYYIZI},{XIYZZX,YIZIZI,XIYZII,XYXXIX,XZIIYZ,YYZIZX},{XIXIZY,IIXZIY,IZYIIZ,ZIXYZX,ZZXIYY,XXXZII},{ZIZZII,XZXIIX,YXYZZZ,XIIYZI,IIZZXZ,ZXIZZX},{YZZIIZ,ZXXZZX,IXZZZY,YZYXIX,YIYZYY,IYYZII},{IXZZZZ,XXIZZI,ZYXIIZ,IZZXZI,XZIZXZ,ZZYZZZ},{YXYZZY,YYYIIX,XYIIZY,ZIXXIX,YYIZYI,ZXZIIY},{XYIIIZ,IYZIZI,YXYIIZ,IXXXZY,YIXIXX,YYIZZY},{ZYXIZY,ZXXIIX,XIYIZI,IZIYIZ,ZZYZYX,ZXZIZY},{IXZIIZ,IIXIZY,XYZZIX,XIZXZZ,YIXIYX,YYIIZY},{ZIZIZI,IYIZIZ,IXIIZX,IZIYZZ,ZZYIYX,YIYIZI},{ZYYZIX,XXZIZZ,XYZZZX,XIZYZZ,ZXIIYZ,XZZZZY},{YXXIZX,IYIZZZ,IXIZZX,XYXYZX,IYXZYX,IYXZZZ},{ZYYZZX,XXZZZZ,IZYZZZ,YXIXZZ,XZZZYI,IYXZIZ},{YXXZZX,XZXZZX,ZIZIZX,ZIYXZY,XZZZXI,IYXIIZ},{YZZZZZ,YIIIZZ,YXXIZI,ZIYXIY,XZZIXI,XZIIIX},{XIYIZX,ZXYIZY,YXXIII,ZIYYIY,IYYIXY,YYZZIX},{IXIIZI,ZXYIIY,YXXZII,YXZYII,ZZXZXY,IIIIIY},{IXIIII,ZXYZIY,ZIIZIY,XIIXII,XXYIXX,XXYIZZ},{IXIZII,YIZZII,IXZIIY,ZYZYIZ,IIIIYI,XXYZIZ},{XIXZIY,XXIIII,YZIZIX,YZXYZY,IIIZXI,IIZIIX}}", "ladder")
# write_mub_circuit_file("{{YZXZIY,XZXZIX,IIIIZI,IIIZII,YYZZIY,ZYXIII},{IYIZIY,XYXZIY,IIXIII,XZXYIY,IIIIXI,XZXZIZ},{YXXIII,IXIIIZ,IIXIZI,XZXXIY,YYZZXY,YXIZIZ},{XXXIIZ,XYXZZY,IIXZII,ZXYXII,ZYXIXI,YZXZII},{IYIZZY,XYXIIY,YYYZIY,YXIYIY,ZIIIXZ,IIIIZY},{IYIIIY,ZIYIII,ZYIIII,YZXYIX,XZXZYX,XZXIZZ},{YIZIII,YIIZIY,ZIXIIZ,IIIXZZ,IIIZYI,ZXYZIX},{ZIXZIY,YYXZIX,XZIZZX,XZXXZY,YYZIXY,IZZIIX},{ZYIZIX,IXIIZZ,IIXZZI,ZXYYII,XIYZXY,XXIZII},{XXXIZZ,XYXIZY,YYYIIY,IZZXII,IYXIXZ,ZIIIZX},{IYIIZY,ZIYZII,XIZZIY,XXIYIX,YZXZYY,IIIZIY},{YIZZII,IYZIII,IYIIIZ,ZIIXZI,XZXIXX,ZXYIZX},{XYYIII,XIIZIX,YZIZZY,IIIYIZ,YYZZYY,YXIIIZ},{IIXZIX,ZXIIZI,XZIIIX,ZXYXZI,ZYXZXI,IXYIIY},{YXXIZI,IXIZIZ,YYYZZY,YXIXIY,XYZZXX,ZYXIZY},{XXXZIZ,ZIYIZI,ZYIZII,IXYXIZ,YXIZYX,YZXIZI},{YIZIZI,YIIIIY,XYYZIX,ZYXXZZ,ZIIZYZ,YYZIZI},{ZIXIIY,IIYIIZ,YXXZZX,YZXXZX,ZXYZYZ,IZZZZX},{XIZIIZ,ZZXIZZ,ZIXZZZ,YYZXZX,XIYIYY,ZZZZIY},{YZIIZZ,YYXIZX,ZXZZZZ,IZZYZI,YIYIXX,YIYZZZ},{ZYIIZX,YZZIZX,XIZIZY,ZZZYIZ,ZZZIYI,IYXZIX},{ZZYIZX,IYZZZI,YIZIIX,YIYYZY,XXIIXY,XYZZIZ},{XYYZZI,ZYZZIZ,ZZYIZI,IYXYII,IXYIXI,ZYXIIY},{YYYZIZ,YXYZZY,XXXIIY,XYZYIY,YXIZXX,YZXZZI},{ZXZZZY,IZXZII,IXZIII,ZYXXIZ,ZIIIYZ,IIIZZY},{XZIZII,XZZZIY,YXXZIX,YZXYZX,XZXIYX,ZXYZZX},{IZYZIY,ZZXIIZ,ZIXIZZ,IIIYZZ,YYZIYY,IZZZIX},{YZIIIZ,YYXZZX,XZIIZX,ZXYYZI,XIYIXY,ZZZIIY},{ZYIZZX,IXIZZZ,YYYIZY,IZZYII,YIYZXX,IYXIZX},{XXXZZZ,ZIYZZI,XIZIIY,ZZZXIZ,XXIZYY,ZIIZIX},{YIZZZI,IYZZII,YIZZIX,IYXXZI,YZXIXY,YYZZII},{XYYZII,ZYZIIZ,XXXZZY,ZIIYII,ZXYIXZ,YXIZZZ},{YYYIIZ,IZXIZI,YZIIIY,YYZYIX,ZYXIYI,YZXIII},{XZIIZI,ZXIZII,ZXZIIZ,YXIYZY,ZIIZXZ,YYZZZI},{YXXZII,YZZZIX,ZYIIZI,YZXXIX,ZXYIYZ,YXIIZZ},{ZZYZIX,YIIZZY,ZIXZIZ,YYZYZX,ZYXZYI,IXYZIY},{ZIXZZY,YYXIIX,ZXZIZZ,YXIXZY,XYZIXX,XIYZZI},{ZYIIIX,YZZZZX,ZYIZZI,IXYYIZ,IZZIYZ,XXIIZI},{ZZYZZX,YIIIZY,XYYIIX,XIYYZX,IYXZYZ,XYZIZZ},{ZIXIZY,IIYZIZ,IZYIZZ,XXIXZX,IXYZYI,XIYIII},{XIZZIZ,XXYZZX,IYIZZZ,XYZXZY,IZZZXZ,ZZZIZY},{IXZZZX,XIIIZX,IXZZZI,XIYXIX,YIYZYX,IYXZZX},{IIXIZX,XZZIZY,IZYZIZ,ZZZXZZ,XXIIYY,XYZIIZ},{IZYIZY,XXYIIX,YIZZZX,IYXYZI,IXYZXI,XIYZII},{IXZIIX,ZYZIZZ,XXXIZY,XYZXIY,IZZIXZ,XXIZZI},{YYYIZZ,IZXZZI,IXZZII,XIYYIX,IYXIYZ,ZIIZZX},{XZIZZI,XZZIIY,IZYIIZ,XXIYZX,YZXIYY,YYZIII},{IZYIIY,XXYZIX,IYIIZZ,ZIIYZI,ZXYZXZ,IZZIZX},{IXZZIX,XIIZZX,YZIIZY,YYZXIX,XIYZYY,XXIIII},{IIXZZX,ZXIZZI,ZXZZIZ,IZZXZI,IYXZXZ,XYZZZZ},{YXXZZI,YZZIIX,XIZZZY,XXIXIX,IXYIYI,ZYXZIY},{ZZYIIX,IYZIZI,IYIZIZ,XYZYZY,YXIIXX,IXYIZY},{XYYIZI,XIIIIX,IXZIZI,ZYXYIZ,XYZZYX,ZYXZZY},{IIXIIX,XZZZZY,YXXIIX,IXYXZZ,YXIIYX,IXYZZY},{IZYZZY,ZZXZIZ,XYYZZX,ZYXYZZ,XYZIYX,XIYIZI},{YZIZIZ,IIYIZZ,YXXIZX,IXYYZZ,IZZZYZ,ZZZZZY},{XIZIZZ,ZZXZZZ,XYYIZX,XIYXZX,YIYIYX,YIYIZZ},{YZIZZZ,IIYZZZ,IZYZZZ,ZZZYZZ,ZZZZYI,YIYIIZ},{XIZZZZ,XXYIZX,YIZIZX,YIYXZY,ZZZZXI,YIYZIZ},{IXZIZX,ZYZZZZ,ZZYZZI,YIYXIY,ZZZIXI,IYXIIX},{YYYZZZ,YXYIZY,ZZYZII,YIYYIY,XXIZXY,ZIIIIX},{ZXZIZY,YXYIIY,ZZYIII,IYXXII,YZXZXY,IIIIIY},{ZXZIIY,YXYZIY,XXXZIY,ZIIXII,XZXZXX,XZXZZZ},{ZXZZIY,IZXIII,YZIZIY,IIIXIZ,IIIIYI,XZXIIZ},{XZIIII,ZXIIII,XZIZIX,XZXYZY,IIIZXI,ZXYIIX}}", "E")
# write_mub_circuit_file("{{XXXYXI,IIIIIZ,YXXYYI,ZXXXII,ZXYYII,ZYXYII},{ZIIIXI,IXIIII,IIXIII,ZXXZII,IIIIXI,IIIIIX},{YXXYII,IXIIIZ,YXIYYI,IIIYII,ZXYYXI,ZYXYIX},{ZIIIXZ,YIXYYI,ZXIXII,IIZXII,ZYXYXI,XXXYXY},{XXXYZI,ZIXXII,ZXZYII,IZIXII,XXXYIZ,YXXYYY},{IXXXXI,ZIYYII,ZYIYII,YIIXXZ,YXXYZZ,XIIZYX},{IXYYXI,ZZXYII,XXIYXZ,XIIXYZ,XIIZZI,IIZZIX},{IYXYXI,XIXYXZ,YXIYYZ,YXXIYI,IIZZXI,IZZIIX},{YXXYIZ,YIXYYZ,XIXZYI,ZXYIII,IZZIXI,YZIIXY},{XXXYZZ,XXIZYI,IIYZII,ZYYZII,YZIIIZ,ZIIIZX},{YIIZZI,IXZZII,IZYIII,XYXZXZ,ZIIIYI,ZXXXIY},{ZIZZXI,IYZIII,YZXIXZ,IXXZZI,ZXXXXZ,XIZIYX},{ZZZIXI,YYIIXZ,ZIXIZI,IIIYIZ,XIZIZI,IZIZIX},{XZIIIZ,ZXIIZI,ZXIXIZ,YXYZYI,IZIZXI,YIZIXY},{IIIIYI,ZIXXIZ,XIYIYI,ZYXIII,YIZIIZ,XZIIYY},{IXXXXZ,XXZIYI,IZXZII,XXYZXZ,XZIIZZ,IXXXZY},{YIZIZI,IYIZII,YIYIXZ,YYXZYZ,IXXXYZ,YXYXYY},{ZZIZXI,YXZIXZ,XZXIYZ,ZIIYZZ,YXYXZZ,XZZZYX},{XIZIIZ,XYIIYZ,IXIXZZ,XIZYYZ,XZZZZI,YZZZXY},{YZIIZZ,IIXXZZ,YXZXYZ,YYYIYI,YZZZIZ,ZZZIZX},{ZXXXYZ,YIYXYZ,XZYZYI,XYYIXZ,ZZZIYI,XYXXXX},{XXYXZZ,XYZZYI,YZYZXZ,IYYZZI,XYXXII,YIZIXX},{YZZZZI,YYZZXZ,ZZYIZI,YZIYXI,YIZIII,ZYXYIY},{XZZZIZ,ZYZIZI,XYIXXI,XXYZXI,ZYXYXZ,ZIIIZY},{IZZIYI,XZXXXI,YIYIXI,IZIXIZ,ZIIIYZ,XIIZYY},{YYXXII,YXZIXI,ZYIYIZ,IXXZZZ,XIIZZZ,YXYXYX},{XIZIII,ZZXYIZ,ZIXIZZ,YXXIYZ,YXYXZI,ZYYXIX},{IYXYXZ,ZXIIZZ,XIXZYZ,XIZYYI,ZYYXXI,XYYYXY},{IIIIYZ,XXIZYZ,YXZXYI,IZZYII,XYYYIZ,IYXYZX},{YIIZZZ,YIYXYI,ZYZXII,YZZXXZ,IYXYYI,YIIZXX},{XXYXZI,ZZYXII,XYZYXZ,ZZIXZI,YIIZII,ZXYYIY},{IYYXXI,XZYYXZ,IYIYZI,XXXIXI,ZXYYXZ,XZIIYX},{YYYYIZ,IZXYZI,YIXZXI,IIZXIZ,XZIIZI,YIIZXY},{ZYXYYI,YXIZXI,ZXZYIZ,YYXZYI,YIIZIZ,XIZIYY},{XIIZII,ZIYYIZ,XZXIYI,XXXIXZ,XIZIZZ,YYXXYX},{IXYYXZ,XYIIYI,YIXZXZ,YXYZYZ,YYXXZI,XXYXXY},{YZIIZI,YXIZXZ,XIYIYZ,XZIYYI,XXYXIZ,YYYYYY},{XIIZIZ,XXZIYZ,YYIXYI,YIZYXZ,YYYYZZ,ZZIZZY},{YIZIZZ,YZXXYI,XXZXXZ,XZZXYZ,ZZIZYZ,ZIZZZX},{XYXXZI,XIYXXZ,YYZYYZ,IYXIZZ,ZIZZYI,ZYYXIY},{YXYXIZ,YZYYYZ,ZZXZZZ,IXYIZI,ZYYXXZ,ZZZIZY},{XYYYZZ,ZYIZZZ,ZIYZZI,IZZYIZ,ZZZIYZ,ZZIZZX},{IZIZYZ,ZXZZZI,ZYZXIZ,IYYZZZ,ZZIZYI,XXYXXX},{IIZZYI,ZZYXIZ,ZZYIZZ,IYXIZI,XXYXII,IZZIIY},{IYYXXZ,ZYZIZZ,ZZXZZI,YIZYXI,IZZIXZ,IYXYZY},{IZZIYZ,ZYIZZI,XXZXXI,ZYYZIZ,IYXYYZ,IXXXZX},{IZIZYI,XIYXXI,IZYIIZ,ZZIXZZ,IXXXYI,IIZZIY},{YXYXII,IYZIIZ,IYIYZZ,ZIIYZI,IIZZXZ,YYYYYX},{ZZZIXZ,IZXYZZ,IXIXZI,ZXYIIZ,YYYYZI,XYXXXY},{ZYXYYZ,IIXXZI,IIYZIZ,XZZXYI,XYXXIZ,IXYYZX},{ZXXXYI,IXZZIZ,YYZYYI,YZIYXZ,IXYYYI,IZIZIY},{ZIZZXZ,YZYYYI,XYIXXZ,ZIZXZI,IZIZXZ,IXYYZY},{XYYYZI,XZXXXZ,IXZYZI,ZYXIIZ,IXYYYZ,YYXXYY},{YYXXIZ,IIYYZI,IZXZIZ,ZIZXZZ,YYXXZZ,ZIZZZY},{ZXYYYI,IYIZIZ,IXZYZZ,XZIYYZ,ZIZZYZ,XZZZYY},{ZZIZXZ,IIYYZZ,YYIXYZ,IXYIZZ,XZZZZZ,IYYXZY},{ZXYYYZ,YZXXYZ,ZIYZZZ,YYYIYZ,IYYXYZ,IYYXZX},{XYXXZZ,ZXZZZZ,XZYZYZ,ZZZYZZ,IYYXYI,YZZZXX},{IIZZYZ,XYZZYZ,IYZXZZ,ZZZYZI,YZZZII,XYYYXX},{YZZZZZ,IZYXZZ,IYZXZI,XYYIXI,XYYYII,YZIIXX},{ZYYXYZ,IZYXZI,YZYZXI,YZZXXI,YZIIII,XXXYXX},{ZYYXYI,YYZZXI,XYZYXI,XYXZXI,XXXYII,IIIIIY},{XZZZII,XZYYXI,YZXIXI,YIIXXI,IIIIXZ,YXXYYX},{YYYYII,YYIIXI,XXIYXI,ZXXZIZ,YXXYZI,ZXXXIX},{XZIIII,XIXYXI,IIXIIZ,XIIXYI,ZXXXXI,ZXYYIX}}", "H")
write_mub_circuit_file("{{+XYXIXX,+YYXIXY,+YYXIYX,+ZIIYZI,+YYYIXX,+YXXIXX},{+XIIXZI,+YZXIXX,+IIXIII,+IIIXII,+ZIIXYI,+IIIIIX},{+IYXXYX,+IXIIIZ,+YYIIYX,+ZIIZZI,+XYYXZX,+YXXIXI},{+ZYXXYY,+IXIIZI,+ZIXYZI,+YYYXXX,+XXXXZX,+ZIIIIY},{+ZYXXXX,+XZXYYX,+YYZIXX,+YXXXXX,+IIIXYZ,+IIIIZY},{+YIIZII,+IXZIII,+YXIIXX,+ZIIXIZ,+ZIIXXZ,+XYXYXI},{+ZYYXYX,+IYIIII,+ZIXIIZ,+IIIXZZ,+YYXZZX,+XYYYYI},{+ZXXXYX,+XZXIXY,+IIXIZZ,+XYXZXX,+YYYZIX,+IZZIIX},{+YIIXZZ,+YZXIYY,+XYIYXX,+XYYZYX,+ZZZXYI,+XXXIXZ},{+XIIXIZ,+ZXIYII,+XYZYYX,+IZZXII,+YXXXZY,+ZIIIZX},{+IYXZYX,+ZXZYZI,+IZYIII,+XXXXXY,+IIIXXI,+XYXYYZ},{+IYYZXX,+YIYIXX,+XXIIXY,+ZIIXZI,+YYXZIY,+IIZIZX},{+XZZXZI,+ZYIIIZ,+ZIXIZI,+XYXZYY,+ZIZXXI,+XXXYYI},{+IXXXYY,+XZXIYX,+XYIYYY,+IIZXZI,+YXXZIX,+XYYIXZ},{+YIIXII,+ZXIYZZ,+IIYIZI,+XXXZYX,+YYYXZY,+YXXIYZ},{+IYXZXY,+YZYIYX,+XXIYYX,+XYYXXY,+XXXXIY,+YYXYXZ},{+XIZXII,+ZYIYZI,+XYZIXY,+YXXXYY,+XYXZZY,+XYYYXZ},{+IXXZXX,+ZXZIIZ,+YXIIYY,+YYXZXY,+YYYZZY,+XXYYXI},{+IYYXYY,+IYIIZZ,+YYIYXY,+XYYZXY,+YXYZZX,+IZZYZY},{+ZXXXXY,+IXIYIZ,+XYZYXY,+XXYZXX,+ZZZZXZ,+ZZZIZX},{+ZYXZYY,+ZXZYIZ,+XXZYXX,+IZZZZZ,+IZZXXI,+IZIYZX},{+IYYZYY,+ZYZYII,+IZYYZZ,+ZZZXZI,+ZZIZXI,+ZIZIIX},{+IXYZYX,+YIYYYY,+ZZYIZI,+IZIZZI,+IIZXYI,+IZIIIY},{+XZZZIZ,+XIYIYX,+IZXYZI,+ZIZXII,+ZZIXYZ,+XYXIYZ},{+YZZXII,+YIXYYX,+ZIYIII,+IZIXIZ,+YYXXIY,+ZIIYIY},{+XZIZII,+XZYIXX,+IZXIIZ,+XYXXYY,+IIIZYZ,+ZIZYIX},{+YIZXZI,+YIXIXY,+XYIIYY,+ZIIZIZ,+IIZZYI,+ZZZYZX},{+XZIXZZ,+ZXIIZZ,+ZIXYIZ,+ZIZZII,+IZZZXI,+ZZZIIY},{+IYXXXY,+XZXYXY,+ZIYYII,+ZZZZZI,+IZZXYZ,+XXXIYI},{+YIIZZZ,+XZYYXX,+ZZYYZI,+ZZZXIZ,+YXXXIX,+YYXYYI},{+YIZZZI,+XIYYYX,+ZZYIIZ,+XXXXYX,+XYXZIX,+IIZIIY},{+YZZZII,+XIYIXY,+XXIIYX,+YYXZYX,+ZIZXYZ,+IZIIZX},{+YZZXZZ,+ZYIIZI,+YYIYYX,+IIZXIZ,+ZZIXXI,+IIIYZY},{+IXXXXX,+IXIYZI,+IIYIIZ,+IZIXZI,+ZIIZXZ,+YYYIYZ},{+ZYXZXX,+YZYIXY,+IZXIZI,+IIIZZZ,+XYYXIY,+ZZIYIX},{+XIZXZZ,+YIXIYX,+IIXYZZ,+YYYXYY,+IZIZYI,+YYYYYZ},{+XZIXII,+YZXYYY,+YYZIYY,+ZZIZII,+XYYZIY,+IZZIZY},{+XIIZIZ,+IXZIZZ,+ZZXYII,+YYYZYY,+ZZZXXZ,+IZIYIY},{+ZYYXXY,+XIXYXX,+YYZYYY,+IZZXZZ,+ZZIZYZ,+YYYYXI},{+YZIZZI,+IXZYZZ,+IZYIZZ,+IZIZIZ,+XYYZZX,+XXYYYZ},{+ZYYZXY,+YIYIYY,+IZXYIZ,+YYYZXX,+YXYZIY,+XXYIYZ},{+XZZXIZ,+YIXYXY,+YYZYXX,+XXYZYY,+YXYXIY,+YXXYXI},{+XZIZZZ,+IXZYII,+XXZYYY,+XXYXYY,+XXXZZX,+IIZYZX},{+ZYYZYX,+ZYZYZZ,+XXZIYY,+YXXZXX,+ZIZZXI,+YXYIXZ},{+IXYZXY,+ZYZIZZ,+YXIYXX,+IIZZZI,+XXYXZY,+ZZIIZY},{+IXYXXY,+IYIYII,+IIYYZI,+YXYXXY,+IZIXXZ,+IIIYIX},{+ZXXZYX,+YZYYYX,+YXZIXY,+ZZIXZZ,+ZIIZYI,+ZIZYZY},{+XIZZII,+IYZIIZ,+ZZXIZZ,+IIIZII,+IIZZXZ,+YXYIYI},{+ZXYXYY,+XIXIYY,+IIXYII,+ZIZZZZ,+XXYXIX,+YXXYYZ},{+YZIXIZ,+YZXYXX,+ZIYYZZ,+YXYXYX,+XXXZIY,+XYYIYI},{+XIIZZI,+XZYYYY,+YXZIYX,+YXXZYY,+YYYXIX,+ZZIYZY},{+YIZZIZ,+IYZIZI,+YXIYYY,+XYYXYX,+IZIZXZ,+ZIZIZY},{+ZXYXXX,+IYIYZZ,+XYZIYX,+ZZIZZZ,+IIZXXZ,+XXXYXZ},{+ZXXZXY,+ZXZIZI,+ZZXYZZ,+ZIZXZZ,+YXXZZY,+IIZYIY},{+IYYXXX,+XIXYYY,+ZIYIZZ,+XXXZXY,+ZIZZYZ,+ZZZYIY},{+YZIZIZ,+XZYIYY,+XXIYXY,+IIZZIZ,+IZZZYZ,+YXYYXZ},{+YIZXIZ,+ZYIYIZ,+IIYYIZ,+ZZZZIZ,+XXYZZY,+IZZYIX},{+IXXZYY,+YZYYXY,+ZZYYIZ,+YXYZXY,+ZZZZYI,+YXYYYI},{+XIZZZZ,+XIYYXY,+YXZYXY,+IZZZII,+XXYZIX,+XXYIXI},{+YZZZZZ,+IYZYIZ,+IZYYII,+YXYZYX,+YXYXZX,+ZZIIIX},{+ZXYZYY,+YIYYXX,+YXZYYX,+XXYXXX,+IZIXYI,+XYXIXI},{+XZZZZI,+IYZYZI,+XXZIXX,+ZZIXII,+YYXXZX,+YYXIXZ},{+ZXYZXX,+ZYZIII,+ZZXIII,+XYXXXX,+XYXXZY,+YYXIYI},{+IXYXYX,+XIXIXX,+XYIIXX,+YYXXXY,+XYXXIX,+ZIIYZX},{+YZIXZI,+ZXIIII,+YYIIXY,+YYXXYX,+IIIZXI,+YYYIXI}}", "Q")
## new all:
write_mub_circuit_file("{{XIXZZZ,IIIIIZ,IIIIZI,IIIZII,XXIZZZ,ZYYIII},{XXYIII,IXIIII,ZXZIII,YIXYZZ,YIXZYZ,YIXZZY},{IXZZZZ,IXIIIZ,ZXZIZI,YIXXZZ,ZXXIXI,XYZZZY},{XXYIIZ,IXIIZI,ZXZZII,ZXXXII,XYZZYZ,ZIIIIY},{XXYIZI,IXIZII,YIZZZZ,XYZYZZ,ZIIIXZ,YIXZIX},{XXYZII,XIIZZZ,IZXIII,ZIIXIZ,YIXZXI,YIXIIY},{IIYZZZ,ZZYIII,YXYZZI,YIXYII,YIXIXZ,ZXXZIX},{YZIIII,XXXZZI,ZXZIZZ,YIXXIZ,ZXXZXI,IZZIIX},{IXZZZI,IXIIZZ,ZXZZZI,ZXXYII,IZZIXI,IYYIIY},{XXYIZZ,IXIZZI,YIZIZZ,IZZXII,IYYIXZ,ZIIIZX},{XXYZZI,XIIIZZ,XYXZZZ,IYYXIZ,ZIIIYI,YIXIZX},{IIYIZZ,YYYZZZ,XZIZZI,ZIIXZI,YIXIYI,ZXXIZX},{ZYIZZZ,YZZZZI,YXYZIZ,YIXXZI,ZXXIYI,XYZIZY},{ZZXZZI,XXXZIZ,ZXZZIZ,ZXXXZI,XYZIYZ,YXIZZX},{IXZZIZ,IXIZIZ,YIZZIZ,XYZXZZ,YXIZYI,XYZZIX},{XXYZIZ,XIIZIZ,IZXZII,YXIYZI,XYZZXI,ZIIZZY},{IIYZIZ,ZZYZII,ZIYIIZ,XYZYII,ZIIZYZ,ZXXZZY},{YZIZII,IIXIIZ,IZXIZZ,ZIIYZZ,ZXXZYZ,IZZZZX},{XIZIIZ,ZZYIZZ,YXYIII,ZXXYZZ,IZZZYI,XZYIZX},{YZIIZZ,XXXIII,YIZIII,IZZYZI,XZYIYI,XZYZIY},{IXZIII,XIIIII,XYXIIZ,XZYXZI,XZYZXZ,IYYZIX},{IIYIII,YYYIIZ,IYIZIZ,XZYYIZ,IYYZXI,YXIZZY},{ZYIIIZ,ZYZZIZ,IYIIZI,IYYYII,YXIZYZ,XYZZZX},{YYXZIZ,ZYZIZI,XZIIZZ,YXIYZZ,XYZZYI,ZIIIZY},{YYXIZI,YZZIZZ,ZIYIII,XYZYZI,ZIIIYZ,YIXIIX},{ZZXIZZ,IIXIII,IZXIIZ,ZIIXZZ,YIXIXI,ZXXZZX},{XIZIII,ZZYIIZ,YXYZII,YIXXII,ZXXZYI,IZZZIX},{YZIIIZ,XXXZII,ZXZZZZ,ZXXYZI,IZZZXI,XZYZZX},{IXZZII,IXIZZZ,YIZIIZ,IZZYII,XZYZYI,IYYIZX},{XXYZZZ,XIIIIZ,XYXIZZ,XZYYZI,IYYIYI,ZIIZIX},{IIYIIZ,YYYIZZ,IYIIIZ,IYYXZI,ZIIZXI,ZXXIIY},{ZYIIZZ,ZYZIIZ,XZIZIZ,ZIIYII,ZXXIXZ,XYZZIY},{YYXIIZ,YZZZIZ,YXYIZZ,ZXXXIZ,XYZZXZ,ZIIZIY},{ZZXZIZ,XXXIZZ,YIZZZI,XYZYIZ,ZIIZXZ,ZXXIZY},{IXZIZZ,XIIZZI,IZXIZI,ZIIYIZ,ZXXIYZ,XYZIIY},{IIYZZI,ZZYIZI,YXYIZI,ZXXXZZ,XYZIXZ,YXIIZX},{YZIIZI,XXXIZI,YIZZII,XYZXIZ,YXIIYI,IZZIZY},{IXZIZI,XIIZII,IZXZZI,YXIXZI,IZZIYZ,IYYZZY},{IIYZII,ZZYZZI,ZIYZIZ,IZZXZZ,IYYZYZ,YXIIIY},{YZIZZI,IIXZIZ,XYXZII,IYYYZZ,YXIIXZ,IZZZIY},{XIZZIZ,YYYZII,XZIIII,YXIXIZ,IZZZXZ,XZYZIX},{ZYIZII,YZZIII,ZIYZZI,IZZYIZ,XZYZXI,IYYZZX},{ZZXIII,IIXZZI,XYXIZI,XZYYII,IYYZYI,YXIIZY},{XIZZZI,YYYIZI,IYIIZZ,IYYYZI,YXIIYZ,IZZIIY},{ZYIIZI,ZYZIZZ,XZIIIZ,YXIXZZ,IZZIXZ,IYYIZY},{YYXIZZ,YZZIIZ,ZIYZII,IZZXIZ,IYYIYZ,ZIIZZX},{ZZXIIZ,IIXZII,XYXZZI,IYYXZZ,ZIIZYI,ZXXZIY},{XIZZII,YYYZZI,XZIZII,ZIIYZI,ZXXZXZ,IZZIZX},{ZYIZZI,YZZZII,YXYIIZ,ZXXYIZ,IZZIYI,IYYZIY},{ZZXZII,XXXIIZ,YIZIZI,IZZXZI,IYYZXZ,YXIZIY},{IXZIIZ,XIIIZI,XYXZIZ,IYYYIZ,YXIZXZ,XYZIZX},{IIYIZI,YYYZIZ,XZIIZI,YXIYIZ,XYZIYI,YXIZIX},{ZYIZIZ,YZZIZI,ZIYIZI,XYZXZI,YXIZXI,XYZIIX},{ZZXIZI,IIXIZI,IZXZIZ,YXIYII,XYZIXI,YXIIIX},{XIZIZI,ZZYZIZ,ZIYIZZ,XYZXII,YXIIXI,IZZZZY},{YZIZIZ,IIXIZZ,IZXZZZ,YXIXII,IZZZYZ,XZYIIX},{XIZIZZ,ZZYZZZ,ZIYZZZ,IZZYZZ,XZYIXI,XZYIIY},{YZIZZZ,IIXZZZ,XYXIII,XZYXII,XZYIXZ,XZYIZY},{XIZZZZ,YYYIII,IYIZZZ,XZYXIZ,XZYIYZ,XZYZZY},{ZYIIII,ZYZZZZ,IYIZZI,XZYXZZ,XZYZYZ,IYYIIX},{YYXZZZ,ZYZZZI,IYIZII,XZYYZZ,IYYIXI,ZIIIIX},{YYXZZI,ZYZZII,IYIIII,IYYXII,ZIIIXI,YIXZZX},{YYXZII,ZYZIII,XZIZZZ,ZIIXII,YIXZYI,YIXZIY},{YYXIII,YZZZZZ,YXYZZZ,YIXYZI,YIXZXZ,YIXIZY},{ZZXZZZ,XXXZZZ,ZXZIIZ,YIXYIZ,YIXIYZ,ZXXIIX}}", "all")
# write_mub_circuit_file("{{XIXZZZ,IIIIIZ,IIIIZI,IIIZII,XXIZZZ,ZYYIII},{XXYIII,IXIIII,ZXZIII,YIXYZZ,YIXZYZ,YIXZZY},{IXZZZZ,IXIIIZ,ZXZIZI,YIXXZZ,ZXXIXI,XYZZZY},{XXYIIZ,IXIIZI,ZXZZII,ZXXXII,XYZZYZ,ZIIIIY},{XXYIZI,IXIZII,YIZZZZ,XYZYZZ,ZIIIXZ,YIXZIX},{XXYZII,XIIZZZ,IZXIII,ZIIXIZ,YIXZXI,YIXIIY},{IIYZZZ,ZZYIII,YXYZZI,YIXYII,YIXIXZ,ZXXZIX},{YZIIII,XXXZZI,ZXZIZZ,YIXXIZ,ZXXZXI,IZZIIX},{IXZZZI,IXIIZZ,ZXZZZI,ZXXYII,IZZIXI,IYYIIY},{XXYIZZ,IXIZZI,YIZIZZ,IZZXII,IYYIXZ,ZIIIZX},{XXYZZI,XIIIZZ,XYXZZZ,IYYXIZ,ZIIIYI,YIXIZX},{IIYIZZ,YYYZZZ,XZIZZI,ZIIXZI,YIXIYI,ZXXIZX},{ZYIZZZ,YZZZZI,YXYZIZ,YIXXZI,ZXXIYI,XYZIZY},{ZZXZZI,XXXZIZ,ZXZZIZ,ZXXXZI,XYZIYZ,YXIZZX},{IXZZIZ,IXIZIZ,YIZZIZ,XYZXZZ,YXIZYI,XYZZIX},{XXYZIZ,XIIZIZ,IZXZII,YXIYZI,XYZZXI,ZIIZZY},{IIYZIZ,ZZYZII,ZIYIIZ,XYZYII,ZIIZYZ,ZXXZZY},{YZIZII,IIXIIZ,IZXIZZ,ZIIYZZ,ZXXZYZ,IZZZZX},{XIZIIZ,ZZYIZZ,YXYIII,ZXXYZZ,IZZZYI,XZYIZX},{YZIIZZ,XXXIII,YIZIII,IZZYZI,XZYIYI,XZYZIY},{IXZIII,XIIIII,XYXIIZ,XZYXZI,XZYZXZ,IYYZIX},{IIYIII,YYYIIZ,IYIZIZ,XZYYIZ,IYYZXI,YXIZZY},{ZYIIIZ,ZYZZIZ,IYIIZI,IYYYII,YXIZYZ,XYZZZX},{YYXZIZ,ZYZIZI,XZIIZZ,YXIYZZ,XYZZYI,ZIIIZY},{YYXIZI,YZZIZZ,ZIYIII,XYZYZI,ZIIIYZ,YIXIIX},{ZZXIZZ,IIXIII,IZXIIZ,ZIIXZZ,YIXIXI,ZXXZZX},{XIZIII,ZZYIIZ,YXYZII,YIXXII,ZXXZYI,IZZZIX},{YZIIIZ,XXXZII,ZXZZZZ,ZXXYZI,IZZZXI,XZYZZX},{IXZZII,IXIZZZ,YIZIIZ,IZZYII,XZYZYI,IYYIZX},{XXYZZZ,XIIIIZ,XYXIZZ,XZYYZI,IYYIYI,ZIIZIX},{IIYIIZ,YYYIZZ,IYIIIZ,IYYXZI,ZIIZXI,ZXXIIY},{ZYIIZZ,ZYZIIZ,XZIZIZ,ZIIYII,ZXXIXZ,XYZZIY},{YYXIIZ,YZZZIZ,YXYIZZ,ZXXXIZ,XYZZXZ,ZIIZIY},{ZZXZIZ,XXXIZZ,YIZZZI,XYZYIZ,ZIIZXZ,ZXXIZY},{IXZIZZ,XIIZZI,IZXIZI,ZIIYIZ,ZXXIYZ,XYZIIY},{IIYZZI,ZZYIZI,YXYIZI,ZXXXZZ,XYZIXZ,YXIIZX},{YZIIZI,XXXIZI,YIZZII,XYZXIZ,YXIIYI,IZZIZY},{IXZIZI,XIIZII,IZXZZI,YXIXZI,IZZIYZ,IYYZZY},{IIYZII,ZZYZZI,ZIYZIZ,IZZXZZ,IYYZYZ,YXIIIY},{YZIZZI,IIXZIZ,XYXZII,IYYYZZ,YXIIXZ,IZZZIY},{XIZZIZ,YYYZII,XZIIII,YXIXIZ,IZZZXZ,XZYZIX},{ZYIZII,YZZIII,ZIYZZI,IZZYIZ,XZYZXI,IYYZZX},{ZZXIII,IIXZZI,XYXIZI,XZYYII,IYYZYI,YXIIZY},{XIZZZI,YYYIZI,IYIIZZ,IYYYZI,YXIIYZ,IZZIIY},{ZYIIZI,ZYZIZZ,XZIIIZ,YXIXZZ,IZZIXZ,IYYIZY},{YYXIZZ,YZZIIZ,ZIYZII,IZZXIZ,IYYIYZ,ZIIZZX},{ZZXIIZ,IIXZII,XYXZZI,IYYXZZ,ZIIZYI,ZXXZIY},{XIZZII,YYYZZI,XZIZII,ZIIYZI,ZXXZXZ,IZZIZX},{ZYIZZI,YZZZII,YXYIIZ,ZXXYIZ,IZZIYI,IYYZIY},{ZZXZII,XXXIIZ,YIZIZI,IZZXZI,IYYZXZ,YXIZIY},{IXZIIZ,XIIIZI,XYXZIZ,IYYYIZ,YXIZXZ,XYZIZX},{IIYIZI,YYYZIZ,XZIIZI,YXIYIZ,XYZIYI,YXIZIX},{ZYIZIZ,YZZIZI,ZIYIZI,XYZXZI,YXIZXI,XYZIIX},{ZZXIZI,IIXIZI,IZXZIZ,YXIYII,XYZIXI,YXIIIX},{XIZIZI,ZZYZIZ,ZIYIZZ,XYZXII,YXIIXI,IZZZZY},{YZIZIZ,IIXIZZ,IZXZZZ,YXIXII,IZZZYZ,XZYIIX},{XIZIZZ,ZZYZZZ,ZIYZZZ,IZZYZZ,XZYIXI,XZYIIY},{YZIZZZ,IIXZZZ,XYXIII,XZYXII,XZYIXZ,XZYIZY},{XIZZZZ,YYYIII,IYIZZZ,XZYXIZ,XZYIYZ,XZYZZY},{ZYIIII,ZYZZZZ,IYIZZI,XZYXZZ,XZYZYZ,IYYIIX},{YYXZZZ,ZYZZZI,IYIZII,XZYYZZ,IYYIXI,ZIIIIX},{YYXZZI,ZYZZII,IYIIII,IYYXII,ZIIIXI,YIXZZX},{YYXZII,ZYZIII,XZIZZZ,ZIIXII,YIXZYI,YIXZIY},{YYXIII,YZZZZZ,YXYZZZ,YIXYZI,YIXZXZ,YIXIZY},{ZZXZZZ,XXXZZZ,ZXZIIZ,YIXYIZ,YIXIYZ,ZXXIIX}}", "all")
9 changes: 5 additions & 4 deletions src/htstabilizer/connectivity_support.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ def get_available_connectivities() -> List[Tuple[int, str]]:
(6, "ladder"),
(6, "E"),
(6, "H"),
(6, "Q"),
]


Expand All @@ -54,7 +55,7 @@ def assert_connectivity_is_supported(num_qubits: int, connectivity: SupportedCon
(num_qubits == 3 and connectivity in ["all", "linear"]) or \
(num_qubits == 4 and connectivity in ["all", "linear", "star", "cycle"]) or \
(num_qubits == 5 and connectivity in ["all", "linear", "star", "cycle", "T", "Q"]) or \
(num_qubits == 6 and connectivity in ["all", "linear", "star", "ladder", "E", "H"])
(num_qubits == 6 and connectivity in ["all", "linear", "star", "ladder", "E", "H", "Q"])
if not is_supported:
raise AssertionError(f"The connectivity '{connectivity}' is not supported for {num_qubits} qubits.")

Expand Down Expand Up @@ -89,9 +90,9 @@ def get_connectivity_graph(
assert num_qubits == 5, "T connectivity is only possible for 5 qubits"
return Graph.pusteblume(num_qubits)
if connectivity == "Q":
assert num_qubits == 5, "Q connectivity is only possible for 5 qubits"
graph = Graph(5)
graph.add_path([0, 1, 2, 3, 4, 1])
assert num_qubits in [5, 6], "Q connectivity is only possible for 5 and 6 qubits"
graph = Graph.linear(num_qubits)
graph.add_edge(num_qubits - 1, num_qubits - 4)
return graph
if connectivity == "star":
return Graph.star(num_qubits)
Expand Down
Loading

0 comments on commit 5ab843c

Please sign in to comment.