From 695a082d815f9ac5d4097091b26d65b1ef2ebdd1 Mon Sep 17 00:00:00 2001 From: kevinsung Date: Tue, 13 Feb 2024 13:07:27 +0000 Subject: [PATCH] deploy: 570a035ddcfed4583f7f92f0db802fa06d7c23e7 --- .doctrees/environment.pickle | Bin 1991056 -> 1991068 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 | 98 +++++++-------- .../tutorials/05-entanglement-forging.ipynb | 28 ++--- .../tutorials/06-fermion-operator.ipynb | 118 +++++++++--------- .../tutorials/03-double-factorized.doctree | Bin 50442 -> 50436 bytes .doctrees/tutorials/04-lucj.doctree | Bin 54215 -> 54233 bytes .../tutorials/05-entanglement-forging.doctree | Bin 15920 -> 15920 bytes .../tutorials/06-fermion-operator.doctree | Bin 41445 -> 41445 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 | 58 ++++----- tutorials/04-lucj.ipynb | 98 +++++++-------- tutorials/05-entanglement-forging.html | 4 +- tutorials/05-entanglement-forging.ipynb | 28 ++--- tutorials/06-fermion-operator.html | 46 +++---- tutorials/06-fermion-operator.ipynb | 118 +++++++++--------- 22 files changed, 461 insertions(+), 461 deletions(-) diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index ec87abe693922ea7eef9f4e47ae7323839797e4a..8f68afdc73cfbfe9e7ed680751321183832605b9 100644 GIT binary patch delta 28845 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 Xj5eOl26giIxB7;GQ97JY-GMFfW1PDZK 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 z zZ^Hd@BCLjd=9=r{FjCSj+DUd9u|%LJ8Xih!h%R#Zi7WFjJirqzclpCrMj*LSVkqfW zLW}~4SW1cE_+*`2dFmSdZ`#U}oqxJcy&;9{eCF!#1|rvb?kcAv(Sm5yFM8`O;Vt@4 zelJKICXh&t7)3rdh&FORSS&$OG~$%M!DO3O^!_blP*zUG@_#+{Cx>+6tiS2USxS?` zdhy4(o(9o~6*oE?$Ny*Y;74mASpeHrUhjEMq24n~Mo={Sdw3Xxz{%_Pwd z7v#eUVkFrbB~~Ok$)c7tixfN2CJVWk0DfvI=hmk#4XIuR0`+-G7|O0u&|@=gu$B_x z5kv{G^*=?`v43(Px0Qi0{-@@QEWa&=8L3WZ5Pf1tJf$JjS3NK|sij3Xv8KS_)yRN} zRW%+GIJ_-{KRZVBlJU=AaeQo= zW}g~LF8=rBh1|KO_(cc_%Miv(b6f50sRcMIVkGsz&*@b9!!mCf;wOLFKGQTrcoRwwyW#X0|28g&W>e7%>_>!1bl)~4$bfXl$-en-A@bxZZD21Q zquVCWD-z-BlR(1n&O5txa_ScG8&)5i1oh~xqBQ{93j-uZ&4lfyq2;k^yCE?@dY{E?Ag9}|CI zCY>&J>qw$kGLv846N2R%C&Uca|Ce=OZ2A`>{D>U;mpdgISrh1nrZeJGY?9>8XT>Ls ztIyZsd(4*Kz7@|f^qX_yNQQ!0@by!)5OrIB6wPvtOX6t;)@lF--C7%9CS7Vs8rgeA zHGurZUg?^6mPt1MAl`mWoDAYFy(UT4-V(2|ImBiHR)>J-txNq9}kBu75romO-JCgVf#5o5woNWX~>SiOcGI^~QFFv!&(ai1<71D_%U zx0!gJ!mmzd=LTrylqcfntPeGWfFTyrEEQZ%daA~apb2ND2bkpQ&%`ejcG>+x{E77h zGD41dCBl!OFrrkE42sx56KHpm><*CJ>?Xsq#`}J{96fNHztS9%ogPY-% z-S7(-v>QUl>?k=lTr2CUatkph??t=S9KDoD6gKB15Co+&!2*=+mag?psQevMLreajQuT zIi-`gHswi6qaznLb6;TmxR9-Fp$1o;)=CYR+_R0_#w?!J&K=B12pS)^EKWjL)Num_ zhkUiG`wG*57M}0!zRc>l(tJ22*hHdb_$2_0k4=8m)6Lc`d4F#{K9GSrLOBX*sZyqNF7`Zut85Um2-w zA;DvmvY=y0?(072<$VL z3JP}baYI3Bj&Zx?Gke`Pp^a?w(aL_vHK?5V4JxM(y02lc!*qt%zvUjG90$)IbvGqv z9>IbO2b@qj{bTnyf!6H=*Qg5Zr4q96DP74aD8o(!0|2B%$W%#`U!0)xm)7OmpS$lc z^6p8RCh0i=WEAh+&9m^EkJyOb9B{s_kteLtb z-}wy#qbebw#7yQK4mHb~$8I=Zp&(oy9z0>{?efj1)Vs1~HIr7XgC`aN&)sR{g&C4) z;B$ALKuOqmU%KJIM@e#~yIa32LV}YMRy|sn$Poe3B7xM{<-p0x@4ly zN6CaDxNmF?l6J#4%KHSviyFzcK!_(^5nNg+4Q?j3D5;D*Nh^u;8|BM%(g<3H8l>S+ zk{L!&wocAAN$}g+QP13o@bFGbrgw@mWS3b=BaNTC%aT$S=~Gg=oazeRGxDrbQ}Smy zaOJsG3KuA8lPlPziHzJEDuII$CBYi?BGQytqkw;~Q)(zs(k7p9N&6W|+|mR_Rt%S5 z>LbI$2&r-aS-D9}CR?AmlZbkI(U9XMrL@Jr!GlPgHt|tXtN>NJJgStmLZK>@k@_jr znzB-^Ko)7h0dx;8JwDP!E0rZB%7bV1!_)@2{*))9D}diuBh)0MQ7*Mr`p;QfXD1^TW*lsV70_Kn*5H)@4%)Hc3Rt29uNLT_aA zd{xw%Tq;`f2Efl@J9?xAbOpN~D^(Wqi4-TbbI@B}C(wMiCfvq!slr>me8psHoKy{d z7jZaFiio8K!k6T!OemLwH$i6vfYo=F2a9pgA1!#EwII0J(? z17kP?-JOA=XQ1TiD0n)`osMFsqtxjjv^ZXB0{6t{@lpyD)e@w>P^?LiGN5>vAZ0>P zI}wZdiBbcoolBIOLQy_RY6r#mB&iM*N0X#BP)NyAb13>JOZ3%#%aUON6_Fp4r9>zq zyiyz#&Ad`P6jQuX3>30gN{1q_8cJzUO{xvG>D8oKP@JeHB|#xnN0yB0QhliTtE1?n z)uozH3#fs@l4?i^P#XX>6OE6r+uQK5>}}FKMT#U@*G0X~_tQthTNQjo7$D&X|fIXLm)?tQN?D3sW$8l`7E}CKzgAzxuV%$DCT|@qt<>TBwbp ztJg-`hSf%yTWh0+TeYS3(7kpY9E<5nak>s#W~qyu>2)zSd37(lTA@1hsAHXxUHc5`BedgC>{|BbuNq2b)Or-GKL+VE4)ym^vdfq{hl{ zc-z5n3~NW`HH9Za7fQM9f8|9$Q>h;GY}gcgPHBq%e$o_;dfpV%EG82c$s*D-6T`eJ z6FDzuVzeWhVYD-w;doAKCV7DKL#6ghGwe{MIm+zcT&e+W8=7OZ?=?qf%C$gYJzJnN z3tM2E4z-Zp2F{x;B>I9vb4x4|TOydH)FvxMkpiA=iD7=)5;Y{YLd%A?LaPf~p%0go z!rmH(Ahk7GJ-9WxS*X;$Z!J{>eL-zdQKdF$=fE}?o*iva%I!92b*Z*!Qlqv~C0PE3 zwS^=uAiLUv+5+->TQH)4#Iys)3do>#5P|}-sT~Yt0r|0=RKbo<#QIucc|08a)>|`% zEu28Mt+kX_M?LJEZFn!7Qzv`j zd<*Q2*-@)E&Z+l$gMUS2S8p`!UT<8#Q~O}|>3!g!QAE!4!5Qu93*Huy)_rkKt?rA$ zzUwPhQ>NDEWnpT4UY3}BQbk?&ZbSPGg|}vtru|U-jDDDk$CX;359dRw55aLhv}dmm zSBjTDTw!Xxi>v+AchQj3@8Zm{^v5tX>yI5~_eajt{n4zD0a&CDK$clb?Xv-Bxosdy z=`awbEFFky&kw}z;e$|EyFnPmbxGlQ$H-KQk0L#bG!Dvxed5ZykmM9XuQjZZRCkd)sjI@Xz5mtILnT8Q)<9hI#P_ zoa4twsC(O!W?Q0dZT z7j)^ei_94(h3k6u8rr2BO>J*3a`(x_zW!Vc{h?gU;=u9fP}+EOe!_SR#XhBYG9E{# z(ggL4@becS{^u`Nhsy(wUAK8czNs`H6&Dr96n**+CG^T`XPNSlT=|1_9v`Q-a)5P^IW zIUVAjPr6OV4jZO}qI~jbI@pp=5@+Dzojn5-<&!-#kVVLYkmZvGdBC!sOv?jv*OLQz zVCQ;bnhCZPlSVVamSQq?CUht!AI}7R#l$!ZYb|FUidx|pQS2Fr>` z-fZx%n0z-IG!&DFIgl8Iq~jde$qLE5Ij}YslG}5jt&mim3+Y`*#?6JB;2N@dE`)sz zIX@TP&V!7Fiz{p&UsP`9sZeS?+}4_esQ=-`T6v}10YT3 zOWoiH!CRHWz5r}qP1-Mj<$X2zY=N`}ei}T`FO7!cwqF_wMb<)T6BN2d(h?p1k>>q1K_J)r{9O5ZXl6MU^&`I`YXlWC6cWC;i^CUY6^x;665(xC;fUzV3?{Xk93V_^&z5yK3l|q(59H1L4jKp9LIN_25z)%j*TMq!k zIZ&hkBRTLy0Y-D6PC4u{27z39b(*apIh^I30_1Xl-i<)b1P%;TfJq$KqX1Jl5L5xX zOyfYN0?gpRQUG#6>P(LOsIbiDfCuhUz%iEt^l}Bjd=7l70DcbGDj~-r4rD0+;Xr`` zETMps|Gz582b?9PG74GF0rNWutmHtYI0RO6;F1EY;XoZYPJpTFI6%)A02FYbd*WNU z6xqO$UlWmK69-5V0-HH7)Qdnd2kOAF17vLD06m8Qu!95V6krzz%G5v(8Gu~nzZn^* zAbU7VMonbd%Yo;q2<+#;(b@firk2uTs3h;yj^b`k%JmtX5 zt_VEiKtOi{UT`3<9|Es9ke!Wya6na?`@;xC0y)wq2Z3M?bee>KmIGNc5P-MjvcaPV zLa@xpfsn-rgmB>9r3hF!P?(Q^EtezokO)FTInZn~0%06Dy%hl$2R3g<0R9}p4AJaF zAe;mA7zsinIglbFP*MeQeTzRtq?C&I9_&G&30!bXGbq)b92YP>xKy?m0 zy^25z17QALyoE?AXW4fTf!Z9Pr(7_kE(bn%gg|`?;D4vo@(BWIDu4%=#%j%%tu!~` z!13qE-}C^@f0R%GzJmZdnsJu&Km=NF;IR&YRvZWmL7)u<_>&Eg(Ow16ijHc{2X7{( zDmrnXWGJjZfOPo_i9nWa9H_|XhCdDp6~KT_QER@LO7k=h7&4H51_x$jA~2H!H=83cTLp4` z`&uC~S4Dhh+aNHX1J3pc_&IR0BLa&!@KI+32nFzaU7Nchuv7)m@MUVv_nFeX;sD)$ zu*2Zq*kKiCx!f0ldDVgtQP!<0-86f05%t?HQ$T@*j&tk zuN5G7J4ccg3A-qu-fO7H4^;p~ene~dowT{5P~?6Uz~+N$%@;Bpn~!i{n!^7H1@M+r zWfJ5cC^)VnDB&};=DRWmC7k3yS?B=#XE*@&Bno`Rfe3};TMDrI5^|hZ0aS58t@(O) zo{sI8IZ`eUfomK{or%B=3gEZx8qGoAmI|QAJG4gsi!xtr_!1!4^fLnT?gFV%kg%5i zM{)jLaW+zAfg}dPUwi2P76;d}aYa%IxR>Go7q^lAe{l`U($ME9e-?s*1_}!53lvm8 z6dUEl&C;KhOXA->qC-F_QupC@q)^-8TI4H|GtWyzmx66~VDD1ej=`p-P*Jd3Db#4# zrWC3z>`w}{74{{NQRccd(PTs!J>kLv$kzMPm@;9AxT>h!SsrYwWe-0JujvLeeV39D zF;@&<(@HsI%PA^%Z#YaUTB^b+QlT2vRjE4lRH`+cj+E9OaDq`NI~-jU>U<}adIU!k z1-lPt5~POvGONAy*06=MJn%mS%ARrIZ-*&%9dATAS;flZYHY65fIF z?1KFYc&Z)`|0a~_+|UDcx=5+^8kb!DVt7P)LyTJ<9FY`XUck{vp|asjq);O#snm!W zDpej%J4)*jIMsljyz&wC;2E2IIys^&{P9Kpy+=g0^77n>V|K;AesJ0VWYB_$>Qu|7H4!)Ao#OI>%@M2Ne_fH|cSh`i zzhTJt&qq{*zw5|iOynT=kGJIM^&^{y8*#Jk6$rDXK)%s6(q&T+s~!=}kjQdI1$hT{ zSKvv?iQE)s#O-xDY<<3b`QC!a1}(x6@xpegY+xf{^MSUsA0s;&t65Vsptie~El2N&kiPs~ zVI>;J3Gl11xDuAq&2iHz3!9L#eXW7rN1@(op;F(%cB5cF!#<->9@tK5!Q3iWko lO38;>m-x_F7Pp9*utg}F#UHRYAT`|Apa*qh`0(!0{|_^R^Q8a) diff --git a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb index 191fbea73..0d06140ce 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-02-13T12:59:37.480173Z", - "iopub.status.busy": "2024-02-13T12:59:37.479684Z", - "iopub.status.idle": "2024-02-13T12:59:37.821267Z", - "shell.execute_reply": "2024-02-13T12:59:37.820680Z" + "iopub.execute_input": "2024-02-13T13:06:10.771442Z", + "iopub.status.busy": "2024-02-13T13:06:10.771270Z", + "iopub.status.idle": "2024-02-13T13:06:11.114949Z", + "shell.execute_reply": "2024-02-13T13:06:11.114352Z" } }, "outputs": [], @@ -70,10 +70,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:37.824460Z", - "iopub.status.busy": "2024-02-13T12:59:37.823945Z", - "iopub.status.idle": "2024-02-13T12:59:37.828309Z", - "shell.execute_reply": "2024-02-13T12:59:37.827794Z" + "iopub.execute_input": "2024-02-13T13:06:11.117879Z", + "iopub.status.busy": "2024-02-13T13:06:11.117469Z", + "iopub.status.idle": "2024-02-13T13:06:11.121943Z", + "shell.execute_reply": "2024-02-13T13:06:11.121383Z" } }, "outputs": [ @@ -112,10 +112,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:37.862523Z", - "iopub.status.busy": "2024-02-13T12:59:37.862108Z", - "iopub.status.idle": "2024-02-13T12:59:37.864932Z", - "shell.execute_reply": "2024-02-13T12:59:37.864393Z" + "iopub.execute_input": "2024-02-13T13:06:11.155646Z", + "iopub.status.busy": "2024-02-13T13:06:11.155446Z", + "iopub.status.idle": "2024-02-13T13:06:11.158278Z", + "shell.execute_reply": "2024-02-13T13:06:11.157807Z" } }, "outputs": [], @@ -135,10 +135,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:37.867085Z", - "iopub.status.busy": "2024-02-13T12:59:37.866896Z", - "iopub.status.idle": "2024-02-13T12:59:37.872988Z", - "shell.execute_reply": "2024-02-13T12:59:37.872511Z" + "iopub.execute_input": "2024-02-13T13:06:11.160401Z", + "iopub.status.busy": "2024-02-13T13:06:11.160081Z", + "iopub.status.idle": "2024-02-13T13:06:11.166188Z", + "shell.execute_reply": "2024-02-13T13:06:11.165652Z" } }, "outputs": [ diff --git a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb index 12bb19af4..c2c12f5da 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-02-13T12:59:39.258063Z", - "iopub.status.busy": "2024-02-13T12:59:39.257566Z", - "iopub.status.idle": "2024-02-13T12:59:39.601912Z", - "shell.execute_reply": "2024-02-13T12:59:39.601377Z" + "iopub.execute_input": "2024-02-13T13:06:12.538866Z", + "iopub.status.busy": "2024-02-13T13:06:12.538483Z", + "iopub.status.idle": "2024-02-13T13:06:12.900369Z", + "shell.execute_reply": "2024-02-13T13:06:12.899768Z" } }, "outputs": [], @@ -107,10 +107,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:39.604653Z", - "iopub.status.busy": "2024-02-13T12:59:39.604209Z", - "iopub.status.idle": "2024-02-13T12:59:39.630200Z", - "shell.execute_reply": "2024-02-13T12:59:39.629622Z" + "iopub.execute_input": "2024-02-13T13:06:12.903062Z", + "iopub.status.busy": "2024-02-13T13:06:12.902655Z", + "iopub.status.idle": "2024-02-13T13:06:12.935543Z", + "shell.execute_reply": "2024-02-13T13:06:12.934989Z" } }, "outputs": [], @@ -155,10 +155,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:39.633151Z", - "iopub.status.busy": "2024-02-13T12:59:39.632852Z", - "iopub.status.idle": "2024-02-13T12:59:39.641090Z", - "shell.execute_reply": "2024-02-13T12:59:39.640585Z" + "iopub.execute_input": "2024-02-13T13:06:12.938779Z", + "iopub.status.busy": "2024-02-13T13:06:12.938535Z", + "iopub.status.idle": "2024-02-13T13:06:12.959641Z", + "shell.execute_reply": "2024-02-13T13:06:12.959085Z" } }, "outputs": [], @@ -198,10 +198,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:39.643888Z", - "iopub.status.busy": "2024-02-13T12:59:39.643543Z", - "iopub.status.idle": "2024-02-13T12:59:39.648516Z", - "shell.execute_reply": "2024-02-13T12:59:39.648027Z" + "iopub.execute_input": "2024-02-13T13:06:12.964552Z", + "iopub.status.busy": "2024-02-13T13:06:12.963150Z", + "iopub.status.idle": "2024-02-13T13:06:12.990593Z", + "shell.execute_reply": "2024-02-13T13:06:12.990055Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb index 490638b7f..fcd1319e7 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-02-13T12:59:41.201137Z", - "iopub.status.busy": "2024-02-13T12:59:41.200669Z", - "iopub.status.idle": "2024-02-13T12:59:41.733608Z", - "shell.execute_reply": "2024-02-13T12:59:41.733039Z" + "iopub.execute_input": "2024-02-13T13:06:14.547411Z", + "iopub.status.busy": "2024-02-13T13:06:14.547243Z", + "iopub.status.idle": "2024-02-13T13:06:15.171512Z", + "shell.execute_reply": "2024-02-13T13:06:15.170978Z" } }, "outputs": [ @@ -108,10 +108,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:41.736917Z", - "iopub.status.busy": "2024-02-13T12:59:41.736495Z", - "iopub.status.idle": "2024-02-13T12:59:41.741155Z", - "shell.execute_reply": "2024-02-13T12:59:41.740761Z" + "iopub.execute_input": "2024-02-13T13:06:15.175617Z", + "iopub.status.busy": "2024-02-13T13:06:15.174645Z", + "iopub.status.idle": "2024-02-13T13:06:15.180690Z", + "shell.execute_reply": "2024-02-13T13:06:15.180306Z" } }, "outputs": [ @@ -214,10 +214,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:41.743747Z", - "iopub.status.busy": "2024-02-13T12:59:41.743544Z", - "iopub.status.idle": "2024-02-13T12:59:41.749136Z", - "shell.execute_reply": "2024-02-13T12:59:41.748675Z" + "iopub.execute_input": "2024-02-13T13:06:15.182889Z", + "iopub.status.busy": "2024-02-13T13:06:15.182569Z", + "iopub.status.idle": "2024-02-13T13:06:15.186453Z", + "shell.execute_reply": "2024-02-13T13:06:15.186028Z" } }, "outputs": [], @@ -272,10 +272,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:41.751764Z", - "iopub.status.busy": "2024-02-13T12:59:41.751451Z", - "iopub.status.idle": "2024-02-13T12:59:41.754891Z", - "shell.execute_reply": "2024-02-13T12:59:41.754418Z" + "iopub.execute_input": "2024-02-13T13:06:15.188545Z", + "iopub.status.busy": "2024-02-13T13:06:15.188226Z", + "iopub.status.idle": "2024-02-13T13:06:15.191589Z", + "shell.execute_reply": "2024-02-13T13:06:15.191158Z" } }, "outputs": [], @@ -312,10 +312,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:41.757474Z", - "iopub.status.busy": "2024-02-13T12:59:41.756983Z", - "iopub.status.idle": "2024-02-13T12:59:41.811600Z", - "shell.execute_reply": "2024-02-13T12:59:41.811054Z" + "iopub.execute_input": "2024-02-13T13:06:15.193798Z", + "iopub.status.busy": "2024-02-13T13:06:15.193471Z", + "iopub.status.idle": "2024-02-13T13:06:15.199163Z", + "shell.execute_reply": "2024-02-13T13:06:15.198697Z" } }, "outputs": [ @@ -323,7 +323,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Hartree Fock energy: -77.44562676439627\n" + "Hartree Fock energy: -77.4456267643962\n" ] } ], @@ -351,10 +351,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:41.814198Z", - "iopub.status.busy": "2024-02-13T12:59:41.814003Z", - "iopub.status.idle": "2024-02-13T12:59:42.385987Z", - "shell.execute_reply": "2024-02-13T12:59:42.385450Z" + "iopub.execute_input": "2024-02-13T13:06:15.201795Z", + "iopub.status.busy": "2024-02-13T13:06:15.201385Z", + "iopub.status.idle": "2024-02-13T13:06:15.767022Z", + "shell.execute_reply": "2024-02-13T13:06:15.766522Z" } }, "outputs": [ @@ -362,7 +362,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.9315062301398566\n" + "Fidelity of evolved state w.r.t. initial state: 0.9315062301401625\n" ] } ], @@ -393,10 +393,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:42.389464Z", - "iopub.status.busy": "2024-02-13T12:59:42.388543Z", - "iopub.status.idle": "2024-02-13T12:59:42.401608Z", - "shell.execute_reply": "2024-02-13T12:59:42.401188Z" + "iopub.execute_input": "2024-02-13T13:06:15.769672Z", + "iopub.status.busy": "2024-02-13T13:06:15.769282Z", + "iopub.status.idle": "2024-02-13T13:06:15.785177Z", + "shell.execute_reply": "2024-02-13T13:06:15.784667Z" } }, "outputs": [ @@ -404,7 +404,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9928527668212291\n" + "Fidelity of Trotter-evolved state with exact state: 0.9928527668215116\n" ] } ], @@ -434,10 +434,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:42.404105Z", - "iopub.status.busy": "2024-02-13T12:59:42.403792Z", - "iopub.status.idle": "2024-02-13T12:59:42.521682Z", - "shell.execute_reply": "2024-02-13T12:59:42.521154Z" + "iopub.execute_input": "2024-02-13T13:06:15.787669Z", + "iopub.status.busy": "2024-02-13T13:06:15.787298Z", + "iopub.status.idle": "2024-02-13T13:06:15.932215Z", + "shell.execute_reply": "2024-02-13T13:06:15.931716Z" } }, "outputs": [ @@ -445,7 +445,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851285765\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851288621\n" ] } ], @@ -477,10 +477,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:42.525638Z", - "iopub.status.busy": "2024-02-13T12:59:42.524726Z", - "iopub.status.idle": "2024-02-13T12:59:42.600737Z", - "shell.execute_reply": "2024-02-13T12:59:42.600236Z" + "iopub.execute_input": "2024-02-13T13:06:15.936000Z", + "iopub.status.busy": "2024-02-13T13:06:15.935686Z", + "iopub.status.idle": "2024-02-13T13:06:15.997159Z", + "shell.execute_reply": "2024-02-13T13:06:15.996631Z" } }, "outputs": [ @@ -488,7 +488,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851285765\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851288621\n" ] } ], @@ -519,10 +519,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:42.604475Z", - "iopub.status.busy": "2024-02-13T12:59:42.603571Z", - "iopub.status.idle": "2024-02-13T12:59:42.666484Z", - "shell.execute_reply": "2024-02-13T12:59:42.666001Z" + "iopub.execute_input": "2024-02-13T13:06:15.999887Z", + "iopub.status.busy": "2024-02-13T13:06:15.999510Z", + "iopub.status.idle": "2024-02-13T13:06:16.037057Z", + "shell.execute_reply": "2024-02-13T13:06:16.036519Z" } }, "outputs": [ @@ -530,7 +530,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999913261306678\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999913261309411\n" ] } ], diff --git a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb index 8b94da9c5..7b3400b0d 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-02-13T12:59:44.355044Z", - "iopub.status.busy": "2024-02-13T12:59:44.354869Z", - "iopub.status.idle": "2024-02-13T12:59:44.942829Z", - "shell.execute_reply": "2024-02-13T12:59:44.942312Z" + "iopub.execute_input": "2024-02-13T13:06:17.713684Z", + "iopub.status.busy": "2024-02-13T13:06:17.713270Z", + "iopub.status.idle": "2024-02-13T13:06:18.305916Z", + "shell.execute_reply": "2024-02-13T13:06:18.305415Z" } }, "outputs": [ @@ -105,10 +105,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:44.945814Z", - "iopub.status.busy": "2024-02-13T12:59:44.945415Z", - "iopub.status.idle": "2024-02-13T12:59:45.662443Z", - "shell.execute_reply": "2024-02-13T12:59:45.661930Z" + "iopub.execute_input": "2024-02-13T13:06:18.309853Z", + "iopub.status.busy": "2024-02-13T13:06:18.308868Z", + "iopub.status.idle": "2024-02-13T13:06:18.734077Z", + "shell.execute_reply": "2024-02-13T13:06:18.733571Z" } }, "outputs": [ @@ -116,14 +116,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(CCSD) = -77.49387212754465 E_corr = -0.0482453631485158\n" + "E(CCSD) = -77.49387212754471 E_corr = -0.04824536314851376\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialization: -77.46975600021705\n" + "Energy at initialization: -77.46975600021678\n" ] } ], @@ -168,10 +168,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:45.665999Z", - "iopub.status.busy": "2024-02-13T12:59:45.665595Z", - "iopub.status.idle": "2024-02-13T13:00:17.469608Z", - "shell.execute_reply": "2024-02-13T13:00:17.469089Z" + "iopub.execute_input": "2024-02-13T13:06:18.738515Z", + "iopub.status.busy": "2024-02-13T13:06:18.737503Z", + "iopub.status.idle": "2024-02-13T13:06:48.428558Z", + "shell.execute_reply": "2024-02-13T13:06:48.427999Z" } }, "outputs": [ @@ -183,10 +183,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.50959695105948\n", - " x: [-1.502e-01 1.897e-01 ... 3.208e-01 5.938e-01]\n", + " fun: -77.5096390766593\n", + " x: [-1.486e-01 1.913e-01 ... 6.601e-03 -1.987e+00]\n", " nit: 5\n", - " jac: [-1.087e-03 -1.026e-03 ... 3.055e-04 -3.624e-04]\n", + " jac: [-1.194e-03 -1.084e-03 ... -5.343e-04 -2.842e-04]\n", " nfev: 584\n", " njev: 8\n", " hess_inv: <72x72 LbfgsInvHessProduct with dtype=float64>\n" @@ -241,10 +241,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:00:17.472557Z", - "iopub.status.busy": "2024-02-13T13:00:17.472239Z", - "iopub.status.idle": "2024-02-13T13:00:45.006440Z", - "shell.execute_reply": "2024-02-13T13:00:45.005847Z" + "iopub.execute_input": "2024-02-13T13:06:48.431572Z", + "iopub.status.busy": "2024-02-13T13:06:48.431155Z", + "iopub.status.idle": "2024-02-13T13:07:02.199182Z", + "shell.execute_reply": "2024-02-13T13:07:02.198637Z" } }, "outputs": [ @@ -256,10 +256,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.4574091704306\n", - " x: [-4.099e-01 8.265e-02 ... 3.403e-01 6.529e-01]\n", + " fun: -77.45740004895607\n", + " x: [-4.128e-01 8.262e-02 ... -3.240e-02 -1.938e+00]\n", " nit: 5\n", - " jac: [ 1.859e-03 -9.948e-06 ... -1.890e-04 -1.222e-04]\n", + " jac: [ 7.034e-04 -2.132e-05 ... 4.832e-05 -2.487e-04]\n", " nfev: 423\n", " njev: 9\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" @@ -309,10 +309,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:00:45.009591Z", - "iopub.status.busy": "2024-02-13T13:00:45.009335Z", - "iopub.status.idle": "2024-02-13T13:01:03.500329Z", - "shell.execute_reply": "2024-02-13T13:01:03.499744Z" + "iopub.execute_input": "2024-02-13T13:07:02.203150Z", + "iopub.status.busy": "2024-02-13T13:07:02.202175Z", + "iopub.status.idle": "2024-02-13T13:07:18.577473Z", + "shell.execute_reply": "2024-02-13T13:07:18.576902Z" } }, "outputs": [ @@ -323,34 +323,34 @@ "Number of parameters: 46\n", " message: Stop: Total number of iterations reached limit.\n", " success: False\n", - " fun: -77.47182610294765\n", - " x: [-6.506e-01 3.074e-03 ... 4.197e-01 9.276e-01]\n", + " fun: -77.46966712846668\n", + " x: [-5.610e-01 -5.406e-03 ... -1.491e-01 -1.730e+00]\n", " nit: 5\n", - " jac: [ 5.077e-03 -6.960e-04 ... -5.325e-04 -4.823e-03]\n", - " nfev: 814\n", + " jac: [ 5.450e-03 -8.891e-04 ... 2.716e-04 -3.734e-03]\n", + " nfev: 739\n", " njev: 5\n", - " nlinop: 584\n", + " nlinop: 509\n", "\n", "Iteration 1\n", - " Energy: -77.45723564085937\n", - " Norm of gradient: 0.01006824498896873\n", - " Regularization hyperparameter: 0.026912976015549067\n", - " Variation hyperparameter: 0.9826421542008552\n", + " Energy: -77.45711405010151\n", + " Norm of gradient: 0.011981190043878515\n", + " Regularization hyperparameter: 0.025995740229241168\n", + " Variation hyperparameter: 0.8046952583567395\n", "Iteration 2\n", - " Energy: -77.4581216930207\n", - " Norm of gradient: 0.00763330699926692\n", - " Regularization hyperparameter: 0.0005932531566250592\n", - " Variation hyperparameter: 0.9835690132609403\n", + " Energy: -77.45819873443234\n", + " Norm of gradient: 0.00813522521971025\n", + " Regularization hyperparameter: 0.00043244923014357255\n", + " Variation hyperparameter: 0.8067683963495124\n", "Iteration 3\n", - " Energy: -77.45815041161042\n", - " Norm of gradient: 0.007421091544726094\n", - " Regularization hyperparameter: 0.9518753998482729\n", - " Variation hyperparameter: 0.9835847922097266\n", + " Energy: -77.45822525997811\n", + " Norm of gradient: 0.007963819887741287\n", + " Regularization hyperparameter: 1.0419385415954106\n", + " Variation hyperparameter: 0.8039118493688805\n", "Iteration 4\n", - " Energy: -77.46257719490553\n", - " Norm of gradient: 0.023667471305006304\n", - " Regularization hyperparameter: 0.0029004558715029216\n", - " Variation hyperparameter: 0.969693109296468\n" + " Energy: -77.46284029614388\n", + " Norm of gradient: 0.02322075490484005\n", + " Regularization hyperparameter: 0.003722957031534505\n", + " Variation hyperparameter: 0.9120201153511656\n" ] } ], diff --git a/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb b/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb index 07a25cdf5..bb36cd8fa 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-02-13T13:01:05.148831Z", - "iopub.status.busy": "2024-02-13T13:01:05.148359Z", - "iopub.status.idle": "2024-02-13T13:01:05.678201Z", - "shell.execute_reply": "2024-02-13T13:01:05.677638Z" + "iopub.execute_input": "2024-02-13T13:07:20.015692Z", + "iopub.status.busy": "2024-02-13T13:07:20.015143Z", + "iopub.status.idle": "2024-02-13T13:07:20.606215Z", + "shell.execute_reply": "2024-02-13T13:07:20.605678Z" } }, "outputs": [ @@ -77,10 +77,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:05.683105Z", - "iopub.status.busy": "2024-02-13T13:01:05.681640Z", - "iopub.status.idle": "2024-02-13T13:01:05.785413Z", - "shell.execute_reply": "2024-02-13T13:01:05.784842Z" + "iopub.execute_input": "2024-02-13T13:07:20.610232Z", + "iopub.status.busy": "2024-02-13T13:07:20.609243Z", + "iopub.status.idle": "2024-02-13T13:07:20.625279Z", + "shell.execute_reply": "2024-02-13T13:07:20.624766Z" } }, "outputs": [ @@ -126,10 +126,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:05.789253Z", - "iopub.status.busy": "2024-02-13T13:01:05.788348Z", - "iopub.status.idle": "2024-02-13T13:01:06.717161Z", - "shell.execute_reply": "2024-02-13T13:01:06.716626Z" + "iopub.execute_input": "2024-02-13T13:07:20.628797Z", + "iopub.status.busy": "2024-02-13T13:07:20.627922Z", + "iopub.status.idle": "2024-02-13T13:07:21.551000Z", + "shell.execute_reply": "2024-02-13T13:07:21.550480Z" } }, "outputs": [ @@ -141,10 +141,10 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -75.68085118238787\n", + " fun: -75.68085168152658\n", " x: [ 2.996e+00 -7.549e-01 ... 2.650e+00 8.012e-01]\n", " nit: 6\n", - " jac: [ 1.758e-03 9.106e-03 ... -1.192e-02 9.621e-04]\n", + " jac: [ 1.762e-03 9.116e-03 ... -1.192e-02 9.649e-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 7309b91f9..db29fce4b 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-02-13T13:01:07.959701Z", - "iopub.status.busy": "2024-02-13T13:01:07.959531Z", - "iopub.status.idle": "2024-02-13T13:01:08.307084Z", - "shell.execute_reply": "2024-02-13T13:01:08.306542Z" + "iopub.execute_input": "2024-02-13T13:07:22.890651Z", + "iopub.status.busy": "2024-02-13T13:07:22.890475Z", + "iopub.status.idle": "2024-02-13T13:07:23.237590Z", + "shell.execute_reply": "2024-02-13T13:07:23.237039Z" } }, "outputs": [ @@ -41,8 +41,8 @@ "text/plain": [ "FermionOperator({\n", " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", - " (cre_a(3), des_a(0)): -0.25,\n", - " (cre_a(0), des_a(3)): 0.5\n", + " (cre_a(0), des_a(3)): 0.5,\n", + " (cre_a(3), des_a(0)): -0.25\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.309662Z", - "iopub.status.busy": "2024-02-13T13:01:08.309157Z", - "iopub.status.idle": "2024-02-13T13:01:08.313054Z", - "shell.execute_reply": "2024-02-13T13:01:08.312516Z" + "iopub.execute_input": "2024-02-13T13:07:23.240014Z", + "iopub.status.busy": "2024-02-13T13:07:23.239608Z", + "iopub.status.idle": "2024-02-13T13:07:23.243382Z", + "shell.execute_reply": "2024-02-13T13:07:23.242838Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, False, 0), (False, False, 3)): 0.5+0j})'" + "'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})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.315314Z", - "iopub.status.busy": "2024-02-13T13:01:08.315001Z", - "iopub.status.idle": "2024-02-13T13:01:08.319268Z", - "shell.execute_reply": "2024-02-13T13:01:08.318826Z" + "iopub.execute_input": "2024-02-13T13:07:23.245772Z", + "iopub.status.busy": "2024-02-13T13:07:23.245277Z", + "iopub.status.idle": "2024-02-13T13:07:23.249589Z", + "shell.execute_reply": "2024-02-13T13:07:23.249170Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (des_a(3), des_b(3)): 0.0625,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", - " (cre_a(0), des_a(3)): 1,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", " (cre_b(2)): 0-0.25j,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", - " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (cre_b(1), des_b(5), cre_a(4)): 2+2j\n", + " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", + " (cre_a(0), des_a(3)): 1,\n", + " (des_a(3), des_b(3)): 0.0625\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.321237Z", - "iopub.status.busy": "2024-02-13T13:01:08.321061Z", - "iopub.status.idle": "2024-02-13T13:01:08.324776Z", - "shell.execute_reply": "2024-02-13T13:01:08.324350Z" + "iopub.execute_input": "2024-02-13T13:07:23.251531Z", + "iopub.status.busy": "2024-02-13T13:07:23.251359Z", + "iopub.status.idle": "2024-02-13T13:07:23.255054Z", + "shell.execute_reply": "2024-02-13T13:07:23.254618Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (des_a(3), des_b(3)): 0-1.25j,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", " (cre_b(2)): -5,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (cre_b(1), des_b(5), cre_a(4)): 12-12j\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (des_a(3), des_b(3)): 0-1.25j\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.326969Z", - "iopub.status.busy": "2024-02-13T13:01:08.326649Z", - "iopub.status.idle": "2024-02-13T13:01:08.330112Z", - "shell.execute_reply": "2024-02-13T13:01:08.329587Z" + "iopub.execute_input": "2024-02-13T13:07:23.257034Z", + "iopub.status.busy": "2024-02-13T13:07:23.256848Z", + "iopub.status.idle": "2024-02-13T13:07:23.260340Z", + "shell.execute_reply": "2024-02-13T13:07:23.259890Z" } }, "outputs": [ @@ -230,16 +230,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (des_b(3), des_a(3)): 0+1.25j,\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\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_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", " (cre_b(2)): -5,\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_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_b(2), cre_a(3), des_a(0)): -1,\n", " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_a(0), des_a(3)): 0-6j\n", + " (cre_b(2), cre_a(0), des_a(3)): 2\n", "})" ] }, @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.332259Z", - "iopub.status.busy": "2024-02-13T13:01:08.331945Z", - "iopub.status.idle": "2024-02-13T13:01:08.335223Z", - "shell.execute_reply": "2024-02-13T13:01:08.334663Z" + "iopub.execute_input": "2024-02-13T13:07:23.262291Z", + "iopub.status.busy": "2024-02-13T13:07:23.262127Z", + "iopub.status.idle": "2024-02-13T13:07:23.265299Z", + "shell.execute_reply": "2024-02-13T13:07:23.264847Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.337464Z", - "iopub.status.busy": "2024-02-13T13:01:08.337137Z", - "iopub.status.idle": "2024-02-13T13:01:08.341024Z", - "shell.execute_reply": "2024-02-13T13:01:08.340507Z" + "iopub.execute_input": "2024-02-13T13:07:23.267295Z", + "iopub.status.busy": "2024-02-13T13:07:23.266978Z", + "iopub.status.idle": "2024-02-13T13:07:23.271188Z", + "shell.execute_reply": "2024-02-13T13:07:23.270732Z" } }, "outputs": [ @@ -340,10 +340,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.343136Z", - "iopub.status.busy": "2024-02-13T13:01:08.342805Z", - "iopub.status.idle": "2024-02-13T13:01:08.348812Z", - "shell.execute_reply": "2024-02-13T13:01:08.348360Z" + "iopub.execute_input": "2024-02-13T13:07:23.273348Z", + "iopub.status.busy": "2024-02-13T13:07:23.273029Z", + "iopub.status.idle": "2024-02-13T13:07:23.279354Z", + "shell.execute_reply": "2024-02-13T13:07:23.278805Z" } }, "outputs": [ @@ -352,7 +352,7 @@ "text/plain": [ "array([ 0. +0.j , 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", - " -0.07246671-0.11257741j, 0. +0.j ,\n", + " -0.16659109+0.10685116j, 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", " 0. +0.j ])" ] @@ -379,10 +379,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.350900Z", - "iopub.status.busy": "2024-02-13T13:01:08.350577Z", - "iopub.status.idle": "2024-02-13T13:01:08.360836Z", - "shell.execute_reply": "2024-02-13T13:01:08.360264Z" + "iopub.execute_input": "2024-02-13T13:07:23.281295Z", + "iopub.status.busy": "2024-02-13T13:07:23.281127Z", + "iopub.status.idle": "2024-02-13T13:07:23.291328Z", + "shell.execute_reply": "2024-02-13T13:07:23.290882Z" } }, "outputs": [ diff --git a/.doctrees/tutorials/03-double-factorized.doctree b/.doctrees/tutorials/03-double-factorized.doctree index 53634cabba6a6c14f44626747fa4f53cf71be232..f6692f079dff2d3cd8a304387b6ebfbe32f6a0e0 100644 GIT binary patch delta 526 zcmeC`Vs7bTW@%uZ`g0=-V>!FAO+itr9oOWCC8Cq#$^|FSSK{EyV2_=WVb_BxB{;dU zJd-hf^2V7ulRGNZCf`>Un=IeYjv^vI`CLUTqZ-UW&M8pS;37OzTBkHlshyG`pXI|g z`QmKH%@-;|IN3}L49$#8Cu=na!I(|Wk6}!xMUy*PG7&=Zlf_zR@k8{%Y;l?#SZ^@7 zpqU4%Y%^oqZgv(^LqoI42YMqQ44J-{5C+85G8jjG@{axm5KhblZ!lx?>IvE$%ob)w zllS-fPgYpP#R6m-PBxqQ62gF(kb{u9uPi_L(yRqwEzuL4;1ZjU&Q9gSG^lG8K7-WO zU@=H?tsw`qrHLWfMGjlJSb%K9$*Z=$gfL((g3Ewh7 AT>t<8 delta 518 zcmZqaV(#i!EtO+itr9oOWCC8CpK%LT>Fxoq@7B2zNhW2a=;^`OZ! znorIvuVT!YJh4w_vS@`GkYBi37KQ(@MSk+BidaTjX%2!hYnmU!m_UOkH??HKxF1_~!k8OcU7^g)zgu^+vltm!8cyET8v$X6^}S>U zicBt8-8^|sFBe1*D<93LN4Le$R05I3P(EtDd diff --git a/.doctrees/tutorials/04-lucj.doctree b/.doctrees/tutorials/04-lucj.doctree index 118ea8a0d5e095a55ee266706549513c6a496a85..311fb13f8cd2c9ac12734a16829658d99589b070 100644 GIT binary patch delta 4792 zcmeHL-)qxX6sJjNSt@Hn(XBDdZh~0B<$8br&{A7mf=mX|mt?keI@ZyZvaM5wFbWpd zNwEmq$)3greNraMBnq2jRi8uz*~dvTM9L zIk@<=P#lHe^nsHdvoJGM+G05&#WDD9xG&o1Np6R1v1`4}Ec`iC?%4l?&8?_z#n_YU zL0j$K@T;-7u?`*|JP>^kymmKcETnF{3_FYE`tU_aZhIcSE}n@bNJ+eai0XWGt~y(t zd}V4EJUrS9x0bg9dwW~$o03RD{!;>v%2OpHJ+sDWFB7EkI=zpK7C2STOcWR%jZ@EM zG^CUgVyIypr;?zMcXnbAW3W`o?&e;tEHhUh20%emsRCY+f}l6BL$UZ|Z2FxKPMw@xKOluB0a-;gi%LIS9UFm>g=fW^nPZn=>Rh^o z_hbxyUCg!0er@T*TpoTd6L@fTy2zMvUK?ir%@akra1l9(qrwOr3KCs=Nrht3H1I^a z22XbEA(k>3_z@9;%Ye}lhA8S9Q>2P=7M4GI4{6fhQV)KCgQKP3!Rs4|!9O>By+E+$ zfmj7Li$?z!3nLI8e}>#S9F^YQb7jc9m2PRC3Xnd(7Z#4^TI)qEeg4O6Om@Pz^LhB| zdgYMu##m&DGRC+S_C!raQ^NyAcxV!eg?=OJ{mJfu=hCX zA_-Mzj-ZwYJaS4RAZkD3k+JvRo%nbkvC_k%%P+;4hs2d!H|L6J#u?WfZhxOnaqb}r9Ng)-g+tK5= z)Iw;%z2!^cILCh~tnY`Y0ko>hz&98}u*-JG4cHhO1z>)+aCx&;6L delta 4870 zcmeHL-D_M$6lXUvrHzmcqS7=hvqie4bSE=szC%b8$%nRzPzXtzO>DtPTjD0#B4QOR z_|-NR^|a4z`qF|@k!_KpXrYzhn?5LrPvSq|vk3Lf-P;h8%|l+?5_ezboIB_H%x})U z`|GuqrE4v%?>utpn=f1c=x-bCn}2PlA1@E=$XbJy!R{xG-`3X?A6`7RW$NOw{)IIn zS>y4|eJ3+-;h&G~#VZ3{ZPqY0T*g-ix5vGX+!J`e+?HKfUm%Zv4UA`cqjKuE-S`I% zS3V|t)t?6UW?P&vpAPMd3qC#cL$aoRaL@2~%IERw@R@|(H3D(1PL7=J#GUUl{AlvT zs0lV0DNN9Q8%uw0^s>p4R+^LgquV0Q*opP+y zT2qrE-Yg%)v9k|RI0rEI_*Pt+9>>c0u12=1jK3`u8Wuox@#vYI_{%uMzZYhQf^%XHMRz`-R#n7P+ICR{pOEDyE@ji^vETtPZpH1`m3rlt~Sm6vB;?`2-<8h0Xc zF^tOW@ygsh(OzTjMxh;)v04xkmBSal+R-6|^`Ld|K3MM*{(iIA2{uRw&I)Oa4#GOj zd|$`~%1?td8U*PZz#nfEwt}=l2@ug(S57#q6x|ge1h6&$S=-%7)0To((pU?I7)Y&A zAVEk4Rs;eIe*6V%mqutQsfrq+y-q3?ND;`Vc8MGr+?AsV?wwH~ca@S-Wvg2Fkz~mDmGit{3Ez8mjqGvJN|ze=+#%2W*_|rCf2zk diff --git a/.doctrees/tutorials/05-entanglement-forging.doctree b/.doctrees/tutorials/05-entanglement-forging.doctree index 8e5f7ee06c0456bc5b7f1dfdf94b06329167a6fa..e5aeb4baaaadd62f6d47577ce6dce4eed83d7561 100644 GIT binary patch delta 277 zcmdl`v!Q0gQ!NfN3qw;QGgFJn2?olO1+*=A%#2cX4U82OEcFZxC+{(mWHPbboUhHs zNSw<5IulS-CZL*k#y}2e-sF63_03-Te8j1o?4|ELd4eM6K L*5ACrq=6Fv>mEro delta 277 zcmdl`v!Q0gQ!Nfd3nOC-a|`py2?olO1+*=AOf6D%4U82OEcFZxChswlWHK_`oUhHs zNSw<5IulS-CZL*k#y}2e-sF63_03-Te8j1o?4|ELd4eM6K L*5ACrq=6Fvdx75XLG3&iu^oI4GM`Z-Ly8z52!#QZFgx+ zGymd6McI8H)}bpw1Pkgy?8Yv_#1QEw%p2(<$j*krEYN84>V5tX|K|_S`+MK@dExrJ zaQc}Vm9!W=8Ul~iNAX$Rwo6~pY(d7#1tl;#4Jcs^zNl1T=&sV}j|Et$lE#0JRxr+;W2`l5&6EtuKWZ#8!%YEEHU6G20k zV^J+e1yzJTuLN0c1+KdN7|O{)u>Xxb9bDfYM^Sxd79Y9_OnGyrlDZ+!Bnn$nb>6yImv0RND^n zW)lWUIcznV*lIGMvzk7T++gjS9Z)*FZ{VL@y_08eK$vaCiYo`w27>2)GS1xCX+kAy z3{S{BUXun{SiwsJzWV88#$UC?uw|h!P>OE;3vRR* zVbzt!pDN7qbtFJxGI$J|4jBxr5`%$Ecsi`(K~22;5KzX+vB4O*q+(+5E_L=Nv&^-N z<|M{BCLGCCQ4HfKqsTHVSwfMF%Ry007w+CPVe^&-#^Dn6+U*)3bTDGf&H$D?iS*vkyPgBGlZ6UtNXFkIk_ueF#NJA$3)1 zTErs-6=~32rN*Hvvjh_gBI!Z`%P7K|D65O=BCy`A4@^RXt**}hecp%XJ?H=by_|)q z#D%HEu@M?e6*9C~lM^jAT%oh@l5SZk9a4XU(w3HND(3R}0z4MjBvO*|P;>@0bV4P-b(uYS@7JY&~WT3ebkm<(fEakR>b^z-QlBv1ZWOpNiVe7>W6>d9psCBaB$$)c8Fr?uyZm<4F>0g}};@u0WwA(Zo zmiPw4W#}%_#XDX+xXl=0LWd6(TEc^gaFK)SG==giDNI!qS{ickG{iv3P^hakqFgOU zS-lb48z`jJ2~iHtRHhBJaW6V79VKR^eHmD?YFoXsf_PLc&B6xRd zlnB8SA>#j?c_4EW`fIx4(yy7ioOtAjlMUyj*wJLfh$R`C!wHx6$8hBsaz_C9e#O0k>X9_36CB zBG~N?Gx__N%@&)(A(%UG_M`#t`_$liccQXqU{#aI^|mIg>L4+tXzb5G)+zCCj9=C= QmEie6&zdH2@$_fv8=Zrzg8%>k diff --git a/searchindex.js b/searchindex.js index 5694c51d1..edcc48d12 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.random", "api/ffsim.testing", "api/index", "index", "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.random.rst", "api/ffsim.testing.rst", "api/index.md", "index.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.random", "ffsim.testing", "API Reference", "ffsim", "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, 8, 9, 10, 11, 12, 13], "softwar": [0, 7, 8], "librari": [0, 7, 8], "fast": 0, "simul": [0, 7, 8, 9, 11, 12, 14], "fermion": [0, 7, 8, 9, 11, 13], "quantum": [0, 7, 8, 10, 11], "circuit": [0, 7, 8], "class": [0, 4, 11, 14], "doublefactorizedhamiltonian": [0, 6, 10], "one_body_tensor": [0, 6, 9, 10], "diag_coulomb_mat": [0, 6, 10], "orbital_rot": [0, 1, 6, 8, 9, 10], "constant": [0, 6, 10, 11], "0": [0, 3, 5, 9, 10, 11, 12, 13], "z_represent": [0, 1, 6], "fals": [0, 1, 2, 11, 12, 13], "sourc": [0, 1, 2, 3, 4, 5], "base": [0, 2], "object": [0, 2, 3, 11, 13], "A": [0, 1, 2, 3, 4, 5, 9, 10, 11, 13], "hamiltonian": [0, 3, 6, 11, 12, 14], "doubl": [0, 2, 11, 14], "factor": [0, 2, 11, 14], "represent": [0, 1, 2, 8, 13, 14], "The": [0, 1, 2, 3, 4, 5, 8, 9, 10, 14], "form": [0, 1, 2, 9, 10, 11, 13], "molecular": [0, 11, 12, 14], "h": [0, 10, 11, 12], "sum_": [0, 1, 2, 9, 10, 11], "sigma": [0, 1, 9, 10, 11], "pq": [0, 2, 10], "kappa_": 0, "dagger_": [0, 9, 10], "p": [0, 2, 10, 11], "a_": [0, 9, 10, 13], "q": [0, 10], "frac12": [0, 10, 11], "sum_t": 0, "tau": [0, 1, 10, 11], "ij": [0, 1, 2, 9, 10, 11], "z": [0, 1, 2, 7, 8, 11, 13], "t": [0, 2, 9, 10], "_": [0, 2, 9, 10, 11, 12], "n": [0, 2, 8, 9, 10, 11], "j": [0, 1, 9, 10, 11, 12, 13], "text": [0, 10], "where": [0, 1, 2, 3, 9, 10, 11], "u": [0, 1, 2], "pi": [0, 12], "qi": 0, "here": [0, 2, 8, 9, 10, 11], "each": [0, 2, 3, 8, 10, 11, 13], "unitari": [0, 1, 2, 4, 9, 10, 14], "matrix": [0, 1, 2, 3, 4, 8, 9, 10, 11, 13], "real": [0, 1, 2, 3, 4, 5, 9, 10, 11], "symmetr": [0, 1, 2, 4, 10, 11], "an": [0, 1, 2, 4, 7, 8, 9, 10, 11, 13], "altern": [0, 10], "sometim": 0, "yield": [0, 2, 10, 11, 12], "simpler": 0, "under": 0, "jordan": 0, "wigner": 0, "transform": [0, 1, 8, 9], "number": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13], "oper": [0, 1, 2, 3, 9, 11, 12, 13, 14], "take": [0, 3, 8, 11], "frac": 0, "1": [0, 2, 3, 4, 8, 9, 10, 11, 12, 13], "2": [0, 1, 2, 4, 8, 9, 10, 11, 12, 13], "pauli": 0, "rotat": [0, 1, 2, 6, 8, 10, 11, 14], "basi": [0, 6, 9, 10, 11, 12], "obtain": [0, 9, 10, 11], "rewrit": 0, "two": [0, 2, 4, 10, 11, 12], "bodi": [0, 1, 2, 4, 10, 11, 12], "part": [0, 2], "term": [0, 1, 2, 10, 11, 13], "updat": [0, 10], "one": [0, 1, 2, 8, 10, 11, 12], "appropri": 0, "kappa": 0, "frac18": 0, "asterisk": 0, "denot": [0, 1, 9], "summat": 0, "over": 0, "indic": [0, 2, 8, 11, 13], "neq": [0, 1], "refer": [0, 2, 3, 4, 11], "low": 0, "rank": [0, 2, 4], "electron": [0, 1, 4, 5, 8, 10], "structur": 0, "filter": 0, "diagon": [0, 1, 2, 9, 11, 14], "tensor": [0, 1, 2, 4, 10, 11, 12], "type": [0, 1, 2, 3, 4, 5], "np": [0, 4, 5, 8, 9, 10, 11, 12], "ndarrai": [0, 1, 2, 3, 4, 5, 10, 11], "coulomb": [0, 1, 2, 11, 14], "matric": [0, 1, 2, 9, 10, 11], "orbit": [0, 1, 2, 4, 5, 8, 10, 11, 13, 14], "float": [0, 2, 3, 4, 5, 10], "whether": [0, 1, 2, 3, 13], "rather": 0, "than": [0, 7, 8, 11], "bool": [0, 1, 2, 3, 5], "static": 0, "from_molecular_hamiltonian": [0, 6, 10], "tol": [0, 2], "1e": [0, 2, 3, 5], "08": [0, 2, 3], "max_vec": [0, 2], "none": [0, 1, 2, 3, 4, 5], "optim": [0, 2, 6, 12, 14], "method": [0, 2, 3, 12, 14], "l": [0, 2, 3, 10, 11, 12], "bfg": [0, 2, 3, 11, 12], "b": [0, 2, 3, 5, 9, 10, 11, 12], "callback": [0, 2, 3, 11], "option": [0, 1, 2, 3, 11, 12], "diag_coulomb_mask": [0, 2], "choleski": [0, 2], "true": [0, 2, 3, 5, 8, 11, 12, 13], "initi": [0, 3, 4, 5, 10, 11, 12], "from": [0, 4, 8, 9, 11, 12, 13], "molecularhamiltonian": [0, 6, 10], "thi": [0, 2, 7, 8, 9, 10, 11, 12], "function": [0, 1, 2, 3, 8, 9, 10, 11, 13], "input": [0, 1, 3, 4, 5, 11], "which": [0, 2, 4, 8, 9, 10, 11, 13], "store": [0, 2, 10, 11], "It": [0, 2, 3, 7, 8, 10, 11, 13], "perform": [0, 2, 3, 9, 10], "decomposit": [0, 2], "comput": [0, 2, 9, 11, 12], "new": [0, 9, 13], "return": [0, 1, 2, 3, 4, 5, 10, 11, 12, 13], "result": [0, 1, 2, 3, 4, 8, 9, 10, 11, 12], "see": [0, 2], "descript": 0, "argument": [0, 2, 3, 9], "linalg": [0, 6, 9, 10, 11, 13], "double_factor": [0, 2, 6], "rest": [0, 10], "paramet": [0, 1, 2, 3, 4, 5, 11, 12], "whose": [0, 2, 8], "us": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 13], "toler": [0, 2, 5, 11], "error": [0, 2, 5], "defin": [0, 2, 10, 11, 12], "maximum": [0, 2, 3, 4], "absolut": [0, 2, 5], "differ": [0, 1, 2, 3, 11], "between": [0, 1, 2, 3, 11], "element": [0, 2], "origin": [0, 2, 10], "correspond": [0, 2, 3, 8, 9, 10, 11], "reconstruct": [0, 2], "int": [0, 1, 2, 3, 4, 5, 10, 12], "limit": [0, 2, 11, 12], "keep": [0, 2], "overrid": [0, 2], "str": [0, 2, 5], "document": [0, 2], "scipi": [0, 2, 3, 8, 9, 10, 11, 12, 13], "minim": [0, 2, 3, 11, 12], "possibl": [0, 2, 8], "valu": [0, 1, 2, 3, 5, 10, 11], "usag": [0, 2, 13], "dict": [0, 2, 3, 11, 12], "mask": [0, 2], "boolean": [0, 2], "nonzero": [0, 2, 11], "ar": [0, 1, 2, 4, 5, 8, 9, 10, 11, 13], "allow": [0, 2, 11], "onli": [0, 2, 8, 9, 11], "set": [0, 2, 8, 9, 10, 11], "upper": [0, 2, 11], "triangular": [0, 2], "modifi": [0, 2], "If": [0, 1, 2, 3, 4, 5, 13], "full": [0, 2, 8], "eigenvalu": [0, 2, 3, 9], "instead": [0, 2, 11], "can": [0, 2, 7, 8, 9, 10, 11, 13], "much": [0, 2, 7, 8], "more": [0, 2, 3, 8, 11], "expens": [0, 2], "ignor": [0, 2, 10], "properti": [0, 9], "norb": [0, 1, 4, 5, 6, 8, 9, 10, 11, 12, 13], "spatial": [0, 1, 5, 8, 10, 11, 13], "to_number_represent": [0, 6], "to_z_represent": [0, 6], "fermionact": [0, 6], "action": [0, 1, 6, 9, 13], "spin": [0, 1, 6, 7, 8, 9, 11, 13], "orb": [0, 6, 13], "namedtupl": 0, "alia": 0, "field": 0, "fermionoper": [0, 6, 14], "coeff": [0, 1], "repres": [0, 3, 8, 11, 13], "linear": [0, 1, 2, 3, 9, 13, 14], "combin": [0, 1, 9, 13], "product": [0, 10, 13], "creation": [0, 9, 13], "annihil": [0, 13], "pass": [0, 2, 9, 11, 13], "dictionari": [0, 13], "map": [0, 9, 13], "associ": [0, 3, 11, 13], "coeffici": [0, 1, 2, 9, 11, 13], "ad": 0, "subtract": [0, 13], "multipli": [0, 13], "thei": [0, 9, 11, 13], "support": [0, 2, 13], "multipl": [0, 10, 13], "divis": [0, 13], "scalar": [0, 13], "when": [0, 3, 10, 11, 13], "should": [0, 4, 5, 9, 10], "go": [0, 13], "left": [0, 8, 9, 13], "side": 0, "e": [0, 10, 11, 12, 13], "g": [0, 11, 12], "op": [0, 13], "demonstr": [0, 9, 10, 11], "how": [0, 8, 9, 10, 11, 12, 13], "exampl": [0, 8, 9, 11, 13], "note": [0, 2, 3, 11, 13], "sinc": [0, 11], "unord": 0, "order": [0, 8, 10, 11, 13], "print": [0, 5, 8, 10, 11, 12, 13], "output": [0, 3, 10, 11], "below": [0, 9, 10, 11], "mai": [0, 2, 3, 7, 9, 11], "vari": 0, "run": [0, 7, 11], "import": [0, 8, 9, 10, 11, 12, 13], "op1": [0, 13], "cre_a": [0, 6, 13], "des_a": [0, 6, 13], "3": [0, 8, 9, 10, 11, 12, 13], "5": [0, 3, 10, 11, 13], "25": [0, 13], "cre_b": [0, 6, 13], "des_b": [0, 6, 13], "4": [0, 8, 9, 10, 11, 12, 13], "1j": [0, 9, 10, 13], "2j": [0, 13], "op2": [0, 13], "125": [0, 13], "0625": [0, 13], "25j": [0, 13], "5j": [0, 13], "tupl": [0, 1, 2, 5, 10, 13], "complex": [0, 1, 2, 4], "conserves_particle_numb": [0, 6, 13], "conserv": [0, 7, 8, 13], "particl": [0, 5, 7, 8, 9, 13], "otherwis": 0, "conserves_spin_z": [0, 6, 13], "compon": [0, 7, 8, 13], "many_body_ord": [0, 6], "mani": [0, 7], "length": [0, 8, 10, 11], "longest": 0, "contain": [0, 2, 3, 11, 13], "normal_ord": [0, 6, 13], "normal": [0, 13], "equival": [0, 8], "ha": [0, 1, 2, 8, 9, 10, 11], "been": 0, "reorder": 0, "canon": 0, "In": [0, 8, 9, 10, 11, 12, 13], "compris": [0, 13], "appear": [0, 13], "right": [0, 8, 9, 13], "descend": [0, 13], "lexicograph": [0, 13], "That": [0, 3, 9, 13], "all": [0, 3, 8, 11, 13], "befor": [0, 11, 13], "within": [0, 2, 13], "beta": [0, 1, 5, 6, 8, 11, 13], "alpha": [0, 1, 5, 6, 8, 11, 13], "larger": [0, 2, 3, 13], "smaller": [0, 2, 10, 13], "hopgateansatzoper": [0, 6, 12], "interaction_pair": [0, 12], "theta": [0, 12], "final_orbital_rot": [0, 6], "hop": 0, "gate": [0, 11], "ansatz": [0, 3, 12, 14], "to_paramet": [0, 6, 11], "convert": [0, 1, 8, 9, 10, 11, 13], "vector": [0, 1, 2, 3, 4, 8, 9, 11, 12, 13], "moleculardata": [0, 6, 10, 11, 12], "atom": [0, 6, 10, 11, 12], "symmetri": [0, 6, 7, 8, 9, 10, 11, 12], "nelec": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13], "active_spac": [0, 6, 10, 11, 12], "core_energi": [0, 6], "one_body_integr": 0, "two_body_integr": [0, 6], "hf_energi": [0, 6, 10], "mo_coeff": [0, 6], "mo_occ": [0, 6], "mp2_energi": [0, 6], "mp2_t2": [0, 6], "ccsd_energi": [0, 6], "ccsd_t1": [0, 6], "ccsd_t2": [0, 6], "fci_energi": [0, 6], "fci_vec": [0, 6], "dipole_integr": [0, 6], "orbital_symmetri": [0, 6], "data": [0, 4, 10, 11, 12, 13], "coordin": 0, "molecul": [0, 10, 11, 12], "sto": [0, 10, 11, 12], "6g": [0, 10, 11, 12], "hartre": [0, 8, 9, 10, 11], "fock": [0, 8, 9, 10, 11], "ao": 0, "occup": [0, 8, 9, 10], "includ": [0, 2, 7, 8, 9, 10, 11], "activ": [0, 10, 11, 12], "space": [0, 8, 10, 11, 12], "core": 0, "energi": [0, 3, 9, 10, 11, 12], "integr": 0, "compress": [0, 2], "format": 0, "mp2": [0, 11], "t2": [0, 2, 4, 11], "amplitud": [0, 2, 4, 11], "ccsd": [0, 11], "t1": [0, 11], "fci": [0, 8, 11, 12], "state": [0, 1, 3, 4, 8, 9, 10, 11, 12], "dipol": 0, "from_mol": [0, 6, 10, 12], "scf_func": 0, "rhf": [0, 11], "pyscf": [0, 8, 10, 11, 12], "mole": [0, 10, 11, 12], "iter": [0, 3, 11], "list": [0, 2, 5, 8, 11, 12], "calcul": [0, 8, 10, 11], "scf": [0, 10, 11, 12], "from_scf": [0, 6, 11], "hartree_fock": [0, 11], "two_body_tensor": [0, 2, 6, 10], "h_": [0, 2, 10], "pqr": [0, 2, 10], "r": [0, 2, 10], "": [0, 2, 8, 10, 11, 12, 13], "call": [0, 3, 8, 9, 10, 11, 13], "given": [0, 1, 2, 9, 10], "mathcal": [0, 1, 9, 10, 11], "dagger": [0, 1, 2, 9, 10, 11, 13], "realucjoper": [0, 6], "diag_coulomb_mats_alpha_alpha": [0, 6], "diag_coulomb_mats_alpha_beta": [0, 6], "cluster": [0, 14], "jastrow": [0, 3, 14], "ucj": [0, 14], "prod_": [0, 11], "k": [0, 2, 9, 10, 11, 13], "w_k": [0, 11], "_k": [0, 10, 11], "mathbf": [0, 9, 10, 11], "n_": [0, 1, 8, 9, 10, 11], "commut": [0, 10, 11], "total": [0, 10, 11, 12], "we": [0, 9, 10, 11, 12, 13], "enforc": [0, 11], "As": [0, 8, 9, 10, 11], "have": [0, 2, 9, 11, 13], "describ": [0, 1, 8, 9, 10, 11, 13], "involv": [0, 11], "same": [0, 8, 11], "To": [0, 8, 9, 10, 11], "variat": [0, 3, 11], "final": [0, 3, 10, 11], "end": [0, 9, 11], "from_paramet": [0, 6, 11], "param": 0, "n_rep": [0, 6, 11], "alpha_alpha_indic": [0, 11], "alpha_beta_indic": [0, 11], "with_final_orbital_rot": 0, "from_t_amplitud": [0, 6, 11], "t2_amplitud": [0, 2], "t1_amplitud": 0, "n_param": [0, 6], "repetit": [0, 11], "to_t_amplitud": [0, 6], "nocc": [0, 4], "possibli": [0, 11], "singlefactorizedhamiltonian": [0, 6], "one_body_squar": [0, 6], "singl": [0, 10], "m": [0, 1, 2, 9], "hermitian": [0, 2, 4, 9], "squar": [0, 2, 11], "sum": [0, 1, 10], "depend": [0, 2, 3, 8], "threshold": [0, 2, 3], "lead": [0, 3], "furthermor": [0, 2], "specifi": [0, 2, 3, 5, 11], "bound": [0, 2], "current": [0, 2, 7, 11], "name": 0, "modul": [0, 8], "qualnam": 0, "start": 0, "boundari": 0, "flag": 0, "enumer": [0, 11], "both": [0, 2], "alpha_and_beta": [0, 6], "supportsapplyunitari": [0, 6], "arg": 0, "kwarg": 0, "protocol": 0, "appli": [0, 1, 2, 3, 8, 9, 10, 11], "supportsapproximateequ": [0, 6], "compar": [0, 5, 10], "approxim": [0, 2, 3, 10], "supportsfermionoper": [0, 6], "supportslinearoper": [0, 6], "linearoper": [0, 1, 3, 9, 10, 11, 13], "supportstrac": [0, 6], "trace": [0, 6, 10], "ucjoper": [0, 6, 11], "apply_diag_coulomb_evolut": [0, 6, 10], "vec": [0, 1, 2, 8, 9, 10, 13], "mat": [0, 1, 2, 8], "time": [0, 2, 3, 8, 10, 14], "mat_alpha_beta": [0, 1], "copi": [0, 13], "evolut": [0, 10, 14], "exp": [0, 2, 5, 9], "z_": [0, 1], "also": [0, 1, 3, 8, 9, 11, 13], "place": [0, 1, 11, 13], "interact": [0, 1, 8], "alwai": [0, 2, 9], "newli": 0, "alloc": 0, "untouch": 0, "still": [0, 11], "its": [0, 2, 9, 10, 13], "overwritten": 0, "evolv": [0, 10], "apply_fsim_g": [0, 6], "phi": [0, 2, 5], "target_orb": 0, "fsim": 0, "consist": 0, "tunnel": 0, "follow": [0, 3, 8, 9, 10, 11, 13], "neg": 0, "sign": 0, "convent": 0, "angl": [0, 12], "begin": [0, 9, 11], "align": [0, 9, 11], "nn": 0, "neighbor": 0, "qubit": [0, 11], "pmatrix": 0, "co": [0, 12], "sin": [0, 12], "phase": [0, 2, 5, 9], "choic": [0, 8], "sector": 0, "act": [0, 13], "default": [0, 2, 3, 4], "apply_givens_rot": [0, 6], "apply_hop_g": [0, 6], "apply_num_interact": [0, 6], "apply_num_num_interact": [0, 6], "apply_num_op_prod_interact": [0, 6], "s_": 0, "sequenc": 0, "pair": [0, 2, 5], "integ": 0, "give": [0, 9], "first": [0, 2, 8, 9, 10, 11, 12], "second": [0, 2, 10, 12], "apply_num_op_sum_evolut": [0, 6, 9, 10], "lambda_i": [0, 1, 9], "rais": [0, 5], "valueerror": 0, "must": [0, 2, 3, 13], "dimension": [0, 2, 8], "apply_on_site_num_num_interact": [0, 6], "site": 0, "osnn": 0, "apply_orbital_rot": [0, 6, 8, 9], "allow_row_permut": 0, "allow_col_permut": 0, "mapsto": [0, 9], "u_": 0, "ji": [0, 9], "log": 0, "permut": [0, 2], "row": [0, 8], "column": [0, 2, 8, 9], "wa": [0, 3], "well": [0, 3], "actual": [0, 5, 9, 11], "effect": [0, 11], "apply_tunneling_interact": [0, 6], "apply_unitari": [0, 6, 11], "obj": 0, "ani": [0, 3, 9, 11], "approx_eq": [0, 6], "other": [0, 8, 11], "rtol": [0, 2, 5], "05": [0, 2, 3], "atol": [0, 2, 5], "equal": [0, 2, 5], "isclos": 0, "interpret": 0, "rel": [0, 2, 5], "numer": [0, 2, 13], "up": [0, 3, 5, 9], "cre": [0, 6], "creat": [0, 8, 9, 10, 11, 13], "index": [0, 8, 11, 13], "de": [0, 6], "destroi": [0, 13], "dim": [0, 4, 6, 8, 13], "get": [0, 9, 10, 11, 12], "dimens": [0, 4, 8], "dim_a": [0, 8], "dim_b": [0, 8], "expectation_one_body_pow": [0, 6], "one_rdm": 0, "power": 0, "expect": [0, 3], "w": [0, 9, 10], "slater": [0, 8, 10], "determin": [0, 2, 8, 10], "o": [0, 12], "m_": [0, 1, 2], "a_p": 0, "a_q": 0, "let": [0, 10, 13], "lvert": [0, 11], "psi": [0, 11], "rangl": [0, 11], "Then": 0, "quantiti": 0, "langl": 0, "rvert": 0, "unlik": 0, "most": [0, 13], "word": [0, 11], "rdm": [0, 6], "shape": [0, 2, 4, 8, 10, 11], "treat": 0, "foot": 0, "expand": 0, "usual": 0, "elsewher": 0, "block_diag": 0, "reduc": [0, 2], "densiti": 0, "expectation_one_body_product": [0, 6], "o_1": 0, "o_2": 0, "dot": 0, "o_k": 0, "fermion_oper": [0, 6], "hartree_fock_st": [0, 6, 8, 9, 10, 11], "statevector": [0, 8, 9], "indices_to_str": [0, 6, 8], "bitstr": [0, 8], "rang": [0, 8, 9, 10, 11, 12], "001011": 0, "010011": 0, "100011": 0, "001101": 0, "010101": 0, "100101": 0, "001110": 0, "010110": 0, "100110": 0, "init_cach": [0, 6], "cach": 0, "prepar": 0, "typic": 0, "need": [0, 11], "benchmark": 0, "avoid": [0, 13], "count": 0, "cost": 0, "lookup": 0, "tabl": [0, 13], "linear_oper": [0, 6, 10, 11, 13], "multireference_st": [0, 6, 12], "ansatz_oper": 0, "reference_occup": [0, 12], "root": 0, "multirefer": 0, "desir": [0, 5], "eigenvector": [0, 9], "lowest": [0, 9, 10], "itself": [0, 13], "number_oper": [0, 6], "n_p": 0, "one_hot": [0, 6], "dtype": [0, 4, 11, 12], "arrai": [0, 2, 5, 8, 13], "zero": 0, "except": [0, 3], "hot": 0, "spin_sum": 0, "return_lower_rank": 0, "rdm1": 0, "definit": [0, 2, 3], "higher": [0, 10], "rdm2": 0, "rdm3": 0, "rdm4": 0, "v": 0, "lower": [0, 2], "addit": [0, 10, 13], "increas": [0, 10, 11], "For": [0, 3, 8, 9, 11, 13], "simulate_qdrift_double_factor": [0, 6], "n_step": [0, 10], "probabl": 0, "norm": [0, 3, 11], "n_sampl": 0, "seed": [0, 4, 5, 8, 9], "via": [0, 10], "qdrift": 0, "trotter": [0, 14], "step": [0, 9, 10], "sampl": [0, 4, 5], "els": [0, 4], "explicit": 0, "string": [0, 8, 13], "proport": [0, 9], "spectral": 0, "uniform": [0, 4, 12], "requir": [0, 11], "whenev": 0, "complet": 0, "character": 0, "trajectori": 0, "pseudorandom": [0, 4, 5], "gener": [0, 3, 4, 5, 7, 8, 9, 10, 11], "valid": [0, 4, 5], "random": [0, 5, 6, 8, 9, 12, 13], "default_rng": [0, 4, 5, 12], "numpi": [0, 2, 5, 8, 9, 10, 11, 12], "just": [0, 10, 11], "simulate_trotter_double_factor": [0, 6, 10], "suzuki": [0, 14], "formula": [0, 14], "slater_determin": [0, 6, 8], "occupied_orbit": [0, 8, 9], "occupi": [0, 4, 5, 10], "configur": [0, 8], "slater_determinant_rdm": [0, 6], "similarli": [0, 10], "construct": [1, 3, 8, 10, 11, 12, 13], "contract_diag_coulomb": [1, 6], "contract_num_op_sum": [1, 6], "contract_one_bodi": [1, 6], "dagger_i": 1, "a_j": 1, "implement": [1, 3, 8, 9, 11, 14], "diag_coulomb_linop": [1, 6], "num_op_sum_linop": [1, 6], "one_body_linop": [1, 6, 9], "algebra": [2, 13], "util": [2, 4, 5], "apply_matrix_to_slic": [2, 6], "target": 2, "slice": 2, "out": [2, 7, 10], "ell": 2, "pk": 2, "qk": 2, "respect": [2, 3], "so": [2, 9, 10, 11, 13], "too": 2, "small": [2, 11], "exce": [2, 12], "behavior": [2, 4], "routin": [2, 8, 13], "straightforward": 2, "exact": [2, 8, 10], "nest": 2, "addition": 2, "choos": [2, 8, 11], "achiev": [2, 10], "enabl": 2, "attempt": 2, "least": 2, "quantifi": 2, "gradient": [2, 3, 11], "constrain": 2, "certain": 2, "becaus": [2, 8, 10, 11, 13], "arxiv": [2, 4], "1808": 2, "02625": 2, "2104": 2, "08957": 2, "decompos": [2, 10], "collect": [2, 11], "double_factorized_t2": [2, 6], "t_": 2, "ijab": 2, "ap": 2, "ip": 2, "bq": 2, "jq": 2, "expm_multiply_taylor": [2, 6], "12": [2, 13], "expm": 2, "taylor": 2, "seri": 2, "expans": [2, 3], "givens_decomposit": [2, 6], "is_antihermitian": [2, 6], "anti": [2, 4], "is_hermitian": [2, 6], "is_orthogon": [2, 6], "orthogon": [2, 4], "union": 2, "bool_": 2, "is_real_symmetr": [2, 6], "is_special_orthogon": [2, 6], "special": [2, 4, 7, 8], "is_unitari": [2, 6], "lup": [2, 6], "pivot": 2, "lu": 2, "rtype": 2, "unit": 2, "match_global_phas": [2, 6], "match": [2, 10], "entri": [2, 11], "anoth": [2, 5], "some": [2, 5, 11, 13], "modified_choleski": [2, 6], "v_i": 2, "posit": [2, 3, 12], "No": 2, "check": [2, 5, 7, 9, 10], "verifi": 2, "1711": 2, "02242": 2, "assembl": 2, "reduced_matrix": [2, 6], "subspac": [2, 13], "span": [2, 8], "v_j": 2, "algorithm": [3, 7, 11], "minimize_linear_method": [3, 6, 11], "params_to_vec": [3, 11], "x0": [3, 11, 12], "maxit": [3, 11], "1000": 3, "regular": [3, 11], "lindep": 3, "epsilon": 3, "gtol": 3, "optimize_hyperparamet": 3, "optimize_hyperparameters_arg": 3, "feenberg": 3, "backflow": 3, "correl": 3, "callabl": [3, 11], "wavefunct": [3, 11], "those": 3, "guess": 3, "hyperparamet": [3, 11], "control": 3, "Its": [3, 8], "greater": 3, "size": [3, 12], "strictli": 3, "solv": 3, "problem": 3, "increment": 3, "finit": 3, "converg": [3, 10, 11, 12], "project": 3, "incur": 3, "evalu": [3, 12], "speed": 3, "fewer": [3, 10], "overal": 3, "f": [3, 8, 10, 11, 12], "scipy_optimize_minimize_arg": 3, "optimizeresult": [3, 11], "after": [3, 11], "signatur": 3, "intermediate_result": [3, 11], "attribut": 3, "x": [3, 11, 12], "fun": [3, 11, 12], "present": 3, "last": 3, "jac": [3, 11, 12], "hold": 3, "select": 3, "nfev": [3, 11, 12], "nlinop": [3, 11], "random_antihermitian": [4, 6], "width": 4, "height": 4, "dype": 4, "random_hermitian": [4, 6, 9], "random_orthogon": [4, 6], "distribut": 4, "haar": 4, "measur": 4, "instanc": [4, 9, 10], "math": [4, 12], "ph": 4, "0609050": 4, "random_real_symmetric_matrix": [4, 6], "random_special_orthogon": [4, 6], "random_statevector": [4, 6, 13], "random_t2_amplitud": [4, 6], "random_two_body_tensor": [4, 6], "random_unitari": [4, 6, 8, 9], "assert_allclose_up_to_global_phas": [5, 6], "07": 5, "equal_nan": 5, "err_msg": 5, "verbos": 5, "nan": 5, "messag": [5, 11, 12], "case": 5, "failur": 5, "conflict": 5, "append": [5, 11], "assertionerror": 5, "global": 5, "precis": [5, 11], "random_nelec": [5, 6], "n_alpha": [5, 8, 9], "n_beta": [5, 8, 9], "random_occupied_orbit": [5, 6], "occ_a": 5, "occ_b": 5, "ffsim": [6, 9, 10, 11, 12, 13, 14], "contract": [6, 9], "test": [6, 8, 9, 10], "faster": [7, 11], "categori": 7, "chemistri": 7, "By": [7, 8], "exploit": 7, "experiment": 7, "disclaim": 7, "releas": 7, "break": 7, "chang": 7, "introduc": [7, 9, 11], "without": [7, 11], "warn": 7, "avail": 7, "command": 7, "pip": 7, "tutori": [7, 9, 10, 11, 12], "advantag": 8, "effici": [8, 13], "primari": 8, "wai": [8, 9, 11], "directli": [8, 10, 11], "code": [8, 10, 11, 13], "show": [8, 9, 10, 11, 12, 13], "6": [8, 9, 10, 11, 12, 13], "1234": [8, 9, 12], "slater_det": 8, "assert_allclos": [8, 9], "plain": 8, "fix": 8, "system": [8, 9], "contrast": 8, "would": [8, 11], "2n": 8, "diment": 8, "conveni": 8, "comb": 8, "On": 8, "hand": 8, "assert": 8, "300": 8, "4096": 8, "standard": [8, 11], "often": [8, 11], "simpli": [8, 9], "reshap": 8, "you": [8, 9, 11], "half": 8, "20": 8, "39": [8, 13], "000011000111": 8, "000101000111": 8, "000110000111": 8, "001001000111": 8, "001010000111": 8, "001100000111": 8, "010001000111": 8, "010010000111": 8, "010100000111": 8, "011000000111": 8, "100001000111": 8, "100010000111": 8, "100100000111": 8, "101000000111": 8, "110000000111": 8, "000011001011": 8, "000101001011": 8, "000110001011": 8, "001001001011": 8, "001010001011": 8, "fundament": 9, "mode": 9, "sum_j": 9, "th": 9, "satisfi": [9, 13], "anticommut": 9, "relat": [9, 11], "_1": 9, "_2": 9, "section": 9, "ll": [9, 10, 11], "task": 9, "consid": [9, 11], "rewritten": 9, "eigendecomposit": 9, "sum_k": [9, 10], "lambda_k": 9, "ik": 9, "jk": 9, "our": [9, 10, 11], "ground": [9, 11], "pick": 9, "spars": [9, 10, 13], "eig": [9, 13], "eigsh": 9, "la": 9, "fact": 9, "illustr": 9, "purpos": 9, "explicitli": 9, "eigh": [9, 10], "evolved_vec": 9, "conj": 9, "undo": 9, "expected_phas": 9, "mention": [9, 10], "abov": [9, 10, 13], "better": [9, 10], "evolved_vec_alt": 9, "daunt": 10, "scale": 10, "cell": [10, 11], "ethen": [10, 11], "stretch": [10, 11], "bond": [10, 11, 12], "build": [10, 11, 12], "bond_dist": [10, 11], "678": [10, 11], "5626": [10, 11], "c": [10, 11], "9289": [10, 11], "mol": [10, 11, 12], "gto": [10, 11, 12], "d2h": [10, 11], "nelectron": [10, 11], "mol_data": [10, 11, 12], "mol_hamiltonian": [10, 11, 12], "df_hamiltonian": 10, "77": [10, 11], "4456267643962": [10, 11], "dataclass": [10, 11], "One": 10, "10": 10, "although": 10, "alreadi": 10, "built": 10, "manual": 10, "asymmetr": 10, "basic": 10, "h_k": 10, "divid": 10, "exponenti": 10, "individu": [10, 13], "do": [10, 13], "approx": 10, "prod_k": 10, "deriv": 10, "write": 10, "recal": 10, "think": 10, "compos": 10, "quadrat": [10, 14], "def": [10, 11, 12], "simulate_trotter_step_double_factor": 10, "one_body_energi": 10, "one_body_basis_chang": 10, "zip": [10, 11, 12], "finish": 10, "level": 10, "handl": 10, "split": 10, "wrote": 10, "step_tim": 10, "initial_st": 10, "\u03c8": [10, 11], "vdot": [10, 11], "44562676439627": 10, "now": 10, "later": 10, "exact_st": 10, "expm_multipli": 10, "tracea": 10, "fidel": 10, "ab": 10, "9315062301398566": 10, "7": [10, 12, 13], "final_st": [10, 11], "9928527668212291": 10, "improv": 10, "8": [10, 11, 12, 13], "9999320851285765": 10, "commonli": 10, "known": 10, "fourth": 10, "reproduc": 10, "9": [10, 11, 12, 13], "9999913261306678": 10, "mcscf": [11, 12], "kernel": 11, "casci": [11, 12], "6290254326717": 11, "ci": [11, 12], "57322412553863": 11, "0000000": [11, 12], "phi_0": 11, "taken": 11, "express": 11, "previou": 11, "constructor": 11, "provid": 11, "truncat": 11, "cc": 11, "frozen": 11, "nao_nr": [11, 12], "reference_st": 11, "ansatz_st": [11, 12], "49387212754465": 11, "e_corr": 11, "0482453631485158": 11, "46975600021705": 11, "facilit": 11, "convers": 11, "somewhat": 11, "complic": 11, "short": 11, "non": 11, "redund": 11, "like": 11, "len": [11, 12], "72": 11, "stop": [11, 12], "NO": [11, 12], "reach": 11, "success": [11, 12], "statu": [11, 12], "50959695105948": 11, "502e": 11, "01": [11, 12], "897e": 11, "208e": 11, "938e": 11, "nit": [11, 12], "087e": 11, "03": [11, 12], "026e": 11, "055e": 11, "04": [11, 12], "624e": 11, "584": 11, "njev": [11, 12], "hess_inv": [11, 12], "lt": [11, 12], "72x72": 11, "lbfgsinvhessproduct": [11, 12], "float64": [11, 12], "gt": [11, 12], "either": 11, "connect": 11, "swap": 11, "network": 11, "make": 11, "challeng": 11, "noisi": 11, "pre": 11, "fault": 11, "processor": 11, "idea": 11, "impos": 11, "sparsiti": 11, "constraint": 11, "them": 11, "depth": 11, "topologi": 11, "triangl": 11, "lattic": 11, "parallel": 11, "line": 11, "rung": 11, "ladder": 11, "With": 11, "setup": 11, "while": 11, "share": 11, "ldot": 11, "Of": 11, "cours": 11, "less": 11, "notic": 11, "decreas": 11, "46": 11, "4574091704306": 11, "099e": 11, "265e": 11, "02": [11, 12], "403e": 11, "529e": 11, "859e": 11, "948e": 11, "06": 11, "890e": 11, "222e": 11, "423": 11, "46x46": 11, "interfac": 11, "similar": 11, "main": 11, "being": [11, 13], "save": 11, "intermedi": 11, "defaultdict": 11, "inform": [11, 13], "info": 11, "accept": 11, "hasattr": 11, "47182610294765": 11, "506e": 11, "074e": 11, "197e": 11, "276e": 11, "077e": 11, "960e": 11, "325e": 11, "823e": 11, "814": 11, "45723564085937": 11, "01006824498896873": 11, "026912976015549067": 11, "9826421542008552": 11, "4581216930207": 11, "00763330699926692": 11, "0005932531566250592": 11, "9835690132609403": 11, "45815041161042": 11, "007421091544726094": 11, "9518753998482729": 11, "9835847922097266": 11, "46257719490553": 11, "023667471305006304": 11, "0029004558715029216": 11, "969693109296468": 11, "water": 12, "equilibrium": 12, "radius_1": 12, "958": 12, "radius_2": 12, "bond_angle_deg": 12, "104": 12, "478": 12, "h1_x": 12, "h2_x": 12, "180": 12, "h2_y": 12, "c2v": 12, "75": 12, "6787887956297": 12, "7288249991515": 12, "23": 12, "6332495815006": 12, "brickwork": 12, "n_layer": 12, "rng": 12, "reference_occupations_spati": 12, "initiali": 12, "74": 12, "20656273321595": 12, "maxfun": 12, "100": 12, "15": 12, "AND": 12, "68085118238787": 12, "996e": 12, "00": 12, "549e": 12, "650e": 12, "012e": 12, "758e": 12, "106e": 12, "192e": 12, "621e": 12, "112": 12, "15x15": 12, "Such": 13, "programmat": 13, "hash": 13, "three": 13, "piec": 13, "upon": 13, "intern": 13, "recommend": 13, "helper": 13, "shown": 13, "repr": 13, "view": 13, "displai": 13, "0j": 13, "arithmet": 13, "op3": 13, "good": 13, "awar": 13, "especi": 13, "These": 13, "6j": 13, "3j": 13, "4j": 13, "12j": 13, "preserv": 13, "far": 13, "criteria": 13, "doe": 13, "op4": 13, "linop": 13, "onto": 13, "07246671": 13, "11257741j": 13, "lm": 13, "21984743e": 13, "18j": 13, "introduct": 14, "brief": 14, "background": 14, "local": 14, "lucj": 14, "entangl": 14, "forg": 14}, "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_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, "", "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, "-", "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"], [5, 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, 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, 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, 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.optimize": [[3, 5, 1, "", "minimize_linear_method"]], "ffsim.random": [[4, 5, 1, "", "random_antihermitian"], [4, 5, 1, "", "random_hermitian"], [4, 5, 1, "", "random_orthogonal"], [4, 5, 1, "", "random_real_symmetric_matrix"], [4, 5, 1, "", "random_special_orthogonal"], [4, 5, 1, "", "random_statevector"], [4, 5, 1, "", "random_t2_amplitudes"], [4, 5, 1, "", "random_two_body_tensor"], [4, 5, 1, "", "random_unitary"]], "ffsim.testing": [[5, 5, 1, "", "assert_allclose_up_to_global_phase"], [5, 5, 1, "", "random_nelec"], [5, 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, 7, 8], "contract": 1, "linalg": 2, "optim": [3, 11], "random": 4, "test": 5, "api": 6, "refer": 6, "what": 7, "i": 7, "instal": 7, "from": 7, "pypi": 7, "get": 7, "start": 7, "introduct": 8, "orbit": 9, "rotat": 9, "quadrat": 9, "hamiltonian": [9, 10], "time": 9, "evolut": 9, "diagon": 10, "coulomb": 10, "oper": 10, "doubl": 10, "factor": 10, "trotter": 10, "simul": 10, "represent": 10, "molecular": 10, "brief": 10, "background": 10, "suzuki": 10, "formula": 10, "implement": 10, "The": [11, 13], "local": 11, "unitari": 11, "cluster": 11, "jastrow": 11, "lucj": 11, "ansatz": 11, "ucj": 11, "linear": 11, "method": 11, "entangl": 12, "forg": 12, "fermionoper": 13, "class": 13, "tutori": 14}, "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"], [7, "ffsim"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "ffsim.optimize": [[3, "module-ffsim.optimize"]], "ffsim.random": [[4, "module-ffsim.random"]], "ffsim.testing": [[5, "module-ffsim.testing"]], "API Reference": [[6, "api-reference"]], "What is ffsim?": [[7, "what-is-ffsim"]], "Install from PyPI": [[7, "install-from-pypi"]], "Get started": [[7, "get-started"]], "Introduction to ffsim": [[8, "Introduction-to-ffsim"]], "Orbital rotations and quadratic Hamiltonians": [[9, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Orbital rotations": [[9, "Orbital-rotations"]], "Time evolution by a quadratic Hamiltonian": [[9, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[10, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[10, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[10, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Brief background on Trotter-Suzuki formulas": [[10, "Brief-background-on-Trotter-Suzuki-formulas"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[10, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[11, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"], [11, "id1"]], "The unitary cluster Jastrow (UCJ) ansatz": [[11, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Optimize with the linear method": [[11, "Optimize-with-the-linear-method"]], "Entanglement forging": [[12, "Entanglement-forging"]], "The FermionOperator class": [[13, "The-FermionOperator-class"]], "Tutorials": [[14, "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_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"]], "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.random"], [5, "module-ffsim.testing"]], "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"]], "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"]], "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"]], "apply_matrix_to_slices() (in module ffsim.linalg)": [[2, "ffsim.linalg.apply_matrix_to_slices"]], "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"]], "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"]], "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"]], "ffsim.optimize": [[3, "module-ffsim.optimize"]], "minimize_linear_method() (in module ffsim.optimize)": [[3, "ffsim.optimize.minimize_linear_method"]], "ffsim.random": [[4, "module-ffsim.random"]], "random_antihermitian() (in module ffsim.random)": [[4, "ffsim.random.random_antihermitian"]], "random_hermitian() (in module ffsim.random)": [[4, "ffsim.random.random_hermitian"]], "random_orthogonal() (in module ffsim.random)": [[4, "ffsim.random.random_orthogonal"]], "random_real_symmetric_matrix() (in module ffsim.random)": [[4, "ffsim.random.random_real_symmetric_matrix"]], "random_special_orthogonal() (in module ffsim.random)": [[4, "ffsim.random.random_special_orthogonal"]], "random_statevector() (in module ffsim.random)": [[4, "ffsim.random.random_statevector"]], "random_t2_amplitudes() (in module ffsim.random)": [[4, "ffsim.random.random_t2_amplitudes"]], "random_two_body_tensor() (in module ffsim.random)": [[4, "ffsim.random.random_two_body_tensor"]], "random_unitary() (in module ffsim.random)": [[4, "ffsim.random.random_unitary"]], "assert_allclose_up_to_global_phase() (in module ffsim.testing)": [[5, "ffsim.testing.assert_allclose_up_to_global_phase"]], "ffsim.testing": [[5, "module-ffsim.testing"]], "random_nelec() (in module ffsim.testing)": [[5, "ffsim.testing.random_nelec"]], "random_occupied_orbitals() (in module ffsim.testing)": [[5, "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.random", "api/ffsim.testing", "api/index", "index", "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.random.rst", "api/ffsim.testing.rst", "api/index.md", "index.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.random", "ffsim.testing", "API Reference", "ffsim", "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, 8, 9, 10, 11, 12, 13], "softwar": [0, 7, 8], "librari": [0, 7, 8], "fast": 0, "simul": [0, 7, 8, 9, 11, 12, 14], "fermion": [0, 7, 8, 9, 11, 13], "quantum": [0, 7, 8, 10, 11], "circuit": [0, 7, 8], "class": [0, 4, 11, 14], "doublefactorizedhamiltonian": [0, 6, 10], "one_body_tensor": [0, 6, 9, 10], "diag_coulomb_mat": [0, 6, 10], "orbital_rot": [0, 1, 6, 8, 9, 10], "constant": [0, 6, 10, 11], "0": [0, 3, 5, 9, 10, 11, 12, 13], "z_represent": [0, 1, 6], "fals": [0, 1, 2, 11, 12, 13], "sourc": [0, 1, 2, 3, 4, 5], "base": [0, 2], "object": [0, 2, 3, 11, 13], "A": [0, 1, 2, 3, 4, 5, 9, 10, 11, 13], "hamiltonian": [0, 3, 6, 11, 12, 14], "doubl": [0, 2, 11, 14], "factor": [0, 2, 11, 14], "represent": [0, 1, 2, 8, 13, 14], "The": [0, 1, 2, 3, 4, 5, 8, 9, 10, 14], "form": [0, 1, 2, 9, 10, 11, 13], "molecular": [0, 11, 12, 14], "h": [0, 10, 11, 12], "sum_": [0, 1, 2, 9, 10, 11], "sigma": [0, 1, 9, 10, 11], "pq": [0, 2, 10], "kappa_": 0, "dagger_": [0, 9, 10], "p": [0, 2, 10, 11], "a_": [0, 9, 10, 13], "q": [0, 10], "frac12": [0, 10, 11], "sum_t": 0, "tau": [0, 1, 10, 11], "ij": [0, 1, 2, 9, 10, 11], "z": [0, 1, 2, 7, 8, 11, 13], "t": [0, 2, 9, 10], "_": [0, 2, 9, 10, 11, 12], "n": [0, 2, 8, 9, 10, 11], "j": [0, 1, 9, 10, 11, 12, 13], "text": [0, 10], "where": [0, 1, 2, 3, 9, 10, 11], "u": [0, 1, 2], "pi": [0, 12], "qi": 0, "here": [0, 2, 8, 9, 10, 11], "each": [0, 2, 3, 8, 10, 11, 13], "unitari": [0, 1, 2, 4, 9, 10, 14], "matrix": [0, 1, 2, 3, 4, 8, 9, 10, 11, 13], "real": [0, 1, 2, 3, 4, 5, 9, 10, 11], "symmetr": [0, 1, 2, 4, 10, 11], "an": [0, 1, 2, 4, 7, 8, 9, 10, 11, 13], "altern": [0, 10], "sometim": 0, "yield": [0, 2, 10, 11, 12], "simpler": 0, "under": 0, "jordan": 0, "wigner": 0, "transform": [0, 1, 8, 9], "number": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13], "oper": [0, 1, 2, 3, 9, 11, 12, 13, 14], "take": [0, 3, 8, 11], "frac": 0, "1": [0, 2, 3, 4, 8, 9, 10, 11, 12, 13], "2": [0, 1, 2, 4, 8, 9, 10, 11, 12, 13], "pauli": 0, "rotat": [0, 1, 2, 6, 8, 10, 11, 14], "basi": [0, 6, 9, 10, 11, 12], "obtain": [0, 9, 10, 11], "rewrit": 0, "two": [0, 2, 4, 10, 11, 12], "bodi": [0, 1, 2, 4, 10, 11, 12], "part": [0, 2], "term": [0, 1, 2, 10, 11, 13], "updat": [0, 10], "one": [0, 1, 2, 8, 10, 11, 12], "appropri": 0, "kappa": 0, "frac18": 0, "asterisk": 0, "denot": [0, 1, 9], "summat": 0, "over": 0, "indic": [0, 2, 8, 11, 13], "neq": [0, 1], "refer": [0, 2, 3, 4, 11], "low": 0, "rank": [0, 2, 4], "electron": [0, 1, 4, 5, 8, 10], "structur": 0, "filter": 0, "diagon": [0, 1, 2, 9, 11, 14], "tensor": [0, 1, 2, 4, 10, 11, 12], "type": [0, 1, 2, 3, 4, 5], "np": [0, 4, 5, 8, 9, 10, 11, 12], "ndarrai": [0, 1, 2, 3, 4, 5, 10, 11], "coulomb": [0, 1, 2, 11, 14], "matric": [0, 1, 2, 9, 10, 11], "orbit": [0, 1, 2, 4, 5, 8, 10, 11, 13, 14], "float": [0, 2, 3, 4, 5, 10], "whether": [0, 1, 2, 3, 13], "rather": 0, "than": [0, 7, 8, 11], "bool": [0, 1, 2, 3, 5], "static": 0, "from_molecular_hamiltonian": [0, 6, 10], "tol": [0, 2], "1e": [0, 2, 3, 5], "08": [0, 2, 3], "max_vec": [0, 2], "none": [0, 1, 2, 3, 4, 5], "optim": [0, 2, 6, 12, 14], "method": [0, 2, 3, 12, 14], "l": [0, 2, 3, 10, 11, 12], "bfg": [0, 2, 3, 11, 12], "b": [0, 2, 3, 5, 9, 10, 11, 12], "callback": [0, 2, 3, 11], "option": [0, 1, 2, 3, 11, 12], "diag_coulomb_mask": [0, 2], "choleski": [0, 2], "true": [0, 2, 3, 5, 8, 11, 12, 13], "initi": [0, 3, 4, 5, 10, 11, 12], "from": [0, 4, 8, 9, 11, 12, 13], "molecularhamiltonian": [0, 6, 10], "thi": [0, 2, 7, 8, 9, 10, 11, 12], "function": [0, 1, 2, 3, 8, 9, 10, 11, 13], "input": [0, 1, 3, 4, 5, 11], "which": [0, 2, 4, 8, 9, 10, 11, 13], "store": [0, 2, 10, 11], "It": [0, 2, 3, 7, 8, 10, 11, 13], "perform": [0, 2, 3, 9, 10], "decomposit": [0, 2], "comput": [0, 2, 9, 11, 12], "new": [0, 9, 13], "return": [0, 1, 2, 3, 4, 5, 10, 11, 12, 13], "result": [0, 1, 2, 3, 4, 8, 9, 10, 11, 12], "see": [0, 2], "descript": 0, "argument": [0, 2, 3, 9], "linalg": [0, 6, 9, 10, 11, 13], "double_factor": [0, 2, 6], "rest": [0, 10], "paramet": [0, 1, 2, 3, 4, 5, 11, 12], "whose": [0, 2, 8], "us": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 13], "toler": [0, 2, 5, 11], "error": [0, 2, 5], "defin": [0, 2, 10, 11, 12], "maximum": [0, 2, 3, 4], "absolut": [0, 2, 5], "differ": [0, 1, 2, 3, 11], "between": [0, 1, 2, 3, 11], "element": [0, 2], "origin": [0, 2, 10], "correspond": [0, 2, 3, 8, 9, 10, 11], "reconstruct": [0, 2], "int": [0, 1, 2, 3, 4, 5, 10, 12], "limit": [0, 2, 11, 12], "keep": [0, 2], "overrid": [0, 2], "str": [0, 2, 5], "document": [0, 2], "scipi": [0, 2, 3, 8, 9, 10, 11, 12, 13], "minim": [0, 2, 3, 11, 12], "possibl": [0, 2, 8], "valu": [0, 1, 2, 3, 5, 10, 11], "usag": [0, 2, 13], "dict": [0, 2, 3, 11, 12], "mask": [0, 2], "boolean": [0, 2], "nonzero": [0, 2, 11], "ar": [0, 1, 2, 4, 5, 8, 9, 10, 11, 13], "allow": [0, 2, 11], "onli": [0, 2, 8, 9, 11], "set": [0, 2, 8, 9, 10, 11], "upper": [0, 2, 11], "triangular": [0, 2], "modifi": [0, 2], "If": [0, 1, 2, 3, 4, 5, 13], "full": [0, 2, 8], "eigenvalu": [0, 2, 3, 9], "instead": [0, 2, 11], "can": [0, 2, 7, 8, 9, 10, 11, 13], "much": [0, 2, 7, 8], "more": [0, 2, 3, 8, 11], "expens": [0, 2], "ignor": [0, 2, 10], "properti": [0, 9], "norb": [0, 1, 4, 5, 6, 8, 9, 10, 11, 12, 13], "spatial": [0, 1, 5, 8, 10, 11, 13], "to_number_represent": [0, 6], "to_z_represent": [0, 6], "fermionact": [0, 6], "action": [0, 1, 6, 9, 13], "spin": [0, 1, 6, 7, 8, 9, 11, 13], "orb": [0, 6, 13], "namedtupl": 0, "alia": 0, "field": 0, "fermionoper": [0, 6, 14], "coeff": [0, 1], "repres": [0, 3, 8, 11, 13], "linear": [0, 1, 2, 3, 9, 13, 14], "combin": [0, 1, 9, 13], "product": [0, 10, 13], "creation": [0, 9, 13], "annihil": [0, 13], "pass": [0, 2, 9, 11, 13], "dictionari": [0, 13], "map": [0, 9, 13], "associ": [0, 3, 11, 13], "coeffici": [0, 1, 2, 9, 11, 13], "ad": 0, "subtract": [0, 13], "multipli": [0, 13], "thei": [0, 9, 11, 13], "support": [0, 2, 13], "multipl": [0, 10, 13], "divis": [0, 13], "scalar": [0, 13], "when": [0, 3, 10, 11, 13], "should": [0, 4, 5, 9, 10], "go": [0, 13], "left": [0, 8, 9, 13], "side": 0, "e": [0, 10, 11, 12, 13], "g": [0, 11, 12], "op": [0, 13], "demonstr": [0, 9, 10, 11], "how": [0, 8, 9, 10, 11, 12, 13], "exampl": [0, 8, 9, 11, 13], "note": [0, 2, 3, 11, 13], "sinc": [0, 11], "unord": 0, "order": [0, 8, 10, 11, 13], "print": [0, 5, 8, 10, 11, 12, 13], "output": [0, 3, 10, 11], "below": [0, 9, 10, 11], "mai": [0, 2, 3, 7, 9, 11], "vari": 0, "run": [0, 7, 11], "import": [0, 8, 9, 10, 11, 12, 13], "op1": [0, 13], "cre_a": [0, 6, 13], "des_a": [0, 6, 13], "3": [0, 8, 9, 10, 11, 12, 13], "5": [0, 3, 10, 11, 13], "25": [0, 13], "cre_b": [0, 6, 13], "des_b": [0, 6, 13], "4": [0, 8, 9, 10, 11, 12, 13], "1j": [0, 9, 10, 13], "2j": [0, 13], "op2": [0, 13], "125": [0, 13], "0625": [0, 13], "25j": [0, 13], "5j": [0, 13], "tupl": [0, 1, 2, 5, 10, 13], "complex": [0, 1, 2, 4], "conserves_particle_numb": [0, 6, 13], "conserv": [0, 7, 8, 13], "particl": [0, 5, 7, 8, 9, 13], "otherwis": 0, "conserves_spin_z": [0, 6, 13], "compon": [0, 7, 8, 13], "many_body_ord": [0, 6], "mani": [0, 7], "length": [0, 8, 10, 11], "longest": 0, "contain": [0, 2, 3, 11, 13], "normal_ord": [0, 6, 13], "normal": [0, 13], "equival": [0, 8], "ha": [0, 1, 2, 8, 9, 10, 11], "been": 0, "reorder": 0, "canon": 0, "In": [0, 8, 9, 10, 11, 12, 13], "compris": [0, 13], "appear": [0, 13], "right": [0, 8, 9, 13], "descend": [0, 13], "lexicograph": [0, 13], "That": [0, 3, 9, 13], "all": [0, 3, 8, 11, 13], "befor": [0, 11, 13], "within": [0, 2, 13], "beta": [0, 1, 5, 6, 8, 11, 13], "alpha": [0, 1, 5, 6, 8, 11, 13], "larger": [0, 2, 3, 13], "smaller": [0, 2, 10, 13], "hopgateansatzoper": [0, 6, 12], "interaction_pair": [0, 12], "theta": [0, 12], "final_orbital_rot": [0, 6], "hop": 0, "gate": [0, 11], "ansatz": [0, 3, 12, 14], "to_paramet": [0, 6, 11], "convert": [0, 1, 8, 9, 10, 11, 13], "vector": [0, 1, 2, 3, 4, 8, 9, 11, 12, 13], "moleculardata": [0, 6, 10, 11, 12], "atom": [0, 6, 10, 11, 12], "symmetri": [0, 6, 7, 8, 9, 10, 11, 12], "nelec": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13], "active_spac": [0, 6, 10, 11, 12], "core_energi": [0, 6], "one_body_integr": 0, "two_body_integr": [0, 6], "hf_energi": [0, 6, 10], "mo_coeff": [0, 6], "mo_occ": [0, 6], "mp2_energi": [0, 6], "mp2_t2": [0, 6], "ccsd_energi": [0, 6], "ccsd_t1": [0, 6], "ccsd_t2": [0, 6], "fci_energi": [0, 6], "fci_vec": [0, 6], "dipole_integr": [0, 6], "orbital_symmetri": [0, 6], "data": [0, 4, 10, 11, 12, 13], "coordin": 0, "molecul": [0, 10, 11, 12], "sto": [0, 10, 11, 12], "6g": [0, 10, 11, 12], "hartre": [0, 8, 9, 10, 11], "fock": [0, 8, 9, 10, 11], "ao": 0, "occup": [0, 8, 9, 10], "includ": [0, 2, 7, 8, 9, 10, 11], "activ": [0, 10, 11, 12], "space": [0, 8, 10, 11, 12], "core": 0, "energi": [0, 3, 9, 10, 11, 12], "integr": 0, "compress": [0, 2], "format": 0, "mp2": [0, 11], "t2": [0, 2, 4, 11], "amplitud": [0, 2, 4, 11], "ccsd": [0, 11], "t1": [0, 11], "fci": [0, 8, 11, 12], "state": [0, 1, 3, 4, 8, 9, 10, 11, 12], "dipol": 0, "from_mol": [0, 6, 10, 12], "scf_func": 0, "rhf": [0, 11], "pyscf": [0, 8, 10, 11, 12], "mole": [0, 10, 11, 12], "iter": [0, 3, 11], "list": [0, 2, 5, 8, 11, 12], "calcul": [0, 8, 10, 11], "scf": [0, 10, 11, 12], "from_scf": [0, 6, 11], "hartree_fock": [0, 11], "two_body_tensor": [0, 2, 6, 10], "h_": [0, 2, 10], "pqr": [0, 2, 10], "r": [0, 2, 10], "": [0, 2, 8, 10, 11, 12, 13], "call": [0, 3, 8, 9, 10, 11, 13], "given": [0, 1, 2, 9, 10], "mathcal": [0, 1, 9, 10, 11], "dagger": [0, 1, 2, 9, 10, 11, 13], "realucjoper": [0, 6], "diag_coulomb_mats_alpha_alpha": [0, 6], "diag_coulomb_mats_alpha_beta": [0, 6], "cluster": [0, 14], "jastrow": [0, 3, 14], "ucj": [0, 14], "prod_": [0, 11], "k": [0, 2, 9, 10, 11, 13], "w_k": [0, 11], "_k": [0, 10, 11], "mathbf": [0, 9, 10, 11], "n_": [0, 1, 8, 9, 10, 11], "commut": [0, 10, 11], "total": [0, 10, 11, 12], "we": [0, 9, 10, 11, 12, 13], "enforc": [0, 11], "As": [0, 8, 9, 10, 11], "have": [0, 2, 9, 11, 13], "describ": [0, 1, 8, 9, 10, 11, 13], "involv": [0, 11], "same": [0, 8, 11], "To": [0, 8, 9, 10, 11], "variat": [0, 3, 11], "final": [0, 3, 10, 11], "end": [0, 9, 11], "from_paramet": [0, 6, 11], "param": 0, "n_rep": [0, 6, 11], "alpha_alpha_indic": [0, 11], "alpha_beta_indic": [0, 11], "with_final_orbital_rot": 0, "from_t_amplitud": [0, 6, 11], "t2_amplitud": [0, 2], "t1_amplitud": 0, "n_param": [0, 6], "repetit": [0, 11], "to_t_amplitud": [0, 6], "nocc": [0, 4], "possibli": [0, 11], "singlefactorizedhamiltonian": [0, 6], "one_body_squar": [0, 6], "singl": [0, 10], "m": [0, 1, 2, 9], "hermitian": [0, 2, 4, 9], "squar": [0, 2, 11], "sum": [0, 1, 10], "depend": [0, 2, 3, 8], "threshold": [0, 2, 3], "lead": [0, 3], "furthermor": [0, 2], "specifi": [0, 2, 3, 5, 11], "bound": [0, 2], "current": [0, 2, 7, 11], "name": 0, "modul": [0, 8], "qualnam": 0, "start": 0, "boundari": 0, "flag": 0, "enumer": [0, 11], "both": [0, 2], "alpha_and_beta": [0, 6], "supportsapplyunitari": [0, 6], "arg": 0, "kwarg": 0, "protocol": 0, "appli": [0, 1, 2, 3, 8, 9, 10, 11], "supportsapproximateequ": [0, 6], "compar": [0, 5, 10], "approxim": [0, 2, 3, 10], "supportsfermionoper": [0, 6], "supportslinearoper": [0, 6], "linearoper": [0, 1, 3, 9, 10, 11, 13], "supportstrac": [0, 6], "trace": [0, 6, 10], "ucjoper": [0, 6, 11], "apply_diag_coulomb_evolut": [0, 6, 10], "vec": [0, 1, 2, 8, 9, 10, 13], "mat": [0, 1, 2, 8], "time": [0, 2, 3, 8, 10, 14], "mat_alpha_beta": [0, 1], "copi": [0, 13], "evolut": [0, 10, 14], "exp": [0, 2, 5, 9], "z_": [0, 1], "also": [0, 1, 3, 8, 9, 11, 13], "place": [0, 1, 11, 13], "interact": [0, 1, 8], "alwai": [0, 2, 9], "newli": 0, "alloc": 0, "untouch": 0, "still": [0, 11], "its": [0, 2, 9, 10, 13], "overwritten": 0, "evolv": [0, 10], "apply_fsim_g": [0, 6], "phi": [0, 2, 5], "target_orb": 0, "fsim": 0, "consist": 0, "tunnel": 0, "follow": [0, 3, 8, 9, 10, 11, 13], "neg": 0, "sign": 0, "convent": 0, "angl": [0, 12], "begin": [0, 9, 11], "align": [0, 9, 11], "nn": 0, "neighbor": 0, "qubit": [0, 11], "pmatrix": 0, "co": [0, 12], "sin": [0, 12], "phase": [0, 2, 5, 9], "choic": [0, 8], "sector": 0, "act": [0, 13], "default": [0, 2, 3, 4], "apply_givens_rot": [0, 6], "apply_hop_g": [0, 6], "apply_num_interact": [0, 6], "apply_num_num_interact": [0, 6], "apply_num_op_prod_interact": [0, 6], "s_": 0, "sequenc": 0, "pair": [0, 2, 5], "integ": 0, "give": [0, 9], "first": [0, 2, 8, 9, 10, 11, 12], "second": [0, 2, 10, 12], "apply_num_op_sum_evolut": [0, 6, 9, 10], "lambda_i": [0, 1, 9], "rais": [0, 5], "valueerror": 0, "must": [0, 2, 3, 13], "dimension": [0, 2, 8], "apply_on_site_num_num_interact": [0, 6], "site": 0, "osnn": 0, "apply_orbital_rot": [0, 6, 8, 9], "allow_row_permut": 0, "allow_col_permut": 0, "mapsto": [0, 9], "u_": 0, "ji": [0, 9], "log": 0, "permut": [0, 2], "row": [0, 8], "column": [0, 2, 8, 9], "wa": [0, 3], "well": [0, 3], "actual": [0, 5, 9, 11], "effect": [0, 11], "apply_tunneling_interact": [0, 6], "apply_unitari": [0, 6, 11], "obj": 0, "ani": [0, 3, 9, 11], "approx_eq": [0, 6], "other": [0, 8, 11], "rtol": [0, 2, 5], "05": [0, 2, 3, 11], "atol": [0, 2, 5], "equal": [0, 2, 5], "isclos": 0, "interpret": 0, "rel": [0, 2, 5], "numer": [0, 2, 13], "up": [0, 3, 5, 9], "cre": [0, 6], "creat": [0, 8, 9, 10, 11, 13], "index": [0, 8, 11, 13], "de": [0, 6], "destroi": [0, 13], "dim": [0, 4, 6, 8, 13], "get": [0, 9, 10, 11, 12], "dimens": [0, 4, 8], "dim_a": [0, 8], "dim_b": [0, 8], "expectation_one_body_pow": [0, 6], "one_rdm": 0, "power": 0, "expect": [0, 3], "w": [0, 9, 10], "slater": [0, 8, 10], "determin": [0, 2, 8, 10], "o": [0, 12], "m_": [0, 1, 2], "a_p": 0, "a_q": 0, "let": [0, 10, 13], "lvert": [0, 11], "psi": [0, 11], "rangl": [0, 11], "Then": 0, "quantiti": 0, "langl": 0, "rvert": 0, "unlik": 0, "most": [0, 13], "word": [0, 11], "rdm": [0, 6], "shape": [0, 2, 4, 8, 10, 11], "treat": 0, "foot": 0, "expand": 0, "usual": 0, "elsewher": 0, "block_diag": 0, "reduc": [0, 2], "densiti": 0, "expectation_one_body_product": [0, 6], "o_1": 0, "o_2": 0, "dot": 0, "o_k": 0, "fermion_oper": [0, 6], "hartree_fock_st": [0, 6, 8, 9, 10, 11], "statevector": [0, 8, 9], "indices_to_str": [0, 6, 8], "bitstr": [0, 8], "rang": [0, 8, 9, 10, 11, 12], "001011": 0, "010011": 0, "100011": 0, "001101": 0, "010101": 0, "100101": 0, "001110": 0, "010110": 0, "100110": 0, "init_cach": [0, 6], "cach": 0, "prepar": 0, "typic": 0, "need": [0, 11], "benchmark": 0, "avoid": [0, 13], "count": 0, "cost": 0, "lookup": 0, "tabl": [0, 13], "linear_oper": [0, 6, 10, 11, 13], "multireference_st": [0, 6, 12], "ansatz_oper": 0, "reference_occup": [0, 12], "root": 0, "multirefer": 0, "desir": [0, 5], "eigenvector": [0, 9], "lowest": [0, 9, 10], "itself": [0, 13], "number_oper": [0, 6], "n_p": 0, "one_hot": [0, 6], "dtype": [0, 4, 11, 12], "arrai": [0, 2, 5, 8, 13], "zero": 0, "except": [0, 3], "hot": 0, "spin_sum": 0, "return_lower_rank": 0, "rdm1": 0, "definit": [0, 2, 3], "higher": [0, 10], "rdm2": 0, "rdm3": 0, "rdm4": 0, "v": 0, "lower": [0, 2], "addit": [0, 10, 13], "increas": [0, 10, 11], "For": [0, 3, 8, 9, 11, 13], "simulate_qdrift_double_factor": [0, 6], "n_step": [0, 10], "probabl": 0, "norm": [0, 3, 11], "n_sampl": 0, "seed": [0, 4, 5, 8, 9], "via": [0, 10], "qdrift": 0, "trotter": [0, 14], "step": [0, 9, 10], "sampl": [0, 4, 5], "els": [0, 4], "explicit": 0, "string": [0, 8, 13], "proport": [0, 9], "spectral": 0, "uniform": [0, 4, 12], "requir": [0, 11], "whenev": 0, "complet": 0, "character": 0, "trajectori": 0, "pseudorandom": [0, 4, 5], "gener": [0, 3, 4, 5, 7, 8, 9, 10, 11], "valid": [0, 4, 5], "random": [0, 5, 6, 8, 9, 12, 13], "default_rng": [0, 4, 5, 12], "numpi": [0, 2, 5, 8, 9, 10, 11, 12], "just": [0, 10, 11], "simulate_trotter_double_factor": [0, 6, 10], "suzuki": [0, 14], "formula": [0, 14], "slater_determin": [0, 6, 8], "occupied_orbit": [0, 8, 9], "occupi": [0, 4, 5, 10], "configur": [0, 8], "slater_determinant_rdm": [0, 6], "similarli": [0, 10], "construct": [1, 3, 8, 10, 11, 12, 13], "contract_diag_coulomb": [1, 6], "contract_num_op_sum": [1, 6], "contract_one_bodi": [1, 6], "dagger_i": 1, "a_j": 1, "implement": [1, 3, 8, 9, 11, 14], "diag_coulomb_linop": [1, 6], "num_op_sum_linop": [1, 6], "one_body_linop": [1, 6, 9], "algebra": [2, 13], "util": [2, 4, 5], "apply_matrix_to_slic": [2, 6], "target": 2, "slice": 2, "out": [2, 7, 10], "ell": 2, "pk": 2, "qk": 2, "respect": [2, 3], "so": [2, 9, 10, 11, 13], "too": 2, "small": [2, 11], "exce": [2, 12], "behavior": [2, 4], "routin": [2, 8, 13], "straightforward": 2, "exact": [2, 8, 10], "nest": 2, "addition": 2, "choos": [2, 8, 11], "achiev": [2, 10], "enabl": 2, "attempt": 2, "least": 2, "quantifi": 2, "gradient": [2, 3, 11], "constrain": 2, "certain": 2, "becaus": [2, 8, 10, 11, 13], "arxiv": [2, 4], "1808": 2, "02625": 2, "2104": 2, "08957": 2, "decompos": [2, 10], "collect": [2, 11], "double_factorized_t2": [2, 6], "t_": 2, "ijab": 2, "ap": 2, "ip": 2, "bq": 2, "jq": 2, "expm_multiply_taylor": [2, 6], "12": [2, 13], "expm": 2, "taylor": 2, "seri": 2, "expans": [2, 3], "givens_decomposit": [2, 6], "is_antihermitian": [2, 6], "anti": [2, 4], "is_hermitian": [2, 6], "is_orthogon": [2, 6], "orthogon": [2, 4], "union": 2, "bool_": 2, "is_real_symmetr": [2, 6], "is_special_orthogon": [2, 6], "special": [2, 4, 7, 8], "is_unitari": [2, 6], "lup": [2, 6], "pivot": 2, "lu": 2, "rtype": 2, "unit": 2, "match_global_phas": [2, 6], "match": [2, 10], "entri": [2, 11], "anoth": [2, 5], "some": [2, 5, 11, 13], "modified_choleski": [2, 6], "v_i": 2, "posit": [2, 3, 12], "No": 2, "check": [2, 5, 7, 9, 10], "verifi": 2, "1711": 2, "02242": 2, "assembl": 2, "reduced_matrix": [2, 6], "subspac": [2, 13], "span": [2, 8], "v_j": 2, "algorithm": [3, 7, 11], "minimize_linear_method": [3, 6, 11], "params_to_vec": [3, 11], "x0": [3, 11, 12], "maxit": [3, 11], "1000": 3, "regular": [3, 11], "lindep": 3, "epsilon": 3, "gtol": 3, "optimize_hyperparamet": 3, "optimize_hyperparameters_arg": 3, "feenberg": 3, "backflow": 3, "correl": 3, "callabl": [3, 11], "wavefunct": [3, 11], "those": 3, "guess": 3, "hyperparamet": [3, 11], "control": 3, "Its": [3, 8], "greater": 3, "size": [3, 12], "strictli": 3, "solv": 3, "problem": 3, "increment": 3, "finit": 3, "converg": [3, 10, 11, 12], "project": 3, "incur": 3, "evalu": [3, 12], "speed": 3, "fewer": [3, 10], "overal": 3, "f": [3, 8, 10, 11, 12], "scipy_optimize_minimize_arg": 3, "optimizeresult": [3, 11], "after": [3, 11], "signatur": 3, "intermediate_result": [3, 11], "attribut": 3, "x": [3, 11, 12], "fun": [3, 11, 12], "present": 3, "last": 3, "jac": [3, 11, 12], "hold": 3, "select": 3, "nfev": [3, 11, 12], "nlinop": [3, 11], "random_antihermitian": [4, 6], "width": 4, "height": 4, "dype": 4, "random_hermitian": [4, 6, 9], "random_orthogon": [4, 6], "distribut": 4, "haar": 4, "measur": 4, "instanc": [4, 9, 10], "math": [4, 12], "ph": 4, "0609050": 4, "random_real_symmetric_matrix": [4, 6], "random_special_orthogon": [4, 6], "random_statevector": [4, 6, 13], "random_t2_amplitud": [4, 6], "random_two_body_tensor": [4, 6], "random_unitari": [4, 6, 8, 9], "assert_allclose_up_to_global_phas": [5, 6], "07": 5, "equal_nan": 5, "err_msg": 5, "verbos": 5, "nan": 5, "messag": [5, 11, 12], "case": 5, "failur": 5, "conflict": 5, "append": [5, 11], "assertionerror": 5, "global": 5, "precis": [5, 11], "random_nelec": [5, 6], "n_alpha": [5, 8, 9], "n_beta": [5, 8, 9], "random_occupied_orbit": [5, 6], "occ_a": 5, "occ_b": 5, "ffsim": [6, 9, 10, 11, 12, 13, 14], "contract": [6, 9], "test": [6, 8, 9, 10], "faster": [7, 11], "categori": 7, "chemistri": 7, "By": [7, 8], "exploit": 7, "experiment": 7, "disclaim": 7, "releas": 7, "break": 7, "chang": 7, "introduc": [7, 9, 11], "without": [7, 11], "warn": 7, "avail": 7, "command": 7, "pip": 7, "tutori": [7, 9, 10, 11, 12], "advantag": 8, "effici": [8, 13], "primari": 8, "wai": [8, 9, 11], "directli": [8, 10, 11], "code": [8, 10, 11, 13], "show": [8, 9, 10, 11, 12, 13], "6": [8, 9, 10, 11, 12, 13], "1234": [8, 9, 12], "slater_det": 8, "assert_allclos": [8, 9], "plain": 8, "fix": 8, "system": [8, 9], "contrast": 8, "would": [8, 11], "2n": 8, "diment": 8, "conveni": 8, "comb": 8, "On": 8, "hand": 8, "assert": 8, "300": 8, "4096": 8, "standard": [8, 11], "often": [8, 11], "simpli": [8, 9], "reshap": 8, "you": [8, 9, 11], "half": 8, "20": 8, "39": [8, 13], "000011000111": 8, "000101000111": 8, "000110000111": 8, "001001000111": 8, "001010000111": 8, "001100000111": 8, "010001000111": 8, "010010000111": 8, "010100000111": 8, "011000000111": 8, "100001000111": 8, "100010000111": 8, "100100000111": 8, "101000000111": 8, "110000000111": 8, "000011001011": 8, "000101001011": 8, "000110001011": 8, "001001001011": 8, "001010001011": 8, "fundament": 9, "mode": 9, "sum_j": 9, "th": 9, "satisfi": [9, 13], "anticommut": 9, "relat": [9, 11], "_1": 9, "_2": 9, "section": 9, "ll": [9, 10, 11], "task": 9, "consid": [9, 11], "rewritten": 9, "eigendecomposit": 9, "sum_k": [9, 10], "lambda_k": 9, "ik": 9, "jk": 9, "our": [9, 10, 11], "ground": [9, 11], "pick": 9, "spars": [9, 10, 13], "eig": [9, 13], "eigsh": 9, "la": 9, "fact": 9, "illustr": 9, "purpos": 9, "explicitli": 9, "eigh": [9, 10], "evolved_vec": 9, "conj": 9, "undo": 9, "expected_phas": 9, "mention": [9, 10], "abov": [9, 10, 13], "better": [9, 10], "evolved_vec_alt": 9, "daunt": 10, "scale": 10, "cell": [10, 11], "ethen": [10, 11], "stretch": [10, 11], "bond": [10, 11, 12], "build": [10, 11, 12], "bond_dist": [10, 11], "678": [10, 11], "5626": [10, 11], "c": [10, 11], "9289": [10, 11], "mol": [10, 11, 12], "gto": [10, 11, 12], "d2h": [10, 11], "nelectron": [10, 11], "mol_data": [10, 11, 12], "mol_hamiltonian": [10, 11, 12], "df_hamiltonian": 10, "77": [10, 11], "4456267643962": [10, 11], "dataclass": [10, 11], "One": 10, "10": 10, "although": 10, "alreadi": 10, "built": 10, "manual": 10, "asymmetr": 10, "basic": 10, "h_k": 10, "divid": 10, "exponenti": 10, "individu": [10, 13], "do": [10, 13], "approx": 10, "prod_k": 10, "deriv": 10, "write": 10, "recal": 10, "think": 10, "compos": 10, "quadrat": [10, 14], "def": [10, 11, 12], "simulate_trotter_step_double_factor": 10, "one_body_energi": 10, "one_body_basis_chang": 10, "zip": [10, 11, 12], "finish": 10, "level": 10, "handl": 10, "split": 10, "wrote": 10, "step_tim": 10, "initial_st": 10, "\u03c8": [10, 11], "vdot": [10, 11], "now": 10, "later": 10, "exact_st": 10, "expm_multipli": 10, "tracea": 10, "fidel": 10, "ab": 10, "9315062301401625": 10, "7": [10, 11, 12, 13], "final_st": [10, 11], "9928527668215116": 10, "improv": 10, "8": [10, 11, 12, 13], "9999320851288621": 10, "commonli": 10, "known": 10, "fourth": 10, "reproduc": 10, "9": [10, 11, 12, 13], "9999913261309411": 10, "mcscf": [11, 12], "kernel": 11, "casci": [11, 12], "6290254326717": 11, "ci": [11, 12], "57322412553863": 11, "0000000": [11, 12], "phi_0": 11, "taken": 11, "express": 11, "previou": 11, "constructor": 11, "provid": 11, "truncat": 11, "cc": 11, "frozen": 11, "nao_nr": [11, 12], "reference_st": 11, "ansatz_st": [11, 12], "49387212754471": 11, "e_corr": 11, "04824536314851376": 11, "46975600021678": 11, "facilit": 11, "convers": 11, "somewhat": 11, "complic": 11, "short": 11, "non": 11, "redund": 11, "like": 11, "len": [11, 12], "72": 11, "stop": [11, 12], "NO": [11, 12], "reach": 11, "success": [11, 12], "statu": [11, 12], "5096390766593": 11, "486e": 11, "01": [11, 12], "913e": 11, "601e": 11, "03": [11, 12], "987e": 11, "00": [11, 12], "nit": [11, 12], "194e": 11, "084e": 11, "343e": 11, "04": [11, 12], "842e": 11, "584": 11, "njev": [11, 12], "hess_inv": [11, 12], "lt": [11, 12], "72x72": 11, "lbfgsinvhessproduct": [11, 12], "float64": [11, 12], "gt": [11, 12], "either": 11, "connect": 11, "swap": 11, "network": 11, "make": 11, "challeng": 11, "noisi": 11, "pre": 11, "fault": 11, "processor": 11, "idea": 11, "impos": 11, "sparsiti": 11, "constraint": 11, "them": 11, "depth": 11, "topologi": 11, "triangl": 11, "lattic": 11, "parallel": 11, "line": 11, "rung": 11, "ladder": 11, "With": 11, "setup": 11, "while": 11, "share": 11, "ldot": 11, "Of": 11, "cours": 11, "less": 11, "notic": 11, "decreas": 11, "46": 11, "45740004895607": 11, "128e": 11, "262e": 11, "02": [11, 12], "240e": 11, "938e": 11, "034e": 11, "132e": 11, "832e": 11, "487e": 11, "423": 11, "46x46": 11, "interfac": 11, "similar": 11, "main": 11, "being": [11, 13], "save": 11, "intermedi": 11, "defaultdict": 11, "inform": [11, 13], "info": 11, "accept": 11, "hasattr": 11, "46966712846668": 11, "610e": 11, "406e": 11, "491e": 11, "730e": 11, "450e": 11, "891e": 11, "716e": 11, "734e": 11, "739": 11, "509": 11, "45711405010151": 11, "011981190043878515": 11, "025995740229241168": 11, "8046952583567395": 11, "45819873443234": 11, "00813522521971025": 11, "00043244923014357255": 11, "8067683963495124": 11, "45822525997811": 11, "007963819887741287": 11, "0419385415954106": 11, "8039118493688805": 11, "46284029614388": 11, "02322075490484005": 11, "003722957031534505": 11, "9120201153511656": 11, "water": 12, "equilibrium": 12, "radius_1": 12, "958": 12, "radius_2": 12, "bond_angle_deg": 12, "104": 12, "478": 12, "h1_x": 12, "h2_x": 12, "180": 12, "h2_y": 12, "c2v": 12, "75": 12, "6787887956297": 12, "7288249991515": 12, "23": 12, "6332495815006": 12, "brickwork": 12, "n_layer": 12, "rng": 12, "reference_occupations_spati": 12, "initiali": 12, "74": 12, "20656273321595": 12, "maxfun": 12, "100": 12, "15": 12, "AND": 12, "68085168152658": 12, "996e": 12, "549e": 12, "650e": 12, "012e": 12, "762e": 12, "116e": 12, "192e": 12, "649e": 12, "112": 12, "15x15": 12, "Such": 13, "programmat": 13, "hash": 13, "three": 13, "piec": 13, "upon": 13, "intern": 13, "recommend": 13, "helper": 13, "shown": 13, "repr": 13, "view": 13, "displai": 13, "0j": 13, "arithmet": 13, "op3": 13, "good": 13, "awar": 13, "especi": 13, "These": 13, "12j": 13, "4j": 13, "3j": 13, "6j": 13, "preserv": 13, "far": 13, "criteria": 13, "doe": 13, "op4": 13, "linop": 13, "onto": 13, "16659109": 13, "10685116j": 13, "lm": 13, "21984743e": 13, "18j": 13, "introduct": 14, "brief": 14, "background": 14, "local": 14, "lucj": 14, "entangl": 14, "forg": 14}, "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_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, "", "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, "-", "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"], [5, 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, 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, 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, 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.optimize": [[3, 5, 1, "", "minimize_linear_method"]], "ffsim.random": [[4, 5, 1, "", "random_antihermitian"], [4, 5, 1, "", "random_hermitian"], [4, 5, 1, "", "random_orthogonal"], [4, 5, 1, "", "random_real_symmetric_matrix"], [4, 5, 1, "", "random_special_orthogonal"], [4, 5, 1, "", "random_statevector"], [4, 5, 1, "", "random_t2_amplitudes"], [4, 5, 1, "", "random_two_body_tensor"], [4, 5, 1, "", "random_unitary"]], "ffsim.testing": [[5, 5, 1, "", "assert_allclose_up_to_global_phase"], [5, 5, 1, "", "random_nelec"], [5, 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, 7, 8], "contract": 1, "linalg": 2, "optim": [3, 11], "random": 4, "test": 5, "api": 6, "refer": 6, "what": 7, "i": 7, "instal": 7, "from": 7, "pypi": 7, "get": 7, "start": 7, "introduct": 8, "orbit": 9, "rotat": 9, "quadrat": 9, "hamiltonian": [9, 10], "time": 9, "evolut": 9, "diagon": 10, "coulomb": 10, "oper": 10, "doubl": 10, "factor": 10, "trotter": 10, "simul": 10, "represent": 10, "molecular": 10, "brief": 10, "background": 10, "suzuki": 10, "formula": 10, "implement": 10, "The": [11, 13], "local": 11, "unitari": 11, "cluster": 11, "jastrow": 11, "lucj": 11, "ansatz": 11, "ucj": 11, "linear": 11, "method": 11, "entangl": 12, "forg": 12, "fermionoper": 13, "class": 13, "tutori": 14}, "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"], [7, "ffsim"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "ffsim.optimize": [[3, "module-ffsim.optimize"]], "ffsim.random": [[4, "module-ffsim.random"]], "ffsim.testing": [[5, "module-ffsim.testing"]], "API Reference": [[6, "api-reference"]], "What is ffsim?": [[7, "what-is-ffsim"]], "Install from PyPI": [[7, "install-from-pypi"]], "Get started": [[7, "get-started"]], "Introduction to ffsim": [[8, "Introduction-to-ffsim"]], "Orbital rotations and quadratic Hamiltonians": [[9, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Orbital rotations": [[9, "Orbital-rotations"]], "Time evolution by a quadratic Hamiltonian": [[9, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[10, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[10, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[10, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Brief background on Trotter-Suzuki formulas": [[10, "Brief-background-on-Trotter-Suzuki-formulas"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[10, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[11, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"], [11, "id1"]], "The unitary cluster Jastrow (UCJ) ansatz": [[11, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Optimize with the linear method": [[11, "Optimize-with-the-linear-method"]], "Entanglement forging": [[12, "Entanglement-forging"]], "The FermionOperator class": [[13, "The-FermionOperator-class"]], "Tutorials": [[14, "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_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"]], "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.random"], [5, "module-ffsim.testing"]], "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"]], "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"]], "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"]], "apply_matrix_to_slices() (in module ffsim.linalg)": [[2, "ffsim.linalg.apply_matrix_to_slices"]], "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"]], "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"]], "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"]], "ffsim.optimize": [[3, "module-ffsim.optimize"]], "minimize_linear_method() (in module ffsim.optimize)": [[3, "ffsim.optimize.minimize_linear_method"]], "ffsim.random": [[4, "module-ffsim.random"]], "random_antihermitian() (in module ffsim.random)": [[4, "ffsim.random.random_antihermitian"]], "random_hermitian() (in module ffsim.random)": [[4, "ffsim.random.random_hermitian"]], "random_orthogonal() (in module ffsim.random)": [[4, "ffsim.random.random_orthogonal"]], "random_real_symmetric_matrix() (in module ffsim.random)": [[4, "ffsim.random.random_real_symmetric_matrix"]], "random_special_orthogonal() (in module ffsim.random)": [[4, "ffsim.random.random_special_orthogonal"]], "random_statevector() (in module ffsim.random)": [[4, "ffsim.random.random_statevector"]], "random_t2_amplitudes() (in module ffsim.random)": [[4, "ffsim.random.random_t2_amplitudes"]], "random_two_body_tensor() (in module ffsim.random)": [[4, "ffsim.random.random_two_body_tensor"]], "random_unitary() (in module ffsim.random)": [[4, "ffsim.random.random_unitary"]], "assert_allclose_up_to_global_phase() (in module ffsim.testing)": [[5, "ffsim.testing.assert_allclose_up_to_global_phase"]], "ffsim.testing": [[5, "module-ffsim.testing"]], "random_nelec() (in module ffsim.testing)": [[5, "ffsim.testing.random_nelec"]], "random_occupied_orbitals() (in module ffsim.testing)": [[5, "ffsim.testing.random_occupied_orbitals"]]}}) \ No newline at end of file diff --git a/tutorials/01-introduction.ipynb b/tutorials/01-introduction.ipynb index 191fbea73..0d06140ce 100644 --- a/tutorials/01-introduction.ipynb +++ b/tutorials/01-introduction.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:37.480173Z", - "iopub.status.busy": "2024-02-13T12:59:37.479684Z", - "iopub.status.idle": "2024-02-13T12:59:37.821267Z", - "shell.execute_reply": "2024-02-13T12:59:37.820680Z" + "iopub.execute_input": "2024-02-13T13:06:10.771442Z", + "iopub.status.busy": "2024-02-13T13:06:10.771270Z", + "iopub.status.idle": "2024-02-13T13:06:11.114949Z", + "shell.execute_reply": "2024-02-13T13:06:11.114352Z" } }, "outputs": [], @@ -70,10 +70,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:37.824460Z", - "iopub.status.busy": "2024-02-13T12:59:37.823945Z", - "iopub.status.idle": "2024-02-13T12:59:37.828309Z", - "shell.execute_reply": "2024-02-13T12:59:37.827794Z" + "iopub.execute_input": "2024-02-13T13:06:11.117879Z", + "iopub.status.busy": "2024-02-13T13:06:11.117469Z", + "iopub.status.idle": "2024-02-13T13:06:11.121943Z", + "shell.execute_reply": "2024-02-13T13:06:11.121383Z" } }, "outputs": [ @@ -112,10 +112,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:37.862523Z", - "iopub.status.busy": "2024-02-13T12:59:37.862108Z", - "iopub.status.idle": "2024-02-13T12:59:37.864932Z", - "shell.execute_reply": "2024-02-13T12:59:37.864393Z" + "iopub.execute_input": "2024-02-13T13:06:11.155646Z", + "iopub.status.busy": "2024-02-13T13:06:11.155446Z", + "iopub.status.idle": "2024-02-13T13:06:11.158278Z", + "shell.execute_reply": "2024-02-13T13:06:11.157807Z" } }, "outputs": [], @@ -135,10 +135,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:37.867085Z", - "iopub.status.busy": "2024-02-13T12:59:37.866896Z", - "iopub.status.idle": "2024-02-13T12:59:37.872988Z", - "shell.execute_reply": "2024-02-13T12:59:37.872511Z" + "iopub.execute_input": "2024-02-13T13:06:11.160401Z", + "iopub.status.busy": "2024-02-13T13:06:11.160081Z", + "iopub.status.idle": "2024-02-13T13:06:11.166188Z", + "shell.execute_reply": "2024-02-13T13:06:11.165652Z" } }, "outputs": [ diff --git a/tutorials/02-orbital-rotation.ipynb b/tutorials/02-orbital-rotation.ipynb index 12bb19af4..c2c12f5da 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-02-13T12:59:39.258063Z", - "iopub.status.busy": "2024-02-13T12:59:39.257566Z", - "iopub.status.idle": "2024-02-13T12:59:39.601912Z", - "shell.execute_reply": "2024-02-13T12:59:39.601377Z" + "iopub.execute_input": "2024-02-13T13:06:12.538866Z", + "iopub.status.busy": "2024-02-13T13:06:12.538483Z", + "iopub.status.idle": "2024-02-13T13:06:12.900369Z", + "shell.execute_reply": "2024-02-13T13:06:12.899768Z" } }, "outputs": [], @@ -107,10 +107,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:39.604653Z", - "iopub.status.busy": "2024-02-13T12:59:39.604209Z", - "iopub.status.idle": "2024-02-13T12:59:39.630200Z", - "shell.execute_reply": "2024-02-13T12:59:39.629622Z" + "iopub.execute_input": "2024-02-13T13:06:12.903062Z", + "iopub.status.busy": "2024-02-13T13:06:12.902655Z", + "iopub.status.idle": "2024-02-13T13:06:12.935543Z", + "shell.execute_reply": "2024-02-13T13:06:12.934989Z" } }, "outputs": [], @@ -155,10 +155,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:39.633151Z", - "iopub.status.busy": "2024-02-13T12:59:39.632852Z", - "iopub.status.idle": "2024-02-13T12:59:39.641090Z", - "shell.execute_reply": "2024-02-13T12:59:39.640585Z" + "iopub.execute_input": "2024-02-13T13:06:12.938779Z", + "iopub.status.busy": "2024-02-13T13:06:12.938535Z", + "iopub.status.idle": "2024-02-13T13:06:12.959641Z", + "shell.execute_reply": "2024-02-13T13:06:12.959085Z" } }, "outputs": [], @@ -198,10 +198,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:39.643888Z", - "iopub.status.busy": "2024-02-13T12:59:39.643543Z", - "iopub.status.idle": "2024-02-13T12:59:39.648516Z", - "shell.execute_reply": "2024-02-13T12:59:39.648027Z" + "iopub.execute_input": "2024-02-13T13:06:12.964552Z", + "iopub.status.busy": "2024-02-13T13:06:12.963150Z", + "iopub.status.idle": "2024-02-13T13:06:12.990593Z", + "shell.execute_reply": "2024-02-13T13:06:12.990055Z" } }, "outputs": [], diff --git a/tutorials/03-double-factorized.html b/tutorials/03-double-factorized.html index 020d7bf1d..98e02d62a 100644 --- a/tutorials/03-double-factorized.html +++ b/tutorials/03-double-factorized.html @@ -465,7 +465,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Hartree Fock energy: -77.44562676439627
+Hartree Fock energy: -77.4456267643962
 

Now, we set the evolution time and calculate the exact result of time evolution by directly exponentiating the Hamiltonian using SciPy. Later, we will compare the result of our approximate time evolution with this exact result.

@@ -493,7 +493,7 @@

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

Now, let’s test our implementation.

@@ -520,7 +520,7 @@

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

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

@@ -547,7 +547,7 @@

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

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.

@@ -576,7 +576,7 @@

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

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

@@ -604,7 +604,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9999913261306678
+Fidelity of Trotter-evolved state with exact state: 0.9999913261309411
 
diff --git a/tutorials/03-double-factorized.ipynb b/tutorials/03-double-factorized.ipynb index 490638b7f..fcd1319e7 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-02-13T12:59:41.201137Z", - "iopub.status.busy": "2024-02-13T12:59:41.200669Z", - "iopub.status.idle": "2024-02-13T12:59:41.733608Z", - "shell.execute_reply": "2024-02-13T12:59:41.733039Z" + "iopub.execute_input": "2024-02-13T13:06:14.547411Z", + "iopub.status.busy": "2024-02-13T13:06:14.547243Z", + "iopub.status.idle": "2024-02-13T13:06:15.171512Z", + "shell.execute_reply": "2024-02-13T13:06:15.170978Z" } }, "outputs": [ @@ -108,10 +108,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:41.736917Z", - "iopub.status.busy": "2024-02-13T12:59:41.736495Z", - "iopub.status.idle": "2024-02-13T12:59:41.741155Z", - "shell.execute_reply": "2024-02-13T12:59:41.740761Z" + "iopub.execute_input": "2024-02-13T13:06:15.175617Z", + "iopub.status.busy": "2024-02-13T13:06:15.174645Z", + "iopub.status.idle": "2024-02-13T13:06:15.180690Z", + "shell.execute_reply": "2024-02-13T13:06:15.180306Z" } }, "outputs": [ @@ -214,10 +214,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:41.743747Z", - "iopub.status.busy": "2024-02-13T12:59:41.743544Z", - "iopub.status.idle": "2024-02-13T12:59:41.749136Z", - "shell.execute_reply": "2024-02-13T12:59:41.748675Z" + "iopub.execute_input": "2024-02-13T13:06:15.182889Z", + "iopub.status.busy": "2024-02-13T13:06:15.182569Z", + "iopub.status.idle": "2024-02-13T13:06:15.186453Z", + "shell.execute_reply": "2024-02-13T13:06:15.186028Z" } }, "outputs": [], @@ -272,10 +272,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:41.751764Z", - "iopub.status.busy": "2024-02-13T12:59:41.751451Z", - "iopub.status.idle": "2024-02-13T12:59:41.754891Z", - "shell.execute_reply": "2024-02-13T12:59:41.754418Z" + "iopub.execute_input": "2024-02-13T13:06:15.188545Z", + "iopub.status.busy": "2024-02-13T13:06:15.188226Z", + "iopub.status.idle": "2024-02-13T13:06:15.191589Z", + "shell.execute_reply": "2024-02-13T13:06:15.191158Z" } }, "outputs": [], @@ -312,10 +312,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:41.757474Z", - "iopub.status.busy": "2024-02-13T12:59:41.756983Z", - "iopub.status.idle": "2024-02-13T12:59:41.811600Z", - "shell.execute_reply": "2024-02-13T12:59:41.811054Z" + "iopub.execute_input": "2024-02-13T13:06:15.193798Z", + "iopub.status.busy": "2024-02-13T13:06:15.193471Z", + "iopub.status.idle": "2024-02-13T13:06:15.199163Z", + "shell.execute_reply": "2024-02-13T13:06:15.198697Z" } }, "outputs": [ @@ -323,7 +323,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Hartree Fock energy: -77.44562676439627\n" + "Hartree Fock energy: -77.4456267643962\n" ] } ], @@ -351,10 +351,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:41.814198Z", - "iopub.status.busy": "2024-02-13T12:59:41.814003Z", - "iopub.status.idle": "2024-02-13T12:59:42.385987Z", - "shell.execute_reply": "2024-02-13T12:59:42.385450Z" + "iopub.execute_input": "2024-02-13T13:06:15.201795Z", + "iopub.status.busy": "2024-02-13T13:06:15.201385Z", + "iopub.status.idle": "2024-02-13T13:06:15.767022Z", + "shell.execute_reply": "2024-02-13T13:06:15.766522Z" } }, "outputs": [ @@ -362,7 +362,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.9315062301398566\n" + "Fidelity of evolved state w.r.t. initial state: 0.9315062301401625\n" ] } ], @@ -393,10 +393,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:42.389464Z", - "iopub.status.busy": "2024-02-13T12:59:42.388543Z", - "iopub.status.idle": "2024-02-13T12:59:42.401608Z", - "shell.execute_reply": "2024-02-13T12:59:42.401188Z" + "iopub.execute_input": "2024-02-13T13:06:15.769672Z", + "iopub.status.busy": "2024-02-13T13:06:15.769282Z", + "iopub.status.idle": "2024-02-13T13:06:15.785177Z", + "shell.execute_reply": "2024-02-13T13:06:15.784667Z" } }, "outputs": [ @@ -404,7 +404,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9928527668212291\n" + "Fidelity of Trotter-evolved state with exact state: 0.9928527668215116\n" ] } ], @@ -434,10 +434,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:42.404105Z", - "iopub.status.busy": "2024-02-13T12:59:42.403792Z", - "iopub.status.idle": "2024-02-13T12:59:42.521682Z", - "shell.execute_reply": "2024-02-13T12:59:42.521154Z" + "iopub.execute_input": "2024-02-13T13:06:15.787669Z", + "iopub.status.busy": "2024-02-13T13:06:15.787298Z", + "iopub.status.idle": "2024-02-13T13:06:15.932215Z", + "shell.execute_reply": "2024-02-13T13:06:15.931716Z" } }, "outputs": [ @@ -445,7 +445,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851285765\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851288621\n" ] } ], @@ -477,10 +477,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:42.525638Z", - "iopub.status.busy": "2024-02-13T12:59:42.524726Z", - "iopub.status.idle": "2024-02-13T12:59:42.600737Z", - "shell.execute_reply": "2024-02-13T12:59:42.600236Z" + "iopub.execute_input": "2024-02-13T13:06:15.936000Z", + "iopub.status.busy": "2024-02-13T13:06:15.935686Z", + "iopub.status.idle": "2024-02-13T13:06:15.997159Z", + "shell.execute_reply": "2024-02-13T13:06:15.996631Z" } }, "outputs": [ @@ -488,7 +488,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851285765\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851288621\n" ] } ], @@ -519,10 +519,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T12:59:42.604475Z", - "iopub.status.busy": "2024-02-13T12:59:42.603571Z", - "iopub.status.idle": "2024-02-13T12:59:42.666484Z", - "shell.execute_reply": "2024-02-13T12:59:42.666001Z" + "iopub.execute_input": "2024-02-13T13:06:15.999887Z", + "iopub.status.busy": "2024-02-13T13:06:15.999510Z", + "iopub.status.idle": "2024-02-13T13:06:16.037057Z", + "shell.execute_reply": "2024-02-13T13:06:16.036519Z" } }, "outputs": [ @@ -530,7 +530,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999913261306678\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999913261309411\n" ] } ], diff --git a/tutorials/04-lucj.html b/tutorials/04-lucj.html index 52465b26c..bdb4b329f 100644 --- a/tutorials/04-lucj.html +++ b/tutorials/04-lucj.html @@ -321,7 +321,7 @@

