From 79583fe59396afdc33c50546378f97164c32c94d Mon Sep 17 00:00:00 2001 From: kevinsung Date: Sun, 14 Apr 2024 06:22:24 +0000 Subject: [PATCH] deploy: 863a6433b1dda42d1ce290172e79e8167ae78441 --- .doctrees/environment.pickle | Bin 2291712 -> 2291568 bytes .doctrees/index.doctree | Bin 8418 -> 8418 bytes .../nbsphinx/tutorials/01-introduction.ipynb | 32 ++--- .../tutorials/02-orbital-rotation.ipynb | 32 ++--- .../tutorials/03-double-factorized.ipynb | 92 ++++++------- .doctrees/nbsphinx/tutorials/04-lucj.ipynb | 102 +++++++------- .../tutorials/05-entanglement-forging.ipynb | 28 ++-- .../tutorials/06-fermion-operator.ipynb | 124 +++++++++--------- .../tutorials/03-double-factorized.doctree | Bin 50444 -> 50444 bytes .doctrees/tutorials/04-lucj.doctree | Bin 54353 -> 54269 bytes .../tutorials/05-entanglement-forging.doctree | Bin 15980 -> 15980 bytes .../tutorials/06-fermion-operator.doctree | Bin 41385 -> 41325 bytes searchindex.js | 2 +- tutorials/01-introduction.ipynb | 32 ++--- tutorials/02-orbital-rotation.ipynb | 32 ++--- tutorials/03-double-factorized.html | 12 +- tutorials/03-double-factorized.ipynb | 92 ++++++------- tutorials/04-lucj.html | 62 ++++----- tutorials/04-lucj.ipynb | 102 +++++++------- tutorials/05-entanglement-forging.html | 4 +- tutorials/05-entanglement-forging.ipynb | 28 ++-- tutorials/06-fermion-operator.html | 52 ++++---- tutorials/06-fermion-operator.ipynb | 124 +++++++++--------- 23 files changed, 476 insertions(+), 476 deletions(-) diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 3bc0d89394dc2d676a99daacef32dcc947004ab3..58a42b38d7dd98fe7ce4994be94ecd885c797351 100644 GIT binary patch delta 32131 zcmeIbcU)B0_BWgZ4AUDhlqrW|0}*8C*n7hsyCR@s85OW#S2T9TI_QoX3nGe$3Nd7&KaFG za!C5HQMIFDBZlSlcjV_OB{pJj;qT)-6je3GOTr@iXJw8ancjc2$T%c(K*l&w^p0V4 z#;DOlG6y*u+Cw}?3>h_a$Y|#QdrgifotE%Cmru?&v0A+KJ|z7k-Up~sMopW|``Gdw<&@IC^I+tt(fN)d z3Yth@Q$Ihh#2Fmp&21)WC46Yne|PHvQda~sI(5n7SgL|?Yim&5dB;|{mDaQ9qlVV?YQ zjeb)VzMkmeJo#_m4M2)|IZwW$!C<7Qr}N|;!iFG4y`3jdc{>y->hV0eWl1Jd)Yp0P zZfmlTqW;d4xBQGzTao(p5~J4VBDw1?M$&-h$u~A7C`f~vCol2ZgA@&Hp4<`m6e$|q zJbB*n?X#%cG`@NAQR{CYMPr;Nm&bU_rehnCifo2dPM&5!Ms@~NTxS0v8Kd&^oZ(6F zN}7X3`Js7Tot^5{CvQ5to1Dq@GMpK8+jGsGkCURD+Z%b3S4z3YnO0Zk3~t!iIkQ1C zt_2Pm8u&ZQ>a}zFH16P*mp~zM-XW8_=jYYO@s&w>t{3#`kel;lLC#Mb$53s~TS*3I zlo18@r?aqbu70&y0>yxPqWGXVeRAzCmtsg^zuBg?{_VpS$&-V)gppo-PqmE#k zvU`JjcG5A2vp5SIwsdxDMs;~Q6?IL{gr;`V##5_xu4^cBK1%AzeTeqUX2}9H`HOLm zX|(7+nW{4=$!oPidcH17bDVRvRX z*Sjxvlsh-KSgfR_CwWWu&+tGwiuGw*&9ZH_!%MVqu|2RLYgURyK^eHmA3uoa>-g~w=d^DS3x_tfZLYwPLU8Uck52&rz_q5@T`O{Ft|;C z1PBUWx8G_rJiMJsEofV~b))zo3>Z(jVa6_g z>2`wpx9Tgm8k$OS-`;c^P379&b+b~rA-^)YMh}=A_nTWT#iu=Wn_9h+oUg_GJe`?) zf$ptUhzn3imndYc?S70wSX;vVB=?2^l|&nT=#C+O+|}KWRh#f@Z}*h&N-Qa}-Sb#^ z3Dp+351icT?Z=F-?MlX{{eH;Am?;~ktAwZKGyKeQ zS?x+V8MRi%VrWn#YeWTeH_2*LVi5N3WP)Lz%l2z4DSUO5;X_Wy<{K*E$}2J~^7L!6 zXJQ%V-;ymAyZ!FSgvd(Vkv^UiXn32=o>-9~fu2~A`>J?iMf!((VyWG%<%y-17wL&5 z*)GZxOHv>0i6xm!1$ImVtn13cw$M`XyZAVrn#tt=e%{#U~}pk5M~Kd&-;pR+{Y9S@Py` zwleW!Hg(w z`EfC853a}?impOeC5*hzT&;FnoVeG zXX6`QqKiAD6m}}!&qIM8u8=Fx!=-8kdbr=Hz+}z{RH!R^xFK3`fvq(pvc5tk>`hW6 zFgFFD_t7AKZKOaC)0->yQWLf|3Y^#L$qJm;mF*Om#Q4q%ocG7w*m!vlHlEo_fk}Ls zs=y>x8NgiZHHf+R;ZWw{lo8Cu=DCWf$}Y}Zs+cS$u_-~9cCBI_jajS6r5^oRs2EGz z%wpz2*jDDj&)b*>8_Spn(Yu%jz4tH=mhNXB%siRY=tq@R~p1EzE2Y+`sCk2i4(Q3jq(^)ZAax* zdZ9&iR_>+k{STFwX?wIQqo;LOhEu++eVC7f)0vN<{h5z<1}NXs@jDKsGw_`c!h(6q zjbb{o7Ae1_dwI(h%1t!f-&QLp(AKeDiEF{hjZF27ElhQ@txPqyorS;PGZy}?&sq2n z_OkHr9#FQSrtL?SxK=znro2h%Z%-?+jMrRMHuQhz5*d6?OiSSJ%2}dsx1X`JtbT=Q z+3BsCLtXpCLxsiSqg3I{oYSgsW)|sHI5TaHDvY|VpUS`T5J zC?|==e(0ncEM7OWyQ=WIY1UI!ObtFrQ4OTNcj?az>IXA}=Y}wYc|%oL3jQNhSPG4E zR9Fh*#;LFrMod!Grt$^TR4=H$RkKu2DZMyP)lvuT<&~;0>9lV6M0J+7qt>V{(YEzE z)rO#VITG9ss(xkOl9H1ul@N1GRabNwXmokd85LI0^$V&C)YSHGn5$WrnX9#~s>&&T z;|2?5#Sd(}=N&fgdyj>({yq!k%SS8}x2G(WSI<;f)z#mq&e5g)PqjL<(kX!q2vD=? zPBW`t(HQ##sh3iNzg1Od(>5(kjgw}HRO6&wtF6XK``E6=N&7fKjrEb*T)phQ<3u-g zGkW{bK21H8>e(|uok`oUA*}s)xY|JNZ62xqwesr&}{rlrTmZ(=yJyXiq_^6%gAezc7bR|Hj4-K2@hwHaPaRE7Nb(Yp9~P?i$SO z9)$)oJ3*zv%qD0wEzonLW|;b&$HH5y1{axQAxv&s4JOw(jLE&JsliiwUKGRIMl)O) zt7%&K^t-8vhE4gxrkc0n#dNZjW`Nio(oWNvR?5C!niDj!GgCF)X?wlDMo!(jGguQ< zdBSSuXv7<9a(1dlC2X9axi2o0Kx?V0?-pq2eX}5QYHri(2yNVpSC;CXvWjF_E(xh+J1FeGm^F~ZfJT!yJ_7I z8s??2#W^T`F`|fA8j~2^r-u5$K#X?V)BiKq5Q5)CcZyQ`xzA0S?-Fej%GYzb_AzafKhffycgPy;Ve0?gwOZW0))#1T_nKJ9=!7EeR%-sv zW@difHs*d>8MANuRC}F{zuKi;PxY?Z$Mp64LVJeljjGUIt$ZgEcvc%IR?390w6o|^ z&wZ8yR*Psdk%Hx;C3mX6h0>TDf-+9V8H zpsPy*DqhMIwX_-UZnW*41HzhHx-=^P_Aawq_dc_G^^p#b4@rNpL_B@L?0@!(*&p#* zhxRF(HVfrGhXw_8n4G9 zvn1-V$et!Kx~#7LA>~`!SdRf^G}UjXw5hfJNaYja!#?_PH1I(K^jGM3V+Ye~9me!r z9?tZZXEA#C2)&X9K6WhATYtPB_l@W&dYsvckMvPg&*Rzp%t}Q{iWiB26fDy>6)#Fy zQPjfAwR$X#q7C|Qja>2a=@u(V^EQT)c2PcZ;mck6kGx3T^8xH}B{{KQ?@h9w7|g<= zllmSWBzs>#J)z23eUOGL7Mfkv!+l+`@bwLSI~lYgKkA_xi-qey>7j~?h1I|4p&E;Y zUibBJbbRq+8bh(r?RP!gzZDA!&-HM2D;7R_tzWHsXHhyhJatYJV?b;As3>UmAWJ^edXL=kHc{SU5d_{p95-@Kt=IJLW@nPCuB zW@*ioebbI9Ti$^w`>>M%7S3W}cQ->9UrDK&%$ z9?W1$i{~<>gXc4))fN~6snX_44VVmdz5#A-i-q77jJ~(hfXO+r)&K{AVxeD=p`KAP zt|CR-ToK*cWjG-k|8cM3CnYeSIm*)0_7pQNKgWz8KhKQMxX6re_?8)STruQRBX4gQ z=4;;>5!T)}SVYx-K4Qrl@Fz>w>6c9P?6*vHOU{UKXx)vliWduq6vk;Pu8`K10Cm;F zkDT7%XA;iTG){0Mx4!l>3Oyo>J3P5U65K>tS7;e)JRxUzP(5Rzf_1-cW-Ji9v)UQA zirr@2jGTd~>ow5W)|2rH!;Iw~tUG>$ah#~kZM?Bd5aS)X!f2N49b9Yl4Po3r9W=s? z5xS&2Zk#Q43r-uia12d3YuqoQ;a?l~i$-2tHU_E~L)Z_-Qjz!WkH(#%>C*egPenBA zq48s}>;FjNz4X|)RYaY?8~v0_+1|g5I#I(_cdsu*hRrgsqhdE#?&WS_A(0TTSyD(n z!@RoanT{_Ky%eIy-`4knC%YKk=%!w-kfNG&lP4XHJO6atATI>}sPUOcQ zdo>V!ySLh_+!g9tuR~&YQi0bsu{*fXt79OG`ph9OtLXg86JA|Jk5bQg^<~{nXD@h( zYHxnyb(ob3Nxb25^T&H$*TwOR4_jB>uik#!^CMs*Z zP*S#Wsie$ABxSQck(9MxBPsJ+=iN@t=4|{HZ&)F*0NR#$yQ zr}ue|D-@;)-ZPX;+eaqm8&ro&%)_Y?CRe?d|z`$|%J?Q8EfVrmxN^^TFb z%JKED-oG1|H{5G)*VP~5=94U{n>dPZz6LNK%i`ak6C#5q0cF`Gwq&HIGO5mg2UeWbf04!NxLTV z5+?NbDVHHwZ-~z>5A3;T`b=j%GSbJ5jh2k{nZhoBM`ZS;TlrqC7SNojTkVmuiUc#0VpW_^tA%Uz%~$^<9jQekbpNvVW(b3@Z@EewLBNm$p;w4X}!?P%(& z5G6=)SCcnce8B|EQx6k7)Grmrr!v{;gH2WaU5fWjHGM>78%{UDrZ4*S(;U+Uu!4RI zXP26Or>1BS!Z+&}d(T2smIsKP++^A;4bI+aT1E}o_L(k%F5%HZ6P!Xyg)PTSa0)3E zhMq9NDWp^gJ!OJ}L#eRvoaqOZOY^L&rmMY+pElmJ371_-^!o)-cf* z4#4HY=}EqaRnRV;?YrEiQ>eSlw3J2blCVusNNxPGJld!FaADk%~ z@dl%yPW8+5VBLBB{XP`C4+r_R5xcF2`SlmO`?LMViQN`CexHcl-^csK>zLjKbNueA zn6fyhA6)KeLbJ>djt1D>x!kWz?2h?ZLIYR&EfdkBtNi3jR7S?F_wy!cpZJ*tU6J1~ z4O1|`TvFR_honHgQ&M|+mxShgE~&Nbf%GvA_xAcdR4{jcIpViPba&%9N$=zfl7{ME z`Rx(K9)Im;(=f*}Zn+%mc-!x18B^Qlp5Gw_>)IaqZ5O4kKlX!T6NbL>cfV_TW_O;u zzrUFN9ZLTaF^`!#f0tOK!QUnJtI@xil4)pU@rMHhDs!{>6R}&uOJa^73H1u`AE@Fs zOC=yw)bj7mahnBer2o=D?uoFyo&R;t?WqU3+0Ne&-n8@YD(BX_*lQ6|&p%EW*WJIn zf?F?~PxbE;$Cbe-?@Vnc6FM&Qe`zCng{ht}Ylr{r`dk4F6_K$|{JqKN(=AcXVKHXG z@WdZ(oeBi|8~-3JS3sa`E)aFVL?0K?BPd|JyNmFv8Zck!B7TYpn3=?FN3E9!2Y3tB z2M2UfaNEg{q(rZaT7wF%<=O02YED6{K{i#a>;<;!+SQ_xSx=Yi;-2t$& zZWqA(Zc%+RA?rYZuLt93CY(APP~hnz%1#B$mq|W#JRfi=#yu)7o;gzA!`uR?5lziL zWTl7sEgPfm9FUoZAq5UqA)P$U$B;71&FyJN7%Df{S9wGyCSp)smV231?m%H&LWq~y zjS~l{vUTz149dYE4Dpt?`4kEmT9{i&V}iTMybTmZ+o^}C*rCn|HG|CV9K%J0*+`+T zpMuR_B4uo0ZcW~Xn3a?g)K$#C8=1^|y2i%+FLcEv{H?AYiRRB#ZuYq4apvwMw;5Ql z$HfWYnjc4dYziUFLDC=zZf<^nW8hV1WFH8jD!C1`mV_=H&0oSj^Wp&I^2Gri$+$H0 zU9xRSfFF4@)}kRjmjsL>FVfB1NbXW7v-|zbDehbh3GQkMAj&wimShh!*JD66a&e&f zDfH6^n`<)Z*MrRc8Sn&}6WuMf$kZX`FzE9=EWB`Hi20U`+kl4!GXJVsDLlwB!#gEI zU-+uYyr1E73{ys%e{*|}=`bN|d_=I>_f-$h#c zZzFwIo&OlF0O8jDk6EM19ZBAHvuK2jr)Kp(wfnD}&p2AGHAv87v*Vv7_g`gJfHI0v zyOn+*eC1|Y>E~A4gG4$zu_t7NM@0n%#YZOM z3MnqHaj;<0(v7CInv{@8YFR8nbz|b90gI(eZek2A@>pDqBkYm(M0zE_!fTI=i;sbB zObS}c9GEetPEb7Tww)p^e(tf+aijn=siUG3W8&kY;uGRyNPC;bVvLT8PKb@M$H&@Z zlA>en3GgA~+Lr2uBzr6G3lmOjJ}nNwZo4 zH3?A(u~CUhF|mnBNu-0#V%FIq;^_GJsD!wrsMrKjP}34-jE;*-vco`hd{T5mVq5}K zsZWTCiH?m+1WS-8h}RHqsiL&U$44hd#l*x>bryXBcoLVC7#95>#m2?h zW1^!IV@XA%rMj0r5=`0?W254u>`^hWnut*+L?=Rs@iFuzAucYF9=Ckld;E8*|1X$o zJe;YjSe$OdJxKa~b2E}1YDsDJ|Lw|_*5;tUy}TR!&E+kL{P!CF|LGbpu!Okx`0u3u zU$wB~9nr2@mf2hgnQFI;`R@+?f5Z+R_>VhyzN3Z52Op&5JGwyAZD46CHe1%4Yy(VMS*4g z->D}r*TX*p{f%eBtU^nglAQb$QdujA+$gm;JST@$uM(3)9*?q^Nd8vPT6vVT+h+OW zedN-1OVf1Bu+qd65OD z;2C3D5vL@PCoM`+{gA~@emi85lY#@l7jeK6NG4x_)O>LOB!JYBvQrjMl6Ki*Bv}XG zkC5)1KQtyZ*oIIc^bT??& z$3d_*9Z0zjk8B?vgDiZ1)H3=%WNPUvNae^A@MgzyYc;L6v15hwE?XD+sI2Ex7(lZ$Qs+9m+IqENfiq38N9I6Am81vwEH*OfEDrde{j~|O|rrtDplpbf3~=2VdWjmMJ>@EfYdMg z3rZ;SDXa@y|F8@q*=r%;*?+;}0HlTl{RuUwy#ia)>o>49Io`nRKn=%``z`;I{ZuY-T&W>GKf5V4TppOjf@MB@n#;}2f{UX>$4EI zytm|W4XZCvgj)UR3#=XyR^$7m$}c(!p5rCNz?r}v15fvoVv`)Tf}$b`7i#tS8v&Gu zPxpjc;e(1bteStfmCf*eUI9D?Cnv+KhWCB{7lmS|WrgDbyan{1u(U<>Bz@$_^zos+ zS&I38^~CIqup0i&HiQF_)=6GO7Uk1QnBLghh~qX2N19l#cygP`n%35~+tN+Ci^fvb7htg)sptC+CZ7CUQ3! zIM;~da?-J_^+TfXz}V&F3?;X;0kZEVZ#lW~t<8t@Z3hxd+XKemwOPn_?X0`VGAi-t zvCT}*wTIE_ZGp^wZmUANb^vl#Cm`QE@sB0GbA9Htm_D5A!Sx}vQ8#7 zlcBe{ll4B?M0=|m!&P*$v$Z>Z;f$l|H=Ou&ICk2@ufu6Td-!!Y$+U-Ghtq@h@au3g zXb-;xXC&?6m*C{m9{oZYM;`6r7wxQ|J^W&vjkJefjI)FG*can`69QfQW}Gt=#4pCV zN_+UlIQM98BRTk?)d!}a?2avgew2iGb+Hzbc52>8f--I1!j&%8k2p$uk#+a13er81 zvj~g3S>aPS2rl}WfmUH^59?DAOg(Q^2n%~zz1$cRr3uhh=ly&ya!X?~3NQLtPcd%c zQeUfqF$&MptX0KsM1QNVC?53$)TLxtb>h(ELDp(w_p>3^=^|HNf=xl>BduDY?=Wkj z=t;){5Vd4luZy-++14M#?%NU8!J=qpFo^msfe(0Vf7HO|pxtaLVf|=pv8ZIKf(`45 z;cHG!)*a&X!h$i@tKu+qk4o!>#pA5Mh~TYFE}8S=tp;Jo1nXsSr2STrodiAP48oB~ z)(=HDIuy|nt(%ElcC&d2J#wuDOh!;ovyQD4rtryhD|~PjCji1wkZi%K6GqOoo)bYs zzD*(Yp6v>oykkn6YrQBk{dEI!({{e~$4WE-T1P(V>!u{54p@!C$OY0&Ln{52hw`36 z??u*=|HF9OCGQz0U|dJ0EVX(Ht)12jB7286kdz(;Fp@dSO)GR*W<4*CoL>tLClTvI zkxmN-&IiY>O0sT@n@s4i!g@~}!D8sR%KDo~uge9=o~xztvjsr+TI-5R0Jk4hGD5(J zo~&ALRg?bnA;6Cct?)TCnn?lD@0va6T7^NIB*&>z0!np4+GgvwqB>ymB~jtLLKw8g zdP!6Qv-?II$GQMdbp$?#;VsPGE=5ayCg8J)C%C5hm`po@SuX z^MG}jSZk0wBbge>t4W1frXas@yh@NAlB)9a!&ZgJ30<4;+fi5637tOy=Fc^s=>6D8 z-bAv;xyuCoDObWsRv>V``O@kTHQ}|`@|e4x46EV+pV_C^V&Pe9iRc|HB>{|6n0L{t z6@{kSAvwaA?(ps`U0iITcdV_%cwl{XEmN?n`ibc0ze=m))dyCq7z?b93c>J5S`wkwhKd4PpIVDt z23JE&!~T?V&6b7d*004#8o#vm7ZuV-gfIS*E+cS8DO9|%{w%7ZCA;&m%~exaV~5;q z!SI>K;Z~pJ9=009o72QQvr|>1uZOJ_iuxJ@fejj-LS#7}_VQVcI2I?0>0JI<{^CA z%m)9If%;HrUJF;$LP{%FKmtVhT;!r_1?k?#=1UACG;(1|TbpYmf|=8jE2DW0nZ6t5 zczS!+91Aew+TiFeC?t2b-4NB`uDC2*>m_vUBDr^qUNbS>Y+s2?bUhM+dbnne;DzGX zOQLaH*T*LAWWu8qn`z!YGXC%L+!zro7Jlj4|2|b?%F0{$%pb(n}s}566V*~u>cO+Q39OsPaoVITY#V_g~b;B+2iZ2Hu~Q& z7f6(USh}&~pJXu_1OQN-cH)P)Ai^JgPwddey%_Fu+ z9PJv(THI-l($Yh^<7(J>4jiY~1JY*-Y)WD8NxGI%TG;cY?X5Ue`-xRaKA*)03s29` zjRnWgpQCFfic;02;;2nW4xIMYk$`KkG{`T~MF)pd!$I@SuO!Q9`@!;!OE4Rx-f+mU z>(;RkDa&$IdEd))7-%oy=CvQ0 z^V;R#m?t(9M`6|Z6!yRdh=P*&9Nu>;Vn#c znh#%fX9vC|{Fj*ztWTRben0Dy9Cv;!iR$dFCmnyYDT&sDuO?p>r{zBQ-~)2dWNXdb zn&QDvW1qfjL{o-7^8RZFh+0Pp`l;&n#|?o=|*SuPaTy(-uUuy@N^~Ck8kP@V`NoR zcn-1Jj}Pif4J~#UHgWW;LecDEhu3?Q&wG^bdzAlsl-WfQFMmFvC3Rx4W9KENno+`g z)b97Fz3)-`U6iocpT9%Dm|={W-{Zy=6T6KMhyR*PvGF5(=rfWOaC}P|JgqnZFBy(f z^1TgmUQTN8d>yWY^yB&PMl?)#*PlKhfrdUEfrdUBfrjQ28v0NK8k$dNXg;B#`GjU8 zIm7d9(&?Au&cRungOfN1=Ws4g;T)X7xj2DyF_Cl8++4Ia7mdw9TXWFV9JDkC4b4G2 zbHL2FK)wY$ZaEOh*N5hHAU_zIfkAvbXg&+#J3!+Rj7^td=5O+)x5 z(988$pv-jZc8)NHt_JROg!m)vY?Jo>iT10MyaysO)8RD7GRJRRgJv8hj#9 zYgqGb4YaNc#j&QL$T>cguLmr-Pv8#UK-R|a@ck4d zIt<;*3FDK1+8ze83<(HB#lbcCx-ON7S1wNv3_ zY8Y?BJMQIzo2T6SE%!mFqlml-NBGH04u(RAa1X7)J6|#-1Vap}jR{SyjnlHEHcrG>wQ=IB zMB$8&jN+Su{#{Wxt8b%_rLi5snRX1g!j4|Pu%km!(R@P?$c{$NPouHI9z|n?^^Cy^ z+Z2PU|BOMO>&IeEEsw=?Ux|fp`z~4@2iIN^sTIf9f~IF2&fg*i?u|n`PvZFQFxDm> z4a|w>Gk|&+kCPRez^4E;D*+ulkiho_%94mhl$?l>(k;+S(@ZZ2%)l z7{RwmaCsLIYaKMus}6!I>!9%qb#Q(>>%uBuM3U;_q~+8_&K-3zsZZ)+QmfX(N$XRO zj{?pGj5=Bm1-SaCvvGZ_%PI8{+*2QO`=&mthX$xKrvdt2)Bw|Rp#fhFls#*}*MKIl zAvP@=A~>8;%UH9Yfj=~)NhPXAXsBf)bZ}N9bbdE$?l;1Sf*WJgtuZEkdSi@XXJZWd zKBM?1d>ANe)dcNjHbHkkZGy>q)&#|CHAUw$nqrQfP0_)n8jk!y*Yfldm$Oq95Pr)wlxQVLh^u)6_Oe)ut{gl zD%Mrj}5ag`{Ik&{;?pvgR~vRIO01Su3chLNcKh1Xf7OTcN=HR%ju-HC$hX zB(*i9ppfLX2A2xSiPp&C-UfZC+Xh0}LI$>h8s9>S+wh@q1ijD(td|mFGT#=OzR7Ul zC?y+{L7V!n0m3XNX&oT2aNr* zY^O~*IYXNg;nxrOY}kcKpRRmWXr^_=RrF9-{zIUAyYXG28OEAJ-N5G}qVLXkVT)ZY z6)bkORAkx^-a;1j;H{*VQD$Xh`{>v{6)~iXWAe4EFX!5+BQ zJnO;NV}c+1f#An}#LyoE&-LWx|9F)O!w@|~DivK7RVt;`;X z>B-<;JbZB#nbZpk12(u`xcI4iL&A$l>)yBkE$fZOzwC`VJ^R446_F-=keb{Fil&I{ zW6i5Rcqu2Q@O7BInl->)%^JkmhYwR^W(>>dPh;Dj;@W*G=y*j9(rE;Qv92$#3+SIU zG9xu3Gh^hS@$82e9Jn8Ao`a@|K zk%s-z-lYCG>nB;`I{*&|eFmVGH3M)J`e6W0h9v{5Wkd$w1;meK@U5XS48*-Bbs)~d zrhy1P9*FKn4?^oB2BD#CgHZL;LC9HeFs^e`2V)_AJs5R{4MAVV4B`8N>Ptf~KHhqdBais>~I8qGErxzOw3?jCZEVEB6~Q@c=m8M<7LBP>kpd-Pimnm1>Z4(ig6noPMzL))ZaMc@6O@C==*^ntIXD$3b1+bD4CbrB7^KFG z!JT#E7(Sf2@#YD*@#YD+kO2`sAH!Dx8`iOy_d#P(>-w=6-0iVAQKoU|V$*R@Ld9gp zI7nYH**gvjqnIeh!+EEebQ=#>cQIK%9>L$ngR){$X9849F_}IAyeT9V6ZmKqT`&hX zbv$!(BaNr>p`>gguY=z?DI{?d;Q}folc3Sys(P&!tg_c?kwz2wL=OjLQB6XYPLse! zAz3pCinfs4odl)|iG4CQlUQ?nGIHvsK>7+vrztQ+g=EmQbzG3T}3M^a5-l-7p7V=~&1iFPZng+p?lF8E`-=(B%8q`85c{vTP zl~U5-Baka4`5%F@QgZzx+~&fj!&$SGjGqpw;n5JIj5ENcQqpw>-%f*XNmm^Y(N-N# z(q`~sV4xC;}NX{JC2};PBIpAUm37894UN;>xn84jy>y1bRH}K>q%xFTp#O6 zSsomA%ZPFTI9f(JF5uG@_JaY00 zq`H&0z(2z_aq^uMII!p#M;;C}*CNNAdoO?%jU-?>-C-Sev?=-0+8jg1kmFE$owt={x$^ukbpZ3 zcqRcAJaW8{fZ{*|UP-`LK>+0DJ6=mjQ82Q+m4Lz35a8TgN!!5ycL{jI0GR}|u8tyd z3CL%FQUY!=K#c(XIUzWBpo~^x$zgzA0_gbz5@3`7de{KKTLQW zfP}CQKF9?n776(X5CCivaE1Ya65wAGIf5miKLe^rz%~X{lYkcts38H(;8q^2gi(Oi zKfSpJBwS*-%76$7=p2b0wIyI<6asb$NVX#oBLR;X5GMiaVvr+20?K1Q$fb6ZBqSpa zS?WrFe>?*9C17#_0u3cV3(p8ZM`H<~4-EilDghBm2sD>~iwtN9KrZ{mtZj9XrM1K| zxjq8P5^#b6?Iggv0djPZfW8dqBmtWl@Sy}4o1;iq38-iR*B|)WT|#EJLZGJvJYhg@ z2}o&;94QiTvmFAd640#!0_hTPts?^cC17$V1Tx&*a>dmsurnfqB$n+A7$N~PyCKI= z2}taYz;FrZ*Asy(3HX@-BP1ZZ7jle}09kHtL~?{iRC&2W=lY5f0UUk0gHwpFkb>13`Jmp z1jyhJ3)8zu0_dq0fF%-;dyOGZ2}v1=EXyR|>rn_03FtEsffW+a#R&vRw8g)0%CLs{2&1j7;uLI(&H4+@skU{lhiLR%5fB)w!rXx3COkiBJxl| zCI=w!NCMVb5qKg2$?%a(Q1Vm)9Muu{lLFFX8{l~10?>MhVchLcm)BZnif00y-fOAOZ1R5U{w@^&d0#VRuAq5=&7J1Og@C zbuR>hCE!_K1Rgbk+Z)tz7J87gDwG31mRkaEH33lF1>iJj1Xl>l-{)6N9*mzslxMScn6lgC2 zccvrIQ39IGLZGt*_|HY4iv&c@N1&Soj9h>~4++Q(TZ~9A3GsCz(1!x}@oCTH2&B3I z^gP`~IjXSX{t|F%CGuxTz=cl`7$gBfYY`X%KpeAia~&c>C6=~@2n?qHesntu-Zq5{ zXCpv#8~AMYJE@LR#Ai{QzGI2r&2dov}63G z5&*Z#;6g5FbE$03SU#nIc+ZSVcDewxA-E_9+&R-A_DDd76A0{=0Jwvu92FG65512( zjlf|SFqph5;zPaYJJybq@HR9spP^$Lg}9A;O%HfJfIod(fIodpDx{8 zr*Cs?H0hJs8_dv9PH1Ql&}uSLi_U6NVFzau--3lHUJ%0Zt)*!)To1l8&N<8KHvvei$P>qEf@FC za3{p%RB%7TdX`vMFCvci1kO9~urJf)Uk8zMVS)EXu)D1%4PD$dTey0UTe^DMHm+Wi z_O4!kIM6anBL=v7#ST|5YnZDyKhxE#fKwz&EtN*8D=5wlR&+R`E}w$ z${}^i<$W8AIeZ5Xn9t_=RYA4IFQPC+TirFBgvm^A=s1 zn1dGl;9K~Ve!|$df%L z-XS8%b#xlA}ru(1PhieNosDsqjA2?^52 zAXg|HWZ2jXIKi-j;MxuzjpaNQ)S5i=Z77^3-3A$AvuD?H#3pW>JVk z!H`$5-2*a>gy`iASp&N}Agk7dTrx6b1Z>`bOe_mI3*YT5wAmZ-g~A{8J%CLc4cU2w!g@=19mN!JTlQo;nS9u=f`BW7g{f8!_ue!w$@PtzheAy*$`+S+6PV zwX7Efo2;W;7=JgUxv>fEvOmJE$@aouVY_6#IXPoSc4< F{}1|R$C>~D delta 33154 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 delta 26 icmaFl_{ed?ZegbPER)x>=xu&2oX^PkadWh2J2wELvI_P9 diff --git a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb index 913cb3020..c578e200f 100644 --- a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb +++ b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:38.521244Z", - "iopub.status.busy": "2024-04-14T06:16:38.521044Z", - "iopub.status.idle": "2024-04-14T06:16:39.152316Z", - "shell.execute_reply": "2024-04-14T06:16:39.151756Z" + "iopub.execute_input": "2024-04-14T06:20:31.798059Z", + "iopub.status.busy": "2024-04-14T06:20:31.797855Z", + "iopub.status.idle": "2024-04-14T06:20:32.430632Z", + "shell.execute_reply": "2024-04-14T06:20:32.430083Z" } }, "outputs": [], @@ -71,10 +71,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:39.155356Z", - "iopub.status.busy": "2024-04-14T06:16:39.154753Z", - "iopub.status.idle": "2024-04-14T06:16:39.159225Z", - "shell.execute_reply": "2024-04-14T06:16:39.158661Z" + "iopub.execute_input": "2024-04-14T06:20:32.433644Z", + "iopub.status.busy": "2024-04-14T06:20:32.433019Z", + "iopub.status.idle": "2024-04-14T06:20:32.437396Z", + "shell.execute_reply": "2024-04-14T06:20:32.436818Z" } }, "outputs": [ @@ -113,10 +113,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:39.196288Z", - "iopub.status.busy": "2024-04-14T06:16:39.195881Z", - "iopub.status.idle": "2024-04-14T06:16:39.198757Z", - "shell.execute_reply": "2024-04-14T06:16:39.198285Z" + "iopub.execute_input": "2024-04-14T06:20:32.474311Z", + "iopub.status.busy": "2024-04-14T06:20:32.473834Z", + "iopub.status.idle": "2024-04-14T06:20:32.476592Z", + "shell.execute_reply": "2024-04-14T06:20:32.476121Z" } }, "outputs": [], @@ -136,10 +136,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:39.201240Z", - "iopub.status.busy": "2024-04-14T06:16:39.200692Z", - "iopub.status.idle": "2024-04-14T06:16:39.207443Z", - "shell.execute_reply": "2024-04-14T06:16:39.206973Z" + "iopub.execute_input": "2024-04-14T06:20:32.478808Z", + "iopub.status.busy": "2024-04-14T06:20:32.478453Z", + "iopub.status.idle": "2024-04-14T06:20:32.484840Z", + "shell.execute_reply": "2024-04-14T06:20:32.484286Z" } }, "outputs": [ diff --git a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb index 8545c83f1..dd3c0a207 100644 --- a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb +++ b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:40.801327Z", - "iopub.status.busy": "2024-04-14T06:16:40.801108Z", - "iopub.status.idle": "2024-04-14T06:16:41.429648Z", - "shell.execute_reply": "2024-04-14T06:16:41.429057Z" + "iopub.execute_input": "2024-04-14T06:20:34.091447Z", + "iopub.status.busy": "2024-04-14T06:20:34.091248Z", + "iopub.status.idle": "2024-04-14T06:20:34.704794Z", + "shell.execute_reply": "2024-04-14T06:20:34.704175Z" } }, "outputs": [], @@ -107,10 +107,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:41.432515Z", - "iopub.status.busy": "2024-04-14T06:16:41.432027Z", - "iopub.status.idle": "2024-04-14T06:16:41.462990Z", - "shell.execute_reply": "2024-04-14T06:16:41.462411Z" + "iopub.execute_input": "2024-04-14T06:20:34.707762Z", + "iopub.status.busy": "2024-04-14T06:20:34.707312Z", + "iopub.status.idle": "2024-04-14T06:20:34.737856Z", + "shell.execute_reply": "2024-04-14T06:20:34.737323Z" } }, "outputs": [], @@ -155,10 +155,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:41.466273Z", - "iopub.status.busy": "2024-04-14T06:16:41.465919Z", - "iopub.status.idle": "2024-04-14T06:16:41.484171Z", - "shell.execute_reply": "2024-04-14T06:16:41.483665Z" + "iopub.execute_input": "2024-04-14T06:20:34.740600Z", + "iopub.status.busy": "2024-04-14T06:20:34.740051Z", + "iopub.status.idle": "2024-04-14T06:20:34.757743Z", + "shell.execute_reply": "2024-04-14T06:20:34.757234Z" } }, "outputs": [], @@ -198,10 +198,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:41.487155Z", - "iopub.status.busy": "2024-04-14T06:16:41.486938Z", - "iopub.status.idle": "2024-04-14T06:16:41.492825Z", - "shell.execute_reply": "2024-04-14T06:16:41.492312Z" + "iopub.execute_input": "2024-04-14T06:20:34.760348Z", + "iopub.status.busy": "2024-04-14T06:20:34.760127Z", + "iopub.status.idle": "2024-04-14T06:20:34.766055Z", + "shell.execute_reply": "2024-04-14T06:20:34.765547Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb index 84b61cbf2..ae02b4e9a 100644 --- a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb +++ b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:43.031355Z", - "iopub.status.busy": "2024-04-14T06:16:43.030889Z", - "iopub.status.idle": "2024-04-14T06:16:43.835119Z", - "shell.execute_reply": "2024-04-14T06:16:43.834501Z" + "iopub.execute_input": "2024-04-14T06:20:36.210450Z", + "iopub.status.busy": "2024-04-14T06:20:36.209888Z", + "iopub.status.idle": "2024-04-14T06:20:36.978629Z", + "shell.execute_reply": "2024-04-14T06:20:36.978028Z" } }, "outputs": [ @@ -54,7 +54,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "converged SCF energy = -77.4456267643963\n" + "converged SCF energy = -77.4456267643962\n" ] } ], @@ -109,10 +109,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:43.838259Z", - "iopub.status.busy": "2024-04-14T06:16:43.837723Z", - "iopub.status.idle": "2024-04-14T06:16:43.842922Z", - "shell.execute_reply": "2024-04-14T06:16:43.842390Z" + "iopub.execute_input": "2024-04-14T06:20:36.981886Z", + "iopub.status.busy": "2024-04-14T06:20:36.981362Z", + "iopub.status.idle": "2024-04-14T06:20:36.986534Z", + "shell.execute_reply": "2024-04-14T06:20:36.985948Z" } }, "outputs": [ @@ -215,10 +215,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:43.845074Z", - "iopub.status.busy": "2024-04-14T06:16:43.844710Z", - "iopub.status.idle": "2024-04-14T06:16:43.849092Z", - "shell.execute_reply": "2024-04-14T06:16:43.848561Z" + "iopub.execute_input": "2024-04-14T06:20:36.988764Z", + "iopub.status.busy": "2024-04-14T06:20:36.988403Z", + "iopub.status.idle": "2024-04-14T06:20:36.992528Z", + "shell.execute_reply": "2024-04-14T06:20:36.992082Z" } }, "outputs": [], @@ -273,10 +273,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:43.851453Z", - "iopub.status.busy": "2024-04-14T06:16:43.850996Z", - "iopub.status.idle": "2024-04-14T06:16:43.854242Z", - "shell.execute_reply": "2024-04-14T06:16:43.853783Z" + "iopub.execute_input": "2024-04-14T06:20:36.994748Z", + "iopub.status.busy": "2024-04-14T06:20:36.994407Z", + "iopub.status.idle": "2024-04-14T06:20:36.997772Z", + "shell.execute_reply": "2024-04-14T06:20:36.997297Z" } }, "outputs": [], @@ -313,10 +313,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:43.856359Z", - "iopub.status.busy": "2024-04-14T06:16:43.855983Z", - "iopub.status.idle": "2024-04-14T06:16:43.860334Z", - "shell.execute_reply": "2024-04-14T06:16:43.859840Z" + "iopub.execute_input": "2024-04-14T06:20:36.999831Z", + "iopub.status.busy": "2024-04-14T06:20:36.999644Z", + "iopub.status.idle": "2024-04-14T06:20:37.005194Z", + "shell.execute_reply": "2024-04-14T06:20:37.004692Z" } }, "outputs": [ @@ -352,10 +352,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:43.863707Z", - "iopub.status.busy": "2024-04-14T06:16:43.862643Z", - "iopub.status.idle": "2024-04-14T06:16:44.699199Z", - "shell.execute_reply": "2024-04-14T06:16:44.698623Z" + "iopub.execute_input": "2024-04-14T06:20:37.008354Z", + "iopub.status.busy": "2024-04-14T06:20:37.007265Z", + "iopub.status.idle": "2024-04-14T06:20:37.848340Z", + "shell.execute_reply": "2024-04-14T06:20:37.847761Z" } }, "outputs": [ @@ -363,7 +363,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.9315062301399409\n" + "Fidelity of evolved state w.r.t. initial state: 0.9315062301399056\n" ] } ], @@ -394,10 +394,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:44.703271Z", - "iopub.status.busy": "2024-04-14T06:16:44.702120Z", - "iopub.status.idle": "2024-04-14T06:16:44.736615Z", - "shell.execute_reply": "2024-04-14T06:16:44.736094Z" + "iopub.execute_input": "2024-04-14T06:20:37.852381Z", + "iopub.status.busy": "2024-04-14T06:20:37.851429Z", + "iopub.status.idle": "2024-04-14T06:20:37.881075Z", + "shell.execute_reply": "2024-04-14T06:20:37.880553Z" } }, "outputs": [ @@ -405,7 +405,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9928527668213394\n" + "Fidelity of Trotter-evolved state with exact state: 0.9928527668212882\n" ] } ], @@ -435,10 +435,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:44.739441Z", - "iopub.status.busy": "2024-04-14T06:16:44.739009Z", - "iopub.status.idle": "2024-04-14T06:16:44.888412Z", - "shell.execute_reply": "2024-04-14T06:16:44.887804Z" + "iopub.execute_input": "2024-04-14T06:20:37.884893Z", + "iopub.status.busy": "2024-04-14T06:20:37.883915Z", + "iopub.status.idle": "2024-04-14T06:20:38.010740Z", + "shell.execute_reply": "2024-04-14T06:20:38.010193Z" } }, "outputs": [ @@ -446,7 +446,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851286935\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851286221\n" ] } ], @@ -478,10 +478,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:44.891679Z", - "iopub.status.busy": "2024-04-14T06:16:44.891339Z", - "iopub.status.idle": "2024-04-14T06:16:45.048037Z", - "shell.execute_reply": "2024-04-14T06:16:45.047421Z" + "iopub.execute_input": "2024-04-14T06:20:38.014600Z", + "iopub.status.busy": "2024-04-14T06:20:38.013622Z", + "iopub.status.idle": "2024-04-14T06:20:38.142176Z", + "shell.execute_reply": "2024-04-14T06:20:38.141633Z" } }, "outputs": [ @@ -489,7 +489,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851286935\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851286221\n" ] } ], @@ -520,10 +520,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:45.051419Z", - "iopub.status.busy": "2024-04-14T06:16:45.051022Z", - "iopub.status.idle": "2024-04-14T06:16:45.116983Z", - "shell.execute_reply": "2024-04-14T06:16:45.116428Z" + "iopub.execute_input": "2024-04-14T06:20:38.146033Z", + "iopub.status.busy": "2024-04-14T06:20:38.145074Z", + "iopub.status.idle": "2024-04-14T06:20:38.220085Z", + "shell.execute_reply": "2024-04-14T06:20:38.219573Z" } }, "outputs": [ @@ -531,7 +531,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999913261307712\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999913261307155\n" ] } ], diff --git a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb index 2c226e8d1..59aab6aa0 100644 --- a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb +++ b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:46.929980Z", - "iopub.status.busy": "2024-04-14T06:16:46.929782Z", - "iopub.status.idle": "2024-04-14T06:16:47.877978Z", - "shell.execute_reply": "2024-04-14T06:16:47.877355Z" + "iopub.execute_input": "2024-04-14T06:20:40.214065Z", + "iopub.status.busy": "2024-04-14T06:20:40.213539Z", + "iopub.status.idle": "2024-04-14T06:20:41.234819Z", + "shell.execute_reply": "2024-04-14T06:20:41.234237Z" } }, "outputs": [ @@ -25,14 +25,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "converged SCF energy = -77.4456267643961\n" + "converged SCF energy = -77.4456267643963\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "CASCI E = -77.6290254326717 E(CI) = -3.57322412553862 S^2 = 0.0000000\n" + "CASCI E = -77.6290254326717 E(CI) = -3.57322412553863 S^2 = 0.0000000\n" ] } ], @@ -107,10 +107,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:47.882224Z", - "iopub.status.busy": "2024-04-14T06:16:47.881159Z", - "iopub.status.idle": "2024-04-14T06:16:48.074827Z", - "shell.execute_reply": "2024-04-14T06:16:48.074205Z" + "iopub.execute_input": "2024-04-14T06:20:41.237926Z", + "iopub.status.busy": "2024-04-14T06:20:41.237573Z", + "iopub.status.idle": "2024-04-14T06:20:41.473170Z", + "shell.execute_reply": "2024-04-14T06:20:41.472619Z" } }, "outputs": [ @@ -118,14 +118,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(CCSD) = -77.49387212754468 E_corr = -0.04824536314851401\n" + "E(CCSD) = -77.49387212754476 E_corr = -0.04824536314851415\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialization: -77.46975600021685\n" + "Energy at initialization: -77.46975600021693\n" ] } ], @@ -170,10 +170,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:48.078631Z", - "iopub.status.busy": "2024-04-14T06:16:48.077671Z", - "iopub.status.idle": "2024-04-14T06:17:33.180969Z", - "shell.execute_reply": "2024-04-14T06:17:33.180416Z" + "iopub.execute_input": "2024-04-14T06:20:41.482804Z", + "iopub.status.busy": "2024-04-14T06:20:41.476185Z", + "iopub.status.idle": "2024-04-14T06:21:25.229214Z", + "shell.execute_reply": "2024-04-14T06:21:25.228145Z" } }, "outputs": [ @@ -185,10 +185,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.50959588147846\n", - " x: [ 1.252e+00 6.199e-01 ... 8.723e-02 1.372e-01]\n", + " fun: -77.50959989642391\n", + " x: [ 1.252e+00 6.194e-01 ... 8.729e-02 1.371e-01]\n", " nit: 5\n", - " jac: [ 1.236e-04 -5.684e-04 ... -3.681e-03 -4.746e-03]\n", + " jac: [ 1.705e-04 -5.798e-04 ... -3.675e-03 -4.751e-03]\n", " nfev: 584\n", " njev: 8\n", " hess_inv: <72x72 LbfgsInvHessProduct with dtype=float64>\n" @@ -243,10 +243,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:17:33.184068Z", - "iopub.status.busy": "2024-04-14T06:17:33.183712Z", - "iopub.status.idle": "2024-04-14T06:18:05.748655Z", - "shell.execute_reply": "2024-04-14T06:18:05.748119Z" + "iopub.execute_input": "2024-04-14T06:21:25.232386Z", + "iopub.status.busy": "2024-04-14T06:21:25.232094Z", + "iopub.status.idle": "2024-04-14T06:21:57.294020Z", + "shell.execute_reply": "2024-04-14T06:21:57.293083Z" } }, "outputs": [ @@ -258,10 +258,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.45739368292516\n", - " x: [ 1.249e+00 6.251e-01 ... -1.687e-03 1.416e-02]\n", + " fun: -77.45740554944622\n", + " x: [ 1.250e+00 6.251e-01 ... -1.031e-03 1.445e-02]\n", " nit: 5\n", - " jac: [-8.100e-05 2.103e-04 ... -2.879e-03 -2.409e-03]\n", + " jac: [-5.400e-05 2.018e-04 ... -2.700e-03 -2.450e-03]\n", " nfev: 423\n", " njev: 9\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" @@ -311,10 +311,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:05.751618Z", - "iopub.status.busy": "2024-04-14T06:18:05.751347Z", - "iopub.status.idle": "2024-04-14T06:18:39.425978Z", - "shell.execute_reply": "2024-04-14T06:18:39.425382Z" + "iopub.execute_input": "2024-04-14T06:21:57.297283Z", + "iopub.status.busy": "2024-04-14T06:21:57.296999Z", + "iopub.status.idle": "2024-04-14T06:22:14.575853Z", + "shell.execute_reply": "2024-04-14T06:22:14.575224Z" } }, "outputs": [ @@ -325,34 +325,34 @@ "Number of parameters: 46\n", " message: Stop: Total number of iterations reached limit.\n", " success: False\n", - " fun: -77.4684417335533\n", - " x: [ 1.371e+00 6.976e-01 ... 1.625e-01 -3.800e-01]\n", + " fun: -77.46330645572544\n", + " x: [ 1.317e+00 6.875e-01 ... 5.678e-02 -2.978e-01]\n", " nit: 5\n", - " jac: [-3.264e-03 2.610e-04 ... -6.532e-04 5.511e-04]\n", - " nfev: 877\n", + " jac: [-3.352e-04 1.830e-04 ... -1.181e-04 -1.563e-03]\n", + " nfev: 655\n", " njev: 5\n", - " nlinop: 647\n", + " nlinop: 425\n", "\n", "Iteration 1\n", - " Energy: -77.45692103503286\n", - " Norm of gradient: 0.014448537709490191\n", - " Regularization hyperparameter: 0.02490787701748069\n", - " Variation hyperparameter: 0.5659107293159771\n", + " Energy: -77.45028365067637\n", + " Norm of gradient: 0.020274316413924177\n", + " Regularization hyperparameter: 0.9179737766584104\n", + " Variation hyperparameter: 0.6393542865543006\n", "Iteration 2\n", - " Energy: -77.45808185549275\n", - " Norm of gradient: 0.008205172622718828\n", - " Regularization hyperparameter: 0.00025347276169979403\n", - " Variation hyperparameter: 0.0006777823355174628\n", + " Energy: -77.45707408934899\n", + " Norm of gradient: 0.01254266075904728\n", + " Regularization hyperparameter: 0.025591125269278574\n", + " Variation hyperparameter: 0.7032458776557788\n", "Iteration 3\n", - " Energy: -77.45809817800367\n", - " Norm of gradient: 0.00801017947353011\n", - " Regularization hyperparameter: 0.9682560273662327\n", - " Variation hyperparameter: 0.0006774401793561147\n", + " Energy: -77.45809166280335\n", + " Norm of gradient: 0.00773759853294214\n", + " Regularization hyperparameter: 0.00043933296199478306\n", + " Variation hyperparameter: 0.70806227690536\n", "Iteration 4\n", - " Energy: -77.46120118177468\n", - " Norm of gradient: 0.017859098583615826\n", - " Regularization hyperparameter: 0.0022275938611355313\n", - " Variation hyperparameter: 0.00038998622580610487\n" + " Energy: -77.45811442693798\n", + " Norm of gradient: 0.007527545313228491\n", + " Regularization hyperparameter: 1.0331840601034004\n", + " Variation hyperparameter: 0.7287076370767558\n" ] } ], diff --git a/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb b/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb index fa07d1f28..51f5e7c05 100644 --- a/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb +++ b/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:40.995013Z", - "iopub.status.busy": "2024-04-14T06:18:40.994560Z", - "iopub.status.idle": "2024-04-14T06:18:41.813201Z", - "shell.execute_reply": "2024-04-14T06:18:41.812591Z" + "iopub.execute_input": "2024-04-14T06:22:16.238488Z", + "iopub.status.busy": "2024-04-14T06:22:16.238290Z", + "iopub.status.idle": "2024-04-14T06:22:17.038293Z", + "shell.execute_reply": "2024-04-14T06:22:17.037679Z" } }, "outputs": [ @@ -82,10 +82,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:41.817349Z", - "iopub.status.busy": "2024-04-14T06:18:41.816260Z", - "iopub.status.idle": "2024-04-14T06:18:41.832657Z", - "shell.execute_reply": "2024-04-14T06:18:41.832078Z" + "iopub.execute_input": "2024-04-14T06:22:17.042407Z", + "iopub.status.busy": "2024-04-14T06:22:17.041314Z", + "iopub.status.idle": "2024-04-14T06:22:17.056260Z", + "shell.execute_reply": "2024-04-14T06:22:17.055711Z" } }, "outputs": [ @@ -131,10 +131,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:41.836371Z", - "iopub.status.busy": "2024-04-14T06:18:41.835437Z", - "iopub.status.idle": "2024-04-14T06:18:42.775647Z", - "shell.execute_reply": "2024-04-14T06:18:42.775055Z" + "iopub.execute_input": "2024-04-14T06:22:17.059972Z", + "iopub.status.busy": "2024-04-14T06:22:17.059013Z", + "iopub.status.idle": "2024-04-14T06:22:17.985600Z", + "shell.execute_reply": "2024-04-14T06:22:17.985037Z" } }, "outputs": [ @@ -146,10 +146,10 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -75.68085203249585\n", + " fun: -75.68085103715956\n", " x: [ 2.996e+00 -7.549e-01 ... 2.650e+00 8.012e-01]\n", " nit: 6\n", - " jac: [ 1.759e-03 9.118e-03 ... -1.192e-02 9.663e-04]\n", + " jac: [ 1.758e-03 9.118e-03 ... -1.192e-02 9.493e-04]\n", " nfev: 112\n", " njev: 7\n", " hess_inv: <15x15 LbfgsInvHessProduct with dtype=float64>\n" diff --git a/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb b/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb index 3f2ab94bd..8b0132d61 100644 --- a/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb +++ b/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.229252Z", - "iopub.status.busy": "2024-04-14T06:18:44.229058Z", - "iopub.status.idle": "2024-04-14T06:18:44.832417Z", - "shell.execute_reply": "2024-04-14T06:18:44.831830Z" + "iopub.execute_input": "2024-04-14T06:22:19.429680Z", + "iopub.status.busy": "2024-04-14T06:22:19.429234Z", + "iopub.status.idle": "2024-04-14T06:22:20.046434Z", + "shell.execute_reply": "2024-04-14T06:22:20.045837Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", + " (cre_a(3), des_a(0)): -0.25,\n", " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", - " (cre_a(0), des_a(3)): 0.5,\n", - " (cre_a(3), des_a(0)): -0.25\n", + " (cre_a(0), des_a(3)): 0.5\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.835251Z", - "iopub.status.busy": "2024-04-14T06:18:44.834609Z", - "iopub.status.idle": "2024-04-14T06:18:44.839042Z", - "shell.execute_reply": "2024-04-14T06:18:44.838488Z" + "iopub.execute_input": "2024-04-14T06:22:20.049021Z", + "iopub.status.busy": "2024-04-14T06:22:20.048599Z", + "iopub.status.idle": "2024-04-14T06:22:20.052764Z", + "shell.execute_reply": "2024-04-14T06:22:20.052179Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j})'" + "'FermionOperator({((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.841616Z", - "iopub.status.busy": "2024-04-14T06:18:44.841166Z", - "iopub.status.idle": "2024-04-14T06:18:44.845540Z", - "shell.execute_reply": "2024-04-14T06:18:44.844944Z" + "iopub.execute_input": "2024-04-14T06:22:20.055237Z", + "iopub.status.busy": "2024-04-14T06:22:20.054812Z", + "iopub.status.idle": "2024-04-14T06:22:20.059043Z", + "shell.execute_reply": "2024-04-14T06:22:20.058523Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", + " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_b(2)): 0-0.25j,\n", + " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", + " (des_a(3), des_b(3)): 0.0625,\n", " (cre_a(0), des_a(3)): 1,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", - " (des_a(3), des_b(3)): 0.0625,\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_b(2)): 0-0.25j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", - " (cre_b(1), des_b(5), cre_a(4)): 2+2j\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.847647Z", - "iopub.status.busy": "2024-04-14T06:18:44.847454Z", - "iopub.status.idle": "2024-04-14T06:18:44.851328Z", - "shell.execute_reply": "2024-04-14T06:18:44.850862Z" + "iopub.execute_input": "2024-04-14T06:22:20.061254Z", + "iopub.status.busy": "2024-04-14T06:22:20.060903Z", + "iopub.status.idle": "2024-04-14T06:22:20.064859Z", + "shell.execute_reply": "2024-04-14T06:22:20.064268Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", + " (cre_a(3), des_a(0), cre_b(2)): -1,\n", " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_b(2)): -5,\n", + " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", + " (des_a(3), des_b(3)): 0-1.25j,\n", " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", - " (des_a(3), des_b(3)): 0-1.25j,\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (cre_b(2)): -5,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", - " (cre_b(1), des_b(5), cre_a(4)): 12-12j\n", + " (cre_a(0), des_a(3), cre_b(2)): 2\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.853415Z", - "iopub.status.busy": "2024-04-14T06:18:44.853209Z", - "iopub.status.idle": "2024-04-14T06:18:44.856911Z", - "shell.execute_reply": "2024-04-14T06:18:44.856358Z" + "iopub.execute_input": "2024-04-14T06:22:20.067373Z", + "iopub.status.busy": "2024-04-14T06:22:20.066971Z", + "iopub.status.idle": "2024-04-14T06:22:20.070410Z", + "shell.execute_reply": "2024-04-14T06:22:20.069835Z" } }, "outputs": [ @@ -230,15 +230,15 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(0), des_a(3)): 0-6j,\n", " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", " (cre_b(2), cre_a(3), des_a(0)): -1,\n", " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", " (cre_b(2), cre_a(0), des_a(3)): 2,\n", - " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", - " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", " (cre_b(2)): -5,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", " (des_b(3), des_a(3)): 0+1.25j\n", "})" ] @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.859289Z", - "iopub.status.busy": "2024-04-14T06:18:44.858935Z", - "iopub.status.idle": "2024-04-14T06:18:44.861997Z", - "shell.execute_reply": "2024-04-14T06:18:44.861423Z" + "iopub.execute_input": "2024-04-14T06:22:20.072586Z", + "iopub.status.busy": "2024-04-14T06:22:20.072268Z", + "iopub.status.idle": "2024-04-14T06:22:20.075241Z", + "shell.execute_reply": "2024-04-14T06:22:20.074664Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.864138Z", - "iopub.status.busy": "2024-04-14T06:18:44.863952Z", - "iopub.status.idle": "2024-04-14T06:18:44.868449Z", - "shell.execute_reply": "2024-04-14T06:18:44.867972Z" + "iopub.execute_input": "2024-04-14T06:22:20.077380Z", + "iopub.status.busy": "2024-04-14T06:22:20.077189Z", + "iopub.status.idle": "2024-04-14T06:22:20.081439Z", + "shell.execute_reply": "2024-04-14T06:22:20.080947Z" } }, "outputs": [ @@ -340,21 +340,21 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.870821Z", - "iopub.status.busy": "2024-04-14T06:18:44.870418Z", - "iopub.status.idle": "2024-04-14T06:18:44.876621Z", - "shell.execute_reply": "2024-04-14T06:18:44.876153Z" + "iopub.execute_input": "2024-04-14T06:22:20.083748Z", + "iopub.status.busy": "2024-04-14T06:22:20.083327Z", + "iopub.status.idle": "2024-04-14T06:22:20.088714Z", + "shell.execute_reply": "2024-04-14T06:22:20.088250Z" } }, "outputs": [ { "data": { "text/plain": [ - "array([0. +0.j , 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0.07133359-0.17842658j, 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0. +0.j ])" + "array([0. +0.j , 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0.2003273-0.13785949j, 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0. +0.j ])" ] }, "execution_count": 8, @@ -379,10 +379,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.879011Z", - "iopub.status.busy": "2024-04-14T06:18:44.878596Z", - "iopub.status.idle": "2024-04-14T06:18:44.890379Z", - "shell.execute_reply": "2024-04-14T06:18:44.889911Z" + "iopub.execute_input": "2024-04-14T06:22:20.090940Z", + "iopub.status.busy": "2024-04-14T06:22:20.090602Z", + "iopub.status.idle": "2024-04-14T06:22:20.102834Z", + "shell.execute_reply": "2024-04-14T06:22:20.102299Z" } }, "outputs": [ diff --git a/.doctrees/tutorials/03-double-factorized.doctree b/.doctrees/tutorials/03-double-factorized.doctree index 2a19093eaed9d85a5546cbcf7a32ff8ba054de0c..9d83bed48e0d91e2e87139089e702d42d0295334 100644 GIT binary patch delta 385 zcmeC_V(#f;-jJlkXf!!l$rea1R5}YJA1aGY?qAJ5xkot!%v%g3TU87gjW%ynDUM?{ zFg2U3(;Nz>TbiGNX_%I-mK-QwezHXCTrhh_s|P<&&y?0FjZ9{$d zEsveW$il*CvcW39$pU>`5RP2mO9%sEW)4E;p|bqsUHuCnvT+l%$CkJee1k-D_z5>%Ao7ZnEhqC1-du(3_W`k^=x0M^j-fX?&A`bw_Qiy~A delta 385 zcmeC_V(#f;-jJlkXgoPt$rea1R5}YJA1aGY?qAJ5xkot!%v%g3TU87gjW=&oDUM?{ zF|eGh(;Nz>TbiGNX_%I-mK-QwezHXCTrhh_s|P<&&y?0FjZ9{$d zEsveW*x1r!vcW39$pU>`5RP2mO9%sEW)4E;p|bqsUHuCnvT+l(s9+F5azwMp~d=MTP%&XeVkVki#7MY^D}dP5NInD*%?<9+e(VoKvEHe5RIC+ zQ4|A&3~o#e>@YDl;FW}s2&plWXf%0or-`g|p&R2`66an@Ddi=Nu{0^^Tbwgd?s9M;1tYNYX&H(2|nMdnP> z+=_Wt&aQowM%Hf2q~Cdbti6veJhDHNuJQPD`?LIV-@3LZ^3Kw!{_ea&8ta#Hw5k3p zsrJ`EDW_;~s6^)no|(JQ!Prey89X#+&-CDiJ6h84bd=8rL$G}yosMq*E}g2yZrU@n z>z0@Xa6A>C-(h%4PVHFT))aiOpiNM8cDTC}CL*as9LGZV*y+Hk7DC0wDLOsgv(ZW9 zB@hwDF8EALUye*{UHZg`2x5nd%Dex$f2Q{*ts|w}-S)*T*WVnSeCgFAhu^O4e^kT& z*&Vfl=uQ3{tzROf&t6dTkQOr?5jF0uQ2U889o#c{_t7mXOwzdb*PaqcLosEL z_xdI=!c@{I>FSA&f;1{43@-s7U3gFQVGL68A_}2nspjxY$1Z!q{L(S7h3I5N=idEc zsem>oFCOd4Erj;T`&~7{s?-eY4()2h)|+hkAitDwH;-2qgj@lx)FyTK|Q3%An>Y zNSmQIDM=w~laY#*Pl?PuQN?Hti)JhXI`Hzu(M`f4lA7wM1C4a!8}X3T-dL2@Swn+g zcD8D%9T;UnnV>;AN7b)-i^>IOoU;}^C+bdpdo!w^btsr8H_AwDagPdqpRW2K0==$HP&Mf4iYcS*yJ?2I;x4 zJByBez~Is709pat+Sn$6-QWeQLIB4{VN>S{PI}43?re}~ES0a99!9SeurtB%Rgu~& zIMfaSjWSw$pmS4?x2c%Xlm}_0l7`Da^G&el9GNxg;1K8~0Z}r%jeOrfD zQoC$Z+cH13^zo%5`B&Y zlHdoWH`hvV`p=??O4oMP_tdXiMdi;AuiU%K@!sv4-<)q>xGQO0&Yx5Flx*_b^~vUc E0a-acFaQ7m delta 4427 zcmeHKPi&M`5NEgB(2`BJ+fsSr2bX=1Z`c;C$1Z+`RU z&2MIQ?_6xCe%#P_vhn?qA1*b1(~<$KwhYo*D9i-8aHO`b!|!%B;r`awNc*XkXCTQJ zbv7gLLi-~)*8XHox<%`Tj()7HJyesvqV>m)XEGw`U)Q!dYaE^(>dtb&i6Q=g_Sw)E zLHlF46uzq#y7A)ht_3^6doz}|9eKcNX4}U5TGF^Z%4VHLwPQFuj_>$7JOb9fox5kn z0CGBr&yGlXBxgrfw>4|$Kv|~@UKs7}^pg<>7RNDTF1A9FDj0)UT7l>G_ihr>(3WD6 zj*U|_F}xf}Qh`*-A{AQ#>)CVr;XxltieshBLVPxR^b_M#FT8y0=V8YjHaVAim?&#PP5 z7*RTW5LHckwDZ?S9q&yJF4 z`nOVcFo%2J?8SjAd$v2Jz)GpLl=tX3$3|&k@^Q`?GqJa!x6O4wh>g%SmD+;i9DlyT zo)9LqJQ>(&AP{wqohH^&)KsQp4WSXLiJGIAUYtC>g*j{S}@0YAFd*GiSbE!lFg%5mfIxtl$$+Gr2l3NJx>YXPUPKALyj zfzw)fVKo7Ewm88xSYd>);2i#Xb#puCLQ7?ZHDJ8AUU3-!+c@XOTI)o(AM#`bK7DOt zvjabnUr!+DQZ22}2QYDhfKU_R^7INEXyi_!xmo=e?t7G~EMmJr$~X*T1Uf`94c?=I~Cm^Y7~k~VkhStPeU;RA-%cZ~Cm^Y7~k~VkhStPeU;RA-%cZASm2O1iLKg<{fnbWPgtEH#{<-HrC+B>*_tum2&yUkH zdRf<+A7u21aMMj7CT3xuvlx1@8XrXF4cck(Q|P_q4n1YSoL!3pk`jzbj&9Im`NJDx z+ohU+wfGn5IX1W|O}b8rE2<8>F3N$ZNVi^^O+Hep_Vq_8Lf5$nl$=SH531Ek$2h6^ z$iZc)1oHt22Aw-0cL~uD%mUw~1l5*-dkz8kCYoL5R2sELP)-9T9SY=lR2Zj)%wB-r zARAvj1eP2GLQW~FO){LI6iCpv?XrGjdIp!h5SJ_l)L03O`1sIUiy*P(V$x#H{8McQ z4YZ7+doI}1%V72esUIPMc*$&!n^-U2qIr3{u1W^hV8ves`$ z3f4*r{IZX2Q*U^@?y{k_%)>)%Rp@pow<$~f)Nbt>I2!orf~%ea+;Ni_t<|B?!v*b> z!Cy%e84>lYA(KMW$lm9xla#>V z6GCW}VbL$c{jeB{C?EAc1)A!)3@kK;BQyhv6z_dx5-21V>PQ6qg^2m&3@C*wgqZ8r z2uYo9EWa52^=DV7mck|^8p=~{8lMi1@G$O{qcNmMV@oTl#U$q30%p%gqD6+$J$VSV zaInx?j+!73Z`;Z+7uvsx7!9VIW>Dc(LftIIM6(D#!!c%DMa-IwPv&flA0aViVc~{f zh{Z4$uflrF`?HW})*>e|xP@5z%0qfA+Ovte73gj)+e}>C(f(aV^eKi^9Jd|F1d~40V}Xx4FRkw$(lfFfqVMfld73;1BXQv`5`5 delta 1996 zcmb`HOH30{6ovtzB|Q29%XC8NP$*FPV5YAbKyXFThL%TSq9HUb6$->h0t+MIwX&i> zkRM%Pb>l+gLerHIDChz;A+T`=$j-#X$4VCl<1IA?aAV3WCMW0IbN+kI{pQ}!uQDFL z&d8j|x*L6-Ii^OmiGr`F0s&T+Zo{tHc_cDav<8cZ#x<%6v!0Sn3v0C@N?rOlctx{t zq_&T)Ivk08p>Ig=!_b{!W^kvx2JiK9sP*Q783OeM*tA)ot*61*Ot{T*h}w1d(4@g$Ed!>F z!Y->I>l6ZYQfzR%=$c#hw-^tqFiHA(;w;0CAjhy^#FkKoU7p2hS23b36dHInmOWBD z_hEnXCSYq5*N)ebo>YkQG~x~##&#JN zJsd1PCW$)_GafBLPL?_pSR(1)Jd%Cnj+O*+5k;?R$}r^{5pnK~wrcUzVk;dBIoPHZ zNwiHe#Qj;g+$G0yZ#I_tsngDlSjCvPX3krL zN8JvLUChT$u$x#j;vp-d-rTt!6JB^uLLQp=?@R%qo=A#4=`b2Lrdk`T?fh3=R$kuUB;*r!|Et`Swj6TPzlykrey} Dra#PX diff --git a/searchindex.js b/searchindex.js index ff9ee6a6e..c82896ef9 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/ffsim", "api/ffsim.contract", "api/ffsim.linalg", "api/ffsim.optimize", "api/ffsim.qiskit", "api/ffsim.random", "api/ffsim.testing", "api/index", "index", "install", "tutorials/01-introduction", "tutorials/02-orbital-rotation", "tutorials/03-double-factorized", "tutorials/04-lucj", "tutorials/05-entanglement-forging", "tutorials/06-fermion-operator", "tutorials/index"], "filenames": ["api/ffsim.rst", "api/ffsim.contract.rst", "api/ffsim.linalg.rst", "api/ffsim.optimize.rst", "api/ffsim.qiskit.rst", "api/ffsim.random.rst", "api/ffsim.testing.rst", "api/index.md", "index.md", "install.md", "tutorials/01-introduction.ipynb", "tutorials/02-orbital-rotation.ipynb", "tutorials/03-double-factorized.ipynb", "tutorials/04-lucj.ipynb", "tutorials/05-entanglement-forging.ipynb", "tutorials/06-fermion-operator.ipynb", "tutorials/index.md"], "titles": ["ffsim", "ffsim.contract", "ffsim.linalg", "ffsim.optimize", "ffsim.qiskit", "ffsim.random", "ffsim.testing", "API Reference", "ffsim", "Installation", "Introduction to ffsim", "Orbital rotations and quadratic Hamiltonians", "Diagonal Coulomb operators and double-factorized Trotter simulation", "The local unitary cluster Jastrow (LUCJ) ansatz", "Entanglement forging", "The FermionOperator class", "Tutorials"], "terms": {"i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "softwar": [0, 8, 10], "librari": [0, 8, 10], "fast": 0, "simul": [0, 8, 10, 11, 13, 14, 16], "fermion": [0, 8, 10, 11, 13, 15], "quantum": [0, 4, 8, 10, 12, 13], "circuit": [0, 4, 8, 10], "class": [0, 2, 4, 5, 13, 16], "doublefactorizedhamiltonian": [0, 7, 12], "one_body_tensor": [0, 7, 11, 12], "diag_coulomb_mat": [0, 7, 12], "orbital_rot": [0, 1, 4, 7, 10, 11, 12], "constant": [0, 7, 12, 13], "0": [0, 2, 3, 6, 11, 12, 13, 14, 15], "z_represent": [0, 1, 4, 7], "fals": [0, 1, 2, 4, 13, 14, 15], "sourc": [0, 1, 2, 3, 4, 5, 6, 8], "base": [0, 2, 4], "object": [0, 2, 3, 13, 15], "A": [0, 1, 2, 3, 4, 5, 6, 9, 11, 12, 13, 15], "hamiltonian": [0, 3, 7, 13, 14, 16], "doubl": [0, 2, 13, 16], "factor": [0, 2, 13, 16], "represent": [0, 1, 2, 10, 15, 16], "The": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 16], "form": [0, 1, 2, 11, 12, 13, 15], "molecular": [0, 13, 14, 16], "h": [0, 12, 13, 14], "sum_": [0, 1, 2, 4, 11, 12, 13], "sigma": [0, 1, 4, 11, 12, 13], "pq": [0, 2, 12], "kappa_": 0, "dagger_": [0, 4, 11, 12], "p": [0, 2, 12, 13], "a_": [0, 4, 11, 12, 15], "q": [0, 12], "frac12": [0, 12, 13], "sum_t": 0, "tau": [0, 1, 4, 12, 13], "ij": [0, 1, 2, 4, 11, 12, 13], "z": [0, 1, 2, 4, 8, 10, 13, 15], "t": [0, 2, 4, 8, 11, 12], "_": [0, 2, 4, 11, 12, 13, 14], "n": [0, 2, 10, 11, 12, 13], "j": [0, 1, 2, 4, 7, 11, 12, 13, 14, 15], "text": [0, 12], "where": [0, 1, 2, 3, 4, 9, 11, 12, 13], "u": [0, 1, 2, 4], "pi": [0, 14], "qi": 0, "here": [0, 2, 10, 11, 12, 13], "each": [0, 2, 3, 10, 12, 13, 15], "unitari": [0, 1, 2, 4, 5, 11, 12, 16], "matrix": [0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 15], "real": [0, 1, 2, 3, 4, 5, 6, 11, 12, 13], "symmetr": [0, 1, 2, 4, 5, 12, 13], "an": [0, 1, 2, 4, 5, 8, 10, 11, 12, 13, 15], "altern": [0, 12], "sometim": 0, "yield": [0, 2, 12, 13, 14], "simpler": 0, "under": [0, 4], "jordan": [0, 4], "wigner": [0, 4], "transform": [0, 1, 4, 10, 11], "number": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15], "oper": [0, 1, 2, 3, 4, 9, 11, 13, 14, 15, 16], "take": [0, 3, 10, 13], "frac": [0, 2], "1": [0, 2, 3, 5, 10, 11, 12, 13, 14, 15], "2": [0, 1, 2, 4, 5, 10, 11, 12, 13, 14, 15], "pauli": 0, "rotat": [0, 1, 2, 4, 7, 10, 12, 13, 16], "basi": [0, 2, 7, 11, 12, 13, 14], "obtain": [0, 11, 12, 13], "rewrit": 0, "two": [0, 2, 5, 9, 12, 13, 14], "bodi": [0, 1, 2, 5, 12, 13, 14], "part": 0, "term": [0, 1, 2, 4, 12, 13, 15], "updat": [0, 12], "one": [0, 1, 2, 4, 9, 10, 12, 13, 14], "appropri": 0, "kappa": 0, "frac18": 0, "asterisk": 0, "denot": [0, 1, 2, 4, 11], "summat": 0, "over": 0, "indic": [0, 2, 10, 13, 15], "neq": [0, 1, 4], "refer": [0, 2, 3, 5, 8, 13], "low": 0, "rank": [0, 2, 5], "electron": [0, 1, 4, 5, 6, 10, 12], "structur": 0, "filter": 0, "diagon": [0, 1, 2, 4, 11, 13, 16], "tensor": [0, 1, 2, 5, 12, 13, 14], "type": [0, 1, 2, 3, 4, 5, 6, 9], "np": [0, 5, 6, 10, 11, 12, 13, 14], "ndarrai": [0, 1, 2, 3, 4, 5, 6, 12, 13], "coulomb": [0, 1, 2, 4, 13, 16], "matric": [0, 1, 2, 11, 12, 13], "orbit": [0, 1, 2, 4, 5, 6, 10, 12, 13, 15, 16], "float": [0, 2, 3, 5, 6, 12], "whether": [0, 1, 2, 3, 15], "rather": 0, "than": [0, 8, 10, 13], "bool": [0, 1, 2, 3, 6], "static": 0, "from_molecular_hamiltonian": [0, 7, 12], "tol": [0, 2], "1e": [0, 2, 3, 4, 6], "08": [0, 2, 3, 4], "max_vec": [0, 2], "none": [0, 1, 2, 3, 4, 5, 6], "optim": [0, 2, 7, 14, 16], "method": [0, 2, 3, 8, 14, 16], "l": [0, 2, 3, 12, 13, 14], "bfg": [0, 2, 3, 13, 14], "b": [0, 2, 3, 6, 11, 12, 13, 14], "callback": [0, 2, 3, 13], "option": [0, 1, 2, 3, 9, 13, 14], "diag_coulomb_indic": [0, 2], "choleski": [0, 2], "true": [0, 2, 3, 4, 6, 15], "initi": [0, 3, 5, 6, 12, 13, 14], "from": [0, 5, 8, 11, 13, 14, 15], "molecularhamiltonian": [0, 7, 12], "thi": [0, 2, 4, 8, 9, 10, 11, 12, 13, 14], "function": [0, 1, 2, 3, 10, 11, 12, 13, 15], "input": [0, 1, 3, 5, 6, 13], "which": [0, 2, 4, 5, 9, 10, 11, 12, 13, 15], "store": [0, 2, 12, 13], "It": [0, 2, 3, 4, 9, 10, 12, 13, 15], "perform": [0, 2, 3, 11, 12], "decomposit": [0, 2], "comput": [0, 2, 11, 13, 14], "new": [0, 11, 15], "return": [0, 1, 2, 3, 4, 5, 6, 12, 13, 14, 15], "result": [0, 1, 2, 3, 5, 10, 11, 12, 13, 14], "see": [0, 2, 4, 8, 9], "descript": [0, 4], "argument": [0, 2, 3, 11], "linalg": [0, 7, 11, 12, 13, 15], "double_factor": [0, 2, 7], "rest": [0, 12], "paramet": [0, 1, 2, 3, 4, 5, 6, 13, 14], "whose": [0, 2, 10], "us": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 15], "toler": [0, 2, 6, 13], "error": [0, 2, 6], "defin": [0, 2, 12, 13, 14], "maximum": [0, 2, 3, 5], "absolut": [0, 2, 6], "differ": [0, 1, 2, 3, 4, 9, 13], "between": [0, 1, 2, 3, 13], "element": [0, 2], "origin": [0, 2, 12], "correspond": [0, 2, 3, 4, 10, 11, 12, 13], "reconstruct": [0, 2], "int": [0, 1, 2, 3, 4, 5, 6, 12, 14], "limit": [0, 2, 13, 14], "keep": [0, 2], "overrid": [0, 2], "str": [0, 2, 6], "document": [0, 2], "scipi": [0, 2, 3, 11, 12, 13, 14, 15], "minim": [0, 2, 3, 13, 14], "possibl": [0, 2, 6, 8, 10], "valu": [0, 1, 2, 3, 6, 12, 13], "usag": [0, 2, 15], "dict": [0, 2, 3, 13, 14], "list": [0, 2, 6, 10, 13, 14], "tupl": [0, 1, 2, 4, 6, 12, 15], "allow": [0, 2, 9, 13], "nonzero": [0, 2, 13], "entri": [0, 2, 13], "set": [0, 2, 10, 11, 12, 13], "zero": [0, 2], "should": [0, 2, 4, 5, 6, 9, 11, 12], "contain": [0, 2, 3, 8, 9, 13, 15], "onli": [0, 2, 9, 10, 11, 13], "upper": [0, 2, 13], "trianglular": [0, 2], "e": [0, 2, 4, 12, 13, 14, 15], "pair": [0, 2, 6], "leq": [0, 2], "pass": [0, 2, 4, 11, 13, 15], "lower": [0, 2], "triangular": [0, 2], "rais": [0, 2, 4, 6], "modifi": [0, 2], "If": [0, 1, 2, 3, 4, 5, 6, 15], "full": [0, 2, 10], "eigenvalu": [0, 2, 3, 11], "instead": [0, 2, 13], "can": [0, 2, 8, 9, 10, 11, 12, 13, 15], "much": [0, 2, 8, 10], "more": [0, 2, 3, 10, 13], "expens": [0, 2], "ignor": [0, 2, 12], "properti": [0, 2, 11], "norb": [0, 1, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15], "spatial": [0, 1, 4, 6, 10, 12, 13, 15], "to_number_represent": [0, 7], "to_z_represent": [0, 7], "fermionact": [0, 7], "action": [0, 1, 7, 9, 11, 15], "spin": [0, 1, 4, 6, 7, 8, 10, 11, 13, 15], "orb": [0, 7, 15], "namedtupl": [0, 2], "alia": [0, 2], "field": [0, 2], "fermionoper": [0, 7, 16], "coeff": [0, 1], "repres": [0, 2, 3, 10, 13, 15], "linear": [0, 1, 2, 3, 11, 15, 16], "combin": [0, 1, 11, 15], "product": [0, 12, 15], "creation": [0, 11, 15], "annihil": [0, 15], "dictionari": [0, 15], "map": [0, 11, 15], "associ": [0, 3, 13, 15], "coeffici": [0, 1, 2, 11, 13, 15], "ad": 0, "subtract": [0, 15], "multipli": [0, 15], "thei": [0, 11, 13, 15], "support": [0, 2, 9, 15], "multipl": [0, 12, 15], "divis": [0, 15], "scalar": [0, 15], "when": [0, 3, 4, 8, 12, 13, 15], "go": [0, 15], "left": [0, 4, 10, 11, 15], "side": 0, "g": [0, 4, 13, 14], "op": [0, 15], "demonstr": [0, 11, 12, 13], "how": [0, 10, 11, 12, 13, 14, 15], "exampl": [0, 9, 10, 11, 13, 15], "note": [0, 2, 3, 13, 15], "sinc": [0, 2, 13], "unord": 0, "order": [0, 4, 10, 12, 13, 15], "print": [0, 6, 10, 12, 13, 14, 15], "output": [0, 3, 12, 13], "below": [0, 11, 12, 13], "mai": [0, 2, 3, 8, 9, 11, 13], "vari": 0, "run": [0, 4, 7, 8, 9, 13], "import": [0, 10, 11, 12, 13, 14, 15], "op1": [0, 15], "cre_a": [0, 7, 15], "des_a": [0, 7, 15], "3": [0, 2, 10, 11, 12, 13, 14, 15], "5": [0, 3, 12, 13, 15], "25": [0, 15], "cre_b": [0, 7, 15], "des_b": [0, 7, 15], "4": [0, 2, 10, 11, 12, 13, 14, 15], "1j": [0, 11, 12, 15], "2j": [0, 15], "op2": [0, 15], "125": [0, 15], "0625": [0, 15], "25j": [0, 15], "5j": [0, 15], "complex": [0, 1, 2, 5], "conserves_particle_numb": [0, 7, 15], "conserv": [0, 8, 10, 15], "particl": [0, 6, 8, 10, 11, 15], "otherwis": 0, "conserves_spin_z": [0, 7, 15], "compon": [0, 8, 10, 15], "many_body_ord": [0, 7], "mani": [0, 8], "length": [0, 4, 10, 12, 13], "longest": 0, "normal_ord": [0, 7, 15], "normal": [0, 15], "equival": [0, 10], "ha": [0, 1, 2, 4, 10, 11, 12, 13], "been": 0, "reorder": 0, "canon": 0, "In": [0, 10, 11, 12, 13, 14, 15], "compris": [0, 15], "appear": [0, 2, 15], "right": [0, 4, 10, 11, 15], "descend": [0, 15], "lexicograph": [0, 15], "That": [0, 3, 11, 15], "all": [0, 3, 6, 9, 10, 13, 15], "befor": [0, 9, 13, 15], "within": [0, 2, 15], "beta": [0, 1, 4, 6, 7, 10, 13, 15], "alpha": [0, 1, 4, 6, 7, 10, 13, 15], "larger": [0, 2, 3, 15], "smaller": [0, 2, 12, 15], "hopgateansatzoper": [0, 7, 14], "interaction_pair": [0, 14], "theta": [0, 14], "final_orbital_rot": [0, 7], "hop": 0, "gate": [0, 4, 13], "ansatz": [0, 3, 14, 16], "to_paramet": [0, 7, 13], "convert": [0, 1, 4, 10, 11, 12, 13, 15], "vector": [0, 1, 2, 3, 4, 5, 10, 11, 13, 14, 15], "moleculardata": [0, 7, 12, 13, 14], "atom": [0, 7, 12, 13, 14], "symmetri": [0, 7, 8, 10, 11, 12, 13, 14], "mo_coeff": [0, 7], "mo_occ": [0, 7], "hf_energi": [0, 7, 12], "nelec": [0, 1, 4, 6, 7, 10, 11, 12, 13, 14, 15], "active_spac": [0, 7, 12, 13, 14], "core_energi": [0, 7], "one_body_integr": 0, "two_body_integr": [0, 7], "mp2_energi": [0, 7], "mp2_t2": [0, 7], "ccsd_energi": [0, 7], "ccsd_t1": [0, 7], "ccsd_t2": [0, 7], "fci_energi": [0, 7], "fci_vec": [0, 7], "dipole_integr": [0, 7], "orbital_symmetri": [0, 7], "data": [0, 5, 12, 13, 14, 15], "coordin": 0, "molecul": [0, 12, 13, 14], "sto": [0, 12, 13, 14], "6g": [0, 12, 13, 14], "hartre": [0, 10, 11, 12, 13], "fock": [0, 10, 11, 12, 13], "ao": 0, "occup": [0, 10, 11, 12], "includ": [0, 2, 8, 9, 10, 11, 12, 13], "activ": [0, 12, 13, 14], "space": [0, 10, 12, 13, 14], "core": 0, "energi": [0, 3, 11, 12, 13, 14], "integr": 0, "compress": [0, 2], "format": [0, 4], "mp2": [0, 13], "t2": [0, 2, 5, 13], "amplitud": [0, 2, 5, 13], "ccsd": [0, 13], "t1": [0, 13], "fci": [0, 10, 13, 14], "state": [0, 1, 3, 5, 10, 11, 12, 13, 14], "dipol": 0, "from_mol": [0, 7, 12, 14], "scf_func": 0, "rhf": [0, 13], "pyscf": [0, 4, 10, 12, 13, 14], "mole": [0, 7, 12, 13, 14], "iter": [0, 3, 6, 13], "scf": [0, 7, 12, 13, 14], "calcul": [0, 10, 12, 13], "from_scf": [0, 7, 13], "hartree_fock": [0, 13], "run_ccsd": [0, 7], "store_t1": 0, "store_t2": 0, "run_fci": [0, 7, 13, 14], "store_fci_vec": 0, "run_mp2": [0, 7], "two_body_tensor": [0, 2, 7, 12], "h_": [0, 2, 12], "pqr": [0, 2, 12], "r": [0, 2, 12], "": [0, 2, 4, 7, 9, 10, 12, 13, 14, 15], "call": [0, 3, 10, 11, 12, 13, 15], "given": [0, 1, 2, 4, 6, 11, 12], "mathcal": [0, 1, 11, 12, 13], "dagger": [0, 1, 2, 11, 12, 13, 15], "realucjoper": [0, 7], "diag_coulomb_mats_alpha_alpha": [0, 7], "diag_coulomb_mats_alpha_beta": [0, 7], "cluster": [0, 4, 16], "jastrow": [0, 3, 4, 16], "ucj": [0, 16], "prod_": [0, 4, 13], "k": [0, 2, 11, 12, 13, 15], "w_k": [0, 13], "_k": [0, 12, 13], "mathbf": [0, 11, 12, 13], "n_": [0, 1, 4, 10, 11, 12, 13], "commut": [0, 12, 13], "total": [0, 12, 13, 14], "we": [0, 2, 8, 9, 11, 12, 13, 14, 15], "enforc": [0, 13], "As": [0, 10, 11, 12, 13], "have": [0, 2, 9, 11, 13, 15], "describ": [0, 1, 2, 10, 11, 12, 13, 15], "involv": [0, 13], "same": [0, 10, 13], "To": [0, 10, 11, 12, 13], "variat": [0, 3, 13], "final": [0, 3, 12, 13], "end": [0, 2, 11, 13], "from_paramet": [0, 7, 13], "param": 0, "n_rep": [0, 7, 13], "alpha_alpha_indic": [0, 13], "alpha_beta_indic": [0, 13], "with_final_orbital_rot": 0, "repetit": [0, 13], "docstr": 0, "specifi": [0, 2, 3, 6, 13], "ar": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 15], "construct": [0, 1, 3, 4, 10, 12, 13, 14, 15], "valueerror": [0, 2], "from_t_amplitud": [0, 7, 13], "n_param": [0, 7], "incorpor": 0, "so": [0, 2, 9, 11, 12, 13, 15], "recover": 0, "to_t_amplitud": [0, 7], "nocc": [0, 5], "possibli": [0, 13], "singlefactorizedhamiltonian": [0, 7], "one_body_squar": [0, 7], "singl": [0, 12], "m": [0, 1, 2, 11], "hermitian": [0, 2, 5, 11], "squar": [0, 2, 13], "sum": [0, 1, 4, 12], "depend": [0, 2, 3, 9, 10], "threshold": [0, 2, 3], "lead": [0, 3], "furthermor": [0, 2], "bound": [0, 2], "current": [0, 2, 8, 13], "name": [0, 9], "modul": [0, 10], "qualnam": 0, "start": 0, "boundari": 0, "flag": 0, "enumer": [0, 13], "both": [0, 2], "alpha_and_beta": [0, 4, 7], "supportsapplyunitari": [0, 7], "arg": [0, 4], "kwarg": [0, 4], "protocol": 0, "appli": [0, 1, 2, 3, 10, 11, 12, 13], "supportsapproximateequ": [0, 7], "compar": [0, 6, 12], "approxim": [0, 2, 3, 12], "supportsfermionoper": [0, 7], "supportslinearoper": [0, 7], "linearoper": [0, 1, 3, 11, 12, 13, 15], "supportstrac": [0, 7], "trace": [0, 7, 12], "ucjoper": [0, 4, 7, 13], "apply_diag_coulomb_evolut": [0, 7, 12], "vec": [0, 1, 2, 4, 10, 11, 12, 15], "mat": [0, 1, 2, 4, 10], "time": [0, 2, 3, 4, 10, 12, 16], "mat_alpha_beta": [0, 1, 4], "copi": [0, 15], "evolut": [0, 4, 12, 16], "exp": [0, 2, 4, 6, 11], "z_": [0, 1, 4], "also": [0, 1, 3, 4, 10, 11, 13, 15], "place": [0, 1, 4, 9, 13, 15], "interact": [0, 1, 10], "alwai": [0, 2, 11], "newli": 0, "alloc": 0, "untouch": 0, "still": [0, 13], "its": [0, 2, 11, 12, 15], "overwritten": 0, "evolv": [0, 12], "apply_fsim_g": [0, 7], "phi": [0, 2, 6], "target_orb": 0, "fsim": 0, "consist": 0, "tunnel": 0, "follow": [0, 3, 8, 9, 10, 11, 12, 13, 15], "neg": 0, "sign": 0, "convent": 0, "angl": [0, 14], "begin": [0, 2, 11, 13], "align": [0, 11, 13], "nn": 0, "neighbor": 0, "qubit": [0, 4, 13], "pmatrix": [0, 2], "co": [0, 14], "sin": [0, 14], "phase": [0, 2, 6, 11], "choic": [0, 6, 10], "sector": 0, "act": [0, 2, 15], "default": [0, 2, 3, 5], "apply_givens_rot": [0, 7], "apply_hop_g": [0, 7], "apply_num_interact": [0, 7], "apply_num_num_interact": [0, 7], "apply_num_op_prod_interact": [0, 7], "s_": 0, "sequenc": [0, 2], "integ": [0, 2], "give": [0, 11], "first": [0, 2, 4, 10, 11, 12, 13, 14], "second": [0, 2, 12, 14], "apply_num_op_sum_evolut": [0, 7, 11, 12], "lambda_i": [0, 1, 11], "must": [0, 2, 3, 15], "dimension": [0, 2, 4, 10], "apply_on_site_interact": [0, 7], "site": 0, "o": [0, 14], "apply_on_site_num_num_interact": [0, 7], "deprec": 0, "apply_orbital_rot": [0, 7, 10, 11], "allow_row_permut": 0, "allow_col_permut": 0, "mapsto": [0, 11], "u_": 0, "ji": [0, 11], "log": [0, 4], "permut": [0, 2], "row": [0, 10], "column": [0, 2, 10, 11], "wa": [0, 3], "well": [0, 3, 8, 9], "actual": [0, 6, 11, 13], "effect": [0, 4, 13], "apply_tunneling_interact": [0, 7], "apply_unitari": [0, 7, 13], "obj": 0, "ani": [0, 3, 11, 13], "approx_eq": [0, 7], "other": [0, 10, 13], "rtol": [0, 2, 4, 6], "05": [0, 2, 3, 4, 13], "atol": [0, 2, 4, 6], "equal": [0, 2, 6], "isclos": 0, "interpret": 0, "rel": [0, 2, 6], "numer": [0, 2, 15], "up": [0, 3, 6, 9, 11], "cre": [0, 7], "creat": [0, 10, 11, 12, 13, 15], "index": [0, 10, 13, 15], "de": [0, 7], "destroi": [0, 15], "dim": [0, 5, 7, 10, 15], "get": [0, 11, 12, 13, 14], "dimens": [0, 5, 10], "dim_a": [0, 10], "dim_b": [0, 10], "expectation_one_body_pow": [0, 7], "one_rdm": 0, "power": 0, "expect": [0, 3], "w": [0, 11, 12], "slater": [0, 10, 12], "determin": [0, 2, 10, 12], "m_": [0, 1, 2], "a_p": 0, "a_q": 0, "let": [0, 12, 15], "lvert": [0, 13], "psi": [0, 13], "rangl": [0, 13], "Then": 0, "quantiti": 0, "langl": 0, "rvert": 0, "unlik": 0, "most": [0, 2, 15], "word": [0, 13], "rdm": [0, 7], "shape": [0, 2, 5, 10, 12, 13], "treat": 0, "foot": 0, "expand": 0, "usual": 0, "elsewher": 0, "block_diag": 0, "reduc": [0, 2], "densiti": 0, "expectation_one_body_product": [0, 7], "o_1": 0, "o_2": 0, "dot": 0, "o_k": 0, "fermi_hubbard_1d": [0, 7], "chemical_potenti": 0, "nearest_neighbor_interact": 0, "period": 0, "One": [0, 12], "fermi": 0, "hubbard": 0, "model": 0, "c": [0, 2, 7, 12, 13], "mu": 0, "v": 0, "onsit": 0, "strength": 0, "chemic": 0, "potenti": 0, "nearest": 0, "condit": 0, "fermion_oper": [0, 7], "hartree_fock_st": [0, 7, 10, 11, 12, 13], "statevector": [0, 4, 10, 11], "indices_to_str": [0, 7, 10], "bitstr": [0, 10], "rang": [0, 6, 10, 11, 12, 13, 14], "001011": 0, "010011": 0, "100011": 0, "001101": 0, "010101": 0, "100101": 0, "001110": 0, "010110": 0, "100110": 0, "init_cach": [0, 7], "cach": 0, "prepar": 0, "typic": 0, "need": [0, 9, 13], "benchmark": 0, "avoid": [0, 15], "count": 0, "cost": 0, "lookup": 0, "tabl": [0, 15], "linear_oper": [0, 7, 12, 13, 15], "multireference_st": [0, 7, 14], "ansatz_oper": 0, "reference_occup": [0, 14], "root": 0, "multirefer": 0, "desir": [0, 6], "eigenvector": [0, 11], "lowest": [0, 11, 12], "itself": [0, 15], "number_oper": [0, 7], "n_p": 0, "one_hot": [0, 7], "dtype": [0, 5, 13, 14], "arrai": [0, 2, 6, 10, 15], "except": [0, 3], "hot": 0, "spin_sum": 0, "return_lower_rank": 0, "rdm1": 0, "definit": [0, 2, 3], "higher": [0, 12], "rdm2": 0, "rdm3": 0, "rdm4": 0, "addit": [0, 12, 15], "increas": [0, 12, 13], "For": [0, 3, 9, 10, 11, 13, 15], "simulate_qdrift_double_factor": [0, 7], "n_step": [0, 12], "probabl": 0, "norm": [0, 3, 13], "n_sampl": 0, "seed": [0, 5, 6, 10, 11], "via": [0, 12], "qdrift": 0, "trotter": [0, 16], "step": [0, 11, 12], "sampl": [0, 5, 6], "els": [0, 5], "explicit": 0, "string": [0, 10, 15], "proport": [0, 11], "spectral": 0, "uniform": [0, 5, 14], "requir": [0, 9, 13], "whenev": 0, "complet": 0, "character": 0, "trajectori": 0, "pseudorandom": [0, 5, 6], "gener": [0, 3, 5, 6, 8, 10, 11, 12, 13], "valid": [0, 4, 5, 6], "random": [0, 6, 7, 10, 11, 14, 15], "default_rng": [0, 5, 6, 14], "numpi": [0, 2, 6, 10, 11, 12, 13, 14], "just": [0, 9, 12, 13], "simulate_trotter_double_factor": [0, 7, 12], "suzuki": [0, 16], "formula": [0, 16], "slater_determin": [0, 7, 10], "occupied_orbit": [0, 10, 11], "occupi": [0, 5, 6, 12], "configur": [0, 9, 10], "slater_determinant_rdm": [0, 7], "similarli": [0, 12], "spin_squar": [0, 7], "fcivec": 0, "contract_diag_coulomb": [1, 7], "contract_num_op_sum": [1, 7], "contract_one_bodi": [1, 7], "dagger_i": 1, "a_j": 1, "implement": [1, 3, 4, 9, 10, 11, 13, 16], "diag_coulomb_linop": [1, 7], "num_op_sum_linop": [1, 7], "one_body_linop": [1, 7, 11], "algebra": [2, 15], "util": [2, 5, 6], "givensrot": [2, 7], "subspac": [2, 15], "span": [2, 10], "th": [2, 11], "apply_matrix_to_slic": [2, 7], "target": 2, "slice": 2, "out": [2, 8, 12], "ell": 2, "pk": 2, "qk": 2, "respect": [2, 3], "too": 2, "small": [2, 13], "exce": [2, 14], "behavior": [2, 5], "routin": [2, 10, 15], "straightforward": 2, "exact": [2, 12], "nest": 2, "addition": 2, "choos": [2, 10, 13], "achiev": [2, 12], "enabl": 2, "attempt": 2, "least": 2, "quantifi": 2, "gradient": [2, 3, 13], "constrain": 2, "certain": 2, "arxiv": [2, 5], "1808": 2, "02625": 2, "2104": 2, "08957": 2, "decompos": [2, 12], "collect": [2, 13], "double_factorized_t2": [2, 7], "t2_amplitud": 2, "t_": 2, "ijab": 2, "ap": 2, "ip": 2, "bq": 2, "jq": 2, "expm_multiply_taylor": [2, 7], "12": [2, 15], "expm": 2, "taylor": 2, "seri": 2, "expans": [2, 3], "givens_decomposit": [2, 7], "d": [2, 9], "g_l": 2, "g_": 2, "cdot": 2, "g_1": 2, "g_k": 2, "star": 2, "wise": 2, "conjug": 2, "therefor": 2, "being": [2, 13, 15], "either": [2, 13], "less": [2, 13], "think": [2, 12], "disjoint": 2, "parallel": [2, 13], "entir": 2, "layer": 2, "algorithm": [2, 3, 8, 13], "william": 2, "clement": 2, "et": 2, "al": 2, "design": 2, "univers": 2, "multiport": 2, "interferomet": 2, "ldot": [2, 13], "is_antihermitian": [2, 7], "anti": [2, 5], "is_hermitian": [2, 7], "is_orthogon": [2, 7], "orthogon": [2, 5], "union": 2, "bool_": 2, "is_real_symmetr": [2, 7], "is_special_orthogon": [2, 7], "special": [2, 5, 8], "is_unitari": [2, 7], "lup": [2, 7], "pivot": 2, "lu": 2, "rtype": 2, "unit": 2, "match_global_phas": [2, 7], "match": [2, 12], "anoth": [2, 6], "some": [2, 6, 13, 15], "modified_choleski": [2, 7], "v_i": 2, "posit": [2, 3, 14], "No": 2, "check": [2, 6, 8, 11, 12], "verifi": 2, "1711": 2, "02242": 2, "assembl": 2, "reduced_matrix": [2, 7], "v_j": 2, "minimize_linear_method": [3, 7, 13], "params_to_vec": [3, 13], "x0": [3, 13, 14], "maxit": [3, 13], "1000": 3, "regular": [3, 13], "lindep": 3, "epsilon": 3, "gtol": 3, "optimize_hyperparamet": 3, "optimize_hyperparameters_arg": 3, "feenberg": 3, "backflow": 3, "correl": 3, "callabl": [3, 13], "wavefunct": [3, 13], "those": 3, "guess": 3, "hyperparamet": [3, 13], "control": 3, "Its": [3, 10], "greater": 3, "size": [3, 14], "strictli": 3, "solv": 3, "problem": 3, "increment": 3, "finit": 3, "converg": [3, 12, 13, 14], "project": 3, "incur": 3, "evalu": [3, 14], "speed": 3, "fewer": [3, 12], "overal": 3, "f": [3, 10, 12, 13, 14], "scipy_optimize_minimize_arg": 3, "optimizeresult": [3, 13], "after": [3, 13], "signatur": 3, "intermediate_result": [3, 13], "attribut": 3, "x": [3, 13, 14], "fun": [3, 13, 14], "present": 3, "last": [3, 4], "jac": [3, 13, 14], "hold": 3, "select": 3, "nfev": [3, 13, 14], "nlinop": [3, 13], "code": [4, 8, 10, 12, 13, 15], "diagcoulombevolutionjw": [4, 7], "label": 4, "assum": 4, "invers": [4, 7], "dropneglig": [4, 7], "transformationpass": 4, "drop": 4, "neglig": 4, "dag": 4, "dagcircuit": 4, "develop": 4, "notimplementederror": 4, "unimpl": 4, "mergeorbitalrot": [4, 7], "merg": 4, "consecut": 4, "orbitalrotationjw": [4, 7], "ucjoperatorjw": [4, 7], "ucj_oper": 4, "ffsim_vec_to_qiskit_vec": [4, 7], "comb": [4, 10], "n_alpha": [4, 6, 10, 11], "n_beta": [4, 6, 10, 11], "qiskit_vec_to_ffsim_vec": [4, 7], "random_antihermitian": [5, 7], "width": 5, "height": 5, "random_hermitian": [5, 7, 11], "random_orthogon": [5, 7], "distribut": 5, "haar": 5, "measur": 5, "instanc": [5, 11, 12], "math": [5, 10, 14], "ph": 5, "0609050": 5, "random_real_symmetric_matrix": [5, 7], "random_special_orthogon": [5, 7], "random_statevector": [5, 7, 15], "random_t2_amplitud": [5, 7], "random_two_body_tensor": [5, 7], "random_unitari": [5, 7, 10, 11], "assert_allclose_up_to_global_phas": [6, 7], "07": 6, "equal_nan": 6, "err_msg": 6, "verbos": 6, "nan": 6, "messag": [6, 13, 14], "case": 6, "failur": 6, "conflict": 6, "append": [6, 13], "assertionerror": 6, "global": 6, "precis": [6, 13], "generate_norb_nelec": [6, 7], "norb_rang": 6, "generate_norb_nelec_spin": [6, 7], "triplet": 6, "generate_norb_spin": [6, 7], "random_nelec": [6, 7], "random_occupied_orbit": [6, 7], "occ_a": 6, "occ_b": 6, "ffsim": [7, 9, 11, 12, 13, 14, 15, 16], "contract": [7, 11], "qiskit": [7, 8, 9], "test": [7, 10, 11, 12], "categori": 8, "chemistri": 8, "By": [8, 10], "exploit": 8, "faster": [8, 13], "experiment": 8, "disclaim": 8, "releas": 8, "break": 8, "chang": 8, "introduc": [8, 11, 13], "without": [8, 13], "warn": 8, "recommend": [8, 15], "pip": 8, "won": 8, "work": [8, 9], "nativ": 8, "window": [8, 9], "howev": 8, "instruct": [8, 9], "inform": [8, 13, 15], "about": 8, "tutori": [8, 11, 12, 13, 14], "host": 8, "github": [8, 9], "contribut": 8, "you": [8, 9, 10, 11, 13], "bibtex": 8, "author": 8, "titl": 8, "url": 8, "http": [8, 9], "com": [8, 9], "commun": [8, 9], "directli": [9, 10, 12, 13], "linux": 9, "maco": 9, "user": 9, "main": [9, 13], "subsystem": 9, "wsl": 9, "provid": [9, 13], "environ": 9, "pypi": 9, "avail": 9, "system": [9, 10, 11], "rust": 9, "compil": 9, "bla": 9, "On": [9, 10], "acceler": 9, "framework": 9, "openbla": 9, "abl": 9, "your": 9, "packag": 9, "manag": 9, "arch": 9, "sudo": 9, "pacman": 9, "fedora": 9, "dnf": 9, "devel": 9, "ubuntu": 9, "apt": 9, "libopenbla": 9, "dev": 9, "onc": 9, "satisfi": [9, 11, 15], "clone": 9, "repositori": 9, "git": 9, "cd": 9, "dockerfil": 9, "build": [9, 12, 13, 14], "imag": 9, "compos": [9, 12], "yaml": 9, "file": 9, "few": 9, "simpl": 9, "command": 9, "navig": 9, "localhost": 9, "58888": 9, "web": 9, "browser": 9, "access": 9, "jupyt": 9, "notebook": 9, "interfac": [9, 13], "home": 9, "directori": 9, "subdirectori": 9, "persist": 9, "volum": 9, "like": [9, 13], "save": [9, 13], "across": 9, "advantag": 10, "effici": [10, 15], "primari": 10, "wai": [10, 11, 13], "show": [10, 11, 12, 13, 14, 15], "6": [10, 11, 12, 13, 14, 15], "1234": [10, 11, 14], "slater_det": 10, "assert_allclos": [10, 11], "plain": 10, "becaus": [10, 12, 13, 15], "fix": 10, "contrast": 10, "would": [10, 13], "2n": 10, "diment": 10, "conveni": 10, "hand": 10, "assert": 10, "300": 10, "4096": 10, "standard": [10, 13], "often": [10, 13], "simpli": [10, 11], "reshap": 10, "half": 10, "20": 10, "39": [10, 15], "000011000111": 10, "000101000111": 10, "000110000111": 10, "001001000111": 10, "001010000111": 10, "001100000111": 10, "010001000111": 10, "010010000111": 10, "010100000111": 10, "011000000111": 10, "100001000111": 10, "100010000111": 10, "100100000111": 10, "101000000111": 10, "110000000111": 10, "000011001011": 10, "000101001011": 10, "000110001011": 10, "001001001011": 10, "001010001011": 10, "fundament": 11, "mode": 11, "sum_j": 11, "anticommut": 11, "relat": [11, 13], "_1": 11, "_2": 11, "section": 11, "ll": [11, 12, 13], "task": 11, "consid": [11, 13], "rewritten": 11, "eigendecomposit": 11, "sum_k": [11, 12], "lambda_k": 11, "ik": 11, "jk": 11, "our": [11, 12, 13], "ground": [11, 13], "pick": 11, "spars": [11, 12, 15], "eig": [11, 15], "eigsh": 11, "sa": 11, "fact": 11, "illustr": 11, "purpos": 11, "explicitli": 11, "eigh": [11, 12], "evolved_vec": 11, "conj": 11, "undo": 11, "expected_phas": 11, "mention": [11, 12], "abov": [11, 12, 15], "better": [11, 12], "evolved_vec_alt": 11, "daunt": 12, "scale": 12, "cell": [12, 13], "ethen": [12, 13], "stretch": [12, 13], "bond": [12, 13, 14], "bond_dist": [12, 13], "678": [12, 13], "5626": [12, 13], "9289": [12, 13], "mol": [12, 13, 14], "gto": [12, 13, 14], "d2h": [12, 13], "nelectron": [12, 13], "mol_data": [12, 13, 14], "mol_hamiltonian": [12, 13, 14], "df_hamiltonian": 12, "77": [12, 13], "4456267643963": 12, "dataclass": [12, 13], "10": 12, "although": 12, "alreadi": 12, "built": 12, "manual": 12, "asymmetr": 12, "basic": 12, "h_k": 12, "divid": 12, "exponenti": 12, "individu": [12, 15], "do": [12, 15], "approx": 12, "prod_k": 12, "deriv": 12, "write": 12, "recal": 12, "quadrat": [12, 16], "def": [12, 13, 14], "simulate_trotter_step_double_factor": 12, "one_body_energi": 12, "one_body_basis_chang": 12, "zip": [12, 13, 14], "finish": 12, "level": 12, "handl": 12, "split": 12, "wrote": 12, "step_tim": 12, "initial_st": 12, "\u03c8": [12, 13], "vdot": [12, 13], "44562676439625": 12, "now": 12, "later": 12, "exact_st": 12, "expm_multipli": 12, "tracea": 12, "fidel": 12, "ab": 12, "9315062301399409": 12, "7": [12, 14, 15], "final_st": [12, 13], "9928527668213394": 12, "improv": 12, "8": [12, 13, 14, 15], "9999320851286935": 12, "commonli": 12, "known": 12, "fourth": 12, "reproduc": 12, "9": [12, 13, 14, 15], "9999913261307712": 12, "mcscf": [13, 14], "kernel": 13, "4456267643961": 13, "casci": [13, 14], "6290254326717": 13, "ci": [13, 14], "57322412553862": 13, "0000000": [13, 14], "phi_0": 13, "taken": 13, "express": 13, "previou": 13, "constructor": 13, "truncat": 13, "cc": 13, "frozen": 13, "nao_nr": [13, 14], "reference_st": 13, "ansatz_st": [13, 14], "49387212754468": 13, "e_corr": 13, "04824536314851401": 13, "46975600021685": 13, "facilit": 13, "convers": 13, "somewhat": 13, "complic": 13, "short": 13, "non": 13, "redund": 13, "len": [13, 14], "72": 13, "stop": [13, 14], "NO": [13, 14], "reach": 13, "success": [13, 14], "statu": [13, 14], "50959588147846": 13, "252e": 13, "00": [13, 14], "199e": 13, "01": [13, 14], "723e": 13, "02": [13, 14], "372e": 13, "nit": [13, 14], "236e": 13, "04": [13, 14], "684e": 13, "681e": 13, "03": [13, 14], "746e": 13, "584": 13, "njev": [13, 14], "hess_inv": [13, 14], "lt": [13, 14], "72x72": 13, "lbfgsinvhessproduct": [13, 14], "float64": [13, 14], "gt": [13, 14], "connect": 13, "swap": 13, "network": 13, "make": 13, "challeng": 13, "noisi": 13, "pre": 13, "fault": 13, "processor": 13, "idea": 13, "impos": 13, "sparsiti": 13, "constraint": 13, "them": 13, "depth": 13, "topologi": 13, "triangl": 13, "lattic": 13, "line": 13, "rung": 13, "ladder": 13, "With": 13, "setup": 13, "while": 13, "share": 13, "Of": 13, "cours": 13, "notic": 13, "decreas": 13, "46": 13, "45739368292516": 13, "249e": 13, "251e": 13, "687e": 13, "416e": 13, "100e": 13, "103e": 13, "879e": 13, "409e": 13, "423": 13, "46x46": 13, "similar": 13, "intermedi": 13, "defaultdict": 13, "info": 13, "accept": 13, "hasattr": 13, "4684417335533": 13, "371e": 13, "976e": 13, "625e": 13, "800e": 13, "264e": 13, "610e": 13, "532e": 13, "511e": 13, "877": 13, "647": 13, "45692103503286": 13, "014448537709490191": 13, "02490787701748069": 13, "5659107293159771": 13, "45808185549275": 13, "008205172622718828": 13, "00025347276169979403": 13, "0006777823355174628": 13, "45809817800367": 13, "00801017947353011": 13, "9682560273662327": 13, "0006774401793561147": 13, "46120118177468": 13, "017859098583615826": 13, "0022275938611355313": 13, "00038998622580610487": 13, "water": 14, "equilibrium": 14, "radius_1": 14, "958": 14, "radius_2": 14, "bond_angle_deg": 14, "104": 14, "478": 14, "h1_x": 14, "h2_x": 14, "180": 14, "h2_y": 14, "c2v": 14, "75": 14, "6787887956297": 14, "7288249991515": 14, "23": 14, "6332495815006": 14, "brickwork": 14, "n_layer": 14, "rng": 14, "reference_occupations_spati": 14, "initiali": 14, "74": 14, "2065627332163": 14, "maxfun": 14, "100": 14, "15": 14, "AND": 14, "68085203249585": 14, "996e": 14, "549e": 14, "650e": 14, "012e": 14, "759e": 14, "118e": 14, "192e": 14, "663e": 14, "112": 14, "15x15": 14, "Such": 15, "programmat": 15, "hash": 15, "three": 15, "piec": 15, "upon": 15, "intern": 15, "helper": 15, "shown": 15, "repr": 15, "view": 15, "displai": 15, "0j": 15, "arithmet": 15, "op3": 15, "good": 15, "awar": 15, "especi": 15, "These": 15, "3j": 15, "6j": 15, "4j": 15, "12j": 15, "preserv": 15, "far": 15, "criteria": 15, "doe": 15, "op4": 15, "linop": 15, "onto": 15, "07133359": 15, "17842658j": 15, "lm": 15, "21984743e": 15, "18j": 15, "introduct": 16, "brief": 16, "background": 16, "local": 16, "lucj": 16, "entangl": 16, "forg": 16}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[0, 1, 1, "", "DoubleFactorizedHamiltonian"], [0, 1, 1, "", "FermionAction"], [0, 1, 1, "", "FermionOperator"], [0, 1, 1, "", "HopGateAnsatzOperator"], [0, 1, 1, "", "MolecularData"], [0, 1, 1, "", "MolecularHamiltonian"], [0, 1, 1, "", "RealUCJOperator"], [0, 1, 1, "", "SingleFactorizedHamiltonian"], [0, 1, 1, "", "Spin"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsFermionOperator"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCJOperator"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_givens_rotation"], [0, 5, 1, "", "apply_hop_gate"], [0, 5, 1, "", "apply_num_interaction"], [0, 5, 1, "", "apply_num_num_interaction"], [0, 5, 1, "", "apply_num_op_prod_interaction"], [0, 5, 1, "", "apply_num_op_sum_evolution"], [0, 5, 1, "", "apply_on_site_interaction"], [0, 5, 1, "", "apply_on_site_num_num_interaction"], [0, 5, 1, "", "apply_orbital_rotation"], [0, 5, 1, "", "apply_tunneling_interaction"], [0, 5, 1, "", "apply_unitary"], [0, 5, 1, "", "approx_eq"], [1, 0, 0, "-", "contract"], [0, 5, 1, "", "cre"], [0, 5, 1, "", "cre_a"], [0, 5, 1, "", "cre_b"], [0, 5, 1, "", "des"], [0, 5, 1, "", "des_a"], [0, 5, 1, "", "des_b"], [0, 5, 1, "", "dim"], [0, 5, 1, "", "dims"], [0, 5, 1, "", "expectation_one_body_power"], [0, 5, 1, "", "expectation_one_body_product"], [0, 5, 1, "", "fermi_hubbard_1d"], [0, 5, 1, "", "fermion_operator"], [0, 5, 1, "", "hartree_fock_state"], [0, 5, 1, "", "indices_to_strings"], [0, 5, 1, "", "init_cache"], [2, 0, 0, "-", "linalg"], [0, 5, 1, "", "linear_operator"], [0, 5, 1, "", "multireference_state"], [0, 5, 1, "", "number_operator"], [0, 5, 1, "", "one_hot"], [3, 0, 0, "-", "optimize"], [4, 0, 0, "-", "qiskit"], [5, 0, 0, "-", "random"], [0, 5, 1, "", "rdm"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_rdm"], [0, 5, 1, "", "spin_square"], [6, 0, 0, "-", "testing"], [0, 5, 1, "", "trace"]], "ffsim.DoubleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_number_representation"], [0, 3, 1, "", "to_z_representation"], [0, 2, 1, "", "z_representation"]], "ffsim.FermionAction": [[0, 2, 1, "", "action"], [0, 2, 1, "", "orb"], [0, 2, 1, "", "spin"]], "ffsim.FermionOperator": [[0, 3, 1, "", "conserves_particle_number"], [0, 3, 1, "", "conserves_spin_z"], [0, 3, 1, "", "many_body_order"], [0, 3, 1, "", "normal_ordered"]], "ffsim.HopGateAnsatzOperator": [[0, 3, 1, "", "to_parameters"]], "ffsim.MolecularData": [[0, 2, 1, "", "active_space"], [0, 2, 1, "", "atom"], [0, 2, 1, "", "basis"], [0, 2, 1, "", "ccsd_energy"], [0, 2, 1, "", "ccsd_t1"], [0, 2, 1, "", "ccsd_t2"], [0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 2, 1, "", "fci_energy"], [0, 2, 1, "", "fci_vec"], [0, 3, 1, "", "from_mole"], [0, 3, 1, "", "from_scf"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "hf_energy"], [0, 2, 1, "", "mo_coeff"], [0, 2, 1, "", "mo_occ"], [0, 4, 1, "", "mole"], [0, 2, 1, "", "mp2_energy"], [0, 2, 1, "", "mp2_t2"], [0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_symmetries"], [0, 3, 1, "", "run_ccsd"], [0, 3, 1, "", "run_fci"], [0, 3, 1, "", "run_mp2"], [0, 4, 1, "", "scf"], [0, 2, 1, "", "spin"], [0, 2, 1, "", "symmetry"], [0, 2, 1, "", "two_body_integrals"]], "ffsim.MolecularHamiltonian": [[0, 2, 1, "", "constant"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 3, 1, "", "rotated"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.RealUCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.SingleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_squares"], [0, 2, 1, "", "one_body_tensor"]], "ffsim.Spin": [[0, 2, 1, "", "ALPHA"], [0, 2, 1, "", "ALPHA_AND_BETA"], [0, 2, 1, "", "BETA"]], "ffsim.UCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.contract": [[1, 5, 1, "", "contract_diag_coulomb"], [1, 5, 1, "", "contract_num_op_sum"], [1, 5, 1, "", "contract_one_body"], [1, 5, 1, "", "diag_coulomb_linop"], [1, 5, 1, "", "num_op_sum_linop"], [1, 5, 1, "", "one_body_linop"]], "ffsim.linalg": [[2, 1, 1, "", "GivensRotation"], [2, 5, 1, "", "apply_matrix_to_slices"], [2, 5, 1, "", "double_factorized"], [2, 5, 1, "", "double_factorized_t2"], [2, 5, 1, "", "expm_multiply_taylor"], [2, 5, 1, "", "givens_decomposition"], [2, 5, 1, "", "is_antihermitian"], [2, 5, 1, "", "is_hermitian"], [2, 5, 1, "", "is_orthogonal"], [2, 5, 1, "", "is_real_symmetric"], [2, 5, 1, "", "is_special_orthogonal"], [2, 5, 1, "", "is_unitary"], [2, 5, 1, "", "lup"], [2, 5, 1, "", "match_global_phase"], [2, 5, 1, "", "modified_cholesky"], [2, 5, 1, "", "reduced_matrix"]], "ffsim.linalg.GivensRotation": [[2, 2, 1, "", "c"], [2, 2, 1, "", "i"], [2, 2, 1, "", "j"], [2, 2, 1, "", "s"]], "ffsim.optimize": [[3, 5, 1, "", "minimize_linear_method"]], "ffsim.qiskit": [[4, 1, 1, "", "DiagCoulombEvolutionJW"], [4, 1, 1, "", "DropNegligible"], [4, 1, 1, "", "MergeOrbitalRotations"], [4, 1, 1, "", "OrbitalRotationJW"], [4, 1, 1, "", "UCJOperatorJW"], [4, 5, 1, "", "ffsim_vec_to_qiskit_vec"], [4, 5, 1, "", "qiskit_vec_to_ffsim_vec"]], "ffsim.qiskit.DiagCoulombEvolutionJW": [[4, 3, 1, "", "inverse"]], "ffsim.qiskit.DropNegligible": [[4, 3, 1, "", "run"]], "ffsim.qiskit.MergeOrbitalRotations": [[4, 3, 1, "", "run"]], "ffsim.qiskit.OrbitalRotationJW": [[4, 3, 1, "", "inverse"]], "ffsim.random": [[5, 5, 1, "", "random_antihermitian"], [5, 5, 1, "", "random_hermitian"], [5, 5, 1, "", "random_orthogonal"], [5, 5, 1, "", "random_real_symmetric_matrix"], [5, 5, 1, "", "random_special_orthogonal"], [5, 5, 1, "", "random_statevector"], [5, 5, 1, "", "random_t2_amplitudes"], [5, 5, 1, "", "random_two_body_tensor"], [5, 5, 1, "", "random_unitary"]], "ffsim.testing": [[6, 5, 1, "", "assert_allclose_up_to_global_phase"], [6, 5, 1, "", "generate_norb_nelec"], [6, 5, 1, "", "generate_norb_nelec_spin"], [6, 5, 1, "", "generate_norb_spin"], [6, 5, 1, "", "random_nelec"], [6, 5, 1, "", "random_occupied_orbitals"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"ffsim": [0, 1, 2, 3, 4, 5, 6, 8, 10], "contract": 1, "linalg": 2, "optim": [3, 13], "qiskit": 4, "random": 5, "test": 6, "api": 7, "refer": 7, "instal": [8, 9], "next": 8, "step": 8, "develop": 8, "guid": 8, "cite": 8, "pip": 9, "from": 9, "sourc": 9, "us": 9, "within": 9, "docker": 9, "introduct": 10, "orbit": 11, "rotat": 11, "quadrat": 11, "hamiltonian": [11, 12], "time": 11, "evolut": 11, "diagon": 12, "coulomb": 12, "oper": 12, "doubl": 12, "factor": 12, "trotter": 12, "simul": 12, "represent": 12, "molecular": 12, "brief": 12, "background": 12, "suzuki": 12, "formula": 12, "implement": 12, "The": [13, 15], "local": 13, "unitari": 13, "cluster": 13, "jastrow": 13, "lucj": 13, "ansatz": 13, "ucj": 13, "linear": 13, "method": 13, "entangl": 14, "forg": 14, "fermionoper": 15, "class": 15, "tutori": 16}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"ffsim": [[0, "module-ffsim"], [8, "ffsim"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "ffsim.optimize": [[3, "module-ffsim.optimize"]], "ffsim.qiskit": [[4, "module-ffsim.qiskit"]], "ffsim.random": [[5, "module-ffsim.random"]], "ffsim.testing": [[6, "module-ffsim.testing"]], "API Reference": [[7, "api-reference"]], "Installation": [[8, "installation"], [9, "installation"]], "Next steps": [[8, "next-steps"]], "Developer guide": [[8, "developer-guide"]], "Citing ffsim": [[8, "citing-ffsim"]], "Pip install": [[9, "pip-install"]], "Install from source": [[9, "install-from-source"]], "Use within Docker": [[9, "use-within-docker"]], "Introduction to ffsim": [[10, "Introduction-to-ffsim"]], "Orbital rotations and quadratic Hamiltonians": [[11, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Orbital rotations": [[11, "Orbital-rotations"]], "Time evolution by a quadratic Hamiltonian": [[11, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[12, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[12, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[12, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Brief background on Trotter-Suzuki formulas": [[12, "Brief-background-on-Trotter-Suzuki-formulas"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[12, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[13, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"], [13, "id1"]], "The unitary cluster Jastrow (UCJ) ansatz": [[13, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Optimize with the linear method": [[13, "Optimize-with-the-linear-method"]], "Entanglement forging": [[14, "Entanglement-forging"]], "The FermionOperator class": [[15, "The-FermionOperator-class"]], "Tutorials": [[16, "tutorials"]]}, "indexentries": {"alpha (ffsim.spin attribute)": [[0, "ffsim.Spin.ALPHA"]], "alpha_and_beta (ffsim.spin attribute)": [[0, "ffsim.Spin.ALPHA_AND_BETA"]], "beta (ffsim.spin attribute)": [[0, "ffsim.Spin.BETA"]], "doublefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.DoubleFactorizedHamiltonian"]], "fermionaction (class in ffsim)": [[0, "ffsim.FermionAction"]], "fermionoperator (class in ffsim)": [[0, "ffsim.FermionOperator"]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator"]], "moleculardata (class in ffsim)": [[0, "ffsim.MolecularData"]], "molecularhamiltonian (class in ffsim)": [[0, "ffsim.MolecularHamiltonian"]], "realucjoperator (class in ffsim)": [[0, "ffsim.RealUCJOperator"]], "singlefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.SingleFactorizedHamiltonian"]], "spin (class in ffsim)": [[0, "ffsim.Spin"]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary"]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality"]], "supportsfermionoperator (class in ffsim)": [[0, "ffsim.SupportsFermionOperator"]], "supportslinearoperator (class in ffsim)": [[0, "ffsim.SupportsLinearOperator"]], "supportstrace (class in ffsim)": [[0, "ffsim.SupportsTrace"]], "ucjoperator (class in ffsim)": [[0, "ffsim.UCJOperator"]], "action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action"]], "active_space (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.active_space"]], "apply_diag_coulomb_evolution() (in module ffsim)": [[0, "ffsim.apply_diag_coulomb_evolution"]], "apply_fsim_gate() (in module ffsim)": [[0, "ffsim.apply_fsim_gate"]], "apply_givens_rotation() (in module ffsim)": [[0, "ffsim.apply_givens_rotation"]], "apply_hop_gate() (in module ffsim)": [[0, "ffsim.apply_hop_gate"]], "apply_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_interaction"]], "apply_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_num_interaction"]], "apply_num_op_prod_interaction() (in module ffsim)": [[0, "ffsim.apply_num_op_prod_interaction"]], "apply_num_op_sum_evolution() (in module ffsim)": [[0, "ffsim.apply_num_op_sum_evolution"]], "apply_on_site_interaction() (in module ffsim)": [[0, "ffsim.apply_on_site_interaction"]], "apply_on_site_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_on_site_num_num_interaction"]], "apply_orbital_rotation() (in module ffsim)": [[0, "ffsim.apply_orbital_rotation"]], "apply_tunneling_interaction() (in module ffsim)": [[0, "ffsim.apply_tunneling_interaction"]], "apply_unitary() (in module ffsim)": [[0, "ffsim.apply_unitary"]], "approx_eq() (in module ffsim)": [[0, "ffsim.approx_eq"]], "atom (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.atom"]], "basis (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.basis"]], "ccsd_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_energy"]], "ccsd_t1 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_t1"]], "ccsd_t2 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_t2"]], "conserves_particle_number() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_particle_number"]], "conserves_spin_z() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_spin_z"]], "constant (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.constant"]], "constant (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.constant"]], "constant (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.constant"]], "core_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.core_energy"]], "cre() (in module ffsim)": [[0, "ffsim.cre"]], "cre_a() (in module ffsim)": [[0, "ffsim.cre_a"]], "cre_b() (in module ffsim)": [[0, "ffsim.cre_b"]], "des() (in module ffsim)": [[0, "ffsim.des"]], "des_a() (in module ffsim)": [[0, "ffsim.des_a"]], "des_b() (in module ffsim)": [[0, "ffsim.des_b"]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats"]], "diag_coulomb_mats_alpha_alpha (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.diag_coulomb_mats_alpha_alpha"]], "diag_coulomb_mats_alpha_alpha (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_alpha"]], "diag_coulomb_mats_alpha_beta (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.diag_coulomb_mats_alpha_beta"]], "diag_coulomb_mats_alpha_beta (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_beta"]], "dim() (in module ffsim)": [[0, "ffsim.dim"]], "dims() (in module ffsim)": [[0, "ffsim.dims"]], "dipole_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.dipole_integrals"]], "expectation_one_body_power() (in module ffsim)": [[0, "ffsim.expectation_one_body_power"]], "expectation_one_body_product() (in module ffsim)": [[0, "ffsim.expectation_one_body_product"]], "fci_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.fci_energy"]], "fci_vec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.fci_vec"]], "fermi_hubbard_1d() (in module ffsim)": [[0, "ffsim.fermi_hubbard_1d"]], "fermion_operator() (in module ffsim)": [[0, "ffsim.fermion_operator"]], "ffsim": [[0, "module-ffsim"]], "final_orbital_rotation (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.final_orbital_rotation"]], "final_orbital_rotation (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.final_orbital_rotation"]], "from_mole() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_mole"]], "from_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian static method)": [[0, "ffsim.DoubleFactorizedHamiltonian.from_molecular_hamiltonian"]], "from_molecular_hamiltonian() (ffsim.singlefactorizedhamiltonian static method)": [[0, "ffsim.SingleFactorizedHamiltonian.from_molecular_hamiltonian"]], "from_parameters() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.from_parameters"]], "from_parameters() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_parameters"]], "from_scf() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_scf"]], "from_t_amplitudes() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.from_t_amplitudes"]], "from_t_amplitudes() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_t_amplitudes"]], "hamiltonian (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.hamiltonian"]], "hartree_fock_state() (in module ffsim)": [[0, "ffsim.hartree_fock_state"]], "hf_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.hf_energy"]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings"]], "init_cache() (in module ffsim)": [[0, "ffsim.init_cache"]], "linear_operator() (in module ffsim)": [[0, "ffsim.linear_operator"]], "many_body_order() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.many_body_order"]], "mo_coeff (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mo_coeff"]], "mo_occ (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mo_occ"]], "module": [[0, "module-ffsim"], [1, "module-ffsim.contract"], [2, "module-ffsim.linalg"], [3, "module-ffsim.optimize"], [4, "module-ffsim.qiskit"], [5, "module-ffsim.random"], [6, "module-ffsim.testing"]], "mole (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.mole"]], "mp2_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mp2_energy"]], "mp2_t2 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mp2_t2"]], "multireference_state() (in module ffsim)": [[0, "ffsim.multireference_state"]], "n_params() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.n_params"]], "n_params() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.n_params"]], "n_reps (ffsim.realucjoperator property)": [[0, "ffsim.RealUCJOperator.n_reps"]], "n_reps (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.n_reps"]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec"]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb"]], "norb (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.norb"]], "norb (ffsim.molecularhamiltonian property)": [[0, "ffsim.MolecularHamiltonian.norb"]], "norb (ffsim.realucjoperator property)": [[0, "ffsim.RealUCJOperator.norb"]], "norb (ffsim.singlefactorizedhamiltonian property)": [[0, "ffsim.SingleFactorizedHamiltonian.norb"]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb"]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered"]], "number_operator() (in module ffsim)": [[0, "ffsim.number_operator"]], "one_body_squares (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_squares"]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.one_body_tensor"]], "one_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_tensor"]], "one_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.one_body_tensor"]], "one_body_tensor (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_tensor"]], "one_hot() (in module ffsim)": [[0, "ffsim.one_hot"]], "orb (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.orb"]], "orbital_rotations (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.orbital_rotations"]], "orbital_rotations (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.orbital_rotations"]], "orbital_rotations (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.orbital_rotations"]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries"]], "rdm() (in module ffsim)": [[0, "ffsim.rdm"]], "rotated() (ffsim.molecularhamiltonian method)": [[0, "ffsim.MolecularHamiltonian.rotated"]], "run_ccsd() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_ccsd"]], "run_fci() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_fci"]], "run_mp2() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_mp2"]], "scf (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.scf"]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized"]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized"]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant"]], "slater_determinant_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_rdm"]], "spin (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.spin"]], "spin (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.spin"]], "spin_square() (in module ffsim)": [[0, "ffsim.spin_square"]], "symmetry (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.symmetry"]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation"]], "to_parameters() (ffsim.hopgateansatzoperator method)": [[0, "ffsim.HopGateAnsatzOperator.to_parameters"]], "to_parameters() (ffsim.realucjoperator method)": [[0, "ffsim.RealUCJOperator.to_parameters"]], "to_parameters() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_parameters"]], "to_t_amplitudes() (ffsim.realucjoperator method)": [[0, "ffsim.RealUCJOperator.to_t_amplitudes"]], "to_t_amplitudes() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_t_amplitudes"]], "to_z_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_z_representation"]], "trace() (in module ffsim)": [[0, "ffsim.trace"]], "two_body_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.two_body_integrals"]], "two_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.two_body_tensor"]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation"]], "contract_diag_coulomb() (in module ffsim.contract)": [[1, "ffsim.contract.contract_diag_coulomb"]], "contract_num_op_sum() (in module ffsim.contract)": [[1, "ffsim.contract.contract_num_op_sum"]], "contract_one_body() (in module ffsim.contract)": [[1, "ffsim.contract.contract_one_body"]], "diag_coulomb_linop() (in module ffsim.contract)": [[1, "ffsim.contract.diag_coulomb_linop"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "num_op_sum_linop() (in module ffsim.contract)": [[1, "ffsim.contract.num_op_sum_linop"]], "one_body_linop() (in module ffsim.contract)": [[1, "ffsim.contract.one_body_linop"]], "givensrotation (class in ffsim.linalg)": [[2, "ffsim.linalg.GivensRotation"]], "apply_matrix_to_slices() (in module ffsim.linalg)": [[2, "ffsim.linalg.apply_matrix_to_slices"]], "c (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.c"]], "double_factorized() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized"]], "double_factorized_t2() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized_t2"]], "expm_multiply_taylor() (in module ffsim.linalg)": [[2, "ffsim.linalg.expm_multiply_taylor"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "givens_decomposition() (in module ffsim.linalg)": [[2, "ffsim.linalg.givens_decomposition"]], "i (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.i"]], "is_antihermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_antihermitian"]], "is_hermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_hermitian"]], "is_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_orthogonal"]], "is_real_symmetric() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_real_symmetric"]], "is_special_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_special_orthogonal"]], "is_unitary() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_unitary"]], "j (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.j"]], "lup() (in module ffsim.linalg)": [[2, "ffsim.linalg.lup"]], "match_global_phase() (in module ffsim.linalg)": [[2, "ffsim.linalg.match_global_phase"]], "modified_cholesky() (in module ffsim.linalg)": [[2, "ffsim.linalg.modified_cholesky"]], "reduced_matrix() (in module ffsim.linalg)": [[2, "ffsim.linalg.reduced_matrix"]], "s (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.s"]], "ffsim.optimize": [[3, "module-ffsim.optimize"]], "minimize_linear_method() (in module ffsim.optimize)": [[3, "ffsim.optimize.minimize_linear_method"]], "diagcoulombevolutionjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW"]], "dropnegligible (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DropNegligible"]], "mergeorbitalrotations (class in ffsim.qiskit)": [[4, "ffsim.qiskit.MergeOrbitalRotations"]], "orbitalrotationjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.OrbitalRotationJW"]], "ucjoperatorjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.UCJOperatorJW"]], "ffsim.qiskit": [[4, "module-ffsim.qiskit"]], "ffsim_vec_to_qiskit_vec() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.ffsim_vec_to_qiskit_vec"]], "inverse() (ffsim.qiskit.diagcoulombevolutionjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW.inverse"]], "inverse() (ffsim.qiskit.orbitalrotationjw method)": [[4, "ffsim.qiskit.OrbitalRotationJW.inverse"]], "qiskit_vec_to_ffsim_vec() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.qiskit_vec_to_ffsim_vec"]], "run() (ffsim.qiskit.dropnegligible method)": [[4, "ffsim.qiskit.DropNegligible.run"]], "run() (ffsim.qiskit.mergeorbitalrotations method)": [[4, "ffsim.qiskit.MergeOrbitalRotations.run"]], "ffsim.random": [[5, "module-ffsim.random"]], "random_antihermitian() (in module ffsim.random)": [[5, "ffsim.random.random_antihermitian"]], "random_hermitian() (in module ffsim.random)": [[5, "ffsim.random.random_hermitian"]], "random_orthogonal() (in module ffsim.random)": [[5, "ffsim.random.random_orthogonal"]], "random_real_symmetric_matrix() (in module ffsim.random)": [[5, "ffsim.random.random_real_symmetric_matrix"]], "random_special_orthogonal() (in module ffsim.random)": [[5, "ffsim.random.random_special_orthogonal"]], "random_statevector() (in module ffsim.random)": [[5, "ffsim.random.random_statevector"]], "random_t2_amplitudes() (in module ffsim.random)": [[5, "ffsim.random.random_t2_amplitudes"]], "random_two_body_tensor() (in module ffsim.random)": [[5, "ffsim.random.random_two_body_tensor"]], "random_unitary() (in module ffsim.random)": [[5, "ffsim.random.random_unitary"]], "assert_allclose_up_to_global_phase() (in module ffsim.testing)": [[6, "ffsim.testing.assert_allclose_up_to_global_phase"]], "ffsim.testing": [[6, "module-ffsim.testing"]], "generate_norb_nelec() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nelec"]], "generate_norb_nelec_spin() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nelec_spin"]], "generate_norb_spin() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_spin"]], "random_nelec() (in module ffsim.testing)": [[6, "ffsim.testing.random_nelec"]], "random_occupied_orbitals() (in module ffsim.testing)": [[6, "ffsim.testing.random_occupied_orbitals"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/ffsim", "api/ffsim.contract", "api/ffsim.linalg", "api/ffsim.optimize", "api/ffsim.qiskit", "api/ffsim.random", "api/ffsim.testing", "api/index", "index", "install", "tutorials/01-introduction", "tutorials/02-orbital-rotation", "tutorials/03-double-factorized", "tutorials/04-lucj", "tutorials/05-entanglement-forging", "tutorials/06-fermion-operator", "tutorials/index"], "filenames": ["api/ffsim.rst", "api/ffsim.contract.rst", "api/ffsim.linalg.rst", "api/ffsim.optimize.rst", "api/ffsim.qiskit.rst", "api/ffsim.random.rst", "api/ffsim.testing.rst", "api/index.md", "index.md", "install.md", "tutorials/01-introduction.ipynb", "tutorials/02-orbital-rotation.ipynb", "tutorials/03-double-factorized.ipynb", "tutorials/04-lucj.ipynb", "tutorials/05-entanglement-forging.ipynb", "tutorials/06-fermion-operator.ipynb", "tutorials/index.md"], "titles": ["ffsim", "ffsim.contract", "ffsim.linalg", "ffsim.optimize", "ffsim.qiskit", "ffsim.random", "ffsim.testing", "API Reference", "ffsim", "Installation", "Introduction to ffsim", "Orbital rotations and quadratic Hamiltonians", "Diagonal Coulomb operators and double-factorized Trotter simulation", "The local unitary cluster Jastrow (LUCJ) ansatz", "Entanglement forging", "The FermionOperator class", "Tutorials"], "terms": {"i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "softwar": [0, 8, 10], "librari": [0, 8, 10], "fast": 0, "simul": [0, 8, 10, 11, 13, 14, 16], "fermion": [0, 8, 10, 11, 13, 15], "quantum": [0, 4, 8, 10, 12, 13], "circuit": [0, 4, 8, 10], "class": [0, 2, 4, 5, 13, 16], "doublefactorizedhamiltonian": [0, 7, 12], "one_body_tensor": [0, 7, 11, 12], "diag_coulomb_mat": [0, 7, 12], "orbital_rot": [0, 1, 4, 7, 10, 11, 12], "constant": [0, 7, 12, 13], "0": [0, 2, 3, 6, 11, 12, 13, 14, 15], "z_represent": [0, 1, 4, 7], "fals": [0, 1, 2, 4, 13, 14, 15], "sourc": [0, 1, 2, 3, 4, 5, 6, 8], "base": [0, 2, 4], "object": [0, 2, 3, 13, 15], "A": [0, 1, 2, 3, 4, 5, 6, 9, 11, 12, 13, 15], "hamiltonian": [0, 3, 7, 13, 14, 16], "doubl": [0, 2, 13, 16], "factor": [0, 2, 13, 16], "represent": [0, 1, 2, 10, 15, 16], "The": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 16], "form": [0, 1, 2, 11, 12, 13, 15], "molecular": [0, 13, 14, 16], "h": [0, 12, 13, 14], "sum_": [0, 1, 2, 4, 11, 12, 13], "sigma": [0, 1, 4, 11, 12, 13], "pq": [0, 2, 12], "kappa_": 0, "dagger_": [0, 4, 11, 12], "p": [0, 2, 12, 13], "a_": [0, 4, 11, 12, 15], "q": [0, 12], "frac12": [0, 12, 13], "sum_t": 0, "tau": [0, 1, 4, 12, 13], "ij": [0, 1, 2, 4, 11, 12, 13], "z": [0, 1, 2, 4, 8, 10, 13, 15], "t": [0, 2, 4, 8, 11, 12], "_": [0, 2, 4, 11, 12, 13, 14], "n": [0, 2, 10, 11, 12, 13], "j": [0, 1, 2, 4, 7, 11, 12, 13, 14, 15], "text": [0, 12], "where": [0, 1, 2, 3, 4, 9, 11, 12, 13], "u": [0, 1, 2, 4], "pi": [0, 14], "qi": 0, "here": [0, 2, 10, 11, 12, 13], "each": [0, 2, 3, 10, 12, 13, 15], "unitari": [0, 1, 2, 4, 5, 11, 12, 16], "matrix": [0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 15], "real": [0, 1, 2, 3, 4, 5, 6, 11, 12, 13], "symmetr": [0, 1, 2, 4, 5, 12, 13], "an": [0, 1, 2, 4, 5, 8, 10, 11, 12, 13, 15], "altern": [0, 12], "sometim": 0, "yield": [0, 2, 12, 13, 14], "simpler": 0, "under": [0, 4], "jordan": [0, 4], "wigner": [0, 4], "transform": [0, 1, 4, 10, 11], "number": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 14, 15], "oper": [0, 1, 2, 3, 4, 9, 11, 13, 14, 15, 16], "take": [0, 3, 10, 13], "frac": [0, 2], "1": [0, 2, 3, 5, 10, 11, 12, 13, 14, 15], "2": [0, 1, 2, 4, 5, 10, 11, 12, 13, 14, 15], "pauli": 0, "rotat": [0, 1, 2, 4, 7, 10, 12, 13, 16], "basi": [0, 2, 7, 11, 12, 13, 14], "obtain": [0, 11, 12, 13], "rewrit": 0, "two": [0, 2, 5, 9, 12, 13, 14], "bodi": [0, 1, 2, 5, 12, 13, 14], "part": 0, "term": [0, 1, 2, 4, 12, 13, 15], "updat": [0, 12], "one": [0, 1, 2, 4, 9, 10, 12, 13, 14], "appropri": 0, "kappa": 0, "frac18": 0, "asterisk": 0, "denot": [0, 1, 2, 4, 11], "summat": 0, "over": 0, "indic": [0, 2, 10, 13, 15], "neq": [0, 1, 4], "refer": [0, 2, 3, 5, 8, 13], "low": 0, "rank": [0, 2, 5], "electron": [0, 1, 4, 5, 6, 10, 12], "structur": 0, "filter": 0, "diagon": [0, 1, 2, 4, 11, 13, 16], "tensor": [0, 1, 2, 5, 12, 13, 14], "type": [0, 1, 2, 3, 4, 5, 6, 9], "np": [0, 5, 6, 10, 11, 12, 13, 14], "ndarrai": [0, 1, 2, 3, 4, 5, 6, 12, 13], "coulomb": [0, 1, 2, 4, 13, 16], "matric": [0, 1, 2, 11, 12, 13], "orbit": [0, 1, 2, 4, 5, 6, 10, 12, 13, 15, 16], "float": [0, 2, 3, 5, 6, 12], "whether": [0, 1, 2, 3, 15], "rather": 0, "than": [0, 8, 10, 13], "bool": [0, 1, 2, 3, 6], "static": 0, "from_molecular_hamiltonian": [0, 7, 12], "tol": [0, 2], "1e": [0, 2, 3, 4, 6], "08": [0, 2, 3, 4], "max_vec": [0, 2], "none": [0, 1, 2, 3, 4, 5, 6], "optim": [0, 2, 7, 14, 16], "method": [0, 2, 3, 8, 14, 16], "l": [0, 2, 3, 12, 13, 14], "bfg": [0, 2, 3, 13, 14], "b": [0, 2, 3, 6, 11, 12, 13, 14], "callback": [0, 2, 3, 13], "option": [0, 1, 2, 3, 9, 13, 14], "diag_coulomb_indic": [0, 2], "choleski": [0, 2], "true": [0, 2, 3, 4, 6, 15], "initi": [0, 3, 5, 6, 12, 13, 14], "from": [0, 5, 8, 11, 13, 14, 15], "molecularhamiltonian": [0, 7, 12], "thi": [0, 2, 4, 8, 9, 10, 11, 12, 13, 14], "function": [0, 1, 2, 3, 10, 11, 12, 13, 15], "input": [0, 1, 3, 5, 6, 13], "which": [0, 2, 4, 5, 9, 10, 11, 12, 13, 15], "store": [0, 2, 12, 13], "It": [0, 2, 3, 4, 9, 10, 12, 13, 15], "perform": [0, 2, 3, 11, 12], "decomposit": [0, 2], "comput": [0, 2, 11, 13, 14], "new": [0, 11, 15], "return": [0, 1, 2, 3, 4, 5, 6, 12, 13, 14, 15], "result": [0, 1, 2, 3, 5, 10, 11, 12, 13, 14], "see": [0, 2, 4, 8, 9], "descript": [0, 4], "argument": [0, 2, 3, 11], "linalg": [0, 7, 11, 12, 13, 15], "double_factor": [0, 2, 7], "rest": [0, 12], "paramet": [0, 1, 2, 3, 4, 5, 6, 13, 14], "whose": [0, 2, 10], "us": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 15], "toler": [0, 2, 6, 13], "error": [0, 2, 6], "defin": [0, 2, 12, 13, 14], "maximum": [0, 2, 3, 5], "absolut": [0, 2, 6], "differ": [0, 1, 2, 3, 4, 9, 13], "between": [0, 1, 2, 3, 13], "element": [0, 2], "origin": [0, 2, 12], "correspond": [0, 2, 3, 4, 10, 11, 12, 13], "reconstruct": [0, 2], "int": [0, 1, 2, 3, 4, 5, 6, 12, 14], "limit": [0, 2, 13, 14], "keep": [0, 2], "overrid": [0, 2], "str": [0, 2, 6], "document": [0, 2], "scipi": [0, 2, 3, 11, 12, 13, 14, 15], "minim": [0, 2, 3, 13, 14], "possibl": [0, 2, 6, 8, 10], "valu": [0, 1, 2, 3, 6, 12, 13], "usag": [0, 2, 15], "dict": [0, 2, 3, 13, 14], "list": [0, 2, 6, 10, 13, 14], "tupl": [0, 1, 2, 4, 6, 12, 15], "allow": [0, 2, 9, 13], "nonzero": [0, 2, 13], "entri": [0, 2, 13], "set": [0, 2, 10, 11, 12, 13], "zero": [0, 2], "should": [0, 2, 4, 5, 6, 9, 11, 12], "contain": [0, 2, 3, 8, 9, 13, 15], "onli": [0, 2, 9, 10, 11, 13], "upper": [0, 2, 13], "trianglular": [0, 2], "e": [0, 2, 4, 12, 13, 14, 15], "pair": [0, 2, 6], "leq": [0, 2], "pass": [0, 2, 4, 11, 13, 15], "lower": [0, 2], "triangular": [0, 2], "rais": [0, 2, 4, 6], "modifi": [0, 2], "If": [0, 1, 2, 3, 4, 5, 6, 15], "full": [0, 2, 10], "eigenvalu": [0, 2, 3, 11], "instead": [0, 2, 13], "can": [0, 2, 8, 9, 10, 11, 12, 13, 15], "much": [0, 2, 8, 10], "more": [0, 2, 3, 10, 13], "expens": [0, 2], "ignor": [0, 2, 12], "properti": [0, 2, 11], "norb": [0, 1, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15], "spatial": [0, 1, 4, 6, 10, 12, 13, 15], "to_number_represent": [0, 7], "to_z_represent": [0, 7], "fermionact": [0, 7], "action": [0, 1, 7, 9, 11, 15], "spin": [0, 1, 4, 6, 7, 8, 10, 11, 13, 15], "orb": [0, 7, 15], "namedtupl": [0, 2], "alia": [0, 2], "field": [0, 2], "fermionoper": [0, 7, 16], "coeff": [0, 1], "repres": [0, 2, 3, 10, 13, 15], "linear": [0, 1, 2, 3, 11, 15, 16], "combin": [0, 1, 11, 15], "product": [0, 12, 15], "creation": [0, 11, 15], "annihil": [0, 15], "dictionari": [0, 15], "map": [0, 11, 15], "associ": [0, 3, 13, 15], "coeffici": [0, 1, 2, 11, 13, 15], "ad": 0, "subtract": [0, 15], "multipli": [0, 15], "thei": [0, 11, 13, 15], "support": [0, 2, 9, 15], "multipl": [0, 12, 15], "divis": [0, 15], "scalar": [0, 15], "when": [0, 3, 4, 8, 12, 13, 15], "go": [0, 15], "left": [0, 4, 10, 11, 15], "side": 0, "g": [0, 4, 13, 14], "op": [0, 15], "demonstr": [0, 11, 12, 13], "how": [0, 10, 11, 12, 13, 14, 15], "exampl": [0, 9, 10, 11, 13, 15], "note": [0, 2, 3, 13, 15], "sinc": [0, 2, 13], "unord": 0, "order": [0, 4, 10, 12, 13, 15], "print": [0, 6, 10, 12, 13, 14, 15], "output": [0, 3, 12, 13], "below": [0, 11, 12, 13], "mai": [0, 2, 3, 8, 9, 11, 13], "vari": 0, "run": [0, 4, 7, 8, 9, 13], "import": [0, 10, 11, 12, 13, 14, 15], "op1": [0, 15], "cre_a": [0, 7, 15], "des_a": [0, 7, 15], "3": [0, 2, 10, 11, 12, 13, 14, 15], "5": [0, 3, 12, 13, 15], "25": [0, 15], "cre_b": [0, 7, 15], "des_b": [0, 7, 15], "4": [0, 2, 10, 11, 12, 13, 14, 15], "1j": [0, 11, 12, 15], "2j": [0, 15], "op2": [0, 15], "125": [0, 15], "0625": [0, 15], "25j": [0, 15], "5j": [0, 15], "complex": [0, 1, 2, 5], "conserves_particle_numb": [0, 7, 15], "conserv": [0, 8, 10, 15], "particl": [0, 6, 8, 10, 11, 15], "otherwis": 0, "conserves_spin_z": [0, 7, 15], "compon": [0, 8, 10, 15], "many_body_ord": [0, 7], "mani": [0, 8], "length": [0, 4, 10, 12, 13], "longest": 0, "normal_ord": [0, 7, 15], "normal": [0, 15], "equival": [0, 10], "ha": [0, 1, 2, 4, 10, 11, 12, 13], "been": 0, "reorder": 0, "canon": 0, "In": [0, 10, 11, 12, 13, 14, 15], "compris": [0, 15], "appear": [0, 2, 15], "right": [0, 4, 10, 11, 15], "descend": [0, 15], "lexicograph": [0, 15], "That": [0, 3, 11, 15], "all": [0, 3, 6, 9, 10, 13, 15], "befor": [0, 9, 13, 15], "within": [0, 2, 15], "beta": [0, 1, 4, 6, 7, 10, 13, 15], "alpha": [0, 1, 4, 6, 7, 10, 13, 15], "larger": [0, 2, 3, 15], "smaller": [0, 2, 12, 15], "hopgateansatzoper": [0, 7, 14], "interaction_pair": [0, 14], "theta": [0, 14], "final_orbital_rot": [0, 7], "hop": 0, "gate": [0, 4, 13], "ansatz": [0, 3, 14, 16], "to_paramet": [0, 7, 13], "convert": [0, 1, 4, 10, 11, 12, 13, 15], "vector": [0, 1, 2, 3, 4, 5, 10, 11, 13, 14, 15], "moleculardata": [0, 7, 12, 13, 14], "atom": [0, 7, 12, 13, 14], "symmetri": [0, 7, 8, 10, 11, 12, 13, 14], "mo_coeff": [0, 7], "mo_occ": [0, 7], "hf_energi": [0, 7, 12], "nelec": [0, 1, 4, 6, 7, 10, 11, 12, 13, 14, 15], "active_spac": [0, 7, 12, 13, 14], "core_energi": [0, 7], "one_body_integr": 0, "two_body_integr": [0, 7], "mp2_energi": [0, 7], "mp2_t2": [0, 7], "ccsd_energi": [0, 7], "ccsd_t1": [0, 7], "ccsd_t2": [0, 7], "fci_energi": [0, 7], "fci_vec": [0, 7], "dipole_integr": [0, 7], "orbital_symmetri": [0, 7], "data": [0, 5, 12, 13, 14, 15], "coordin": 0, "molecul": [0, 12, 13, 14], "sto": [0, 12, 13, 14], "6g": [0, 12, 13, 14], "hartre": [0, 10, 11, 12, 13], "fock": [0, 10, 11, 12, 13], "ao": 0, "occup": [0, 10, 11, 12], "includ": [0, 2, 8, 9, 10, 11, 12, 13], "activ": [0, 12, 13, 14], "space": [0, 10, 12, 13, 14], "core": 0, "energi": [0, 3, 11, 12, 13, 14], "integr": 0, "compress": [0, 2], "format": [0, 4], "mp2": [0, 13], "t2": [0, 2, 5, 13], "amplitud": [0, 2, 5, 13], "ccsd": [0, 13], "t1": [0, 13], "fci": [0, 10, 13, 14], "state": [0, 1, 3, 5, 10, 11, 12, 13, 14], "dipol": 0, "from_mol": [0, 7, 12, 14], "scf_func": 0, "rhf": [0, 13], "pyscf": [0, 4, 10, 12, 13, 14], "mole": [0, 7, 12, 13, 14], "iter": [0, 3, 6, 13], "scf": [0, 7, 12, 13, 14], "calcul": [0, 10, 12, 13], "from_scf": [0, 7, 13], "hartree_fock": [0, 13], "run_ccsd": [0, 7], "store_t1": 0, "store_t2": 0, "run_fci": [0, 7, 13, 14], "store_fci_vec": 0, "run_mp2": [0, 7], "two_body_tensor": [0, 2, 7, 12], "h_": [0, 2, 12], "pqr": [0, 2, 12], "r": [0, 2, 12], "": [0, 2, 4, 7, 9, 10, 12, 13, 14, 15], "call": [0, 3, 10, 11, 12, 13, 15], "given": [0, 1, 2, 4, 6, 11, 12], "mathcal": [0, 1, 11, 12, 13], "dagger": [0, 1, 2, 11, 12, 13, 15], "realucjoper": [0, 7], "diag_coulomb_mats_alpha_alpha": [0, 7], "diag_coulomb_mats_alpha_beta": [0, 7], "cluster": [0, 4, 16], "jastrow": [0, 3, 4, 16], "ucj": [0, 16], "prod_": [0, 4, 13], "k": [0, 2, 11, 12, 13, 15], "w_k": [0, 13], "_k": [0, 12, 13], "mathbf": [0, 11, 12, 13], "n_": [0, 1, 4, 10, 11, 12, 13], "commut": [0, 12, 13], "total": [0, 12, 13, 14], "we": [0, 2, 8, 9, 11, 12, 13, 14, 15], "enforc": [0, 13], "As": [0, 10, 11, 12, 13], "have": [0, 2, 9, 11, 13, 15], "describ": [0, 1, 2, 10, 11, 12, 13, 15], "involv": [0, 13], "same": [0, 10, 13], "To": [0, 10, 11, 12, 13], "variat": [0, 3, 13], "final": [0, 3, 12, 13], "end": [0, 2, 11, 13], "from_paramet": [0, 7, 13], "param": 0, "n_rep": [0, 7, 13], "alpha_alpha_indic": [0, 13], "alpha_beta_indic": [0, 13], "with_final_orbital_rot": 0, "repetit": [0, 13], "docstr": 0, "specifi": [0, 2, 3, 6, 13], "ar": [0, 1, 2, 4, 5, 6, 9, 10, 11, 12, 13, 15], "construct": [0, 1, 3, 4, 10, 12, 13, 14, 15], "valueerror": [0, 2], "from_t_amplitud": [0, 7, 13], "n_param": [0, 7], "incorpor": 0, "so": [0, 2, 9, 11, 12, 13, 15], "recover": 0, "to_t_amplitud": [0, 7], "nocc": [0, 5], "possibli": [0, 13], "singlefactorizedhamiltonian": [0, 7], "one_body_squar": [0, 7], "singl": [0, 12], "m": [0, 1, 2, 11], "hermitian": [0, 2, 5, 11], "squar": [0, 2, 13], "sum": [0, 1, 4, 12], "depend": [0, 2, 3, 9, 10], "threshold": [0, 2, 3], "lead": [0, 3], "furthermor": [0, 2], "bound": [0, 2], "current": [0, 2, 8, 13], "name": [0, 9], "modul": [0, 10], "qualnam": 0, "start": 0, "boundari": 0, "flag": 0, "enumer": [0, 13], "both": [0, 2], "alpha_and_beta": [0, 4, 7], "supportsapplyunitari": [0, 7], "arg": [0, 4], "kwarg": [0, 4], "protocol": 0, "appli": [0, 1, 2, 3, 10, 11, 12, 13], "supportsapproximateequ": [0, 7], "compar": [0, 6, 12], "approxim": [0, 2, 3, 12], "supportsfermionoper": [0, 7], "supportslinearoper": [0, 7], "linearoper": [0, 1, 3, 11, 12, 13, 15], "supportstrac": [0, 7], "trace": [0, 7, 12], "ucjoper": [0, 4, 7, 13], "apply_diag_coulomb_evolut": [0, 7, 12], "vec": [0, 1, 2, 4, 10, 11, 12, 15], "mat": [0, 1, 2, 4, 10], "time": [0, 2, 3, 4, 10, 12, 16], "mat_alpha_beta": [0, 1, 4], "copi": [0, 15], "evolut": [0, 4, 12, 16], "exp": [0, 2, 4, 6, 11], "z_": [0, 1, 4], "also": [0, 1, 3, 4, 10, 11, 13, 15], "place": [0, 1, 4, 9, 13, 15], "interact": [0, 1, 10], "alwai": [0, 2, 11], "newli": 0, "alloc": 0, "untouch": 0, "still": [0, 13], "its": [0, 2, 11, 12, 15], "overwritten": 0, "evolv": [0, 12], "apply_fsim_g": [0, 7], "phi": [0, 2, 6], "target_orb": 0, "fsim": 0, "consist": 0, "tunnel": 0, "follow": [0, 3, 8, 9, 10, 11, 12, 13, 15], "neg": 0, "sign": 0, "convent": 0, "angl": [0, 14], "begin": [0, 2, 11, 13], "align": [0, 11, 13], "nn": 0, "neighbor": 0, "qubit": [0, 4, 13], "pmatrix": [0, 2], "co": [0, 14], "sin": [0, 14], "phase": [0, 2, 6, 11], "choic": [0, 6, 10], "sector": 0, "act": [0, 2, 15], "default": [0, 2, 3, 5], "apply_givens_rot": [0, 7], "apply_hop_g": [0, 7], "apply_num_interact": [0, 7], "apply_num_num_interact": [0, 7], "apply_num_op_prod_interact": [0, 7], "s_": 0, "sequenc": [0, 2], "integ": [0, 2], "give": [0, 11], "first": [0, 2, 4, 10, 11, 12, 13, 14], "second": [0, 2, 12, 14], "apply_num_op_sum_evolut": [0, 7, 11, 12], "lambda_i": [0, 1, 11], "must": [0, 2, 3, 15], "dimension": [0, 2, 4, 10], "apply_on_site_interact": [0, 7], "site": 0, "o": [0, 14], "apply_on_site_num_num_interact": [0, 7], "deprec": 0, "apply_orbital_rot": [0, 7, 10, 11], "allow_row_permut": 0, "allow_col_permut": 0, "mapsto": [0, 11], "u_": 0, "ji": [0, 11], "log": [0, 4], "permut": [0, 2], "row": [0, 10], "column": [0, 2, 10, 11], "wa": [0, 3], "well": [0, 3, 8, 9], "actual": [0, 6, 11, 13], "effect": [0, 4, 13], "apply_tunneling_interact": [0, 7], "apply_unitari": [0, 7, 13], "obj": 0, "ani": [0, 3, 11, 13], "approx_eq": [0, 7], "other": [0, 10, 13], "rtol": [0, 2, 4, 6], "05": [0, 2, 3, 4, 13], "atol": [0, 2, 4, 6], "equal": [0, 2, 6], "isclos": 0, "interpret": 0, "rel": [0, 2, 6], "numer": [0, 2, 15], "up": [0, 3, 6, 9, 11], "cre": [0, 7], "creat": [0, 10, 11, 12, 13, 15], "index": [0, 10, 13, 15], "de": [0, 7], "destroi": [0, 15], "dim": [0, 5, 7, 10, 15], "get": [0, 11, 12, 13, 14], "dimens": [0, 5, 10], "dim_a": [0, 10], "dim_b": [0, 10], "expectation_one_body_pow": [0, 7], "one_rdm": 0, "power": 0, "expect": [0, 3], "w": [0, 11, 12], "slater": [0, 10, 12], "determin": [0, 2, 10, 12], "m_": [0, 1, 2], "a_p": 0, "a_q": 0, "let": [0, 12, 15], "lvert": [0, 13], "psi": [0, 13], "rangl": [0, 13], "Then": 0, "quantiti": 0, "langl": 0, "rvert": 0, "unlik": 0, "most": [0, 2, 15], "word": [0, 13], "rdm": [0, 7], "shape": [0, 2, 5, 10, 12, 13], "treat": 0, "foot": 0, "expand": 0, "usual": 0, "elsewher": 0, "block_diag": 0, "reduc": [0, 2], "densiti": 0, "expectation_one_body_product": [0, 7], "o_1": 0, "o_2": 0, "dot": 0, "o_k": 0, "fermi_hubbard_1d": [0, 7], "chemical_potenti": 0, "nearest_neighbor_interact": 0, "period": 0, "One": [0, 12], "fermi": 0, "hubbard": 0, "model": 0, "c": [0, 2, 7, 12, 13], "mu": 0, "v": 0, "onsit": 0, "strength": 0, "chemic": 0, "potenti": 0, "nearest": 0, "condit": 0, "fermion_oper": [0, 7], "hartree_fock_st": [0, 7, 10, 11, 12, 13], "statevector": [0, 4, 10, 11], "indices_to_str": [0, 7, 10], "bitstr": [0, 10], "rang": [0, 6, 10, 11, 12, 13, 14], "001011": 0, "010011": 0, "100011": 0, "001101": 0, "010101": 0, "100101": 0, "001110": 0, "010110": 0, "100110": 0, "init_cach": [0, 7], "cach": 0, "prepar": 0, "typic": 0, "need": [0, 9, 13], "benchmark": 0, "avoid": [0, 15], "count": 0, "cost": 0, "lookup": 0, "tabl": [0, 15], "linear_oper": [0, 7, 12, 13, 15], "multireference_st": [0, 7, 14], "ansatz_oper": 0, "reference_occup": [0, 14], "root": 0, "multirefer": 0, "desir": [0, 6], "eigenvector": [0, 11], "lowest": [0, 11, 12], "itself": [0, 15], "number_oper": [0, 7], "n_p": 0, "one_hot": [0, 7], "dtype": [0, 5, 13, 14], "arrai": [0, 2, 6, 10, 15], "except": [0, 3], "hot": 0, "spin_sum": 0, "return_lower_rank": 0, "rdm1": 0, "definit": [0, 2, 3], "higher": [0, 12], "rdm2": 0, "rdm3": 0, "rdm4": 0, "addit": [0, 12, 15], "increas": [0, 12, 13], "For": [0, 3, 9, 10, 11, 13, 15], "simulate_qdrift_double_factor": [0, 7], "n_step": [0, 12], "probabl": 0, "norm": [0, 3, 13], "n_sampl": 0, "seed": [0, 5, 6, 10, 11], "via": [0, 12], "qdrift": 0, "trotter": [0, 16], "step": [0, 11, 12], "sampl": [0, 5, 6], "els": [0, 5], "explicit": 0, "string": [0, 10, 15], "proport": [0, 11], "spectral": 0, "uniform": [0, 5, 14], "requir": [0, 9, 13], "whenev": 0, "complet": 0, "character": 0, "trajectori": 0, "pseudorandom": [0, 5, 6], "gener": [0, 3, 5, 6, 8, 10, 11, 12, 13], "valid": [0, 4, 5, 6], "random": [0, 6, 7, 10, 11, 14, 15], "default_rng": [0, 5, 6, 14], "numpi": [0, 2, 6, 10, 11, 12, 13, 14], "just": [0, 9, 12, 13], "simulate_trotter_double_factor": [0, 7, 12], "suzuki": [0, 16], "formula": [0, 16], "slater_determin": [0, 7, 10], "occupied_orbit": [0, 10, 11], "occupi": [0, 5, 6, 12], "configur": [0, 9, 10], "slater_determinant_rdm": [0, 7], "similarli": [0, 12], "spin_squar": [0, 7], "fcivec": 0, "contract_diag_coulomb": [1, 7], "contract_num_op_sum": [1, 7], "contract_one_bodi": [1, 7], "dagger_i": 1, "a_j": 1, "implement": [1, 3, 4, 9, 10, 11, 13, 16], "diag_coulomb_linop": [1, 7], "num_op_sum_linop": [1, 7], "one_body_linop": [1, 7, 11], "algebra": [2, 15], "util": [2, 5, 6], "givensrot": [2, 7], "subspac": [2, 15], "span": [2, 10], "th": [2, 11], "apply_matrix_to_slic": [2, 7], "target": 2, "slice": 2, "out": [2, 8, 12], "ell": 2, "pk": 2, "qk": 2, "respect": [2, 3], "too": 2, "small": [2, 13], "exce": [2, 14], "behavior": [2, 5], "routin": [2, 10, 15], "straightforward": 2, "exact": [2, 12], "nest": 2, "addition": 2, "choos": [2, 10, 13], "achiev": [2, 12], "enabl": 2, "attempt": 2, "least": 2, "quantifi": 2, "gradient": [2, 3, 13], "constrain": 2, "certain": 2, "arxiv": [2, 5], "1808": 2, "02625": 2, "2104": 2, "08957": 2, "decompos": [2, 12], "collect": [2, 13], "double_factorized_t2": [2, 7], "t2_amplitud": 2, "t_": 2, "ijab": 2, "ap": 2, "ip": 2, "bq": 2, "jq": 2, "expm_multiply_taylor": [2, 7], "12": [2, 15], "expm": 2, "taylor": 2, "seri": 2, "expans": [2, 3], "givens_decomposit": [2, 7], "d": [2, 9], "g_l": 2, "g_": 2, "cdot": 2, "g_1": 2, "g_k": 2, "star": 2, "wise": 2, "conjug": 2, "therefor": 2, "being": [2, 13, 15], "either": [2, 13], "less": [2, 13], "think": [2, 12], "disjoint": 2, "parallel": [2, 13], "entir": 2, "layer": 2, "algorithm": [2, 3, 8, 13], "william": 2, "clement": 2, "et": 2, "al": 2, "design": 2, "univers": 2, "multiport": 2, "interferomet": 2, "ldot": [2, 13], "is_antihermitian": [2, 7], "anti": [2, 5], "is_hermitian": [2, 7], "is_orthogon": [2, 7], "orthogon": [2, 5], "union": 2, "bool_": 2, "is_real_symmetr": [2, 7], "is_special_orthogon": [2, 7], "special": [2, 5, 8], "is_unitari": [2, 7], "lup": [2, 7], "pivot": 2, "lu": 2, "rtype": 2, "unit": 2, "match_global_phas": [2, 7], "match": [2, 12], "anoth": [2, 6], "some": [2, 6, 13, 15], "modified_choleski": [2, 7], "v_i": 2, "posit": [2, 3, 14], "No": 2, "check": [2, 6, 8, 11, 12], "verifi": 2, "1711": 2, "02242": 2, "assembl": 2, "reduced_matrix": [2, 7], "v_j": 2, "minimize_linear_method": [3, 7, 13], "params_to_vec": [3, 13], "x0": [3, 13, 14], "maxit": [3, 13], "1000": 3, "regular": [3, 13], "lindep": 3, "epsilon": 3, "gtol": 3, "optimize_hyperparamet": 3, "optimize_hyperparameters_arg": 3, "feenberg": 3, "backflow": 3, "correl": 3, "callabl": [3, 13], "wavefunct": [3, 13], "those": 3, "guess": 3, "hyperparamet": [3, 13], "control": 3, "Its": [3, 10], "greater": 3, "size": [3, 14], "strictli": 3, "solv": 3, "problem": 3, "increment": 3, "finit": 3, "converg": [3, 12, 13, 14], "project": 3, "incur": 3, "evalu": [3, 14], "speed": 3, "fewer": [3, 12], "overal": 3, "f": [3, 10, 12, 13, 14], "scipy_optimize_minimize_arg": 3, "optimizeresult": [3, 13], "after": [3, 13], "signatur": 3, "intermediate_result": [3, 13], "attribut": 3, "x": [3, 13, 14], "fun": [3, 13, 14], "present": 3, "last": [3, 4], "jac": [3, 13, 14], "hold": 3, "select": 3, "nfev": [3, 13, 14], "nlinop": [3, 13], "code": [4, 8, 10, 12, 13, 15], "diagcoulombevolutionjw": [4, 7], "label": 4, "assum": 4, "invers": [4, 7], "dropneglig": [4, 7], "transformationpass": 4, "drop": 4, "neglig": 4, "dag": 4, "dagcircuit": 4, "develop": 4, "notimplementederror": 4, "unimpl": 4, "mergeorbitalrot": [4, 7], "merg": 4, "consecut": 4, "orbitalrotationjw": [4, 7], "ucjoperatorjw": [4, 7], "ucj_oper": 4, "ffsim_vec_to_qiskit_vec": [4, 7], "comb": [4, 10], "n_alpha": [4, 6, 10, 11], "n_beta": [4, 6, 10, 11], "qiskit_vec_to_ffsim_vec": [4, 7], "random_antihermitian": [5, 7], "width": 5, "height": 5, "random_hermitian": [5, 7, 11], "random_orthogon": [5, 7], "distribut": 5, "haar": 5, "measur": 5, "instanc": [5, 11, 12], "math": [5, 10, 14], "ph": 5, "0609050": 5, "random_real_symmetric_matrix": [5, 7], "random_special_orthogon": [5, 7], "random_statevector": [5, 7, 15], "random_t2_amplitud": [5, 7], "random_two_body_tensor": [5, 7], "random_unitari": [5, 7, 10, 11], "assert_allclose_up_to_global_phas": [6, 7], "07": 6, "equal_nan": 6, "err_msg": 6, "verbos": 6, "nan": 6, "messag": [6, 13, 14], "case": 6, "failur": 6, "conflict": 6, "append": [6, 13], "assertionerror": 6, "global": 6, "precis": [6, 13], "generate_norb_nelec": [6, 7], "norb_rang": 6, "generate_norb_nelec_spin": [6, 7], "triplet": 6, "generate_norb_spin": [6, 7], "random_nelec": [6, 7], "random_occupied_orbit": [6, 7], "occ_a": 6, "occ_b": 6, "ffsim": [7, 9, 11, 12, 13, 14, 15, 16], "contract": [7, 11], "qiskit": [7, 8, 9], "test": [7, 10, 11, 12], "categori": 8, "chemistri": 8, "By": [8, 10], "exploit": 8, "faster": [8, 13], "experiment": 8, "disclaim": 8, "releas": 8, "break": 8, "chang": 8, "introduc": [8, 11, 13], "without": [8, 13], "warn": 8, "recommend": [8, 15], "pip": 8, "won": 8, "work": [8, 9], "nativ": 8, "window": [8, 9], "howev": 8, "instruct": [8, 9], "inform": [8, 13, 15], "about": 8, "tutori": [8, 11, 12, 13, 14], "host": 8, "github": [8, 9], "contribut": 8, "you": [8, 9, 10, 11, 13], "bibtex": 8, "author": 8, "titl": 8, "url": 8, "http": [8, 9], "com": [8, 9], "commun": [8, 9], "directli": [9, 10, 12, 13], "linux": 9, "maco": 9, "user": 9, "main": [9, 13], "subsystem": 9, "wsl": 9, "provid": [9, 13], "environ": 9, "pypi": 9, "avail": 9, "system": [9, 10, 11], "rust": 9, "compil": 9, "bla": 9, "On": [9, 10], "acceler": 9, "framework": 9, "openbla": 9, "abl": 9, "your": 9, "packag": 9, "manag": 9, "arch": 9, "sudo": 9, "pacman": 9, "fedora": 9, "dnf": 9, "devel": 9, "ubuntu": 9, "apt": 9, "libopenbla": 9, "dev": 9, "onc": 9, "satisfi": [9, 11, 15], "clone": 9, "repositori": 9, "git": 9, "cd": 9, "dockerfil": 9, "build": [9, 12, 13, 14], "imag": 9, "compos": [9, 12], "yaml": 9, "file": 9, "few": 9, "simpl": 9, "command": 9, "navig": 9, "localhost": 9, "58888": 9, "web": 9, "browser": 9, "access": 9, "jupyt": 9, "notebook": 9, "interfac": [9, 13], "home": 9, "directori": 9, "subdirectori": 9, "persist": 9, "volum": 9, "like": [9, 13], "save": [9, 13], "across": 9, "advantag": 10, "effici": [10, 15], "primari": 10, "wai": [10, 11, 13], "show": [10, 11, 12, 13, 14, 15], "6": [10, 11, 12, 13, 14, 15], "1234": [10, 11, 14], "slater_det": 10, "assert_allclos": [10, 11], "plain": 10, "becaus": [10, 12, 13, 15], "fix": 10, "contrast": 10, "would": [10, 13], "2n": 10, "diment": 10, "conveni": 10, "hand": 10, "assert": 10, "300": 10, "4096": 10, "standard": [10, 13], "often": [10, 13], "simpli": [10, 11], "reshap": 10, "half": 10, "20": 10, "39": [10, 15], "000011000111": 10, "000101000111": 10, "000110000111": 10, "001001000111": 10, "001010000111": 10, "001100000111": 10, "010001000111": 10, "010010000111": 10, "010100000111": 10, "011000000111": 10, "100001000111": 10, "100010000111": 10, "100100000111": 10, "101000000111": 10, "110000000111": 10, "000011001011": 10, "000101001011": 10, "000110001011": 10, "001001001011": 10, "001010001011": 10, "fundament": 11, "mode": 11, "sum_j": 11, "anticommut": 11, "relat": [11, 13], "_1": 11, "_2": 11, "section": 11, "ll": [11, 12, 13], "task": 11, "consid": [11, 13], "rewritten": 11, "eigendecomposit": 11, "sum_k": [11, 12], "lambda_k": 11, "ik": 11, "jk": 11, "our": [11, 12, 13], "ground": [11, 13], "pick": 11, "spars": [11, 12, 15], "eig": [11, 15], "eigsh": 11, "sa": 11, "fact": 11, "illustr": 11, "purpos": 11, "explicitli": 11, "eigh": [11, 12], "evolved_vec": 11, "conj": 11, "undo": 11, "expected_phas": 11, "mention": [11, 12], "abov": [11, 12, 15], "better": [11, 12], "evolved_vec_alt": 11, "daunt": 12, "scale": 12, "cell": [12, 13], "ethen": [12, 13], "stretch": [12, 13], "bond": [12, 13, 14], "bond_dist": [12, 13], "678": [12, 13], "5626": [12, 13], "9289": [12, 13], "mol": [12, 13, 14], "gto": [12, 13, 14], "d2h": [12, 13], "nelectron": [12, 13], "mol_data": [12, 13, 14], "mol_hamiltonian": [12, 13, 14], "df_hamiltonian": 12, "77": [12, 13], "4456267643962": 12, "dataclass": [12, 13], "10": 12, "although": 12, "alreadi": 12, "built": 12, "manual": 12, "asymmetr": 12, "basic": 12, "h_k": 12, "divid": 12, "exponenti": 12, "individu": [12, 15], "do": [12, 15], "approx": 12, "prod_k": 12, "deriv": 12, "write": 12, "recal": 12, "quadrat": [12, 16], "def": [12, 13, 14], "simulate_trotter_step_double_factor": 12, "one_body_energi": 12, "one_body_basis_chang": 12, "zip": [12, 13, 14], "finish": 12, "level": 12, "handl": 12, "split": 12, "wrote": 12, "step_tim": 12, "initial_st": 12, "\u03c8": [12, 13], "vdot": [12, 13], "44562676439625": 12, "now": 12, "later": 12, "exact_st": 12, "expm_multipli": 12, "tracea": 12, "fidel": 12, "ab": 12, "9315062301399056": 12, "7": [12, 14, 15], "final_st": [12, 13], "9928527668212882": 12, "improv": 12, "8": [12, 13, 14, 15], "9999320851286221": 12, "commonli": 12, "known": 12, "fourth": 12, "reproduc": 12, "9": [12, 13, 14, 15], "9999913261307155": 12, "mcscf": [13, 14], "kernel": 13, "4456267643963": 13, "casci": [13, 14], "6290254326717": 13, "ci": [13, 14], "57322412553863": 13, "0000000": [13, 14], "phi_0": 13, "taken": 13, "express": 13, "previou": 13, "constructor": 13, "truncat": 13, "cc": 13, "frozen": 13, "nao_nr": [13, 14], "reference_st": 13, "ansatz_st": [13, 14], "49387212754476": 13, "e_corr": 13, "04824536314851415": 13, "46975600021693": 13, "facilit": 13, "convers": 13, "somewhat": 13, "complic": 13, "short": 13, "non": 13, "redund": 13, "len": [13, 14], "72": 13, "stop": [13, 14], "NO": [13, 14], "reach": 13, "success": [13, 14], "statu": [13, 14], "50959989642391": 13, "252e": 13, "00": [13, 14], "194e": 13, "01": [13, 14], "729e": 13, "02": [13, 14], "371e": 13, "nit": [13, 14], "705e": 13, "04": [13, 14], "798e": 13, "675e": 13, "03": [13, 14], "751e": 13, "584": 13, "njev": [13, 14], "hess_inv": [13, 14], "lt": [13, 14], "72x72": 13, "lbfgsinvhessproduct": [13, 14], "float64": [13, 14], "gt": [13, 14], "connect": 13, "swap": 13, "network": 13, "make": 13, "challeng": 13, "noisi": 13, "pre": 13, "fault": 13, "processor": 13, "idea": 13, "impos": 13, "sparsiti": 13, "constraint": 13, "them": 13, "depth": 13, "topologi": 13, "triangl": 13, "lattic": 13, "line": 13, "rung": 13, "ladder": 13, "With": 13, "setup": 13, "while": 13, "share": 13, "Of": 13, "cours": 13, "notic": 13, "decreas": 13, "46": 13, "45740554944622": 13, "250e": 13, "251e": 13, "031e": 13, "445e": 13, "400e": 13, "018e": 13, "700e": 13, "450e": 13, "423": 13, "46x46": 13, "similar": 13, "intermedi": 13, "defaultdict": 13, "info": 13, "accept": 13, "hasattr": 13, "46330645572544": 13, "317e": 13, "875e": 13, "678e": 13, "978e": 13, "352e": 13, "830e": 13, "181e": 13, "563e": 13, "655": 13, "425": 13, "45028365067637": 13, "020274316413924177": 13, "9179737766584104": 13, "6393542865543006": 13, "45707408934899": 13, "01254266075904728": 13, "025591125269278574": 13, "7032458776557788": 13, "45809166280335": 13, "00773759853294214": 13, "00043933296199478306": 13, "70806227690536": 13, "45811442693798": 13, "007527545313228491": 13, "0331840601034004": 13, "7287076370767558": 13, "water": 14, "equilibrium": 14, "radius_1": 14, "958": 14, "radius_2": 14, "bond_angle_deg": 14, "104": 14, "478": 14, "h1_x": 14, "h2_x": 14, "180": 14, "h2_y": 14, "c2v": 14, "75": 14, "6787887956297": 14, "7288249991515": 14, "23": 14, "6332495815006": 14, "brickwork": 14, "n_layer": 14, "rng": 14, "reference_occupations_spati": 14, "initiali": 14, "74": 14, "2065627332163": 14, "maxfun": 14, "100": 14, "15": 14, "AND": 14, "68085103715956": 14, "996e": 14, "549e": 14, "650e": 14, "012e": 14, "758e": 14, "118e": 14, "192e": 14, "493e": 14, "112": 14, "15x15": 14, "Such": 15, "programmat": 15, "hash": 15, "three": 15, "piec": 15, "upon": 15, "intern": 15, "helper": 15, "shown": 15, "repr": 15, "view": 15, "displai": 15, "0j": 15, "arithmet": 15, "op3": 15, "good": 15, "awar": 15, "especi": 15, "These": 15, "3j": 15, "12j": 15, "6j": 15, "4j": 15, "preserv": 15, "far": 15, "criteria": 15, "doe": 15, "op4": 15, "linop": 15, "onto": 15, "2003273": 15, "13785949j": 15, "lm": 15, "21984743e": 15, "18j": 15, "introduct": 16, "brief": 16, "background": 16, "local": 16, "lucj": 16, "entangl": 16, "forg": 16}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[0, 1, 1, "", "DoubleFactorizedHamiltonian"], [0, 1, 1, "", "FermionAction"], [0, 1, 1, "", "FermionOperator"], [0, 1, 1, "", "HopGateAnsatzOperator"], [0, 1, 1, "", "MolecularData"], [0, 1, 1, "", "MolecularHamiltonian"], [0, 1, 1, "", "RealUCJOperator"], [0, 1, 1, "", "SingleFactorizedHamiltonian"], [0, 1, 1, "", "Spin"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsFermionOperator"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCJOperator"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_givens_rotation"], [0, 5, 1, "", "apply_hop_gate"], [0, 5, 1, "", "apply_num_interaction"], [0, 5, 1, "", "apply_num_num_interaction"], [0, 5, 1, "", "apply_num_op_prod_interaction"], [0, 5, 1, "", "apply_num_op_sum_evolution"], [0, 5, 1, "", "apply_on_site_interaction"], [0, 5, 1, "", "apply_on_site_num_num_interaction"], [0, 5, 1, "", "apply_orbital_rotation"], [0, 5, 1, "", "apply_tunneling_interaction"], [0, 5, 1, "", "apply_unitary"], [0, 5, 1, "", "approx_eq"], [1, 0, 0, "-", "contract"], [0, 5, 1, "", "cre"], [0, 5, 1, "", "cre_a"], [0, 5, 1, "", "cre_b"], [0, 5, 1, "", "des"], [0, 5, 1, "", "des_a"], [0, 5, 1, "", "des_b"], [0, 5, 1, "", "dim"], [0, 5, 1, "", "dims"], [0, 5, 1, "", "expectation_one_body_power"], [0, 5, 1, "", "expectation_one_body_product"], [0, 5, 1, "", "fermi_hubbard_1d"], [0, 5, 1, "", "fermion_operator"], [0, 5, 1, "", "hartree_fock_state"], [0, 5, 1, "", "indices_to_strings"], [0, 5, 1, "", "init_cache"], [2, 0, 0, "-", "linalg"], [0, 5, 1, "", "linear_operator"], [0, 5, 1, "", "multireference_state"], [0, 5, 1, "", "number_operator"], [0, 5, 1, "", "one_hot"], [3, 0, 0, "-", "optimize"], [4, 0, 0, "-", "qiskit"], [5, 0, 0, "-", "random"], [0, 5, 1, "", "rdm"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_rdm"], [0, 5, 1, "", "spin_square"], [6, 0, 0, "-", "testing"], [0, 5, 1, "", "trace"]], "ffsim.DoubleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_number_representation"], [0, 3, 1, "", "to_z_representation"], [0, 2, 1, "", "z_representation"]], "ffsim.FermionAction": [[0, 2, 1, "", "action"], [0, 2, 1, "", "orb"], [0, 2, 1, "", "spin"]], "ffsim.FermionOperator": [[0, 3, 1, "", "conserves_particle_number"], [0, 3, 1, "", "conserves_spin_z"], [0, 3, 1, "", "many_body_order"], [0, 3, 1, "", "normal_ordered"]], "ffsim.HopGateAnsatzOperator": [[0, 3, 1, "", "to_parameters"]], "ffsim.MolecularData": [[0, 2, 1, "", "active_space"], [0, 2, 1, "", "atom"], [0, 2, 1, "", "basis"], [0, 2, 1, "", "ccsd_energy"], [0, 2, 1, "", "ccsd_t1"], [0, 2, 1, "", "ccsd_t2"], [0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 2, 1, "", "fci_energy"], [0, 2, 1, "", "fci_vec"], [0, 3, 1, "", "from_mole"], [0, 3, 1, "", "from_scf"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "hf_energy"], [0, 2, 1, "", "mo_coeff"], [0, 2, 1, "", "mo_occ"], [0, 4, 1, "", "mole"], [0, 2, 1, "", "mp2_energy"], [0, 2, 1, "", "mp2_t2"], [0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_symmetries"], [0, 3, 1, "", "run_ccsd"], [0, 3, 1, "", "run_fci"], [0, 3, 1, "", "run_mp2"], [0, 4, 1, "", "scf"], [0, 2, 1, "", "spin"], [0, 2, 1, "", "symmetry"], [0, 2, 1, "", "two_body_integrals"]], "ffsim.MolecularHamiltonian": [[0, 2, 1, "", "constant"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 3, 1, "", "rotated"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.RealUCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.SingleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_squares"], [0, 2, 1, "", "one_body_tensor"]], "ffsim.Spin": [[0, 2, 1, "", "ALPHA"], [0, 2, 1, "", "ALPHA_AND_BETA"], [0, 2, 1, "", "BETA"]], "ffsim.UCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.contract": [[1, 5, 1, "", "contract_diag_coulomb"], [1, 5, 1, "", "contract_num_op_sum"], [1, 5, 1, "", "contract_one_body"], [1, 5, 1, "", "diag_coulomb_linop"], [1, 5, 1, "", "num_op_sum_linop"], [1, 5, 1, "", "one_body_linop"]], "ffsim.linalg": [[2, 1, 1, "", "GivensRotation"], [2, 5, 1, "", "apply_matrix_to_slices"], [2, 5, 1, "", "double_factorized"], [2, 5, 1, "", "double_factorized_t2"], [2, 5, 1, "", "expm_multiply_taylor"], [2, 5, 1, "", "givens_decomposition"], [2, 5, 1, "", "is_antihermitian"], [2, 5, 1, "", "is_hermitian"], [2, 5, 1, "", "is_orthogonal"], [2, 5, 1, "", "is_real_symmetric"], [2, 5, 1, "", "is_special_orthogonal"], [2, 5, 1, "", "is_unitary"], [2, 5, 1, "", "lup"], [2, 5, 1, "", "match_global_phase"], [2, 5, 1, "", "modified_cholesky"], [2, 5, 1, "", "reduced_matrix"]], "ffsim.linalg.GivensRotation": [[2, 2, 1, "", "c"], [2, 2, 1, "", "i"], [2, 2, 1, "", "j"], [2, 2, 1, "", "s"]], "ffsim.optimize": [[3, 5, 1, "", "minimize_linear_method"]], "ffsim.qiskit": [[4, 1, 1, "", "DiagCoulombEvolutionJW"], [4, 1, 1, "", "DropNegligible"], [4, 1, 1, "", "MergeOrbitalRotations"], [4, 1, 1, "", "OrbitalRotationJW"], [4, 1, 1, "", "UCJOperatorJW"], [4, 5, 1, "", "ffsim_vec_to_qiskit_vec"], [4, 5, 1, "", "qiskit_vec_to_ffsim_vec"]], "ffsim.qiskit.DiagCoulombEvolutionJW": [[4, 3, 1, "", "inverse"]], "ffsim.qiskit.DropNegligible": [[4, 3, 1, "", "run"]], "ffsim.qiskit.MergeOrbitalRotations": [[4, 3, 1, "", "run"]], "ffsim.qiskit.OrbitalRotationJW": [[4, 3, 1, "", "inverse"]], "ffsim.random": [[5, 5, 1, "", "random_antihermitian"], [5, 5, 1, "", "random_hermitian"], [5, 5, 1, "", "random_orthogonal"], [5, 5, 1, "", "random_real_symmetric_matrix"], [5, 5, 1, "", "random_special_orthogonal"], [5, 5, 1, "", "random_statevector"], [5, 5, 1, "", "random_t2_amplitudes"], [5, 5, 1, "", "random_two_body_tensor"], [5, 5, 1, "", "random_unitary"]], "ffsim.testing": [[6, 5, 1, "", "assert_allclose_up_to_global_phase"], [6, 5, 1, "", "generate_norb_nelec"], [6, 5, 1, "", "generate_norb_nelec_spin"], [6, 5, 1, "", "generate_norb_spin"], [6, 5, 1, "", "random_nelec"], [6, 5, 1, "", "random_occupied_orbitals"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"ffsim": [0, 1, 2, 3, 4, 5, 6, 8, 10], "contract": 1, "linalg": 2, "optim": [3, 13], "qiskit": 4, "random": 5, "test": 6, "api": 7, "refer": 7, "instal": [8, 9], "next": 8, "step": 8, "develop": 8, "guid": 8, "cite": 8, "pip": 9, "from": 9, "sourc": 9, "us": 9, "within": 9, "docker": 9, "introduct": 10, "orbit": 11, "rotat": 11, "quadrat": 11, "hamiltonian": [11, 12], "time": 11, "evolut": 11, "diagon": 12, "coulomb": 12, "oper": 12, "doubl": 12, "factor": 12, "trotter": 12, "simul": 12, "represent": 12, "molecular": 12, "brief": 12, "background": 12, "suzuki": 12, "formula": 12, "implement": 12, "The": [13, 15], "local": 13, "unitari": 13, "cluster": 13, "jastrow": 13, "lucj": 13, "ansatz": 13, "ucj": 13, "linear": 13, "method": 13, "entangl": 14, "forg": 14, "fermionoper": 15, "class": 15, "tutori": 16}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"ffsim": [[0, "module-ffsim"], [8, "ffsim"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "ffsim.optimize": [[3, "module-ffsim.optimize"]], "ffsim.qiskit": [[4, "module-ffsim.qiskit"]], "ffsim.random": [[5, "module-ffsim.random"]], "ffsim.testing": [[6, "module-ffsim.testing"]], "API Reference": [[7, "api-reference"]], "Installation": [[8, "installation"], [9, "installation"]], "Next steps": [[8, "next-steps"]], "Developer guide": [[8, "developer-guide"]], "Citing ffsim": [[8, "citing-ffsim"]], "Pip install": [[9, "pip-install"]], "Install from source": [[9, "install-from-source"]], "Use within Docker": [[9, "use-within-docker"]], "Introduction to ffsim": [[10, "Introduction-to-ffsim"]], "Orbital rotations and quadratic Hamiltonians": [[11, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Orbital rotations": [[11, "Orbital-rotations"]], "Time evolution by a quadratic Hamiltonian": [[11, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[12, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[12, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[12, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Brief background on Trotter-Suzuki formulas": [[12, "Brief-background-on-Trotter-Suzuki-formulas"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[12, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[13, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"], [13, "id1"]], "The unitary cluster Jastrow (UCJ) ansatz": [[13, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Optimize with the linear method": [[13, "Optimize-with-the-linear-method"]], "Entanglement forging": [[14, "Entanglement-forging"]], "The FermionOperator class": [[15, "The-FermionOperator-class"]], "Tutorials": [[16, "tutorials"]]}, "indexentries": {"alpha (ffsim.spin attribute)": [[0, "ffsim.Spin.ALPHA"]], "alpha_and_beta (ffsim.spin attribute)": [[0, "ffsim.Spin.ALPHA_AND_BETA"]], "beta (ffsim.spin attribute)": [[0, "ffsim.Spin.BETA"]], "doublefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.DoubleFactorizedHamiltonian"]], "fermionaction (class in ffsim)": [[0, "ffsim.FermionAction"]], "fermionoperator (class in ffsim)": [[0, "ffsim.FermionOperator"]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator"]], "moleculardata (class in ffsim)": [[0, "ffsim.MolecularData"]], "molecularhamiltonian (class in ffsim)": [[0, "ffsim.MolecularHamiltonian"]], "realucjoperator (class in ffsim)": [[0, "ffsim.RealUCJOperator"]], "singlefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.SingleFactorizedHamiltonian"]], "spin (class in ffsim)": [[0, "ffsim.Spin"]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary"]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality"]], "supportsfermionoperator (class in ffsim)": [[0, "ffsim.SupportsFermionOperator"]], "supportslinearoperator (class in ffsim)": [[0, "ffsim.SupportsLinearOperator"]], "supportstrace (class in ffsim)": [[0, "ffsim.SupportsTrace"]], "ucjoperator (class in ffsim)": [[0, "ffsim.UCJOperator"]], "action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action"]], "active_space (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.active_space"]], "apply_diag_coulomb_evolution() (in module ffsim)": [[0, "ffsim.apply_diag_coulomb_evolution"]], "apply_fsim_gate() (in module ffsim)": [[0, "ffsim.apply_fsim_gate"]], "apply_givens_rotation() (in module ffsim)": [[0, "ffsim.apply_givens_rotation"]], "apply_hop_gate() (in module ffsim)": [[0, "ffsim.apply_hop_gate"]], "apply_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_interaction"]], "apply_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_num_interaction"]], "apply_num_op_prod_interaction() (in module ffsim)": [[0, "ffsim.apply_num_op_prod_interaction"]], "apply_num_op_sum_evolution() (in module ffsim)": [[0, "ffsim.apply_num_op_sum_evolution"]], "apply_on_site_interaction() (in module ffsim)": [[0, "ffsim.apply_on_site_interaction"]], "apply_on_site_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_on_site_num_num_interaction"]], "apply_orbital_rotation() (in module ffsim)": [[0, "ffsim.apply_orbital_rotation"]], "apply_tunneling_interaction() (in module ffsim)": [[0, "ffsim.apply_tunneling_interaction"]], "apply_unitary() (in module ffsim)": [[0, "ffsim.apply_unitary"]], "approx_eq() (in module ffsim)": [[0, "ffsim.approx_eq"]], "atom (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.atom"]], "basis (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.basis"]], "ccsd_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_energy"]], "ccsd_t1 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_t1"]], "ccsd_t2 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_t2"]], "conserves_particle_number() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_particle_number"]], "conserves_spin_z() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_spin_z"]], "constant (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.constant"]], "constant (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.constant"]], "constant (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.constant"]], "core_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.core_energy"]], "cre() (in module ffsim)": [[0, "ffsim.cre"]], "cre_a() (in module ffsim)": [[0, "ffsim.cre_a"]], "cre_b() (in module ffsim)": [[0, "ffsim.cre_b"]], "des() (in module ffsim)": [[0, "ffsim.des"]], "des_a() (in module ffsim)": [[0, "ffsim.des_a"]], "des_b() (in module ffsim)": [[0, "ffsim.des_b"]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats"]], "diag_coulomb_mats_alpha_alpha (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.diag_coulomb_mats_alpha_alpha"]], "diag_coulomb_mats_alpha_alpha (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_alpha"]], "diag_coulomb_mats_alpha_beta (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.diag_coulomb_mats_alpha_beta"]], "diag_coulomb_mats_alpha_beta (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_beta"]], "dim() (in module ffsim)": [[0, "ffsim.dim"]], "dims() (in module ffsim)": [[0, "ffsim.dims"]], "dipole_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.dipole_integrals"]], "expectation_one_body_power() (in module ffsim)": [[0, "ffsim.expectation_one_body_power"]], "expectation_one_body_product() (in module ffsim)": [[0, "ffsim.expectation_one_body_product"]], "fci_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.fci_energy"]], "fci_vec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.fci_vec"]], "fermi_hubbard_1d() (in module ffsim)": [[0, "ffsim.fermi_hubbard_1d"]], "fermion_operator() (in module ffsim)": [[0, "ffsim.fermion_operator"]], "ffsim": [[0, "module-ffsim"]], "final_orbital_rotation (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.final_orbital_rotation"]], "final_orbital_rotation (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.final_orbital_rotation"]], "from_mole() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_mole"]], "from_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian static method)": [[0, "ffsim.DoubleFactorizedHamiltonian.from_molecular_hamiltonian"]], "from_molecular_hamiltonian() (ffsim.singlefactorizedhamiltonian static method)": [[0, "ffsim.SingleFactorizedHamiltonian.from_molecular_hamiltonian"]], "from_parameters() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.from_parameters"]], "from_parameters() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_parameters"]], "from_scf() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_scf"]], "from_t_amplitudes() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.from_t_amplitudes"]], "from_t_amplitudes() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_t_amplitudes"]], "hamiltonian (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.hamiltonian"]], "hartree_fock_state() (in module ffsim)": [[0, "ffsim.hartree_fock_state"]], "hf_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.hf_energy"]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings"]], "init_cache() (in module ffsim)": [[0, "ffsim.init_cache"]], "linear_operator() (in module ffsim)": [[0, "ffsim.linear_operator"]], "many_body_order() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.many_body_order"]], "mo_coeff (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mo_coeff"]], "mo_occ (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mo_occ"]], "module": [[0, "module-ffsim"], [1, "module-ffsim.contract"], [2, "module-ffsim.linalg"], [3, "module-ffsim.optimize"], [4, "module-ffsim.qiskit"], [5, "module-ffsim.random"], [6, "module-ffsim.testing"]], "mole (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.mole"]], "mp2_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mp2_energy"]], "mp2_t2 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mp2_t2"]], "multireference_state() (in module ffsim)": [[0, "ffsim.multireference_state"]], "n_params() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.n_params"]], "n_params() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.n_params"]], "n_reps (ffsim.realucjoperator property)": [[0, "ffsim.RealUCJOperator.n_reps"]], "n_reps (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.n_reps"]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec"]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb"]], "norb (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.norb"]], "norb (ffsim.molecularhamiltonian property)": [[0, "ffsim.MolecularHamiltonian.norb"]], "norb (ffsim.realucjoperator property)": [[0, "ffsim.RealUCJOperator.norb"]], "norb (ffsim.singlefactorizedhamiltonian property)": [[0, "ffsim.SingleFactorizedHamiltonian.norb"]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb"]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered"]], "number_operator() (in module ffsim)": [[0, "ffsim.number_operator"]], "one_body_squares (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_squares"]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.one_body_tensor"]], "one_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_tensor"]], "one_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.one_body_tensor"]], "one_body_tensor (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_tensor"]], "one_hot() (in module ffsim)": [[0, "ffsim.one_hot"]], "orb (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.orb"]], "orbital_rotations (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.orbital_rotations"]], "orbital_rotations (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.orbital_rotations"]], "orbital_rotations (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.orbital_rotations"]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries"]], "rdm() (in module ffsim)": [[0, "ffsim.rdm"]], "rotated() (ffsim.molecularhamiltonian method)": [[0, "ffsim.MolecularHamiltonian.rotated"]], "run_ccsd() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_ccsd"]], "run_fci() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_fci"]], "run_mp2() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_mp2"]], "scf (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.scf"]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized"]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized"]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant"]], "slater_determinant_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_rdm"]], "spin (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.spin"]], "spin (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.spin"]], "spin_square() (in module ffsim)": [[0, "ffsim.spin_square"]], "symmetry (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.symmetry"]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation"]], "to_parameters() (ffsim.hopgateansatzoperator method)": [[0, "ffsim.HopGateAnsatzOperator.to_parameters"]], "to_parameters() (ffsim.realucjoperator method)": [[0, "ffsim.RealUCJOperator.to_parameters"]], "to_parameters() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_parameters"]], "to_t_amplitudes() (ffsim.realucjoperator method)": [[0, "ffsim.RealUCJOperator.to_t_amplitudes"]], "to_t_amplitudes() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_t_amplitudes"]], "to_z_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_z_representation"]], "trace() (in module ffsim)": [[0, "ffsim.trace"]], "two_body_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.two_body_integrals"]], "two_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.two_body_tensor"]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation"]], "contract_diag_coulomb() (in module ffsim.contract)": [[1, "ffsim.contract.contract_diag_coulomb"]], "contract_num_op_sum() (in module ffsim.contract)": [[1, "ffsim.contract.contract_num_op_sum"]], "contract_one_body() (in module ffsim.contract)": [[1, "ffsim.contract.contract_one_body"]], "diag_coulomb_linop() (in module ffsim.contract)": [[1, "ffsim.contract.diag_coulomb_linop"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "num_op_sum_linop() (in module ffsim.contract)": [[1, "ffsim.contract.num_op_sum_linop"]], "one_body_linop() (in module ffsim.contract)": [[1, "ffsim.contract.one_body_linop"]], "givensrotation (class in ffsim.linalg)": [[2, "ffsim.linalg.GivensRotation"]], "apply_matrix_to_slices() (in module ffsim.linalg)": [[2, "ffsim.linalg.apply_matrix_to_slices"]], "c (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.c"]], "double_factorized() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized"]], "double_factorized_t2() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized_t2"]], "expm_multiply_taylor() (in module ffsim.linalg)": [[2, "ffsim.linalg.expm_multiply_taylor"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "givens_decomposition() (in module ffsim.linalg)": [[2, "ffsim.linalg.givens_decomposition"]], "i (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.i"]], "is_antihermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_antihermitian"]], "is_hermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_hermitian"]], "is_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_orthogonal"]], "is_real_symmetric() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_real_symmetric"]], "is_special_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_special_orthogonal"]], "is_unitary() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_unitary"]], "j (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.j"]], "lup() (in module ffsim.linalg)": [[2, "ffsim.linalg.lup"]], "match_global_phase() (in module ffsim.linalg)": [[2, "ffsim.linalg.match_global_phase"]], "modified_cholesky() (in module ffsim.linalg)": [[2, "ffsim.linalg.modified_cholesky"]], "reduced_matrix() (in module ffsim.linalg)": [[2, "ffsim.linalg.reduced_matrix"]], "s (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.s"]], "ffsim.optimize": [[3, "module-ffsim.optimize"]], "minimize_linear_method() (in module ffsim.optimize)": [[3, "ffsim.optimize.minimize_linear_method"]], "diagcoulombevolutionjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW"]], "dropnegligible (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DropNegligible"]], "mergeorbitalrotations (class in ffsim.qiskit)": [[4, "ffsim.qiskit.MergeOrbitalRotations"]], "orbitalrotationjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.OrbitalRotationJW"]], "ucjoperatorjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.UCJOperatorJW"]], "ffsim.qiskit": [[4, "module-ffsim.qiskit"]], "ffsim_vec_to_qiskit_vec() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.ffsim_vec_to_qiskit_vec"]], "inverse() (ffsim.qiskit.diagcoulombevolutionjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW.inverse"]], "inverse() (ffsim.qiskit.orbitalrotationjw method)": [[4, "ffsim.qiskit.OrbitalRotationJW.inverse"]], "qiskit_vec_to_ffsim_vec() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.qiskit_vec_to_ffsim_vec"]], "run() (ffsim.qiskit.dropnegligible method)": [[4, "ffsim.qiskit.DropNegligible.run"]], "run() (ffsim.qiskit.mergeorbitalrotations method)": [[4, "ffsim.qiskit.MergeOrbitalRotations.run"]], "ffsim.random": [[5, "module-ffsim.random"]], "random_antihermitian() (in module ffsim.random)": [[5, "ffsim.random.random_antihermitian"]], "random_hermitian() (in module ffsim.random)": [[5, "ffsim.random.random_hermitian"]], "random_orthogonal() (in module ffsim.random)": [[5, "ffsim.random.random_orthogonal"]], "random_real_symmetric_matrix() (in module ffsim.random)": [[5, "ffsim.random.random_real_symmetric_matrix"]], "random_special_orthogonal() (in module ffsim.random)": [[5, "ffsim.random.random_special_orthogonal"]], "random_statevector() (in module ffsim.random)": [[5, "ffsim.random.random_statevector"]], "random_t2_amplitudes() (in module ffsim.random)": [[5, "ffsim.random.random_t2_amplitudes"]], "random_two_body_tensor() (in module ffsim.random)": [[5, "ffsim.random.random_two_body_tensor"]], "random_unitary() (in module ffsim.random)": [[5, "ffsim.random.random_unitary"]], "assert_allclose_up_to_global_phase() (in module ffsim.testing)": [[6, "ffsim.testing.assert_allclose_up_to_global_phase"]], "ffsim.testing": [[6, "module-ffsim.testing"]], "generate_norb_nelec() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nelec"]], "generate_norb_nelec_spin() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nelec_spin"]], "generate_norb_spin() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_spin"]], "random_nelec() (in module ffsim.testing)": [[6, "ffsim.testing.random_nelec"]], "random_occupied_orbitals() (in module ffsim.testing)": [[6, "ffsim.testing.random_occupied_orbitals"]]}}) \ No newline at end of file diff --git a/tutorials/01-introduction.ipynb b/tutorials/01-introduction.ipynb index 913cb3020..c578e200f 100644 --- a/tutorials/01-introduction.ipynb +++ b/tutorials/01-introduction.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:38.521244Z", - "iopub.status.busy": "2024-04-14T06:16:38.521044Z", - "iopub.status.idle": "2024-04-14T06:16:39.152316Z", - "shell.execute_reply": "2024-04-14T06:16:39.151756Z" + "iopub.execute_input": "2024-04-14T06:20:31.798059Z", + "iopub.status.busy": "2024-04-14T06:20:31.797855Z", + "iopub.status.idle": "2024-04-14T06:20:32.430632Z", + "shell.execute_reply": "2024-04-14T06:20:32.430083Z" } }, "outputs": [], @@ -71,10 +71,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:39.155356Z", - "iopub.status.busy": "2024-04-14T06:16:39.154753Z", - "iopub.status.idle": "2024-04-14T06:16:39.159225Z", - "shell.execute_reply": "2024-04-14T06:16:39.158661Z" + "iopub.execute_input": "2024-04-14T06:20:32.433644Z", + "iopub.status.busy": "2024-04-14T06:20:32.433019Z", + "iopub.status.idle": "2024-04-14T06:20:32.437396Z", + "shell.execute_reply": "2024-04-14T06:20:32.436818Z" } }, "outputs": [ @@ -113,10 +113,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:39.196288Z", - "iopub.status.busy": "2024-04-14T06:16:39.195881Z", - "iopub.status.idle": "2024-04-14T06:16:39.198757Z", - "shell.execute_reply": "2024-04-14T06:16:39.198285Z" + "iopub.execute_input": "2024-04-14T06:20:32.474311Z", + "iopub.status.busy": "2024-04-14T06:20:32.473834Z", + "iopub.status.idle": "2024-04-14T06:20:32.476592Z", + "shell.execute_reply": "2024-04-14T06:20:32.476121Z" } }, "outputs": [], @@ -136,10 +136,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:39.201240Z", - "iopub.status.busy": "2024-04-14T06:16:39.200692Z", - "iopub.status.idle": "2024-04-14T06:16:39.207443Z", - "shell.execute_reply": "2024-04-14T06:16:39.206973Z" + "iopub.execute_input": "2024-04-14T06:20:32.478808Z", + "iopub.status.busy": "2024-04-14T06:20:32.478453Z", + "iopub.status.idle": "2024-04-14T06:20:32.484840Z", + "shell.execute_reply": "2024-04-14T06:20:32.484286Z" } }, "outputs": [ diff --git a/tutorials/02-orbital-rotation.ipynb b/tutorials/02-orbital-rotation.ipynb index 8545c83f1..dd3c0a207 100644 --- a/tutorials/02-orbital-rotation.ipynb +++ b/tutorials/02-orbital-rotation.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:40.801327Z", - "iopub.status.busy": "2024-04-14T06:16:40.801108Z", - "iopub.status.idle": "2024-04-14T06:16:41.429648Z", - "shell.execute_reply": "2024-04-14T06:16:41.429057Z" + "iopub.execute_input": "2024-04-14T06:20:34.091447Z", + "iopub.status.busy": "2024-04-14T06:20:34.091248Z", + "iopub.status.idle": "2024-04-14T06:20:34.704794Z", + "shell.execute_reply": "2024-04-14T06:20:34.704175Z" } }, "outputs": [], @@ -107,10 +107,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:41.432515Z", - "iopub.status.busy": "2024-04-14T06:16:41.432027Z", - "iopub.status.idle": "2024-04-14T06:16:41.462990Z", - "shell.execute_reply": "2024-04-14T06:16:41.462411Z" + "iopub.execute_input": "2024-04-14T06:20:34.707762Z", + "iopub.status.busy": "2024-04-14T06:20:34.707312Z", + "iopub.status.idle": "2024-04-14T06:20:34.737856Z", + "shell.execute_reply": "2024-04-14T06:20:34.737323Z" } }, "outputs": [], @@ -155,10 +155,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:41.466273Z", - "iopub.status.busy": "2024-04-14T06:16:41.465919Z", - "iopub.status.idle": "2024-04-14T06:16:41.484171Z", - "shell.execute_reply": "2024-04-14T06:16:41.483665Z" + "iopub.execute_input": "2024-04-14T06:20:34.740600Z", + "iopub.status.busy": "2024-04-14T06:20:34.740051Z", + "iopub.status.idle": "2024-04-14T06:20:34.757743Z", + "shell.execute_reply": "2024-04-14T06:20:34.757234Z" } }, "outputs": [], @@ -198,10 +198,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:41.487155Z", - "iopub.status.busy": "2024-04-14T06:16:41.486938Z", - "iopub.status.idle": "2024-04-14T06:16:41.492825Z", - "shell.execute_reply": "2024-04-14T06:16:41.492312Z" + "iopub.execute_input": "2024-04-14T06:20:34.760348Z", + "iopub.status.busy": "2024-04-14T06:20:34.760127Z", + "iopub.status.idle": "2024-04-14T06:20:34.766055Z", + "shell.execute_reply": "2024-04-14T06:20:34.765547Z" } }, "outputs": [], diff --git a/tutorials/03-double-factorized.html b/tutorials/03-double-factorized.html index dcb22dd66..30799a2fc 100644 --- a/tutorials/03-double-factorized.html +++ b/tutorials/03-double-factorized.html @@ -285,7 +285,7 @@

