diff --git a/docs/Project.toml b/docs/Project.toml index 94f3d9dc..f6892424 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -2,6 +2,7 @@ CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" +QuacIO = "0dfb065c-ad45-4a42-9a50-cb82c165eb0b" [compat] CairoMakie = "0.10" diff --git a/docs/src/sycamore_53_10_0.qasm b/docs/src/sycamore_53_10_0.qasm new file mode 100644 index 00000000..1d701b02 --- /dev/null +++ b/docs/src/sycamore_53_10_0.qasm @@ -0,0 +1,1659 @@ +53 +0 hz_1_2 5 +0 x_1_2 6 +0 x_1_2 14 +0 hz_1_2 15 +0 y_1_2 16 +0 hz_1_2 17 +0 hz_1_2 24 +0 hz_1_2 25 +0 hz_1_2 26 +0 x_1_2 27 +0 y_1_2 28 +0 hz_1_2 32 +0 hz_1_2 33 +0 hz_1_2 34 +0 hz_1_2 35 +0 y_1_2 36 +0 x_1_2 37 +0 x_1_2 38 +0 hz_1_2 39 +0 x_1_2 41 +0 x_1_2 42 +0 hz_1_2 43 +0 y_1_2 44 +0 x_1_2 45 +0 x_1_2 46 +0 y_1_2 47 +0 hz_1_2 48 +0 x_1_2 49 +0 hz_1_2 50 +0 hz_1_2 51 +0 x_1_2 52 +0 x_1_2 53 +0 x_1_2 54 +0 y_1_2 55 +0 hz_1_2 56 +0 y_1_2 57 +0 hz_1_2 58 +0 hz_1_2 61 +0 hz_1_2 62 +0 y_1_2 63 +0 hz_1_2 64 +0 x_1_2 65 +0 x_1_2 66 +0 x_1_2 67 +0 hz_1_2 72 +0 y_1_2 73 +0 x_1_2 74 +0 hz_1_2 75 +0 y_1_2 76 +0 y_1_2 83 +0 y_1_2 84 +0 hz_1_2 85 +0 x_1_2 94 +1 rz(0.7743385483953005) 6 +1 rz(-0.7085204779284944) 16 +1 rz(-0.8687711187158653) 15 +1 rz(0.3853766657859231) 25 +1 rz(-0.3522159558487364) 17 +1 rz(0.569527381436443) 27 +1 rz(0.06748036788071975) 24 +1 rz(-0.03542260032736748) 34 +1 rz(0.921123478965347) 26 +1 rz(-0.940605149780575) 36 +1 rz(0.40878079457469985) 28 +1 rz(-0.3573777822597026) 38 +1 rz(0.4286328898578044) 33 +1 rz(-0.567173927172081) 43 +1 rz(0.6962362636582926) 35 +1 rz(-0.6243336356713873) 45 +1 rz(0.5070267688233168) 37 +1 rz(-0.49025706927611445) 47 +1 rz(-0.82479487914479) 39 +1 rz(0.831505604695568) 49 +1 rz(0.7654710267272109) 42 +1 rz(-0.7622667609489339) 52 +1 rz(-0.7530995459405583) 44 +1 rz(0.7063901684965722) 54 +1 rz(-0.7750964509509387) 46 +1 rz(0.9619956872914577) 56 +1 rz(-0.8310454946335954) 48 +1 rz(0.8149432193242095) 58 +1 rz(0.568448771120722) 51 +1 rz(-0.5458328527656618) 61 +1 rz(0.46444025457872556) 53 +1 rz(-0.8641681946768033) 63 +1 rz(0.33639050361710615) 55 +1 rz(-0.4121311900075394) 65 +1 rz(0.881176970884841) 57 +1 rz(-0.8199816956867351) 67 +1 rz(-0.5174631371535426) 62 +1 rz(0.5093922035705379) 72 +1 rz(-0.2684453761112637) 64 +1 rz(0.26751780455859997) 74 +1 rz(0.7883616255904944) 66 +1 rz(0.9304903862480522) 76 +1 rz(0.5471409474788239) 73 +1 rz(-0.5891117186780521) 83 +1 rz(0.7384907660505857) 75 +1 rz(-0.7451407522809496) 85 +1 rz(-0.1830293948567971) 84 +1 rz(-0.1757017537984857) 94 +2 fsim(0.48248590238931144, 0.17720711726780922) 6 16 +2 fsim(0.4831173807612162, 0.1575031878359891) 15 25 +2 fsim(0.5104652445279683, 0.1518018478533972) 17 27 +2 fsim(0.483109325847836, 0.16101107882693258) 24 34 +2 fsim(0.48552394043342284, 0.14819609246068247) 26 36 +2 fsim(0.5137841338574078, 0.15735440433706077) 28 38 +2 fsim(0.49264217592278786, 0.14098000393237992) 33 43 +2 fsim(0.48501709381128927, 0.14949793435121178) 35 45 +2 fsim(0.48656355637175525, 0.18260338861410977) 37 47 +2 fsim(0.49284428894552623, 0.15792655003519906) 39 49 +2 fsim(0.521298630708583, 0.21928323341492764) 42 52 +2 fsim(0.486998183067378, 0.15361268278864498) 44 54 +2 fsim(0.486390931075892, 0.1626489398497966) 46 56 +2 fsim(0.4813094673968524, 0.15327107428645925) 48 58 +2 fsim(0.47975471412767756, 0.16199668846067358) 51 61 +2 fsim(0.492110274286689, 0.1687807392184565) 53 63 +2 fsim(0.4827686976879951, 0.14378566187650293) 55 65 +2 fsim(0.46465889570960195, 0.13416717007279197) 57 67 +2 fsim(0.48881240027593537, 0.14984846721738163) 62 72 +2 fsim(0.4831873565264152, 0.16620074089526124) 64 74 +2 fsim(0.4764882949770173, 0.13770458644228914) 66 76 +2 fsim(0.48112498558227507, 0.15642764309600338) 73 83 +2 fsim(0.47456208123909566, 0.15553396824213445) 75 85 +2 fsim(0.5144705816268026, 0.1596097876378056) 84 94 +3 rz(-0.7618064157555159) 6 +3 rz(0.827624486222322) 16 +3 rz(0.677790595837605) 15 +3 rz(0.8388149512324528) 25 +3 rz(0.34915411632258214) 17 +3 rz(-0.13184269073487556) 27 +3 rz(0.4610625765182105) 24 +3 rz(-0.4290048089648583) 34 +3 rz(0.6641998401797986) 26 +3 rz(-0.6836815109950266) 36 +3 rz(0.026240452181357746) 28 +3 rz(0.025162560133639312) 38 +3 rz(0.9071761579568303) 33 +3 rz(0.9542828047288932) 43 +3 rz(-0.46145806100291004) 35 +3 rz(0.5333606889898155) 45 +3 rz(0.5128100748460089) 37 +3 rz(-0.4960403752988061) 47 +3 rz(0.5829645187562967) 39 +3 rz(-0.5762537932055181) 49 +3 rz(0.022811401598836913) 42 +3 rz(-0.019607135820559906) 52 +3 rz(0.8523020333228131) 44 +3 rz(-0.8990114107667992) 54 +3 rz(0.9352866185158868) 46 +3 rz(-0.7483873821753678) 56 +3 rz(-0.9220101925888569) 48 +3 rz(0.9059079172794712) 58 +3 rz(0.7039221690166656) 51 +3 rz(-0.6813062506616053) 61 +3 rz(0.6965073865506469) 53 +3 rz(0.9037646733512754) 63 +3 rz(-0.45310524873049973) 55 +3 rz(0.3773645623400665) 65 +3 rz(0.42017342300456634) 57 +3 rz(-0.3589781478064599) 67 +3 rz(0.9534707755965702) 62 +3 rz(-0.9615417091795746) 72 +3 rz(0.5368636250628501) 64 +3 rz(-0.5377911966155139) 74 +3 rz(0.5123942238917779) 66 +3 rz(-0.7935422120532315) 76 +3 rz(-0.7898684772427236) 73 +3 rz(0.7478977060434954) 83 +3 rz(-0.8571455144841159) 75 +3 rz(0.8504955282537521) 85 +3 rz(0.9094649565590708) 84 +3 rz(0.7318038947856463) 94 +4 y_1_2 5 +4 y_1_2 6 +4 y_1_2 14 +4 x_1_2 15 +4 x_1_2 16 +4 x_1_2 17 +4 x_1_2 24 +4 x_1_2 25 +4 y_1_2 26 +4 hz_1_2 27 +4 x_1_2 28 +4 x_1_2 32 +4 y_1_2 33 +4 x_1_2 34 +4 y_1_2 35 +4 hz_1_2 36 +4 hz_1_2 37 +4 y_1_2 38 +4 y_1_2 39 +4 hz_1_2 41 +4 y_1_2 42 +4 y_1_2 43 +4 hz_1_2 44 +4 y_1_2 45 +4 y_1_2 46 +4 hz_1_2 47 +4 x_1_2 48 +4 hz_1_2 49 +4 y_1_2 50 +4 y_1_2 51 +4 y_1_2 52 +4 y_1_2 53 +4 hz_1_2 54 +4 hz_1_2 55 +4 y_1_2 56 +4 x_1_2 57 +4 x_1_2 58 +4 x_1_2 61 +4 y_1_2 62 +4 x_1_2 63 +4 y_1_2 64 +4 hz_1_2 65 +4 hz_1_2 66 +4 y_1_2 67 +4 y_1_2 72 +4 x_1_2 73 +4 hz_1_2 74 +4 y_1_2 75 +4 x_1_2 76 +4 x_1_2 83 +4 x_1_2 84 +4 y_1_2 85 +4 hz_1_2 94 +5 rz(0.07221640979880403) 5 +5 rz(0.17734365608174887) 15 +5 rz(-0.7166427083722222) 14 +5 rz(0.717673588252228) 24 +5 rz(-0.1312926423470736) 16 +5 rz(0.13158529074665537) 26 +5 rz(0.7500367576549269) 25 +5 rz(-0.31797150857789674) 35 +5 rz(-0.8756735306896725) 27 +5 rz(-0.9327732133062662) 37 +5 rz(0.7071565092929694) 32 +5 rz(-0.6264998637477406) 42 +5 rz(0.82790347048799) 34 +5 rz(-0.8594778743809006) 44 +5 rz(0.8064559428449068) 36 +5 rz(-0.7629602352736249) 46 +5 rz(-0.23630732076940514) 38 +5 rz(0.25438180016733336) 48 +5 rz(0.6476084230939583) 41 +5 rz(-0.6528339440806201) 51 +5 rz(-0.20879565669998532) 43 +5 rz(-0.26053049452558324) 53 +5 rz(-0.7777343640360711) 45 +5 rz(0.8805385932920736) 55 +5 rz(-0.5137630264839785) 47 +5 rz(0.48179097076948874) 57 +5 rz(0.7693840211762448) 52 +5 rz(-0.7680082232923118) 62 +5 rz(0.14188452450562264) 54 +5 rz(-0.1339396318115881) 64 +5 rz(-0.95616894502165) 56 +5 rz(-0.9015807139989003) 66 +5 rz(-0.3168365530459615) 63 +5 rz(0.2898226701533191) 73 +5 rz(-0.32361247881294825) 65 +5 rz(0.27931184143712456) 75 +5 rz(0.884543382731205) 74 +5 rz(-0.8540367322639986) 84 +6 fsim(0.4836037489865321, 0.15720448517258814) 5 15 +6 fsim(0.4813027746287272, 0.16589400016587655) 14 24 +6 fsim(0.5141011050173628, 0.23139995996898027) 16 26 +6 fsim(0.4860333525890109, 0.1603093406600409) 25 35 +6 fsim(0.48318175023922383, 0.1564279262034107) 27 37 +6 fsim(0.4893783671604143, 0.1436061569230382) 32 42 +6 fsim(0.4885622789540625, 0.14820473190374475) 34 44 +6 fsim(0.48365869422848307, 0.16133729898079696) 36 46 +6 fsim(0.5035633150535174, 0.17812225242391694) 38 48 +6 fsim(0.47971143268846445, 0.14388623656266197) 41 51 +6 fsim(0.48615849941720374, 0.1566149748128868) 43 53 +6 fsim(0.4819082002062166, 0.14615816911657503) 45 55 +6 fsim(0.4909994945412715, 0.16098322131650447) 47 57 +6 fsim(0.4912337946314961, 0.18012457108936253) 52 62 +6 fsim(0.46508517467774446, 0.17301578991022867) 54 64 +6 fsim(0.4625029911035914, 0.13951781372243774) 56 66 +6 fsim(0.5169231411118692, 0.15867863143208272) 63 73 +6 fsim(0.4737902812504438, 0.15803377395648677) 65 75 +6 fsim(0.47857129167400153, 0.15930690639357745) 74 84 +7 rz(0.10267615219883607) 5 +7 rz(0.14688391368171685) 15 +7 rz(0.5303948572093229) 14 +7 rz(-0.529363977329317) 24 +7 rz(-0.6623304931849363) 16 +7 rz(0.6626231415845181) 26 +7 rz(0.06783382350879162) 25 +7 rz(0.36423142556823856) 35 +7 rz(-0.9730909692986618) 27 +7 rz(-0.8353557746972768) 37 +7 rz(-0.5361169534193021) 32 +7 rz(0.6167735989645307) 42 +7 rz(-0.6122117071342573) 34 +7 rz(0.5806373032413467) 44 +7 rz(0.968052322606287) 36 +7 rz(-0.9245566150350051) 46 +7 rz(-0.6534917441628949) 38 +7 rz(0.6715662235608231) 48 +7 rz(-0.7407238202696524) 41 +7 rz(0.7354982992829906) 51 +7 rz(-0.06340668623729523) 43 +7 rz(-0.40591946498827336) 53 +7 rz(-0.4557556128718794) 45 +7 rz(0.558559842127882) 55 +7 rz(0.923796560084577) 47 +7 rz(-0.9557686157990668) 57 +7 rz(0.6313087990584325) 52 +7 rz(-0.6299330011745) 62 +7 rz(-0.20274234705300925) 54 +7 rz(0.21068723974704434) 64 +7 rz(0.5124187849542257) 56 +7 rz(-0.3701684439747759) 66 +7 rz(-0.3038733131602001) 63 +7 rz(0.2768594302675577) 73 +7 rz(0.26284256852387516) 65 +7 rz(-0.3071432058996983) 75 +7 rz(0.7502523839911145) 74 +7 rz(-0.719745733523908) 84 +8 x_1_2 5 +8 x_1_2 6 +8 x_1_2 14 +8 hz_1_2 15 +8 hz_1_2 16 +8 y_1_2 17 +8 hz_1_2 24 +8 hz_1_2 25 +8 x_1_2 26 +8 y_1_2 27 +8 y_1_2 28 +8 y_1_2 32 +8 x_1_2 33 +8 y_1_2 34 +8 x_1_2 35 +8 y_1_2 36 +8 y_1_2 37 +8 x_1_2 38 +8 x_1_2 39 +8 y_1_2 41 +8 hz_1_2 42 +8 x_1_2 43 +8 x_1_2 44 +8 x_1_2 45 +8 hz_1_2 46 +8 y_1_2 47 +8 y_1_2 48 +8 y_1_2 49 +8 hz_1_2 50 +8 hz_1_2 51 +8 x_1_2 52 +8 x_1_2 53 +8 x_1_2 54 +8 x_1_2 55 +8 x_1_2 56 +8 hz_1_2 57 +8 hz_1_2 58 +8 y_1_2 61 +8 hz_1_2 62 +8 y_1_2 63 +8 hz_1_2 64 +8 x_1_2 65 +8 x_1_2 66 +8 hz_1_2 67 +8 x_1_2 72 +8 hz_1_2 73 +8 y_1_2 74 +8 x_1_2 75 +8 hz_1_2 76 +8 hz_1_2 83 +8 hz_1_2 84 +8 x_1_2 85 +8 y_1_2 94 +9 rz(0.868874517623681) 5 +9 rz(-0.5062300204223075) 6 +9 rz(0.6874509025876478) 14 +9 rz(-0.6826684237245009) 15 +9 rz(0.3757979651191995) 16 +9 rz(-0.3369000264078134) 17 +9 rz(0.5165579149683887) 25 +9 rz(-0.9838406309684837) 26 +9 rz(0.6517543596020707) 27 +9 rz(-0.8938908007211287) 28 +9 rz(0.011576333256837757) 32 +9 rz(0.1994965304792813) 33 +9 rz(-0.5357402786793479) 34 +9 rz(0.5797224477448737) 35 +9 rz(0.6015756389470484) 36 +9 rz(-0.573317645438219) 37 +9 rz(0.3791786031325414) 38 +9 rz(-0.676931394322152) 39 +9 rz(0.6257613274555152) 41 +9 rz(-0.6210571332355261) 42 +9 rz(-0.45193657844083596) 43 +9 rz(0.16633011275543763) 44 +9 rz(-0.8632357323678501) 45 +9 rz(0.5580904452638696) 46 +9 rz(0.7226189706701976) 47 +9 rz(-0.7708292466716248) 48 +9 rz(-0.628899885711077) 50 +9 rz(0.8564821803203452) 51 +9 rz(-0.48600051750832335) 52 +9 rz(0.40704671139578114) 53 +9 rz(0.7509923227943213) 54 +9 rz(-0.7705635810307807) 55 +9 rz(0.5247429096711106) 56 +9 rz(-0.31560248875795377) 57 +9 rz(0.4445283033807374) 61 +9 rz(-0.43843587057450184) 62 +9 rz(0.23079678484166474) 63 +9 rz(-0.24296757608244463) 64 +9 rz(-0.6933510795197081) 65 +9 rz(0.7747059716945244) 66 +9 rz(0.6297402023667946) 72 +9 rz(-0.650250406527777) 73 +9 rz(0.8327738427573091) 74 +9 rz(-0.8966188475674683) 75 +9 rz(0.12025352080627527) 83 +9 rz(-0.029370019547682955) 84 +10 fsim(0.49365264175466117, 0.15525133396347482) 5 6 +10 fsim(0.47303698530749166, 0.15851903504005288) 14 15 +10 fsim(0.4860239014600936, 0.16383319416244227) 16 17 +10 fsim(0.47760865431703853, 0.1722820082764079) 25 26 +10 fsim(0.509171230744336, 0.16804022614589761) 27 28 +10 fsim(0.488759902041367, 0.1333685928255776) 32 33 +10 fsim(0.4920570546033223, 0.16987541076683108) 34 35 +10 fsim(0.4982034875822141, 0.16859518356435038) 36 37 +10 fsim(0.5169469113973622, 0.15443156883098344) 38 39 +10 fsim(0.5100156470228439, 0.15919887714218442) 41 42 +10 fsim(0.5013161698221332, 0.16668826789830035) 43 44 +10 fsim(0.48505020747377536, 0.15126442409592716) 45 46 +10 fsim(0.4910557144645823, 0.16553543587639166) 47 48 +10 fsim(0.4531292444443958, 0.1672349617084543) 50 51 +10 fsim(0.4811161821494542, 0.14574797118653934) 52 53 +10 fsim(0.4892984073437459, 0.18061915843291854) 54 55 +10 fsim(0.4807798603179813, 0.1432020872458372) 56 57 +10 fsim(0.47699857306165455, 0.2028158162407915) 61 62 +10 fsim(0.47981318946926454, 0.15237439630820673) 63 64 +10 fsim(0.4737599636880325, 0.14788136570201332) 65 66 +10 fsim(0.4902284723641499, 0.1632425516276174) 72 73 +10 fsim(0.5048672988301155, 0.15248440735797275) 74 75 +10 fsim(0.49753578048082747, 0.15466472657491784) 83 84 +11 rz(-0.6542790087648793) 5 +11 rz(-0.9830764940337477) 6 +11 rz(-0.7079366355498636) 14 +11 rz(0.7127191144130105) 15 +11 rz(-0.5003181025167607) 16 +11 rz(0.5392160412281468) 17 +11 rz(-0.4944938908636658) 25 +11 rz(0.027211174863570817) 26 +11 rz(0.5893795615335414) 27 +11 rz(-0.831516002652599) 28 +11 rz(-0.21350946680641048) 32 +11 rz(0.42458233054252953) 33 +11 rz(-0.14729238052848453) 34 +11 rz(0.19127454959401033) 35 +11 rz(0.00982266418345571) 36 +11 rz(0.018435329325373753) 37 +11 rz(-0.2092460914861244) 38 +11 rz(-0.08850669970348643) 39 +11 rz(-0.04816660891478307) 41 +11 rz(0.05287080313477205) 42 +11 rz(-0.5144804279802232) 43 +11 rz(0.2288739622948249) 44 +11 rz(0.6539308607246773) 45 +11 rz(-0.9590761478286578) 46 +11 rz(-0.6105530873621177) 47 +11 rz(0.5623428113606904) 48 +11 rz(0.4541035216184288) 50 +11 rz(-0.22652122700916058) 51 +11 rz(-0.09920368129230818) 52 +11 rz(0.020249875179765953) 53 +11 rz(-0.7703835607337791) 54 +11 rz(0.7508123024973197) 55 +11 rz(-0.9299380908209051) 56 +11 rz(-0.8609214882659385) 57 +11 rz(-0.6603148238966917) 61 +11 rz(0.6664072567029273) 62 +11 rz(0.011997302735339959) 63 +11 rz(-0.02416809397611926) 64 +11 rz(0.7541471791694208) 65 +11 rz(-0.6727922869946045) 66 +11 rz(0.21828350563706272) 72 +11 rz(-0.2387937097980442) 73 +11 rz(0.8775865857149596) 74 +11 rz(-0.9414315905251189) 75 +11 rz(0.5077173122630191) 83 +11 rz(-0.4168338110044266) 84 +12 hz_1_2 5 +12 hz_1_2 6 +12 y_1_2 14 +12 x_1_2 15 +12 x_1_2 16 +12 x_1_2 17 +12 y_1_2 24 +12 x_1_2 25 +12 y_1_2 26 +12 x_1_2 27 +12 hz_1_2 28 +12 hz_1_2 32 +12 hz_1_2 33 +12 hz_1_2 34 +12 hz_1_2 35 +12 hz_1_2 36 +12 hz_1_2 37 +12 y_1_2 38 +12 y_1_2 39 +12 hz_1_2 41 +12 y_1_2 42 +12 hz_1_2 43 +12 hz_1_2 44 +12 y_1_2 45 +12 y_1_2 46 +12 x_1_2 47 +12 x_1_2 48 +12 x_1_2 49 +12 y_1_2 50 +12 x_1_2 51 +12 hz_1_2 52 +12 hz_1_2 53 +12 hz_1_2 54 +12 y_1_2 55 +12 hz_1_2 56 +12 x_1_2 57 +12 x_1_2 58 +12 x_1_2 61 +12 x_1_2 62 +12 hz_1_2 63 +12 x_1_2 64 +12 hz_1_2 65 +12 hz_1_2 66 +12 y_1_2 67 +12 hz_1_2 72 +12 y_1_2 73 +12 x_1_2 74 +12 hz_1_2 75 +12 y_1_2 76 +12 x_1_2 83 +12 y_1_2 84 +12 hz_1_2 85 +12 x_1_2 94 +13 rz(0.493850693839934) 15 +13 rz(-0.46824735745938767) 16 +13 rz(0.2984751103100736) 24 +13 rz(-0.7975917880942631) 25 +13 rz(-0.2590669520927105) 26 +13 rz(0.46553678230138035) 27 +13 rz(0.4922863320894708) 33 +13 rz(-0.4386037696673656) 34 +13 rz(-0.9729214362671511) 35 +13 rz(0.9612016987900408) 36 +13 rz(0.4556017204511883) 37 +13 rz(-0.4602146990123172) 38 +13 rz(-0.17115863024938213) 42 +13 rz(-0.07406694571515549) 43 +13 rz(-0.04747985536414887) 44 +13 rz(-0.0015617338005978266) 45 +13 rz(0.2389354663504067) 46 +13 rz(-0.2865947391710613) 47 +13 rz(-0.5880773071541381) 48 +13 rz(0.6362285069775276) 49 +13 rz(0.3964494752371541) 51 +13 rz(-0.38670528408761545) 52 +13 rz(0.011734933093958058) 53 +13 rz(0.0011415796799869179) 54 +13 rz(-0.5924971027747271) 55 +13 rz(0.6771826672314938) 56 +13 rz(-0.42942159755003484) 57 +13 rz(0.5342946187446849) 58 +13 rz(-0.8039587731906531) 62 +13 rz(0.6712120667598861) 63 +13 rz(-0.878510082642783) 64 +13 rz(0.8658791452001359) 65 +13 rz(-0.13314967964918875) 66 +13 rz(0.3134985834412089) 67 +13 rz(-0.13421982786758235) 73 +13 rz(0.14142059663243078) 74 +13 rz(-0.24729161215179005) 75 +13 rz(-0.1789596367298805) 76 +13 rz(0.7475635765288697) 84 +13 rz(-0.8844707307377268) 85 +14 fsim(0.4721504021115573, 0.15695816747993444) 15 16 +14 fsim(0.4825634211282305, 0.15867828327762148) 24 25 +14 fsim(0.48824316009376834, 0.15951491059929712) 26 27 +14 fsim(0.47115582838766157, 0.15190773431751792) 33 34 +14 fsim(0.48231141888350276, 0.1585063414575064) 35 36 +14 fsim(0.4865342593572244, 0.16427486274391248) 37 38 +14 fsim(0.5050345537310194, 0.15144542443009287) 42 43 +14 fsim(0.48807396570956973, 0.14318657147960762) 44 45 +14 fsim(0.48249755474463474, 0.14845262365278886) 46 47 +14 fsim(0.4980006261021947, 0.15119064727561662) 48 49 +14 fsim(0.4984695188566927, 0.18004531009583208) 51 52 +14 fsim(0.4842091684198735, 0.16094100162415842) 53 54 +14 fsim(0.48011792378547014, 0.1580141230640478) 55 56 +14 fsim(0.48023421368651875, 0.14013840287026855) 57 58 +14 fsim(0.49842022326892416, 0.15044767636993245) 62 63 +14 fsim(0.484447874980701, 0.16984474255103443) 64 65 +14 fsim(0.49342767762518064, 0.14018741526981413) 66 67 +14 fsim(0.47190475607081295, 0.21827595026961338) 73 74 +14 fsim(0.47561747564029094, 0.14608866678530144) 75 76 +14 fsim(0.49298021632342415, 0.14221762546243955) 84 85 +15 rz(-0.599747845729294) 15 +15 rz(0.6253511821098403) 16 +15 rz(0.9185238680705767) 24 +15 rz(0.5823594541452338) 25 +15 rz(0.017602831844571624) 26 +15 rz(0.18886699836409832) 27 +15 rz(-0.4113331864284153) 33 +15 rz(0.46501574885052055) 34 +15 rz(-0.7427018606296518) 35 +15 rz(0.7309821231525422) 36 +15 rz(-0.4572604632711416) 37 +15 rz(0.45264748471001387) 38 +15 rz(0.8287439256872393) 42 +15 rz(0.9260304983482223) 43 +15 rz(-0.5539049867836513) 44 +15 rz(0.5048633976189045) 45 +15 rz(0.17394491383358626) 46 +15 rz(-0.22160418665424148) 47 +15 rz(0.24017847920109392) 48 +15 rz(-0.19202727937770428) 49 +15 rz(-0.37039764324017677) 51 +15 rz(0.38014183438971544) 52 +15 rz(-0.34101503555577156) 53 +15 rz(0.35389154832971653) 54 +15 rz(0.6559023537995501) 55 +15 rz(-0.5712167893427836) 56 +15 rz(0.4498659567527707) 57 +15 rz(-0.34499293555812066) 58 +15 rz(0.4151204811787974) 62 +15 rz(-0.5478671876095643) 63 +15 rz(-0.6044391967350843) 64 +15 rz(0.5918082592924367) 65 +15 rz(-0.3382065832034761) 66 +15 rz(0.5185554869954963) 67 +15 rz(0.3976402333451519) 73 +15 rz(-0.3904394645803035) 74 +15 rz(0.44626364529659257) 75 +15 rz(-0.8725148941782631) 76 +15 rz(-0.7580489709662166) 84 +15 rz(0.6211418167573595) 85 +16 y_1_2 5 +16 x_1_2 6 +16 x_1_2 14 +16 y_1_2 15 +16 hz_1_2 16 +16 y_1_2 17 +16 x_1_2 24 +16 hz_1_2 25 +16 x_1_2 26 +16 hz_1_2 27 +16 y_1_2 28 +16 y_1_2 32 +16 x_1_2 33 +16 x_1_2 34 +16 y_1_2 35 +16 x_1_2 36 +16 x_1_2 37 +16 x_1_2 38 +16 x_1_2 39 +16 x_1_2 41 +16 hz_1_2 42 +16 x_1_2 43 +16 x_1_2 44 +16 hz_1_2 45 +16 hz_1_2 46 +16 y_1_2 47 +16 hz_1_2 48 +16 y_1_2 49 +16 hz_1_2 50 +16 y_1_2 51 +16 y_1_2 52 +16 y_1_2 53 +16 x_1_2 54 +16 x_1_2 55 +16 y_1_2 56 +16 hz_1_2 57 +16 hz_1_2 58 +16 y_1_2 61 +16 y_1_2 62 +16 x_1_2 63 +16 hz_1_2 64 +16 y_1_2 65 +16 x_1_2 66 +16 hz_1_2 67 +16 y_1_2 72 +16 hz_1_2 73 +16 y_1_2 74 +16 y_1_2 75 +16 hz_1_2 76 +16 hz_1_2 83 +16 x_1_2 84 +16 x_1_2 85 +16 hz_1_2 94 +17 rz(0.7988745176237023) 5 +17 rz(-0.43623002042232994) 6 +17 rz(0.6854509025876576) 14 +17 rz(-0.6806684237245106) 15 +17 rz(0.895797965119231) 16 +17 rz(-0.8569000264078449) 17 +17 rz(-0.5874420850315563) 25 +17 rz(0.1201593690314567) 26 +17 rz(-0.1662456403979169) 27 +17 rz(-0.07589080072114174) 28 +17 rz(-0.7304236667431359) 32 +17 rz(0.941496530479255) 33 +17 rz(0.20225972132064465) 34 +17 rz(-0.15827755225511886) 35 +17 rz(-0.4344243610529689) 36 +17 rz(0.46268235456179807) 37 +17 rz(-0.8068213968674496) 38 +17 rz(0.509068605677839) 39 +17 rz(-0.48423867254446107) 41 +17 rz(0.48894286676445003) 42 +17 rz(-0.15393657844081263) 43 +17 rz(-0.13166988724458512) 44 +17 rz(0.9167642676321308) 45 +17 rz(0.7780904452638893) 46 +17 rz(0.9446189706702058) 47 +17 rz(-0.9928292466716331) 48 +17 rz(0.5611001142888932) 50 +17 rz(-0.3335178196796271) 51 +17 rz(-0.9320005175083301) 52 +17 rz(0.8530467113957879) 53 +17 rz(-0.43500767720566996) 54 +17 rz(0.41543641896921035) 55 +17 rz(0.7467429096710533) 56 +17 rz(-0.5376024887578965) 57 +17 rz(0.2245283033807833) 61 +17 rz(-0.21843587057454775) 62 +17 rz(0.5287967848416878) 63 +17 rz(-0.5409675760824668) 64 +17 rz(0.6406489204802666) 65 +17 rz(-0.5592940283054504) 66 +17 rz(0.2577402023668132) 72 +17 rz(-0.278250406527795) 73 +17 rz(0.9067738427572684) 74 +17 rz(-0.9706188475674273) 75 +17 rz(-0.619746479193709) 83 +17 rz(0.710629980452301) 84 +18 fsim(0.49365264175466117, 0.15525133396347482) 5 6 +18 fsim(0.47303698530749166, 0.15851903504005288) 14 15 +18 fsim(0.4860239014600936, 0.16383319416244227) 16 17 +18 fsim(0.47760865431703853, 0.1722820082764079) 25 26 +18 fsim(0.509171230744336, 0.16804022614589761) 27 28 +18 fsim(0.488759902041367, 0.1333685928255776) 32 33 +18 fsim(0.4920570546033223, 0.16987541076683108) 34 35 +18 fsim(0.4982034875822141, 0.16859518356435038) 36 37 +18 fsim(0.5169469113973622, 0.15443156883098344) 38 39 +18 fsim(0.5100156470228439, 0.15919887714218442) 41 42 +18 fsim(0.5013161698221332, 0.16668826789830035) 43 44 +18 fsim(0.48505020747377536, 0.15126442409592716) 45 46 +18 fsim(0.4910557144645823, 0.16553543587639166) 47 48 +18 fsim(0.4531292444443958, 0.1672349617084543) 50 51 +18 fsim(0.4811161821494542, 0.14574797118653934) 52 53 +18 fsim(0.4892984073437459, 0.18061915843291854) 54 55 +18 fsim(0.4807798603179813, 0.1432020872458372) 56 57 +18 fsim(0.47699857306165455, 0.2028158162407915) 61 62 +18 fsim(0.47981318946926454, 0.15237439630820673) 63 64 +18 fsim(0.4737599636880325, 0.14788136570201332) 65 66 +18 fsim(0.4902284723641499, 0.1632425516276174) 72 73 +18 fsim(0.5048672988301155, 0.15248440735797275) 74 75 +18 fsim(0.49753578048082747, 0.15466472657491784) 83 84 +19 rz(-0.5842790087648996) 5 +19 rz(0.9469235059662741) 6 +19 rz(-0.7059366355498733) 14 +19 rz(0.7107191144130203) 15 +19 rz(0.9796818974832071) 16 +19 rz(-0.9407839587718211) 17 +19 rz(0.6095061091362723) 25 +19 rz(0.9232111748636281) 26 +19 rz(-0.5926204384664704) 27 +19 rz(0.35048399734741176) 28 +19 rz(0.5284905331935638) 32 +19 rz(-0.3174176694574447) 33 +19 rz(-0.8852923805284783) 34 +19 rz(0.929274549594004) 35 +19 rz(-0.9541773358165268) 36 +19 rz(0.9824353293253562) 37 +19 rz(0.9767539085138666) 38 +19 rz(0.7254933002965229) 39 +19 rz(-0.9381666089148069) 41 +19 rz(0.9428708031347959) 42 +19 rz(-0.8124804279802466) 43 +19 rz(0.5268739622948487) 44 +19 rz(0.8739308607246958) 45 +19 rz(0.8209238521713237) 46 +19 rz(-0.8325530873621259) 47 +19 rz(0.7843428113606987) 48 +19 rz(-0.7358964783815413) 50 +19 rz(0.9634787729908084) 51 +19 rz(0.34679631870769856) 52 +19 rz(-0.42575012482024077) 53 +19 rz(0.41561643926621195) 54 +19 rz(-0.43518769750267156) 55 +19 rz(0.8480619091791521) 56 +19 rz(-0.6389214882659956) 57 +19 rz(-0.4403148238967388) 61 +19 rz(0.4464072567029743) 62 +19 rz(-0.28600269726468336) 63 +19 rz(0.27383190602390434) 64 +19 rz(-0.579852820830554) 65 +19 rz(0.6612077130053702) 66 +19 rz(0.590283505637045) 72 +19 rz(-0.6107937097980273) 73 +19 rz(0.8035865857150007) 74 +19 rz(-0.8674315905251597) 75 +19 rz(-0.7522826877369967) 83 +19 rz(0.8431661889955893) 84 +20 x_1_2 5 +20 y_1_2 6 +20 hz_1_2 14 +20 hz_1_2 15 +20 y_1_2 16 +20 x_1_2 17 +20 y_1_2 24 +20 x_1_2 25 +20 y_1_2 26 +20 y_1_2 27 +20 hz_1_2 28 +20 hz_1_2 32 +20 hz_1_2 33 +20 hz_1_2 34 +20 x_1_2 35 +20 y_1_2 36 +20 y_1_2 37 +20 hz_1_2 38 +20 y_1_2 39 +20 y_1_2 41 +20 y_1_2 42 +20 y_1_2 43 +20 y_1_2 44 +20 y_1_2 45 +20 x_1_2 46 +20 hz_1_2 47 +20 y_1_2 48 +20 x_1_2 49 +20 y_1_2 50 +20 hz_1_2 51 +20 x_1_2 52 +20 hz_1_2 53 +20 y_1_2 54 +20 y_1_2 55 +20 hz_1_2 56 +20 x_1_2 57 +20 y_1_2 58 +20 hz_1_2 61 +20 hz_1_2 62 +20 hz_1_2 63 +20 x_1_2 64 +20 hz_1_2 65 +20 hz_1_2 66 +20 x_1_2 67 +20 hz_1_2 72 +20 x_1_2 73 +20 x_1_2 74 +20 x_1_2 75 +20 x_1_2 76 +20 x_1_2 83 +20 y_1_2 84 +20 y_1_2 85 +20 y_1_2 94 +21 rz(0.6438506938399094) 15 +21 rz(-0.618247357459362) 16 +21 rz(0.07047511031002901) 24 +21 rz(-0.5695917880942174) 25 +21 rz(-0.4070669520927599) 26 +21 rz(0.6135367823014299) 27 +21 rz(0.5682863320894853) 33 +21 rz(-0.5146037696673801) 34 +21 rz(0.28907856373285357) 35 +21 rz(-0.30079830120996326) 36 +21 rz(0.6756017204512074) 37 +21 rz(-0.6802146990123358) 38 +21 rz(-0.6911586302494148) 42 +21 rz(0.44593305428487634) 43 +21 rz(0.39452014463587903) 44 +21 rz(-0.44356173380062575) 45 +21 rz(-0.4290645336496083) 46 +21 rz(0.38140526082895393) 47 +21 rz(-0.5160773071541702) 48 +21 rz(0.564228506977561) 49 +21 rz(0.6204494752371521) 51 +21 rz(-0.6107052840876123) 52 +21 rz(-0.9502650669060344) 53 +21 rz(0.9631415796799797) 54 +21 rz(0.8895028972252971) 55 +21 rz(-0.8048173327685305) 56 +21 rz(0.6805784024500074) 57 +21 rz(-0.5757053812553574) 58 +21 rz(-0.8799587731906682) 62 +21 rz(0.7472120667599012) 63 +21 rz(-0.5825100826428156) 64 +21 rz(0.5698791452001684) 65 +21 rz(0.9028503203508277) 66 +21 rz(-0.7225014165588084) 67 +21 rz(0.3857801721324489) 73 +21 rz(-0.3785794033676002) 74 +21 rz(-0.10329161215178768) 75 +21 rz(-0.3229596367298828) 76 +21 rz(0.3035635765288527) 84 +21 rz(-0.4404707307377103) 85 +22 fsim(0.4721504021115573, 0.15695816747993444) 15 16 +22 fsim(0.4825634211282305, 0.15867828327762148) 24 25 +22 fsim(0.48824316009376834, 0.15951491059929712) 26 27 +22 fsim(0.47115582838766157, 0.15190773431751792) 33 34 +22 fsim(0.48231141888350276, 0.1585063414575064) 35 36 +22 fsim(0.4865342593572244, 0.16427486274391248) 37 38 +22 fsim(0.5050345537310194, 0.15144542443009287) 42 43 +22 fsim(0.48807396570956973, 0.14318657147960762) 44 45 +22 fsim(0.48249755474463474, 0.14845262365278886) 46 47 +22 fsim(0.4980006261021947, 0.15119064727561662) 48 49 +22 fsim(0.4984695188566927, 0.18004531009583208) 51 52 +22 fsim(0.4842091684198735, 0.16094100162415842) 53 54 +22 fsim(0.48011792378547014, 0.1580141230640478) 55 56 +22 fsim(0.48023421368651875, 0.14013840287026855) 57 58 +22 fsim(0.49842022326892416, 0.15044767636993245) 62 63 +22 fsim(0.484447874980701, 0.16984474255103443) 64 65 +22 fsim(0.49342767762518064, 0.14018741526981413) 66 67 +22 fsim(0.47190475607081295, 0.21827595026961338) 73 74 +22 fsim(0.47561747564029094, 0.14608866678530144) 75 76 +22 fsim(0.49298021632342415, 0.14221762546243955) 84 85 +23 rz(-0.7497478457292671) 15 +23 rz(0.7753511821098146) 16 +23 rz(-0.8534761319293775) 24 +23 rz(0.35435945414518916) 25 +23 rz(0.16560283184462107) 26 +23 rz(0.04086699836404887) 27 +23 rz(-0.4873331864284298) 33 +23 rz(0.541015748850535) 34 +23 rz(-0.0047018606296570335) 35 +23 rz(-0.007017876847452668) 36 +23 rz(-0.6772604632711591) 37 +23 rz(0.6726474847100307) 38 +23 rz(-0.6512560743127291) 42 +23 rz(0.40603049834819016) 43 +23 rz(-0.9959049867836792) 44 +23 rz(0.9468633976189325) 45 +23 rz(0.8419449138336009) 46 +23 rz(-0.8896041866542553) 47 +23 rz(0.16817847920112608) 48 +23 rz(-0.12002727937773534) 49 +23 rz(-0.5943976432401735) 51 +23 rz(0.6041418343897134) 52 +23 rz(0.6209849644442211) 53 +23 rz(-0.6081084516702759) 54 +23 rz(-0.8260976462004742) 55 +23 rz(0.9107832106572408) 56 +23 rz(-0.6601340432472717) 57 +23 rz(0.7650070644419217) 58 +23 rz(0.49112048117881246) 62 +23 rz(-0.6238671876095794) 63 +23 rz(-0.9004391967350515) 64 +23 rz(0.8878082592924043) 65 +23 rz(0.6257934167965067) 66 +23 rz(-0.4454445130044874) 67 +23 rz(-0.12235976665487905) 73 +23 rz(0.12956053541972776) 74 +23 rz(0.30226364529658795) 75 +23 rz(-0.7285148941782584) 76 +23 rz(-0.31404897096620005) 84 +23 rz(0.17714181675734245) 85 +24 hz_1_2 5 +24 x_1_2 6 +24 y_1_2 14 +24 y_1_2 15 +24 x_1_2 16 +24 hz_1_2 17 +24 x_1_2 24 +24 hz_1_2 25 +24 x_1_2 26 +24 hz_1_2 27 +24 y_1_2 28 +24 y_1_2 32 +24 x_1_2 33 +24 x_1_2 34 +24 hz_1_2 35 +24 x_1_2 36 +24 hz_1_2 37 +24 x_1_2 38 +24 hz_1_2 39 +24 x_1_2 41 +24 x_1_2 42 +24 x_1_2 43 +24 hz_1_2 44 +24 x_1_2 45 +24 y_1_2 46 +24 x_1_2 47 +24 hz_1_2 48 +24 hz_1_2 49 +24 x_1_2 50 +24 x_1_2 51 +24 hz_1_2 52 +24 x_1_2 53 +24 x_1_2 54 +24 hz_1_2 55 +24 x_1_2 56 +24 y_1_2 57 +24 x_1_2 58 +24 x_1_2 61 +24 y_1_2 62 +24 y_1_2 63 +24 y_1_2 64 +24 x_1_2 65 +24 x_1_2 66 +24 y_1_2 67 +24 x_1_2 72 +24 hz_1_2 73 +24 hz_1_2 74 +24 hz_1_2 75 +24 y_1_2 76 +24 hz_1_2 83 +24 hz_1_2 84 +24 hz_1_2 85 +24 x_1_2 94 +25 rz(-0.5516614516047799) 6 +25 rz(0.6174795220715865) 16 +25 rz(-0.4327711187160072) 15 +25 rz(-0.05062333421393557) 25 +25 rz(0.3177840441511373) 17 +25 rz(-0.10047261856343086) 27 +25 rz(0.5094803678807461) 24 +25 rz(-0.477422600327394) 34 +25 rz(-0.6408765210346724) 26 +25 rz(0.6213948502194439) 36 +25 rz(-0.7032192054252008) 28 +25 rz(0.754622217740198) 38 +25 rz(-0.9073671101422918) 33 +25 rz(0.7688260728280146) 43 +25 rz(-0.8617637363416806) 35 +25 rz(0.9336663643285862) 45 +25 rz(-0.3929732311767222) 37 +25 rz(0.4097429307239244) 47 +25 rz(0.0552051208550207) 39 +25 rz(-0.04849439530424264) 49 +25 rz(0.9954710267271799) 42 +25 rz(-0.9922667609489023) 52 +25 rz(-0.08109954594056305) 44 +25 rz(0.03439016849657811) 54 +25 rz(0.11890354904913102) 46 +25 rz(0.06799568729138893) 56 +25 rz(-0.6030454946335517) 48 +25 rz(0.5869432193241655) 58 +25 rz(-0.9975512288793414) 51 +25 rz(-0.9798328527655973) 61 +25 rz(0.676440254578787) 53 +25 rz(0.9238318053231387) 63 +25 rz(0.7743905036170879) 55 +25 rz(-0.8501311900075205) 65 +25 rz(-0.6828230291151024) 57 +25 rz(0.7440183043132079) 67 +25 rz(-0.06546313715369771) 62 +25 rz(0.05739220357069274) 72 +25 rz(-0.03844537611129621) 64 +25 rz(0.037517804558631546) 74 +25 rz(0.782361625590525) 66 +25 rz(0.9364903862480225) 76 +25 rz(0.7611409474788069) 73 +25 rz(-0.8031117186780351) 83 +25 rz(-0.38150923394940456) 75 +25 rz(0.37485924771904144) 85 +25 rz(0.03297060514310833) 84 +25 rz(-0.3917017537983911) 94 +26 fsim(0.48248590238931144, 0.17720711726780922) 6 16 +26 fsim(0.4831173807612162, 0.1575031878359891) 15 25 +26 fsim(0.5104652445279683, 0.1518018478533972) 17 27 +26 fsim(0.483109325847836, 0.16101107882693258) 24 34 +26 fsim(0.48552394043342284, 0.14819609246068247) 26 36 +26 fsim(0.5137841338574078, 0.15735440433706077) 28 38 +26 fsim(0.49264217592278786, 0.14098000393237992) 33 43 +26 fsim(0.48501709381128927, 0.14949793435121178) 35 45 +26 fsim(0.48656355637175525, 0.18260338861410977) 37 47 +26 fsim(0.49284428894552623, 0.15792655003519906) 39 49 +26 fsim(0.521298630708583, 0.21928323341492764) 42 52 +26 fsim(0.486998183067378, 0.15361268278864498) 44 54 +26 fsim(0.486390931075892, 0.1626489398497966) 46 56 +26 fsim(0.4813094673968524, 0.15327107428645925) 48 58 +26 fsim(0.47975471412767756, 0.16199668846067358) 51 61 +26 fsim(0.492110274286689, 0.1687807392184565) 53 63 +26 fsim(0.4827686976879951, 0.14378566187650293) 55 65 +26 fsim(0.46465889570960195, 0.13416717007279197) 57 67 +26 fsim(0.48881240027593537, 0.14984846721738163) 62 72 +26 fsim(0.4831873565264152, 0.16620074089526124) 64 74 +26 fsim(0.4764882949770173, 0.13770458644228914) 66 76 +26 fsim(0.48112498558227507, 0.15642764309600338) 73 83 +26 fsim(0.47456208123909566, 0.15553396824213445) 75 85 +26 fsim(0.5144705816268026, 0.1596097876378056) 84 94 +27 rz(0.5641935842445645) 6 +27 rz(-0.4983755137777578) 16 +27 rz(0.24179059583774581) 15 +27 rz(-0.7251850487676863) 25 +27 rz(-0.32084588367729194) 17 +27 rz(0.5381573092649984) 27 +27 rz(0.019062576518183987) 24 +27 rz(0.01299519103516814) 34 +27 rz(0.22619984017981742) 26 +27 rz(-0.2456815109950459) 36 +27 rz(-0.8617595478187416) 28 +27 rz(0.9131625601337389) 38 +27 rz(0.24317615795692585) 33 +27 rz(-0.38171719527120296) 43 +27 rz(-0.9034580610029361) 35 +27 rz(0.9753606889898416) 45 +27 rz(-0.5871899251539519) 37 +27 rz(0.603959624701154) 47 +27 rz(-0.29703548124351364) 39 +27 rz(0.3037462067942906) 49 +27 rz(-0.20718859840113155) 42 +27 rz(0.2103928641794091) 52 +27 rz(0.18030203332281788) 44 +27 rz(-0.2270114107668028) 54 +27 rz(0.04128661851581855) 46 +27 rz(0.1456126178247014) 56 +27 rz(0.8499898074110996) 48 +27 rz(-0.8660920827204859) 58 +27 rz(0.26992216901673105) 51 +27 rz(-0.24730625066166856) 61 +27 rz(0.4845073865505883) 53 +27 rz(-0.8842353266486614) 63 +27 rz(-0.8911052487304801) 55 +27 rz(0.8153645623400477) 65 +27 rz(-0.0158265769954911) 57 +27 rz(0.07702185219359665) 67 +27 rz(0.5014707755967253) 62 +27 rz(-0.5095417091797303) 72 +27 rz(0.3068636250628814) 64 +27 rz(-0.30779119661554605) 74 +27 rz(0.5183942238917469) 66 +27 rz(-0.7995422120531994) 76 +27 rz(0.9961315227572937) 73 +27 rz(0.9618977060434781) 83 +27 rz(0.26285448551587504) 75 +27 rz(-0.26950447174623815) 85 +27 rz(0.6934649565591651) 84 +27 rz(0.947803894785552) 94 +28 x_1_2 5 +28 hz_1_2 6 +28 x_1_2 14 +28 hz_1_2 15 +28 y_1_2 16 +28 x_1_2 17 +28 y_1_2 24 +28 y_1_2 25 +28 hz_1_2 26 +28 y_1_2 27 +28 hz_1_2 28 +28 hz_1_2 32 +28 hz_1_2 33 +28 hz_1_2 34 +28 y_1_2 35 +28 hz_1_2 36 +28 y_1_2 37 +28 y_1_2 38 +28 x_1_2 39 +28 y_1_2 41 +28 y_1_2 42 +28 hz_1_2 43 +28 x_1_2 44 +28 y_1_2 45 +28 x_1_2 46 +28 y_1_2 47 +28 y_1_2 48 +28 x_1_2 49 +28 hz_1_2 50 +28 y_1_2 51 +28 y_1_2 52 +28 y_1_2 53 +28 hz_1_2 54 +28 x_1_2 55 +28 hz_1_2 56 +28 x_1_2 57 +28 hz_1_2 58 +28 hz_1_2 61 +28 hz_1_2 62 +28 x_1_2 63 +28 x_1_2 64 +28 hz_1_2 65 +28 y_1_2 66 +28 x_1_2 67 +28 y_1_2 72 +28 y_1_2 73 +28 y_1_2 74 +28 y_1_2 75 +28 x_1_2 76 +28 x_1_2 83 +28 x_1_2 84 +28 x_1_2 85 +28 y_1_2 94 +29 rz(0.08621640979886422) 5 +29 rz(0.16334365608168644) 15 +29 rz(0.3973572916277998) 14 +29 rz(-0.396326411747794) 24 +29 rz(0.5427073576530422) 16 +29 rz(-0.5424147092534605) 26 +29 rz(0.09003675765506945) 25 +29 rz(0.34202849142196157) 35 +29 rz(0.8983264693104055) 27 +29 rz(-0.7067732133063435) 37 +29 rz(0.705156509293045) 32 +29 rz(-0.6244998637478164) 42 +29 rz(0.15790347048791883) 34 +29 rz(-0.18947787438082972) 44 +29 rz(0.8024559428448615) 36 +29 rz(-0.7589602352735803) 46 +29 rz(0.8696926792305255) 38 +29 rz(-0.8516181998325968) 48 +29 rz(0.8756084230940031) 41 +29 rz(-0.8808339440806644) 51 +29 rz(0.24320434330005752) 43 +29 rz(-0.7125304945256264) 53 +29 rz(-0.9897343640361297) 45 +29 rz(-0.9074614067078688) 55 +29 rz(-0.9497630264840345) 47 +29 rz(0.9177909707695425) 57 +29 rz(-0.12861597882367556) 52 +29 rz(0.1299917767076041) 62 +29 rz(0.13388452450572944) 54 +29 rz(-0.12593963181169407) 64 +29 rz(-0.9621689450218167) 56 +29 rz(-0.8955807139987333) 66 +29 rz(-0.7528365530460183) 63 +29 rz(0.7258226701533779) 73 +29 rz(-0.7596124788130051) 65 +29 rz(0.7153118414371823) 75 +29 rz(-0.6814566172688604) 74 +29 rz(0.7119632677360634) 84 +30 fsim(0.4836037489865321, 0.15720448517258814) 5 15 +30 fsim(0.4813027746287272, 0.16589400016587655) 14 24 +30 fsim(0.5141011050173628, 0.23139995996898027) 16 26 +30 fsim(0.4860333525890109, 0.1603093406600409) 25 35 +30 fsim(0.48318175023922383, 0.1564279262034107) 27 37 +30 fsim(0.4893783671604143, 0.1436061569230382) 32 42 +30 fsim(0.4885622789540625, 0.14820473190374475) 34 44 +30 fsim(0.48365869422848307, 0.16133729898079696) 36 46 +30 fsim(0.5035633150535174, 0.17812225242391694) 38 48 +30 fsim(0.47971143268846445, 0.14388623656266197) 41 51 +30 fsim(0.48615849941720374, 0.1566149748128868) 43 53 +30 fsim(0.4819082002062166, 0.14615816911657503) 45 55 +30 fsim(0.4909994945412715, 0.16098322131650447) 47 57 +30 fsim(0.4912337946314961, 0.18012457108936253) 52 62 +30 fsim(0.46508517467774446, 0.17301578991022867) 54 64 +30 fsim(0.4625029911035914, 0.13951781372243774) 56 66 +30 fsim(0.5169231411118692, 0.15867863143208272) 63 73 +30 fsim(0.4737902812504438, 0.15803377395648677) 65 75 +30 fsim(0.47857129167400153, 0.15930690639357745) 74 84 +31 rz(0.08867615219877248) 5 +31 rz(0.16088391368177818) 15 +31 rz(-0.5836051427906996) 14 +31 rz(0.5846360226707056) 24 +31 rz(0.6636695068149479) 16 +31 rz(-0.6633768584153672) 26 +31 rz(0.7278338235086499) 25 +31 rz(-0.2957685744316189) 35 +31 rz(-0.7470909692987385) 27 +31 rz(0.9386442253028005) 37 +31 rz(-0.534116953419378) 32 +31 rz(0.6147735989646066) 42 +31 rz(0.057788292865813835) 34 +31 rz(-0.08936269675872473) 44 +31 rz(0.9720523226063322) 36 +31 rz(-0.9285566150350509) 46 +31 rz(0.24050825583717475) 38 +31 rz(-0.22243377643924597) 48 +31 rz(-0.968723820269696) 41 +31 rz(0.9634982992830347) 51 +31 rz(-0.5154066862373383) 43 +31 rz(0.04608053501176949) 53 +31 rz(-0.24375561287182076) 45 +31 rz(0.3465598421278222) 55 +31 rz(-0.6402034399153681) 47 +31 rz(0.608231384200875) 57 +31 rz(-0.4706912009416499) 52 +31 rz(0.4720669988255795) 62 +31 rz(-0.1947423470531135) 54 +31 rz(0.2026872397471489) 64 +31 rz(0.518418784954393) 56 +31 rz(-0.37616844397494287) 66 +31 rz(0.13212668683985648) 63 +31 rz(-0.15914056973249802) 73 +31 rz(0.698842568523934) 65 +31 rz(-0.7431432058997568) 75 +31 rz(0.3162523839911777) 74 +31 rz(-0.28574573352397464) 84 +32 hz_1_2 5 +32 x_1_2 6 +32 hz_1_2 14 +32 y_1_2 15 +32 x_1_2 16 +32 hz_1_2 17 +32 hz_1_2 24 +32 hz_1_2 25 +32 x_1_2 26 +32 x_1_2 27 +32 x_1_2 28 +32 y_1_2 32 +32 x_1_2 33 +32 x_1_2 34 +32 x_1_2 35 +32 y_1_2 36 +32 x_1_2 37 +32 hz_1_2 38 +32 y_1_2 39 +32 x_1_2 41 +32 x_1_2 42 +32 y_1_2 43 +32 hz_1_2 44 +32 hz_1_2 45 +32 hz_1_2 46 +32 x_1_2 47 +32 x_1_2 48 +32 hz_1_2 49 +32 x_1_2 50 +32 hz_1_2 51 +32 x_1_2 52 +32 hz_1_2 53 +32 x_1_2 54 +32 hz_1_2 55 +32 y_1_2 56 +32 y_1_2 57 +32 x_1_2 58 +32 x_1_2 61 +32 y_1_2 62 +32 hz_1_2 63 +32 y_1_2 64 +32 y_1_2 65 +32 x_1_2 66 +32 y_1_2 67 +32 hz_1_2 72 +32 x_1_2 73 +32 hz_1_2 74 +32 x_1_2 75 +32 hz_1_2 76 +32 hz_1_2 83 +32 y_1_2 84 +32 hz_1_2 85 +32 hz_1_2 94 +33 rz(-0.9936614516048078) 6 +33 rz(-0.9405204779283867) 16 +33 rz(0.37922888128394683) 15 +33 rz(-0.862623334213893) 25 +33 rz(-0.792215955848905) 17 +33 rz(-0.9904726185633891) 27 +33 rz(-0.6765196321192446) 24 +33 rz(0.7085773996725973) 34 +33 rz(-0.4948765210346792) 26 +33 rz(0.4753948502194507) 36 +33 rz(-0.40721920542516743) 28 +33 rz(0.45862221774016465) 38 +33 rz(-0.019367110142323812) 33 +33 rz(-0.11917392717195331) 43 +33 rz(-0.04776373634167188) 35 +33 rz(0.11966636432857744) 45 +33 rz(-0.6929732311767329) 37 +33 rz(0.7097429307239397) 47 +33 rz(-0.9847948791450413) 39 +33 rz(0.9915056046958216) 49 +33 rz(0.40547102672717017) 42 +33 rz(-0.40226676094889036) 52 +33 rz(0.14290045405943544) 44 +33 rz(-0.1896098315034204) 54 +33 rz(0.41690354904915433) 46 +33 rz(-0.23000431270863436) 56 +33 rz(-0.5270454946335372) 48 +33 rz(0.510943219324151) 58 +33 rz(0.48044877112063566) 51 +33 rz(-0.45783285276557767) 61 +33 rz(0.08044025457880374) 53 +33 rz(-0.48016819467688143) 63 +33 rz(0.9203905036170812) 55 +33 rz(-0.9961311900075136) 65 +33 rz(0.12917697088491722) 57 +33 rz(-0.06798169568681166) 67 +33 rz(-0.5814631371537482) 62 +33 rz(0.5733922035707443) 72 +33 rz(-0.6284453761113048) 64 +33 rz(0.6275178045586413) 74 +33 rz(0.7803616255905353) 66 +33 rz(0.9384903862480122) 76 +33 rz(-0.5008590525212017) 73 +33 rz(0.45888828132197124) 83 +33 rz(0.5784907660505968) 75 +33 rz(-0.5851407522809633) 85 +33 rz(0.10497060514307784) 84 +33 rz(-0.46370175379836065) 94 +34 fsim(0.48248590238931144, 0.17720711726780922) 6 16 +34 fsim(0.4831173807612162, 0.1575031878359891) 15 25 +34 fsim(0.5104652445279683, 0.1518018478533972) 17 27 +34 fsim(0.483109325847836, 0.16101107882693258) 24 34 +34 fsim(0.48552394043342284, 0.14819609246068247) 26 36 +34 fsim(0.5137841338574078, 0.15735440433706077) 28 38 +34 fsim(0.49264217592278786, 0.14098000393237992) 33 43 +34 fsim(0.48501709381128927, 0.14949793435121178) 35 45 +34 fsim(0.48656355637175525, 0.18260338861410977) 37 47 +34 fsim(0.49284428894552623, 0.15792655003519906) 39 49 +34 fsim(0.521298630708583, 0.21928323341492764) 42 52 +34 fsim(0.486998183067378, 0.15361268278864498) 44 54 +34 fsim(0.486390931075892, 0.1626489398497966) 46 56 +34 fsim(0.4813094673968524, 0.15327107428645925) 48 58 +34 fsim(0.47975471412767756, 0.16199668846067358) 51 61 +34 fsim(0.492110274286689, 0.1687807392184565) 53 63 +34 fsim(0.4827686976879951, 0.14378566187650293) 55 65 +34 fsim(0.46465889570960195, 0.13416717007279197) 57 67 +34 fsim(0.48881240027593537, 0.14984846721738163) 62 72 +34 fsim(0.4831873565264152, 0.16620074089526124) 64 74 +34 fsim(0.4764882949770173, 0.13770458644228914) 66 76 +34 fsim(0.48112498558227507, 0.15642764309600338) 73 83 +34 fsim(0.47456208123909566, 0.15553396824213445) 75 85 +34 fsim(0.5144705816268026, 0.1596097876378056) 84 94 +35 rz(-0.9938064157554087) 6 +35 rz(-0.9403755137777857) 16 +35 rz(-0.5702094041622093) 15 +35 rz(0.08681495123226317) 25 +35 rz(0.789154116322751) 17 +35 rz(-0.571842690735044) 27 +35 rz(-0.7949374234818247) 24 +35 rz(0.8269951910351775) 34 +35 rz(0.08019984017982425) 26 +35 rz(-0.09968151099505272) 36 +35 rz(0.8422404521812253) 28 +35 rz(-0.7908374398662281) 38 +35 rz(-0.6448238420430421) 33 +35 rz(0.506282804728765) 43 +35 rz(0.28254193899705515) 35 +35 rz(-0.21063931101014957) 45 +35 rz(-0.28718992515393654) 37 +35 rz(0.30395962470114324) 47 +35 rz(0.7429645187565517) 39 +35 rz(-0.7362537932057713) 49 +35 rz(0.3828114015988804) 42 +35 rz(-0.3796071358206017) 52 +35 rz(-0.043697966677180636) 44 +35 rz(-0.0030114107668043153) 54 +35 rz(-0.25671338148420475) 46 +35 rz(0.4436126178247247) 56 +35 rz(0.7739898074110851) 48 +35 rz(-0.7900920827204714) 58 +35 rz(0.7919221690167495) 51 +35 rz(-0.7693062506616914) 61 +35 rz(-0.919492613449433) 53 +35 rz(0.5197646733513552) 63 +35 rz(0.9628947512695266) 55 +35 rz(0.9613645623400409) 65 +35 rz(-0.8278265769955084) 57 +35 rz(0.889021852193614) 67 +35 rz(-0.9825292244032231) 62 +35 rz(0.9744582908202193) 72 +35 rz(0.8968636250628911) 64 +35 rz(-0.8977911966155546) 74 +35 rz(0.5203942238917367) 66 +35 rz(-0.801542212053188) 76 +35 rz(0.2581315227573) 73 +35 rz(-0.30010229395653043) 83 +35 rz(-0.6971455144841298) 75 +35 rz(0.6904955282537633) 85 +35 rz(0.6214649565591956) 84 +35 rz(-0.9801961052144784) 94 +36 x_1_2 5 +36 y_1_2 6 +36 x_1_2 14 +36 x_1_2 15 +36 y_1_2 16 +36 y_1_2 17 +36 x_1_2 24 +36 x_1_2 25 +36 y_1_2 26 +36 hz_1_2 27 +36 y_1_2 28 +36 hz_1_2 32 +36 y_1_2 33 +36 y_1_2 34 +36 y_1_2 35 +36 x_1_2 36 +36 hz_1_2 37 +36 x_1_2 38 +36 hz_1_2 39 +36 hz_1_2 41 +36 hz_1_2 42 +36 x_1_2 43 +36 y_1_2 44 +36 y_1_2 45 +36 x_1_2 46 +36 y_1_2 47 +36 y_1_2 48 +36 x_1_2 49 +36 y_1_2 50 +36 y_1_2 51 +36 hz_1_2 52 +36 x_1_2 53 +36 hz_1_2 54 +36 y_1_2 55 +36 hz_1_2 56 +36 x_1_2 57 +36 y_1_2 58 +36 hz_1_2 61 +36 hz_1_2 62 +36 x_1_2 63 +36 hz_1_2 64 +36 x_1_2 65 +36 hz_1_2 66 +36 hz_1_2 67 +36 x_1_2 72 +36 hz_1_2 73 +36 x_1_2 74 +36 y_1_2 75 +36 y_1_2 76 +36 y_1_2 83 +36 hz_1_2 84 +36 y_1_2 85 +36 y_1_2 94 +37 rz(-0.5757835902011161) 5 +37 rz(0.8253436560816667) 15 +37 rz(-0.5646427083721929) 14 +37 rz(0.5656735882521988) 24 +37 rz(0.10070735765308102) 16 +37 rz(-0.10041470925350265) 26 +37 rz(-0.1299632423448818) 25 +37 rz(0.5620284914219106) 35 +37 rz(0.15632646931043123) 27 +37 rz(0.03522678669363078) 37 +37 rz(-0.6288434907069298) 32 +37 rz(0.7095001362521582) 42 +37 rz(-0.732096529512105) 34 +37 rz(0.7005221256191941) 44 +37 rz(0.13445594284484547) 36 +37 rz(-0.09096023527356352) 46 +37 rz(0.5716926792305023) 38 +37 rz(-0.5536181998325734) 48 +37 rz(0.9516084230940176) 41 +37 rz(-0.9568339440806789) 51 +37 rz(-0.27279565669992845) 43 +37 rz(-0.1965304945256404) 53 +37 rz(-0.3937343640361464) 45 +37 rz(0.4965385932921524) 55 +37 rz(0.2382369735159425) 47 +37 rz(-0.2702090292304356) 57 +37 rz(0.905384021176354) 52 +37 rz(-0.9040082232924209) 62 +37 rz(0.7978845245057673) 54 +37 rz(-0.7899396318117285) 64 +37 rz(-0.964168945021872) 56 +37 rz(-0.893580713998678) 66 +37 rz(0.435163446953961) 63 +37 rz(-0.46217732984660476) 73 +37 rz(0.4283875211869742) 65 +37 rz(-0.4726881585628004) 75 +37 rz(0.7965433827311167) 74 +37 rz(-0.7660367322639136) 84 +38 fsim(0.4836037489865321, 0.15720448517258814) 5 15 +38 fsim(0.4813027746287272, 0.16589400016587655) 14 24 +38 fsim(0.5141011050173628, 0.23139995996898027) 16 26 +38 fsim(0.4860333525890109, 0.1603093406600409) 25 35 +38 fsim(0.48318175023922383, 0.1564279262034107) 27 37 +38 fsim(0.4893783671604143, 0.1436061569230382) 32 42 +38 fsim(0.4885622789540625, 0.14820473190374475) 34 44 +38 fsim(0.48365869422848307, 0.16133729898079696) 36 46 +38 fsim(0.5035633150535174, 0.17812225242391694) 38 48 +38 fsim(0.47971143268846445, 0.14388623656266197) 41 51 +38 fsim(0.48615849941720374, 0.1566149748128868) 43 53 +38 fsim(0.4819082002062166, 0.14615816911657503) 45 55 +38 fsim(0.4909994945412715, 0.16098322131650447) 47 57 +38 fsim(0.4912337946314961, 0.18012457108936253) 52 62 +38 fsim(0.46508517467774446, 0.17301578991022867) 54 64 +38 fsim(0.4625029911035914, 0.13951781372243774) 56 66 +38 fsim(0.5169231411118692, 0.15867863143208272) 63 73 +38 fsim(0.4737902812504438, 0.15803377395648677) 65 75 +38 fsim(0.47857129167400153, 0.15930690639357745) 74 84 +39 rz(0.7506761521987528) 5 +39 rz(-0.5011160863182021) 15 +39 rz(0.37839485720929306) 14 +39 rz(-0.3773639773292872) 24 +39 rz(-0.8943304931850955) 16 +39 rz(0.894623141584675) 26 +39 rz(0.9478338235086012) 25 +39 rz(-0.5157685744315735) 35 +39 rz(-0.005090969298765407) 27 +39 rz(0.19664422530282744) 37 +39 rz(0.7998830465805966) 32 +39 rz(-0.7192264010353682) 42 +39 rz(0.9477882928658377) 34 +39 rz(-0.9793626967587485) 44 +39 rz(-0.359947677393651) 36 +39 rz(0.403443384964933) 46 +39 rz(0.5385082558371981) 38 +39 rz(-0.5204337764392692) 48 +39 rz(0.9552761797302897) 41 +39 rz(-0.9605017007169508) 51 +39 rz(0.0005933137626453817) 43 +39 rz(-0.46991946498821424) 53 +39 rz(-0.8397556128717996) 45 +39 rz(0.9425598421278055) 55 +39 rz(0.17179656008465377) 47 +39 rz(-0.20376861579914693) 57 +39 rz(0.495308799058324) 52 +39 rz(-0.49393300117439093) 62 +39 rz(-0.858742347053148) 54 +39 rz(0.8666872397471868) 64 +39 rz(0.5204187849544483) 56 +39 rz(-0.37816844397499816) 66 +39 rz(0.9441266868398739) 63 +39 rz(-0.9711405697325176) 73 +39 rz(-0.4891574314760486) 65 +39 rz(0.44485679410022244) 75 +39 rz(0.8382523839912006) 74 +39 rz(-0.8077457335239976) 84 +40 hz_1_2 5 +40 x_1_2 6 +40 hz_1_2 14 +40 hz_1_2 15 +40 x_1_2 16 +40 x_1_2 17 +40 hz_1_2 24 +40 hz_1_2 25 +40 x_1_2 26 +40 y_1_2 27 +40 x_1_2 28 +40 x_1_2 32 +40 hz_1_2 33 +40 x_1_2 34 +40 x_1_2 35 +40 hz_1_2 36 +40 x_1_2 37 +40 hz_1_2 38 +40 x_1_2 39 +40 x_1_2 41 +40 x_1_2 42 +40 hz_1_2 43 +40 x_1_2 44 +40 x_1_2 45 +40 hz_1_2 46 +40 hz_1_2 47 +40 x_1_2 48 +40 hz_1_2 49 +40 x_1_2 50 +40 x_1_2 51 +40 y_1_2 52 +40 y_1_2 53 +40 y_1_2 54 +40 x_1_2 55 +40 x_1_2 56 +40 y_1_2 57 +40 x_1_2 58 +40 y_1_2 61 +40 y_1_2 62 +40 hz_1_2 63 +40 y_1_2 64 +40 y_1_2 65 +40 x_1_2 66 +40 y_1_2 67 +40 hz_1_2 72 +40 y_1_2 73 +40 hz_1_2 74 +40 x_1_2 75 +40 hz_1_2 76 +40 x_1_2 83 +40 x_1_2 84 +40 hz_1_2 85 +40 x_1_2 94 diff --git a/docs/src/transformations.md b/docs/src/transformations.md index 7036642e..53cdf0f5 100644 --- a/docs/src/transformations.md +++ b/docs/src/transformations.md @@ -1,14 +1,54 @@ # Transformations +In tensor network computations, it is good practice to apply various transformations to simplify the network structure, reduce computational cost, or prepare the network for further operations. These transformations modify the network's structure locally by permuting, contracting, factoring or truncating tensors. + +A crucial reason why these methods are indispensable lies in their ability to drastically reduce the problem size of the contraction path search and also the contraction. This doesn't necessarily involve reducing the maximum rank of the Tensor Network itself, but more importantly, it reduces the size (or rank) of the involved tensors. + +Our approach has been significantly inspired by the ideas presented in the [Quimb](https://quimb.readthedocs.io/) library, explained in [this paper](https://arxiv.org/pdf/2002.01935.pdf). + +In Tenet, we provide a set of predefined transformations which you can apply to your `TensorNetwork` using both the `transform`/`transform!` functions. + ```@docs transform transform! ``` +# Example +Here we show how can we reduce the complexity of the tensor network by applying a tranformation to it: +```@setup plot +using CairoMakie +CairoMakie.activate!(type = "svg") + +using Pkg +Pkg.add("QuacIO") +``` +```@example transformation +using QuacIO +using CairoMakie +using Tenet + +sites = [5, 6, 14, 15, 16, 17, 24, 25, 26, 27, 28, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 67, 72, 73, 74, 75, 76, 83, 84, 85, 94] +circuit = QuacIO.parse(joinpath(@__DIR__, "sycamore_53_10_0.qasm"), format=QuacIO.Qflex(), sites=sites) +tn = TensorNetwork(circuit) +transformed_tn = transform(tn, Tenet.RankSimplification) + +fig = Figure() # hide +ax1 = Axis(fig[1, 1]; title="Original TensorNetwork") # hide +p1 = plot!(ax1, tn; node_size=5.) # hide +ax2 = Axis(fig[1, 2], title="Transformed TensorNetwork") # hide +p2 = plot!(ax2, transformed_tn; node_size=5.) # hide +ax1.titlesize=20 # hide +ax2.titlesize=20 # hide +fig # hide +``` + +# Transformations + ```@docs Tenet.HyperindConverter -Tenet.RankSimplification Tenet.DiagonalReduction +Tenet.RankSimplification Tenet.AntiDiagonalGauging Tenet.ColumnReduction -``` +Tenet.SplitSimplification +``` \ No newline at end of file diff --git a/src/Transformations.jl b/src/Transformations.jl index b244fed2..3c3bf619 100644 --- a/src/Transformations.jl +++ b/src/Transformations.jl @@ -38,7 +38,7 @@ end """ HyperindConverter <: Transformation -Converts hyperindices to COPY-tensors, represented by `DeltaArray`s. +Convert hyperindices to COPY-tensors, represented by `DeltaArray`s. """ struct HyperindConverter <: Transformation end @@ -71,6 +71,8 @@ end """ DiagonalReduction <: Transformation +Reduce the dimension of a `Tensor` in a [`TensorNetwork`](@ref) when it has a pair of indices that fulfil a diagonal structure. + # Keyword Arguments - `atol` Absolute tolerance. Defaults to `1e-12`. @@ -119,7 +121,7 @@ end """ RankSimplification <: Transformation -Contract tensors preemptively. +Preemptively contract tensors whose result doesn't increase in size. """ struct RankSimplification <: Transformation end @@ -155,10 +157,13 @@ end """ AntiDiagonalGauging <: Transformation +Reverse the order of tensor indices that fulfill the anti-diagonal condition. +While this transformation doesn't directly enhance computational efficiency, it sets up the [`TensorNetwork`](@ref) for other operations that do. + # Keyword Arguments - `atol` Absolute tolerance. Defaults to `1e-12`. - - `skip` + - `skip` List of indices to skip. Defaults to `[]`. """ Base.@kwdef struct AntiDiagonalGauging <: Transformation atol::Float64 = 1e-12 @@ -192,10 +197,12 @@ end """ ColumnReduction <: Transformation +Truncate the dimension of a `Tensor` in a [`TensorNetwork`](@ref) when it contains columns with all elements smaller than `atol`. + # Keyword Arguments - - `atol` Absolute tolerance. - - `skip` + - `atol` Absolute tolerance. Defaults to `1e-12`. + - `skip` List of indices to skip. Defaults to `[]`. """ Base.@kwdef struct ColumnReduction <: Transformation atol::Float64 = 1e-12 @@ -261,6 +268,15 @@ function transform!(tn::TensorNetwork, config::ColumnReduction) return tn end +""" + SplitSimplification <: Transformation + +Reduce the rank of tensors in the [`TensorNetwork`](@ref) by decomposing them using the Singular Value Decomposition (SVD). Tensors whose factorization do not increase the maximum rank of the network are left decomposed. + +# Keyword Arguments + + - `atol` Absolute tolerance. Defaults to `1e-10`. +""" Base.@kwdef struct SplitSimplification <: Transformation atol::Float64 = 1e-10 # A threshold for SVD rank determination end