The unitary cluster Jastrow (UCJ) ansatz
-E(CCSD) = -77.49387212754465  E_corr = -0.0482453631485158
+E(CCSD) = -77.49387212754471  E_corr = -0.04824536314851376
 

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.)

@@ -368,10 +368,10 @@

The unitary cluster Jastrow (UCJ) ansatz\n" @@ -241,10 +241,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:00:17.472557Z", - "iopub.status.busy": "2024-02-13T13:00:17.472239Z", - "iopub.status.idle": "2024-02-13T13:00:45.006440Z", - "shell.execute_reply": "2024-02-13T13:00:45.005847Z" + "iopub.execute_input": "2024-02-13T13:06:48.431572Z", + "iopub.status.busy": "2024-02-13T13:06:48.431155Z", + "iopub.status.idle": "2024-02-13T13:07:02.199182Z", + "shell.execute_reply": "2024-02-13T13:07:02.198637Z" } }, "outputs": [ @@ -256,10 +256,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.4574091704306\n", - " x: [-4.099e-01 8.265e-02 ... 3.403e-01 6.529e-01]\n", + " fun: -77.45740004895607\n", + " x: [-4.128e-01 8.262e-02 ... -3.240e-02 -1.938e+00]\n", " nit: 5\n", - " jac: [ 1.859e-03 -9.948e-06 ... -1.890e-04 -1.222e-04]\n", + " jac: [ 7.034e-04 -2.132e-05 ... 4.832e-05 -2.487e-04]\n", " nfev: 423\n", " njev: 9\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" @@ -309,10 +309,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:00:45.009591Z", - "iopub.status.busy": "2024-02-13T13:00:45.009335Z", - "iopub.status.idle": "2024-02-13T13:01:03.500329Z", - "shell.execute_reply": "2024-02-13T13:01:03.499744Z" + "iopub.execute_input": "2024-02-13T13:07:02.203150Z", + "iopub.status.busy": "2024-02-13T13:07:02.202175Z", + "iopub.status.idle": "2024-02-13T13:07:18.577473Z", + "shell.execute_reply": "2024-02-13T13:07:18.576902Z" } }, "outputs": [ @@ -323,34 +323,34 @@ "Number of parameters: 46\n", " message: Stop: Total number of iterations reached limit.\n", " success: False\n", - " fun: -77.47182610294765\n", - " x: [-6.506e-01 3.074e-03 ... 4.197e-01 9.276e-01]\n", + " fun: -77.46966712846668\n", + " x: [-5.610e-01 -5.406e-03 ... -1.491e-01 -1.730e+00]\n", " nit: 5\n", - " jac: [ 5.077e-03 -6.960e-04 ... -5.325e-04 -4.823e-03]\n", - " nfev: 814\n", + " jac: [ 5.450e-03 -8.891e-04 ... 2.716e-04 -3.734e-03]\n", + " nfev: 739\n", " njev: 5\n", - " nlinop: 584\n", + " nlinop: 509\n", "\n", "Iteration 1\n", - " Energy: -77.45723564085937\n", - " Norm of gradient: 0.01006824498896873\n", - " Regularization hyperparameter: 0.026912976015549067\n", - " Variation hyperparameter: 0.9826421542008552\n", + " Energy: -77.45711405010151\n", + " Norm of gradient: 0.011981190043878515\n", + " Regularization hyperparameter: 0.025995740229241168\n", + " Variation hyperparameter: 0.8046952583567395\n", "Iteration 2\n", - " Energy: -77.4581216930207\n", - " Norm of gradient: 0.00763330699926692\n", - " Regularization hyperparameter: 0.0005932531566250592\n", - " Variation hyperparameter: 0.9835690132609403\n", + " Energy: -77.45819873443234\n", + " Norm of gradient: 0.00813522521971025\n", + " Regularization hyperparameter: 0.00043244923014357255\n", + " Variation hyperparameter: 0.8067683963495124\n", "Iteration 3\n", - " Energy: -77.45815041161042\n", - " Norm of gradient: 0.007421091544726094\n", - " Regularization hyperparameter: 0.9518753998482729\n", - " Variation hyperparameter: 0.9835847922097266\n", + " Energy: -77.45822525997811\n", + " Norm of gradient: 0.007963819887741287\n", + " Regularization hyperparameter: 1.0419385415954106\n", + " Variation hyperparameter: 0.8039118493688805\n", "Iteration 4\n", - " Energy: -77.46257719490553\n", - " Norm of gradient: 0.023667471305006304\n", - " Regularization hyperparameter: 0.0029004558715029216\n", - " Variation hyperparameter: 0.969693109296468\n" + " Energy: -77.46284029614388\n", + " Norm of gradient: 0.02322075490484005\n", + " Regularization hyperparameter: 0.003722957031534505\n", + " Variation hyperparameter: 0.9120201153511656\n" ] } ], diff --git a/tutorials/05-entanglement-forging.html b/tutorials/05-entanglement-forging.html index 9ea84071a..b3431a450 100644 --- a/tutorials/05-entanglement-forging.html +++ b/tutorials/05-entanglement-forging.html @@ -343,10 +343,10 @@