Double-factorized representation of the molecular Hamiltonian
-converged SCF energy = -77.4456267643963
+converged SCF energy = -77.4456267643962
 

Here, mol_hamiltonian is an instance of MolecularHamiltonian, a dataclass that stores the one- and two-body tensors, and df_hamiltonian is an instance of DoubleFactorizedHamiltonian, a dataclass that stores the updated one-body-tensor, diagonal Coulomb matrices, and orbital rotations. In the cell below, we print out the shapes of the tensors describing the original and double-factorized representations.

@@ -496,7 +496,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of evolved state w.r.t. initial state: 0.9315062301399409
+Fidelity of evolved state w.r.t. initial state: 0.9315062301399056
 

Now, let’s test our implementation.

@@ -523,7 +523,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9928527668213394
+Fidelity of Trotter-evolved state with exact state: 0.9928527668212882
 

The fidelity of the final result can be improved by increasing the number of Trotter steps.

@@ -550,7 +550,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9999320851286935
+Fidelity of Trotter-evolved state with exact state: 0.9999320851286221
 

As mentioned above, ffsim already includes functionality for Trotter simulation of double-factorized Hamiltonians. The implementation in ffsim includes higher-order Trotter-Suzuki formulas. The first-order asymmetric formula that we just implemented corresponds to order=0 in ffsim’s implementation. order=1 corresponds to the first-order symmetric (commonly known as the second-order) formula, order=2 corresponds to the second-order symmetric (fourth-order) formula, and so on.

@@ -579,7 +579,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9999320851286935
+Fidelity of Trotter-evolved state with exact state: 0.9999320851286221
 

A higher order formula achieves a higher fidelity with fewer Trotter steps:

@@ -607,7 +607,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9999913261307712
+Fidelity of Trotter-evolved state with exact state: 0.9999913261307155
 
diff --git a/tutorials/03-double-factorized.ipynb b/tutorials/03-double-factorized.ipynb index 84b61cbf2..ae02b4e9a 100644 --- a/tutorials/03-double-factorized.ipynb +++ b/tutorials/03-double-factorized.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:43.031355Z", - "iopub.status.busy": "2024-04-14T06:16:43.030889Z", - "iopub.status.idle": "2024-04-14T06:16:43.835119Z", - "shell.execute_reply": "2024-04-14T06:16:43.834501Z" + "iopub.execute_input": "2024-04-14T06:20:36.210450Z", + "iopub.status.busy": "2024-04-14T06:20:36.209888Z", + "iopub.status.idle": "2024-04-14T06:20:36.978629Z", + "shell.execute_reply": "2024-04-14T06:20:36.978028Z" } }, "outputs": [ @@ -54,7 +54,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "converged SCF energy = -77.4456267643963\n" + "converged SCF energy = -77.4456267643962\n" ] } ], @@ -109,10 +109,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:43.838259Z", - "iopub.status.busy": "2024-04-14T06:16:43.837723Z", - "iopub.status.idle": "2024-04-14T06:16:43.842922Z", - "shell.execute_reply": "2024-04-14T06:16:43.842390Z" + "iopub.execute_input": "2024-04-14T06:20:36.981886Z", + "iopub.status.busy": "2024-04-14T06:20:36.981362Z", + "iopub.status.idle": "2024-04-14T06:20:36.986534Z", + "shell.execute_reply": "2024-04-14T06:20:36.985948Z" } }, "outputs": [ @@ -215,10 +215,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:43.845074Z", - "iopub.status.busy": "2024-04-14T06:16:43.844710Z", - "iopub.status.idle": "2024-04-14T06:16:43.849092Z", - "shell.execute_reply": "2024-04-14T06:16:43.848561Z" + "iopub.execute_input": "2024-04-14T06:20:36.988764Z", + "iopub.status.busy": "2024-04-14T06:20:36.988403Z", + "iopub.status.idle": "2024-04-14T06:20:36.992528Z", + "shell.execute_reply": "2024-04-14T06:20:36.992082Z" } }, "outputs": [], @@ -273,10 +273,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:43.851453Z", - "iopub.status.busy": "2024-04-14T06:16:43.850996Z", - "iopub.status.idle": "2024-04-14T06:16:43.854242Z", - "shell.execute_reply": "2024-04-14T06:16:43.853783Z" + "iopub.execute_input": "2024-04-14T06:20:36.994748Z", + "iopub.status.busy": "2024-04-14T06:20:36.994407Z", + "iopub.status.idle": "2024-04-14T06:20:36.997772Z", + "shell.execute_reply": "2024-04-14T06:20:36.997297Z" } }, "outputs": [], @@ -313,10 +313,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:43.856359Z", - "iopub.status.busy": "2024-04-14T06:16:43.855983Z", - "iopub.status.idle": "2024-04-14T06:16:43.860334Z", - "shell.execute_reply": "2024-04-14T06:16:43.859840Z" + "iopub.execute_input": "2024-04-14T06:20:36.999831Z", + "iopub.status.busy": "2024-04-14T06:20:36.999644Z", + "iopub.status.idle": "2024-04-14T06:20:37.005194Z", + "shell.execute_reply": "2024-04-14T06:20:37.004692Z" } }, "outputs": [ @@ -352,10 +352,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:43.863707Z", - "iopub.status.busy": "2024-04-14T06:16:43.862643Z", - "iopub.status.idle": "2024-04-14T06:16:44.699199Z", - "shell.execute_reply": "2024-04-14T06:16:44.698623Z" + "iopub.execute_input": "2024-04-14T06:20:37.008354Z", + "iopub.status.busy": "2024-04-14T06:20:37.007265Z", + "iopub.status.idle": "2024-04-14T06:20:37.848340Z", + "shell.execute_reply": "2024-04-14T06:20:37.847761Z" } }, "outputs": [ @@ -363,7 +363,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.9315062301399409\n" + "Fidelity of evolved state w.r.t. initial state: 0.9315062301399056\n" ] } ], @@ -394,10 +394,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:44.703271Z", - "iopub.status.busy": "2024-04-14T06:16:44.702120Z", - "iopub.status.idle": "2024-04-14T06:16:44.736615Z", - "shell.execute_reply": "2024-04-14T06:16:44.736094Z" + "iopub.execute_input": "2024-04-14T06:20:37.852381Z", + "iopub.status.busy": "2024-04-14T06:20:37.851429Z", + "iopub.status.idle": "2024-04-14T06:20:37.881075Z", + "shell.execute_reply": "2024-04-14T06:20:37.880553Z" } }, "outputs": [ @@ -405,7 +405,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9928527668213394\n" + "Fidelity of Trotter-evolved state with exact state: 0.9928527668212882\n" ] } ], @@ -435,10 +435,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:44.739441Z", - "iopub.status.busy": "2024-04-14T06:16:44.739009Z", - "iopub.status.idle": "2024-04-14T06:16:44.888412Z", - "shell.execute_reply": "2024-04-14T06:16:44.887804Z" + "iopub.execute_input": "2024-04-14T06:20:37.884893Z", + "iopub.status.busy": "2024-04-14T06:20:37.883915Z", + "iopub.status.idle": "2024-04-14T06:20:38.010740Z", + "shell.execute_reply": "2024-04-14T06:20:38.010193Z" } }, "outputs": [ @@ -446,7 +446,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851286935\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851286221\n" ] } ], @@ -478,10 +478,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:44.891679Z", - "iopub.status.busy": "2024-04-14T06:16:44.891339Z", - "iopub.status.idle": "2024-04-14T06:16:45.048037Z", - "shell.execute_reply": "2024-04-14T06:16:45.047421Z" + "iopub.execute_input": "2024-04-14T06:20:38.014600Z", + "iopub.status.busy": "2024-04-14T06:20:38.013622Z", + "iopub.status.idle": "2024-04-14T06:20:38.142176Z", + "shell.execute_reply": "2024-04-14T06:20:38.141633Z" } }, "outputs": [ @@ -489,7 +489,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851286935\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851286221\n" ] } ], @@ -520,10 +520,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:16:45.051419Z", - "iopub.status.busy": "2024-04-14T06:16:45.051022Z", - "iopub.status.idle": "2024-04-14T06:16:45.116983Z", - "shell.execute_reply": "2024-04-14T06:16:45.116428Z" + "iopub.execute_input": "2024-04-14T06:20:38.146033Z", + "iopub.status.busy": "2024-04-14T06:20:38.145074Z", + "iopub.status.idle": "2024-04-14T06:20:38.220085Z", + "shell.execute_reply": "2024-04-14T06:20:38.219573Z" } }, "outputs": [ @@ -531,7 +531,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999913261307712\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999913261307155\n" ] } ], diff --git a/tutorials/04-lucj.html b/tutorials/04-lucj.html index 47ed4c3f5..7fb9b5c9c 100644 --- a/tutorials/04-lucj.html +++ b/tutorials/04-lucj.html @@ -262,7 +262,7 @@

The local unitary cluster Jastrow (LUCJ) ansatz
-converged SCF energy = -77.4456267643961
+converged SCF energy = -77.4456267643963
 
@@ -325,7 +325,7 @@

The unitary cluster Jastrow (UCJ) ansatz
-E(CCSD) = -77.49387212754468  E_corr = -0.04824536314851401
+E(CCSD) = -77.49387212754476  E_corr = -0.04824536314851415
 

To facilitate variational optimization of the ansatz, UCJOperator implements methods for conversion to and from a vector of real-valued parameters. The precise relation between a parameter vector and the matrices of the UCJ operator is somewhat complicated. In short, the parameter vector stores the entries of the UCJ matrices in a non-redundant way (for the orbital rotations, the parameter vector actually stores the entries of their generators.)

@@ -372,10 +372,10 @@

The unitary cluster Jastrow (UCJ) ansatz\n" @@ -243,10 +243,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:17:33.184068Z", - "iopub.status.busy": "2024-04-14T06:17:33.183712Z", - "iopub.status.idle": "2024-04-14T06:18:05.748655Z", - "shell.execute_reply": "2024-04-14T06:18:05.748119Z" + "iopub.execute_input": "2024-04-14T06:21:25.232386Z", + "iopub.status.busy": "2024-04-14T06:21:25.232094Z", + "iopub.status.idle": "2024-04-14T06:21:57.294020Z", + "shell.execute_reply": "2024-04-14T06:21:57.293083Z" } }, "outputs": [ @@ -258,10 +258,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.45739368292516\n", - " x: [ 1.249e+00 6.251e-01 ... -1.687e-03 1.416e-02]\n", + " fun: -77.45740554944622\n", + " x: [ 1.250e+00 6.251e-01 ... -1.031e-03 1.445e-02]\n", " nit: 5\n", - " jac: [-8.100e-05 2.103e-04 ... -2.879e-03 -2.409e-03]\n", + " jac: [-5.400e-05 2.018e-04 ... -2.700e-03 -2.450e-03]\n", " nfev: 423\n", " njev: 9\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" @@ -311,10 +311,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:05.751618Z", - "iopub.status.busy": "2024-04-14T06:18:05.751347Z", - "iopub.status.idle": "2024-04-14T06:18:39.425978Z", - "shell.execute_reply": "2024-04-14T06:18:39.425382Z" + "iopub.execute_input": "2024-04-14T06:21:57.297283Z", + "iopub.status.busy": "2024-04-14T06:21:57.296999Z", + "iopub.status.idle": "2024-04-14T06:22:14.575853Z", + "shell.execute_reply": "2024-04-14T06:22:14.575224Z" } }, "outputs": [ @@ -325,34 +325,34 @@ "Number of parameters: 46\n", " message: Stop: Total number of iterations reached limit.\n", " success: False\n", - " fun: -77.4684417335533\n", - " x: [ 1.371e+00 6.976e-01 ... 1.625e-01 -3.800e-01]\n", + " fun: -77.46330645572544\n", + " x: [ 1.317e+00 6.875e-01 ... 5.678e-02 -2.978e-01]\n", " nit: 5\n", - " jac: [-3.264e-03 2.610e-04 ... -6.532e-04 5.511e-04]\n", - " nfev: 877\n", + " jac: [-3.352e-04 1.830e-04 ... -1.181e-04 -1.563e-03]\n", + " nfev: 655\n", " njev: 5\n", - " nlinop: 647\n", + " nlinop: 425\n", "\n", "Iteration 1\n", - " Energy: -77.45692103503286\n", - " Norm of gradient: 0.014448537709490191\n", - " Regularization hyperparameter: 0.02490787701748069\n", - " Variation hyperparameter: 0.5659107293159771\n", + " Energy: -77.45028365067637\n", + " Norm of gradient: 0.020274316413924177\n", + " Regularization hyperparameter: 0.9179737766584104\n", + " Variation hyperparameter: 0.6393542865543006\n", "Iteration 2\n", - " Energy: -77.45808185549275\n", - " Norm of gradient: 0.008205172622718828\n", - " Regularization hyperparameter: 0.00025347276169979403\n", - " Variation hyperparameter: 0.0006777823355174628\n", + " Energy: -77.45707408934899\n", + " Norm of gradient: 0.01254266075904728\n", + " Regularization hyperparameter: 0.025591125269278574\n", + " Variation hyperparameter: 0.7032458776557788\n", "Iteration 3\n", - " Energy: -77.45809817800367\n", - " Norm of gradient: 0.00801017947353011\n", - " Regularization hyperparameter: 0.9682560273662327\n", - " Variation hyperparameter: 0.0006774401793561147\n", + " Energy: -77.45809166280335\n", + " Norm of gradient: 0.00773759853294214\n", + " Regularization hyperparameter: 0.00043933296199478306\n", + " Variation hyperparameter: 0.70806227690536\n", "Iteration 4\n", - " Energy: -77.46120118177468\n", - " Norm of gradient: 0.017859098583615826\n", - " Regularization hyperparameter: 0.0022275938611355313\n", - " Variation hyperparameter: 0.00038998622580610487\n" + " Energy: -77.45811442693798\n", + " Norm of gradient: 0.007527545313228491\n", + " Regularization hyperparameter: 1.0331840601034004\n", + " Variation hyperparameter: 0.7287076370767558\n" ] } ], diff --git a/tutorials/05-entanglement-forging.html b/tutorials/05-entanglement-forging.html index 0e5e00a37..7f9979885 100644 --- a/tutorials/05-entanglement-forging.html +++ b/tutorials/05-entanglement-forging.html @@ -350,10 +350,10 @@