Entanglement forging\n" diff --git a/tutorials/06-fermion-operator.html b/tutorials/06-fermion-operator.html index 07923e2df..52250f468 100644 --- a/tutorials/06-fermion-operator.html +++ b/tutorials/06-fermion-operator.html @@ -249,8 +249,8 @@

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

The FermionOperator class
-'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, False, 0), (False, False, 3)): 0.5+0j})'
+'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})'
 

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.

@@ -297,17 +297,17 @@

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

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

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

The FermionOperator class
 array([ 0.        +0.j        ,  0.        +0.j        ,
         0.        +0.j        ,  0.        +0.j        ,
-       -0.07246671-0.11257741j,  0.        +0.j        ,
+       -0.16659109+0.10685116j,  0.        +0.j        ,
         0.        +0.j        ,  0.        +0.j        ,
         0.        +0.j        ])
 
diff --git a/tutorials/06-fermion-operator.ipynb b/tutorials/06-fermion-operator.ipynb index 7309b91f9..db29fce4b 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-02-13T13:01:07.959701Z", - "iopub.status.busy": "2024-02-13T13:01:07.959531Z", - "iopub.status.idle": "2024-02-13T13:01:08.307084Z", - "shell.execute_reply": "2024-02-13T13:01:08.306542Z" + "iopub.execute_input": "2024-02-13T13:07:22.890651Z", + "iopub.status.busy": "2024-02-13T13:07:22.890475Z", + "iopub.status.idle": "2024-02-13T13:07:23.237590Z", + "shell.execute_reply": "2024-02-13T13:07:23.237039Z" } }, "outputs": [ @@ -41,8 +41,8 @@ "text/plain": [ "FermionOperator({\n", " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", - " (cre_a(3), des_a(0)): -0.25,\n", - " (cre_a(0), des_a(3)): 0.5\n", + " (cre_a(0), des_a(3)): 0.5,\n", + " (cre_a(3), des_a(0)): -0.25\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.309662Z", - "iopub.status.busy": "2024-02-13T13:01:08.309157Z", - "iopub.status.idle": "2024-02-13T13:01:08.313054Z", - "shell.execute_reply": "2024-02-13T13:01:08.312516Z" + "iopub.execute_input": "2024-02-13T13:07:23.240014Z", + "iopub.status.busy": "2024-02-13T13:07:23.239608Z", + "iopub.status.idle": "2024-02-13T13:07:23.243382Z", + "shell.execute_reply": "2024-02-13T13:07:23.242838Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, False, 0), (False, False, 3)): 0.5+0j})'" + "'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})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.315314Z", - "iopub.status.busy": "2024-02-13T13:01:08.315001Z", - "iopub.status.idle": "2024-02-13T13:01:08.319268Z", - "shell.execute_reply": "2024-02-13T13:01:08.318826Z" + "iopub.execute_input": "2024-02-13T13:07:23.245772Z", + "iopub.status.busy": "2024-02-13T13:07:23.245277Z", + "iopub.status.idle": "2024-02-13T13:07:23.249589Z", + "shell.execute_reply": "2024-02-13T13:07:23.249170Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (des_a(3), des_b(3)): 0.0625,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", - " (cre_a(0), des_a(3)): 1,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", " (cre_b(2)): 0-0.25j,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", - " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (cre_b(1), des_b(5), cre_a(4)): 2+2j\n", + " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", + " (cre_a(0), des_a(3)): 1,\n", + " (des_a(3), des_b(3)): 0.0625\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.321237Z", - "iopub.status.busy": "2024-02-13T13:01:08.321061Z", - "iopub.status.idle": "2024-02-13T13:01:08.324776Z", - "shell.execute_reply": "2024-02-13T13:01:08.324350Z" + "iopub.execute_input": "2024-02-13T13:07:23.251531Z", + "iopub.status.busy": "2024-02-13T13:07:23.251359Z", + "iopub.status.idle": "2024-02-13T13:07:23.255054Z", + "shell.execute_reply": "2024-02-13T13:07:23.254618Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (des_a(3), des_b(3)): 0-1.25j,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", " (cre_b(2)): -5,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (cre_b(1), des_b(5), cre_a(4)): 12-12j\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (des_a(3), des_b(3)): 0-1.25j\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.326969Z", - "iopub.status.busy": "2024-02-13T13:01:08.326649Z", - "iopub.status.idle": "2024-02-13T13:01:08.330112Z", - "shell.execute_reply": "2024-02-13T13:01:08.329587Z" + "iopub.execute_input": "2024-02-13T13:07:23.257034Z", + "iopub.status.busy": "2024-02-13T13:07:23.256848Z", + "iopub.status.idle": "2024-02-13T13:07:23.260340Z", + "shell.execute_reply": "2024-02-13T13:07:23.259890Z" } }, "outputs": [ @@ -230,16 +230,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (des_b(3), des_a(3)): 0+1.25j,\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\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_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", " (cre_b(2)): -5,\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_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_b(2), cre_a(3), des_a(0)): -1,\n", " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_a(0), des_a(3)): 0-6j\n", + " (cre_b(2), cre_a(0), des_a(3)): 2\n", "})" ] }, @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.332259Z", - "iopub.status.busy": "2024-02-13T13:01:08.331945Z", - "iopub.status.idle": "2024-02-13T13:01:08.335223Z", - "shell.execute_reply": "2024-02-13T13:01:08.334663Z" + "iopub.execute_input": "2024-02-13T13:07:23.262291Z", + "iopub.status.busy": "2024-02-13T13:07:23.262127Z", + "iopub.status.idle": "2024-02-13T13:07:23.265299Z", + "shell.execute_reply": "2024-02-13T13:07:23.264847Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.337464Z", - "iopub.status.busy": "2024-02-13T13:01:08.337137Z", - "iopub.status.idle": "2024-02-13T13:01:08.341024Z", - "shell.execute_reply": "2024-02-13T13:01:08.340507Z" + "iopub.execute_input": "2024-02-13T13:07:23.267295Z", + "iopub.status.busy": "2024-02-13T13:07:23.266978Z", + "iopub.status.idle": "2024-02-13T13:07:23.271188Z", + "shell.execute_reply": "2024-02-13T13:07:23.270732Z" } }, "outputs": [ @@ -340,10 +340,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.343136Z", - "iopub.status.busy": "2024-02-13T13:01:08.342805Z", - "iopub.status.idle": "2024-02-13T13:01:08.348812Z", - "shell.execute_reply": "2024-02-13T13:01:08.348360Z" + "iopub.execute_input": "2024-02-13T13:07:23.273348Z", + "iopub.status.busy": "2024-02-13T13:07:23.273029Z", + "iopub.status.idle": "2024-02-13T13:07:23.279354Z", + "shell.execute_reply": "2024-02-13T13:07:23.278805Z" } }, "outputs": [ @@ -352,7 +352,7 @@ "text/plain": [ "array([ 0. +0.j , 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", - " -0.07246671-0.11257741j, 0. +0.j ,\n", + " -0.16659109+0.10685116j, 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", " 0. +0.j ])" ] @@ -379,10 +379,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-02-13T13:01:08.350900Z", - "iopub.status.busy": "2024-02-13T13:01:08.350577Z", - "iopub.status.idle": "2024-02-13T13:01:08.360836Z", - "shell.execute_reply": "2024-02-13T13:01:08.360264Z" + "iopub.execute_input": "2024-02-13T13:07:23.281295Z", + "iopub.status.busy": "2024-02-13T13:07:23.281127Z", + "iopub.status.idle": "2024-02-13T13:07:23.291328Z", + "shell.execute_reply": "2024-02-13T13:07:23.290882Z" } }, "outputs": [