Entanglement forging\n" diff --git a/tutorials/06-fermion-operator.html b/tutorials/06-fermion-operator.html index 0fbdad770..aae1dd3bf 100644 --- a/tutorials/06-fermion-operator.html +++ b/tutorials/06-fermion-operator.html @@ -250,9 +250,9 @@

The FermionOperator class
 FermionOperator({
+    (cre_a(3), des_a(0)): -0.25,
     (cre_b(1), des_b(5), cre_a(4)): 1+1j,
-    (cre_a(0), des_a(3)): 0.5,
-    (cre_a(3), des_a(0)): -0.25
+    (cre_a(0), des_a(3)): 0.5
 })
 
@@ -271,7 +271,7 @@

The FermionOperator class
-'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j})'
+'FermionOperator({((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j})'
 

FermionOperators support arithmetic operations. Note that when multiplying a FermionOperator by a scalar, the scalar must go on the left, i.e. 2 * op and not op * 2.

@@ -299,17 +299,17 @@

The FermionOperator class
 FermionOperator({
+    (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,
+    (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,
     (cre_a(3), des_a(0)): -0.5,
+    (cre_b(2)): 0-0.25j,
+    (cre_b(1), des_b(5), cre_a(4)): 2+2j,
+    (des_a(3), des_b(3)): 0.0625,
     (cre_a(0), des_a(3)): 1,
+    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,
     (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,
-    (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,
-    (des_a(3), des_b(3)): 0.0625,
-    (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,
-    (cre_b(2)): 0-0.25j,
     (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,
-    (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,
-    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,
-    (cre_b(1), des_b(5), cre_a(4)): 2+2j
+    (cre_a(0), des_a(3), cre_b(2)): 0+0.5j
 })
 
@@ -334,17 +334,17 @@

The FermionOperator class
 FermionOperator({
+    (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,
+    (cre_a(3), des_a(0), cre_b(2)): -1,
     (cre_a(3), des_a(0)): 0+3j,
+    (cre_b(2)): -5,
+    (cre_b(1), des_b(5), cre_a(4)): 12-12j,
+    (des_a(3), des_b(3)): 0-1.25j,
     (cre_a(0), des_a(3)): 0-6j,
+    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,
     (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,
-    (cre_a(0), des_a(3), cre_b(2)): 2,
-    (des_a(3), des_b(3)): 0-1.25j,
-    (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,
-    (cre_b(2)): -5,
     (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,
-    (cre_a(3), des_a(0), cre_b(2)): -1,
-    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,
-    (cre_b(1), des_b(5), cre_a(4)): 12-12j
+    (cre_a(0), des_a(3), cre_b(2)): 2
 })
 
@@ -365,15 +365,15 @@

The FermionOperator class
 FermionOperator({
-    (cre_a(0), des_a(3)): 0-6j,
     (cre_a(3), des_a(0)): 0+3j,
-    (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,
+    (cre_b(1), cre_a(4), des_b(5)): -12+12j,
     (cre_b(2), cre_a(3), des_a(0)): -1,
     (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,
+    (cre_a(0), des_a(3)): 0-6j,
     (cre_b(2), cre_a(0), des_a(3)): 2,
-    (cre_b(1), cre_a(4), des_b(5)): -12+12j,
-    (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,
     (cre_b(2)): -5,
+    (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,
+    (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,
     (des_b(3), des_a(3)): 0+1.25j
 })
 
@@ -443,11 +443,11 @@

The FermionOperator class
-array([0.        +0.j        , 0.        +0.j        ,
-       0.        +0.j        , 0.        +0.j        ,
-       0.07133359-0.17842658j, 0.        +0.j        ,
-       0.        +0.j        , 0.        +0.j        ,
-       0.        +0.j        ])
+array([0.       +0.j        , 0.       +0.j        ,
+       0.       +0.j        , 0.       +0.j        ,
+       0.2003273-0.13785949j, 0.       +0.j        ,
+       0.       +0.j        , 0.       +0.j        ,
+       0.       +0.j        ])
 

It can also be passed into most linear algebra routines in scipy.sparse.linalg.

diff --git a/tutorials/06-fermion-operator.ipynb b/tutorials/06-fermion-operator.ipynb index 3f2ab94bd..8b0132d61 100644 --- a/tutorials/06-fermion-operator.ipynb +++ b/tutorials/06-fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.229252Z", - "iopub.status.busy": "2024-04-14T06:18:44.229058Z", - "iopub.status.idle": "2024-04-14T06:18:44.832417Z", - "shell.execute_reply": "2024-04-14T06:18:44.831830Z" + "iopub.execute_input": "2024-04-14T06:22:19.429680Z", + "iopub.status.busy": "2024-04-14T06:22:19.429234Z", + "iopub.status.idle": "2024-04-14T06:22:20.046434Z", + "shell.execute_reply": "2024-04-14T06:22:20.045837Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", + " (cre_a(3), des_a(0)): -0.25,\n", " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", - " (cre_a(0), des_a(3)): 0.5,\n", - " (cre_a(3), des_a(0)): -0.25\n", + " (cre_a(0), des_a(3)): 0.5\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.835251Z", - "iopub.status.busy": "2024-04-14T06:18:44.834609Z", - "iopub.status.idle": "2024-04-14T06:18:44.839042Z", - "shell.execute_reply": "2024-04-14T06:18:44.838488Z" + "iopub.execute_input": "2024-04-14T06:22:20.049021Z", + "iopub.status.busy": "2024-04-14T06:22:20.048599Z", + "iopub.status.idle": "2024-04-14T06:22:20.052764Z", + "shell.execute_reply": "2024-04-14T06:22:20.052179Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j})'" + "'FermionOperator({((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.841616Z", - "iopub.status.busy": "2024-04-14T06:18:44.841166Z", - "iopub.status.idle": "2024-04-14T06:18:44.845540Z", - "shell.execute_reply": "2024-04-14T06:18:44.844944Z" + "iopub.execute_input": "2024-04-14T06:22:20.055237Z", + "iopub.status.busy": "2024-04-14T06:22:20.054812Z", + "iopub.status.idle": "2024-04-14T06:22:20.059043Z", + "shell.execute_reply": "2024-04-14T06:22:20.058523Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", + " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_b(2)): 0-0.25j,\n", + " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", + " (des_a(3), des_b(3)): 0.0625,\n", " (cre_a(0), des_a(3)): 1,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", - " (des_a(3), des_b(3)): 0.0625,\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_b(2)): 0-0.25j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", - " (cre_b(1), des_b(5), cre_a(4)): 2+2j\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.847647Z", - "iopub.status.busy": "2024-04-14T06:18:44.847454Z", - "iopub.status.idle": "2024-04-14T06:18:44.851328Z", - "shell.execute_reply": "2024-04-14T06:18:44.850862Z" + "iopub.execute_input": "2024-04-14T06:22:20.061254Z", + "iopub.status.busy": "2024-04-14T06:22:20.060903Z", + "iopub.status.idle": "2024-04-14T06:22:20.064859Z", + "shell.execute_reply": "2024-04-14T06:22:20.064268Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", + " (cre_a(3), des_a(0), cre_b(2)): -1,\n", " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_b(2)): -5,\n", + " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", + " (des_a(3), des_b(3)): 0-1.25j,\n", " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", - " (des_a(3), des_b(3)): 0-1.25j,\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (cre_b(2)): -5,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", - " (cre_b(1), des_b(5), cre_a(4)): 12-12j\n", + " (cre_a(0), des_a(3), cre_b(2)): 2\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.853415Z", - "iopub.status.busy": "2024-04-14T06:18:44.853209Z", - "iopub.status.idle": "2024-04-14T06:18:44.856911Z", - "shell.execute_reply": "2024-04-14T06:18:44.856358Z" + "iopub.execute_input": "2024-04-14T06:22:20.067373Z", + "iopub.status.busy": "2024-04-14T06:22:20.066971Z", + "iopub.status.idle": "2024-04-14T06:22:20.070410Z", + "shell.execute_reply": "2024-04-14T06:22:20.069835Z" } }, "outputs": [ @@ -230,15 +230,15 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(0), des_a(3)): 0-6j,\n", " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", " (cre_b(2), cre_a(3), des_a(0)): -1,\n", " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", " (cre_b(2), cre_a(0), des_a(3)): 2,\n", - " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", - " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", " (cre_b(2)): -5,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", " (des_b(3), des_a(3)): 0+1.25j\n", "})" ] @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.859289Z", - "iopub.status.busy": "2024-04-14T06:18:44.858935Z", - "iopub.status.idle": "2024-04-14T06:18:44.861997Z", - "shell.execute_reply": "2024-04-14T06:18:44.861423Z" + "iopub.execute_input": "2024-04-14T06:22:20.072586Z", + "iopub.status.busy": "2024-04-14T06:22:20.072268Z", + "iopub.status.idle": "2024-04-14T06:22:20.075241Z", + "shell.execute_reply": "2024-04-14T06:22:20.074664Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.864138Z", - "iopub.status.busy": "2024-04-14T06:18:44.863952Z", - "iopub.status.idle": "2024-04-14T06:18:44.868449Z", - "shell.execute_reply": "2024-04-14T06:18:44.867972Z" + "iopub.execute_input": "2024-04-14T06:22:20.077380Z", + "iopub.status.busy": "2024-04-14T06:22:20.077189Z", + "iopub.status.idle": "2024-04-14T06:22:20.081439Z", + "shell.execute_reply": "2024-04-14T06:22:20.080947Z" } }, "outputs": [ @@ -340,21 +340,21 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.870821Z", - "iopub.status.busy": "2024-04-14T06:18:44.870418Z", - "iopub.status.idle": "2024-04-14T06:18:44.876621Z", - "shell.execute_reply": "2024-04-14T06:18:44.876153Z" + "iopub.execute_input": "2024-04-14T06:22:20.083748Z", + "iopub.status.busy": "2024-04-14T06:22:20.083327Z", + "iopub.status.idle": "2024-04-14T06:22:20.088714Z", + "shell.execute_reply": "2024-04-14T06:22:20.088250Z" } }, "outputs": [ { "data": { "text/plain": [ - "array([0. +0.j , 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0.07133359-0.17842658j, 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0. +0.j ])" + "array([0. +0.j , 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0.2003273-0.13785949j, 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0. +0.j ])" ] }, "execution_count": 8, @@ -379,10 +379,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-14T06:18:44.879011Z", - "iopub.status.busy": "2024-04-14T06:18:44.878596Z", - "iopub.status.idle": "2024-04-14T06:18:44.890379Z", - "shell.execute_reply": "2024-04-14T06:18:44.889911Z" + "iopub.execute_input": "2024-04-14T06:22:20.090940Z", + "iopub.status.busy": "2024-04-14T06:22:20.090602Z", + "iopub.status.idle": "2024-04-14T06:22:20.102834Z", + "shell.execute_reply": "2024-04-14T06:22:20.102299Z" } }, "outputs": [