From 4e3139fd3dfef4bb83688d35739cb838c267fc89 Mon Sep 17 00:00:00 2001 From: JessicaJohnBritto <79603974+JessicaJohnBritto@users.noreply.github.com> Date: Thu, 19 Sep 2024 15:00:47 +0530 Subject: [PATCH] Some changes --- docs/build/doctrees/api/WPSProtocol.doctree | Bin 50573 -> 28859 bytes docs/build/doctrees/environment.pickle | Bin 132699 -> 83973 bytes docs/build/html/_modules/index.html | 1 - docs/build/html/api/WPSProtocol.html | 102 +----------------- docs/build/html/api/modules.html | 14 +-- docs/build/html/genindex.html | 62 +---------- docs/build/html/objects.inv | 6 +- docs/build/html/py-modindex.html | 5 - docs/build/html/searchindex.js | 2 +- .../InitialFunctions-checkpoint.py | 42 ++++---- .../Module_WalshPSeq-checkpoint.py | 30 +++--- .../.ipynb_checkpoints/Part_2A-checkpoint.py | 2 +- src/WPSProtocol/InitialFunctions.py | 42 ++++---- src/WPSProtocol/Module_WalshPSeq.py | 30 +++--- src/WPSProtocol/Part_2A.py | 2 +- .../InitialFunctions.cpython-38.pyc | Bin 2276 -> 2276 bytes .../Module_WalshPSeq.cpython-38.pyc | Bin 4431 -> 4431 bytes 17 files changed, 85 insertions(+), 255 deletions(-) diff --git a/docs/build/doctrees/api/WPSProtocol.doctree b/docs/build/doctrees/api/WPSProtocol.doctree index 3a2b7cade61a28c02359406e7c48b98465269c3b..095c38976685bca6e437f54ea0d6481521e2ba93 100644 GIT binary patch delta 528 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%0DCZ7;P}&MxK~X`9 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 z zi*S!L1GEJ0(QgpD>>m9l-LZSbcip*1zBrcAJ@ReEsl#2nM;eVQ%01Hg>cTy`UMru2 zaqZ|EM9CZbGVcBR3usT8$RGL#XxSqE zPy+Am{h{YUZ^`{3Vp8}+-wK6s=%?=wX?85hAJQz0@Q41CXm#TcdEcUf_onU-=zf47 zmUnG@9>|1WQf|&xjEh#GQLRT7k@QSWw_vAI`%y=$N&bZ7q9etVBx+4iJt4)g)CE%1 znq~=*Vujdcq*$dpMv8pb9a8kgv3y8zp9_!EwH`I$85XRLV(E#y@4{p{#*3F@t5<}z zE+FF#VG=p>@?pkHX`QMU%=o5I&k~q%rCK8qHf{h3XMIV#FfokHt#;hFjIW}#|g&#$$f_N|| z%_|^jGK@TMh~nS11;eb@%?00Ju~k}X;<}0JgWTE%O*)G|zMiC}qsleZ7Md7)LY3h* z5vWpYxFtZ9FClgrRo+Z@j4JuAJ5=e5WBE|!eoP^_)%s)jw2=v~qa#?kJ86kVgign} zvVIwsX+(MJ0$A>j(8!6Nci_!$vKZs#~Qa z=~C++Vx`;M9BTHf%qmL^amI77i4Pv@Vt7rO7_#8cCqQV)@aLVdPfIsVk$FA|`8&es{fIkHz-9g3}{uGk$j#wM~xp;@@5P!bo=hk2?0sf_( zQtS=Xt!aF)Z^ml0ybh1_eHcx#2oO!EM0+5*7xb1Kh!T?mi2fYi(N6_Lw?@oh5)#!+ zkU*jbh>8ZGI!B_PQV~q?TBBCSM<5CfT7+QgA4bH|4y>xcw-Vi&Rj{Y+f?9<@&uCGC zyMS*Z&MK6u44VL}rw?F3!mN&1$NY262+vlkWAsATZeUFbmO2os zXy&>-Q;Ow|L|4C|YpM?ezYJyQ5u@)XebO=d`y&e06GjhftH9`*N-qIM{|K?m82x#= zV~oys-C=ZJ9LtB%_h22+to2x}qn(2{CV_KBpkq{i{xYC)pQ$e3`1PvrWnVV^c_>ZW z9@Gm8|JzVE5-9xgH$x))?pM1eLTd}Sw}>@*fs3a2 zkHhVCBCE;}1KZJb7Jz!FSAWyi6#d8ovYEjC6;MV?bL-zB^)VfcD}Yp+lg()cE>q=#7iu>jd80)#v~%bWGxe)JiQqU{#ybZ8o9r_YSL zBm7xEolKse2N?Q@5$x(SG>Q=fd}Xkt8`7E7?%dHLg}bDWQ3{}6K?ii}_U3XB`7YCqf)F9=YcjI#)-t}`e7j9moinS=C7!n(!2h4Wg z2h{V9QQrIkQ+<%HhtC4iNAo)WEZ}CGxY8`sfr1rysSVd3zTpB$qZ{ z5q$pdJE>WGeG)1VeE!csO_t~Lf7=s2|JU-i#XtL(2>27YZfk>c&X1#x-eyVK7qb-} zJ5+|C9eU6J$Sta#-uAF!7S3ZkbW4p5vav#$us=g(x*f+@Vn_23{}BUp>7cOTbOL7k z23(a5e|hV~w^v&Z>43MRfqfos*`$pxd3357d@a^(J>ANAYk8MSYvL+zQ01|T_}P@` zVGR}ERA|=gQ0crRI_YgtPq2%{YE63muGOH>i`(+H7OMpeUS)R-8%d}q6kFapY?p0X zZtLwWdAKL(?W8v#H=R`LATdzH?iXx^nXTc+dhw<_$e+j0LHV;;FXPun*o6EPWJ;-c z<65v*Ux3n0SF4RmwP9(A6IXj1U94imG-Q4rBiC#TPd3q(mRcSsf6j78o%C)HPpq=V zPx5niqm(a{P1gn2c%v-fKiE*WYE_t-vUSlawBwdQSzt6?^puFAC5 zTU)fInlqrcY0j)yATH#nTjngD3_$t?iz?N6*4t!PYRyL8suZe4Ct;z-c6B|2npw}sB>)+bp1E`rEd%;L<)Ob zh;t~ITY_N9s7cG)ST-v&P4o@OxoEXYyS(jnt5B^M^F^x$t-w2M7VbLq zoz}EH4`bnNGMkNRK6vE(=_+uzv4{!fysvJMB|qRDMittWJ?U-cC#=rY;=v<)VzybV z=I3Wgi?&$vwW@37^^&X@g+~6OjUXRu<>ow~jyYAPT1YPYR5uWPYXj=zLif3If$m0` zGe2#YQNMF7?;5(pdt9r|9nh)}!6F)ZechZxGmD>4%&pX&pf9wu47xvSH(HNw8S*yO ztXdv&vCs*z-VQI>Ku>6+TAsRu^8!g`Cq3g=;aMJ0PBcUV4bhM1qqpz73;l3YeYy}K zL{9=jpCUp74RZ=Tpx7w2Ci+XSzvOLk7b*>NK3_uovP?0|mba!{g<^Ue+*ulJFEr8X zTvTW~{}w;<Kn zzGzL8VfD6!o>uUY0)7l?)BcZjr0PX}-bW9`ea`u18p_{KmqRor+)tM#zMbsU>GFE| zR@%4Gp$#X;J3OEUiby2enVpSGbRzur8!ZE1EehEv~OF zt&dRMKSq~wA1-6tz^2kYhZYVS3n~l=6qbSk<{g0kVrsrB$w0%ccv+ax7NoRYp8p-yuMTS zAD=ur`4AanLSYy`eAM?*NL==&yQw!Z11G2j{KgS30%a6_=^E%Zy~#OCm$%X7Il7GY z<8n_s?Tt3lm~14p3I>RbO_a5;-aw~%Z=jRO4MYM+Z=fN{5o;jlTR|_OZQc&4#@gl@ zl5(VND5GebKC}(J#JPzs$LVsKE?=O_mESh?-rJ^{+%_bD^tSnX%F%J#oJ8(e+kAqg z9BCWMDB5N<+J;`@e3~xX2XNU%mtUaEmEShs)qC5#CAn=#0O@V>)0Cs*w%Li?v9@_9 zNjcIslrgYr^b+Siba{a;pQa0gCjQV^eH=sKYmBw2yytUB6NbX!)Gqjd3Fw;fJY~UIDDoE?TvGIHytf_ zc6f<2tvGRbjS9ua9ge0G1a&y3L!p|EU%)`d^=njcDpC~-8Z$4!+}I_6;7u_ZuGt! z;~Iy?PKS)NL)O6Zw)yV2p4nUPKW2vt=Uf%a%_6yOGvp}`7AZm?J?WrZ!wp++*6h6^ z@&|`JT0?EVC1jh zK>|n@b@w()iH*+H%^KFJBkY?p`|~9t&XP%J_TbeCQy|`YEyf&+Ek_bVzO<;JiYc>_ zh1D&1??l%zWtQ4+!Dy40|J(RGah3Bs{6`NPJHLxZlg{t)^+UKiAI3!w06TxoX&>S1 z^L+g%U;hMG=TGVKXShsU?R-r9`8fVeI)BdBPw@2xN?7Im1^rp;d{X@R6es;9U;hWL z&pMyRwN!OJgFhVTbpD#|K1-MX*MIgmboaM(`8&FNjxK+XOKF$$dHk7l{(-OmlOFAL z{trkH5gzf9C5K`T8ZkewnXd;p@NPDjMKl`S-uk@2}G3-*I`?`CquAwqL^^ z#QmKAjlYx5|A#9__?-WsyZ=L%|KyabNWmy%=Uk0Dj@3D<=-Fzztik13XD!`Q0M1#5 zyGu?VU;A;ziw5||Ag&xUbJp|k4Y)q*Y@~aRfjOISJLzo372%w%_=8blyZEzH{JB>A z*(Ltmhz{-S!o_uN2%cPWWuS?Z9O@IU^8u0m>*CLE;tyW&TjI}ei$A|B{(MOM`2+Fi z5Ag>T_#^srmGj5=<2;Yc)7a^Fyyg5EZb9ec;?F1WXVQ5={P-mQ@cRUYmbHlLS@Z1& zm7K7teR8@WY*M`!MA)QRM&Lw!Ueur|5SmEfkqkSdFcDri$li?@m^SBAzNQui-CD`6 z%#U7Z+K8P~EQ1!Qp27)WC#;&W|6XJNJ>&cD9KY)>LdJvq_b05rs88?+kSv_pN;-~bjOOucRbd=qKmPf z)l(bg*J70K9OvvkWtE{JSgBDp5>yrE--VR*mM|8|Tw0grsm#)p<8y$QPR3>EoSZ+?%jnNqlrVsTUu~C=71sP38(6%Q5KRb&0?jyUIl-ypkLmQ`iqWVaf4qSQjAm~BTf%Y$h) zUeAQ7FrLEFPoPT5pzHl5h&`JXiRt|_AQ7=0T79-CoWFjmS;n_3F<}KCAUTXKN3Q|O zlE==4*>FB@^Eh19@z-J|p6$$Q{r>NSeJtmPi6topb{{YY2|-~Jdma?RR7065=I``l z8%>D8P!_RC|<2{Y%d;g@@>-3F#N`*0m4W~?+=POOOD^JAdhzV{>{`(Q~S zSq0wsgR?p@mbRQ<0x_=-Zx_+|)x-xTcrj}`kF!4EqQe`ZWSaWNOsT$SsNb)-RD}OZ zvZet;YxHe`=O4+;v!uxr5y>=vs9T! zf+$P9dvBPCqo@63N}A9w^{$Y9eFnwacGjHpi%9NLyZ#bImrT1pPkeN&UCxInd%s`d z6t&te+V3wiGn=ATlIF*|rP+g8Z4~Crwaj{<)ZUm4>}ao4dRkPe^fa;VUc4!!Qd>cM zc~oi>C@+~x-2h@)Rcf8AZi+(f5DK+EGpi{IC296`OS5x@imvtxuPuzMTUaNC-5 zU`p>fD195#9UjyZRu*o9DJ0}Eie+7+5_yio|2870@ zWocPsKn&!+kz+tP=MB^mUPqS)(QTbqQs0%~Adz^96SU<=oS7XF%Ir{gX|8C1h`b5} zh<1Egl-PtQcRkgw1 zTTQF@;LP`_)x)@7E0+A>uD{r<1wUxfEIb0vKY&%K<2YrBmd^HL5iAyqUbI?bOaw8p zRJkR_R-3v9gKfU!$kG#CM3&-ueKxAsUypI8XTnY5H1QkJ;5qSULHv12{CS%HNHMSF zWu;QcZ$L^!$j*1rvn2>UEzXfg8#)m|ZgpmTyuM(PD>lKVPpz#Arq=Wb)soJ#g#%eX z0huW^Ruhf_AO+Ht(X4k+RxO$p5>wLTTS{97Q=p>Hq&8r3+%F7t&`ViVnvwaHg*Dj=>f+_92 zzfaOj+k_PKw5a!|r=^6fKAR?%_93ejWnL%N%1a&i4CuG*CQcHWAZ+y`C>sh}{S!Ut zIIxf!wxV4LT0}6~$z=fRFEev5t;YZ?qB(t z+v}d57S%mHEhU_FJ;=B1k~!xeskLLl(j=7;LU+DQg5aKdEhsOU*4+kTook)*pTu@7 zoOLyck|UbINFqZ|J2EpX>)YR+=9X@0ZYG*6!^~>cVL0m$y`hak)6=3#rKhzGXFUSq z%cD|9GfOnZki81TvZ_=hoRy?dJ4DMJ&dh3xLP?sh?3QNd3Khh5LRhNJAQ2B|d7&Am zXlIiaJv@f%0VN5gRLm+I*9yZWl_wn6NfX5g&T4hk6IKh2C7{YNYv+w~Q0pXPkMhRWv-#ur5-Y7HzaQh1^&p*`;2x?r zv9RZUe9F|Eq3xqW$HE;Uf!0+SXz305AH6r|*HRl4k&;;7d4=AfqJpD1P=`fe#T|mZSn==_A(YDuzNGG@-~<`B)LX zL9e-{=h0$2NJK^p%_QOMp;&|JolQ2ATzltQ7uvO(UP!f@Sa63zN*cX2Pue+2v2o`H zy?JQs+S&Yp`xPIdR*B`jO3SG?#@^l=V$PZhP2dfxc?RJ|BSaMpRx zc!@6hlYDB)%wbwWo@D(N%d9uRk=`5N!PExGB{aZGbn`|>2f>chg7|hFLC-&?OD3JK8Aayp!&h()ni@2F}0p zE_y-7{=f76lzoxCQa?a>R&1|S&iTKnH!jfS)5OWA=<-#%{0m*SP{KyK4AbSMba^FR zzJ)Gl=yIAa4Z2*wC5Rai;Y&>P5)-_{#4a(ROHAYv6S%~MwYUN^!wwTO!%iDB!#)Kw z!(fz|VHCs6@DR$(uq`KM95OX48|K@Ybx7lrA*EE9uz>d@V|;b zKZZXOYn&g)pGoH@alPdHH@^N9Uw;}`*yo?&AMeBUoLqb3{5*b$!1wz}sQPB%U&Mp> zXsMzUzl4HjTHxsaA<8^2l+bXF|F)#X36U+p;XyExm_87*ri67Scy)M-@ZyaW96-d} zzc~2yv{9I4_>DaHIUl7S^~bpQ8-?jfuu+(j9O@h^yHS|>2p#y*kCXMV`?i5kuYQ3R z{r)rU0a}A4+qC(L&&OEDE6Bvrdmo@Ik*KS`dd2B1DE&36yA}wLN9v^<#UO*yw1pBL z2_4C>2oG%sq`qr=dpGZ!Os{`W+e>%!#$VGLq%$m|4Mq|dVx#&yTnTzp(_4epYg)^; zTbC4FmgF~i&f#ryTWP;G&cVzF%UMDjQI@6>BnWg3RtD{k| zU5(DFY}W0TLt5<(nw3JSTBnt)IH^^t+&+>Q4`-t!uWq#V4xdDhNp!yWD-g#BN@}aE zgM|I<5>jV9z7?gi^}r70=B?kY&0oZ1ILQJCLVz9j{6K~i-I55l%N$`6DJtEiv@_3$ zG?uLyZrd$z?Wi6ci%#n(Fc|3gg>Ho#v`<9{x1Ax0EpQA}IlI)?V?6Ns%Gdy0H_NG( z1gGopEDnzB#wS=q8{6KMxe=sVKZk2P54sl$03WmE(xtX86ka3QnkV}RgdW?^;OdUu43K(yJ$LiLI_qMMzs z4oyHUGv$~Gm}L@|5fegK4_OsB4-G4V3EvA=dc=h9$t;jgRUqsXB&mR^Ra^mnI6GGz zD!>nBro7?`upSC<>gXdlL@Lt!f7W~Re>Af=I&J=;MJ<4+Q@rv2I6F@rHvWe*Q(p1L z--ghLbs>KepN4$!VzvBOEusTg?dsVC{6}V~bgBbmi|9b4YH?NgT6WetRE4i*ro7^+ zFa}k?;RHBjv|#16Z+L3Tkw5BUCDuuNqa>mxqrI!i9*|fbkKy4()uiKU$5m)3JKG(q z&~2G1w^5-ke1X875NNdv63g#Sbi9bPkXbuBwLmu{MVM*jE0(jyb>+3)wrJoyoMRGK zg7YwNBwwl8ZqyPylUdeMYlA@Y8#0Tj)8@J{WC>(Djme6{+v|1N8R@WZKb@I!tZzTb zBrczyur0s{hpY9IhmS;tfL{PVJvs|Nn^`KIHvH|04IiyhTmybOJ4YRAz)xnTyy65hwGRfj<)|__1^yfBeP68ZU5cL?H{U7y!Ahsou3X{{}Y)huXyY447I*M zf)Nw2@%o-kz#vF04+_jJt^%S`aXskE&QynbuqHF*71x97%!@Ne4%e%*A$^EigYn)~ z;hxO0>C_s8qlXFxB-bmh4R>Ydt3z$rpPBNCYeUMCf|=e`pqN=8ovMJ5XbrUW5%G36 zvoq6SyT2wg<&|%DZO%P13bcA}_qSyhNN??~RVLo<-<_SA4%_`ZGgDsic28eG@LRn% z{cmKJNvBPpi~$#0H}HY%{B+p*zml2qinsnE>ju8id-MO#%tGn3`EN_K_=_$V`1|Y( zb=dxYo0;;8xBpzMdJnS zFV^38K_cMd_HLKF5f^IjO1s6;Z9|&5ZuP3|KA1~Oq*MHP)J1kqJkxFC2m12{Ceb$d z?<~Q0(fq@yd815l_O!DKEf+a{+F3`>mjC0f&SugYXP7>kl=6Mo|GQfO2VFx5xTmi1 zx?Z?I*Wg`A?Yc($eFI(hjh^;t{Rt|YE#{wWllhBVi}at5bSv1P|NJ47xJ>*Sx^ z?p#RdKaEKL(N1vZj|48^(e2JfdRG^pA^cpoVh?(i5PMI(>i0#so?i;R{BM(d{5KcNFOIh3I2|{ z+j?uu+bTG)ilL{2;wyo?cNj#ys|!RMp9jR(ck}MT>{PYfay|%}-ntXwm%k^J)@x6C z8(e#eX4USWs^YUC!S7dEe8g7$HH5f+!~+a=UF*zaVpb2<7Qk(_3Ar)rh3?FtpP7ZM@Ezz+G4% z&SQ8q=^Uf0H^7yDto~RH0@#FaT-M51r;3ohIqQo()EZwoGeMVFtz z$vYOSCzvO_#L*Q^Z6=xkFjn&SZUN3urX0c(U~Uc z-3jSkYP4S8@^WdkLwoz2XHj8Eq(wwdbx1@H@9IR#)Px(*dV-TXQaOnP3UxX+k^=mi zPiG{RPBh}A6Z#_}RE81>hC*VGu5fPY1>Zr67szyv&Ox+bWOckw<|9Pr_0Zphrb!~> zudvpMyp8n#mC%1d8aB#u+>S&fb(NQCz9#`%aY^VBJAr{4GbKBc4S%w$*q z84~{s^p<&aZ^5sAAn}-54W@JTZn6YHbHx_2VfC25DoHQ*J}UPZEQokdXg`gb#*8g$ z(Fx?q`uwL);8tB6K7sJ62)+1bGFk7#MZAA#(c*GOU8nJzL?aKgCuoFJRk6@!Dpn^` zCBwNHHdBzfIf)g0I!`ZqGnv}oOfTEcW;{=2t1#2zy@?V`F%{oV2L5K)c2PVrG?`{0 z_R_HMyk9<1n zIsm$k)vNO~kYR&0jzg-I?8-cb-x=OKQ^vR8j#i4+eCy4vsW;<8Z?p3A#~21{3v_TL ze}4^UYB+z3SAm4{IjZR2H`+emzlGKQtMCfr*Ms9=8PrZ8hTaq#oqQ~ zJTM!Px8b-H!i9lcSQt_w&$OI>BtHL%xxg=CNAiSUU!`CFF4I)wcx!PM0q_|?J{+x5 zta3X^khqo}1PBDcM&fpbZ<^jZdlpr4AvxI^&}hha3ms@mi1+b|ec_Neng?=xYYQm0 zSZ0LZa@OAjd2T#ZovW0qW|2y`vcoyLAHp_V?pQkfV0G|d3LgpoW=dXI_3)M=) znkVh@cEA~-?+wG#K-=d1BW1j6!wK|u@%29x+8IupHET8Cdm?v3IEBgOwe;)4>1MgC zy)sf*a1^*y-ZkOE0QU5~auRhylF#hc{6*WED^!bC9!lCIc~RF0S(ezD8M)K_=(D?x z(LJL$7?eI0KW^~XC+NxGt+(Df_(0tPP%j$Q3e>G)Jlw1p#+}CgyT=dQGk)M+*L15mh0LDlS}S4?Acni-Z0>9)fNoXH7d2i-NrPQ9LYyA9Zr*3o>56| z0iW_zMMV;ob@7FEnN1c0G_IAajj}xjph|a?tyXR%5)!6d5JCn?g5NbJ(#CxH%psqU zUagj0mA7scn*}Q1X*95oON`+ z!#8fH+SXw2cjc6HGH z7-u8zcH96RV-#5n)pB#TVqApVUagA^ik@3CYu1QSq>c|ZQDRI!qFa8<1Z{9AWyxM) znVF<#Pg?b=n~Tulg2Thc!Gp%hdeahhpn6Q6IxJqpR57e3rR~juu6v>0puZQ3)rNQ( zI2s-v=7Mz=15q0sBAVKA!^u$B{j?!ck8EUP9L1r2}{*oTHuoyO;pjB1Vc z;S%cwI`f*Wr(3fM_Ox9vE;Og?hHKEXM#(bV1s5ZiULEynQLEDjjH0b9CifbVSLoq5 zgfj}I8>1Jyut~1bs50HMHO<`6I~2tcmdcbU5iNjGwG=B6R!b>IVG45)=lOcIGGfr3 zwP58AsMb9*WDcDh9`WC6jF2gdWSK%1=nYF>L-;u;0D?kophLX zPGvWSFx;p^a*Cuyv&NL^ih)eT|43q@Ekq?{gNja388-j~W*Q~RMIx*<(J2g^$KSLn z1xpBWavZ{Lm}SztDXSh36v-G53)Lo#TQhX(w%aiAS!zSTOd3)FND*l%FR+eJN?t_K zY7J(B<#1-GT01gyPCRBN$b!fu@!L;z?R;exoNE=A5(?R(;KcziJmx)QHZgodeGl0# zMw}_YH8d~l%<*vu8{eOR3?PuYcxaYuC3D;W!~%LDy_+l9g%XQPDtQ6K_=r0615rkr zK(4?zG#mY+S~2V4{#qepB#JLYR@L+GiE@0&c9_^wWcMo44I4&nUJ|I1-9Vg)A~U z>EsBS4Tfn%s4_Yja-rymaa=Mx$bfOZMyTbjh8b^77!!No3T+CT^Omy@7=2=7Vn5P0 zN9?CeymMk4iR-oQEfZcbaq`WrCb@kdSPjpEVwldGDU8Q=_fY(d?>?vQn$BHF#>bXJ zfL3@w+Cd+=(`Vpjb_i%smYM?4-fisPKYrJ}GWK=RNQI>RK_z<6NQ>cxgWz8P$L$lD?;wukT~Mi!ORunAX^RpPOT9@7oyg{J`2 ziC=T`HV=Gr3-*{uQp1@>h(M>JBb<)MYA(|$TJpQVgi7$unR`Vm@W2NoS`RTu3U7}X z4XOrNHVea_ICjM6S;Awg4j?M$JhSf{;ZAYCpYQhv0F-k2rO((%HjeU3DZwg7h>Uhl z<#d>eESZ&;SBI&ztI%kAjhdRxAk5nx)~H-%T(CibTeY+Ll8Pq&}drKqD@z7)o(w9>d3s3**LP9DRdz z8)YO8jETYl=%K}=F8nFXO>sd&pn&R76NQTBY#=G1UaLGkW<2h~Eh-aUU|0s%gOM2* zm7tggS$r-gU=Y)x3QAGsSm#es%@@Mp%_zGKQtiiT;I*B$`#_MYacb-+!UAr!U~`;< zIc=28hQMQjx)S>w-Z-}~LN6IHE&$Y``<Ma)};0b$el!IUkkVe6> z%k;NgojCx%WEN2WnvdJ}EI8~t_*n`*ys2ub<*{XQ$t-08f>vf8R%8tIXu-6=*H z>z0-YY%TgE=kg8wG5Si_sKh18LkTOc=qj3)ju>1j(4tczT|MRNs#MZ6bt07#FBsNz zO0^M#-=Kj`>FwhSliMfB{>{xp1BAZf=F|cj4m}UI7i9a@%wiEMIRZ)&z&~l%a(nz3 z-57r6=`3*=mE0ab^N4|XZ~3BGZdwPAs?Jb@2%%O`)idWW*X(r`FtgQx91xF>M!cqEKDe6ap6b+Hon*;&;3U!PQ7~tk73ehe|Wo32b zNJUu(rMhRBS#9UYD`V>G?{RrpjiDV@W8{w1hZ)g`9s!F_ql{r)M9_>}MsAts-^fqH zx(-JN?%s&eL~sC(B?9lX)dB6PJW6Pv2v_A=!Ze9c8v9%$ z!Ziybb97RC*_wyRRs@gh)a&{W-8+Q}l7=0PD%hl^NkTDDm%u8sf(7b08PN^asvz0E z17S~yBWjAJIVK%C2w8E}>6!Wm=FT{6(jX#IJQ`2TDK~c1( z>c=$MtGJ24GH6^G-t*;*ZYJeSI3`rxK%r65U<^W@08pR-Ini%O)xo&Y_Z&%V(J)Lo zf_|*XU|m7Sr$fmq2<=ohJ#3^&P+I2;NeHqKQ$1MqbTL;OHtv&L+-KBqALQjGYUCNM z%ee>&732U2Rb@}=283%axC*N)WJu8``Bo9_&5K?aylup=ML3Flw{UF)4`Hhxegldy zpCU%IF@%(4Nax0h5sLL_qqs~Mn>dPu0VJp;LL4}nm^h2aw8*OChLHsG6E&3Ff|8-` zDO2kcZ;+v-&(ks}4kP^(t!3i7Sz40BcVo2Jhwr|k?wZaqWJHiDaph0$^wGN!Te@X$ z)2;8FvMYP7%0)x0kwe%bG<}MRJq}~YVD;f;GiK2D?PQ2H1cOSRB40HGSr=Jo+8MdzT?%y`csa#P}pAtZW_^r9l{;f7bzIIV3C6Gy%aBq ztcX|<4$(wymCF_iFU6xlD(Zh;ERUi1CPqv>#>A8Rh>>WI5qFZlv;Zp{;?mw3IOB?o zV8sI|7l#-{roi{6goGFqStWLQ$ww5?{AiqsvXGZa%!d~Rt z%Bg=x&QlyIvTT5tT_HYhf-v0FDg2on-9Ksvfg;Fy4C`>MN-=ljeDL^4m*SKmPEaL} zOf;m@DS14mkf>a!bP}Nualravad>Kn`buuN7QFQ1H9!I!1xVL8wbqOH%c;pd#U`d| zv6dQ>Z?kr}QLSM8&aj}V^c1DyF&)H3_&KmTG!1fA(@A(rF$bEUf&$8*j?yZM=>)+E zjzjpK*nH*s`OF> zLUu<2%ql{HDz#M-)QOTq8*`LpRQ6CE$GnJQ1uG_VCx#7PC#r|fsSPHzDO!D@+t7(2 z9&@KGgPbM!Ji_WhqYZ0j+=v;?po!V4pbEmv62&O{9Z!U;Y?}h)U5PSEHIo)~!6XI7 zG%#aF_>^iSX=V|tpkzc|C<1F&xPETAvt24 zQOgC+>BD2Vbx2v2S%6V!-yPxGD+|FkpP>TYY@)bs_c{B9oQ@wUYVo)P0@l=*JQofQ$>5|3>7!}$hg zkldt>Cb&auKi;U;@-+nXX~|K@dISq$^gMn`9Z4#sp82^%$Pa{-xsfqI)!txn#5mkI z0JY)>Bp5nbrCBSn-bSbv5V+viA1)L%7%vgHJf~Ecs;{LE(X6N~i&Gk=wlvNU8bh?N zVn{Ddx!N{LY%zNi$FMNZpB5g`Wi1%n^SmsbFG2V z{D7cc9bE~vw)f4*Tjle72iIWWA(!Ifz_ zR74~b^Fa}8RvW{CD9yT+!yjHye&(K$mqj?ET(rF{Cuv9p=WU)~dHUALgHI_H1wMaz z#CZOV!4n>jpT3ovC;Z}hCXl=JwzFuKQr((q;!KjKa?ii<%t*+sG9jdqE5)J>%2M`_Vr z==JoE$Var59)(o1h83iwYHCtUt}7ySmM)g)`Kq6)cnxJZI-=aLa2~kRNWP1yQsbw> zGYojCz9qAk-UkvCOpG%z?HW1^7+}dxEj%DOkog@dJ27D*q(8-A6T-~Sv0yFEGLOsp zJ0P!RVp^^&gDpm@y{wH^gxflz4^MH&~W0NA5ZQg%^Nfh**N?f56Frz8`%hAK!j3N{Wx$D#9CD*TZ>M_mPk`3=5jx{jD;nH z<3@SZKfgvDa8dK(%Om)wA?HzPZWK1BlwICDl|PbZ3RtRp4F%I;6m~3Cph{FC2RhnI{o| z5WB9j4~0=u%QGJOV|5d5@L~G44nD7@tgEnRsTJ&!t3}2<0ZbmJPkzcRj5wc$kD6e9 zgGllz?1Vw^(8b1e?B~I08hl29JfMIKS1=QX`LjAQ)#$6^g!jarbJ~DzoH=h{n}&!L z@s3IPHuWA~AhCE+G#V@%mT0Ik?E(xMKT7KW>Id$|nZ%@M??3$Xh>zLZZm3H-{2V{i%k2xLy z2U@)zv?E(&?Onzz4(hC82Ofp1^ndhPWqIt|b6Qz$zDU-E4zn^JA!2vH=!SUF*;a31 ziKtf)XG;B42Kq~xd_G8CNtvi{M4GbVQj>GK^cA4yx%U)h(4>P#x>G7RDB)LzVo^;c zUFNf-$cjLp0hge>>>G+VN;TCcI8Nf|DKepWtH_e7usjrDJ0LR}QdTvA!8vq=MP6S~ zvF%{Qcx0NUtVuVIo}-B+KN3OgLfphV3hB*CDIDGj;#J5v9MV{7QOd{Dp(39{8#5@l zMVX@-PWkB{Gz`gS&YwGYkp5yr1{vq`w;XhI4n$sYrF|Rc$-Z%2Bi%q{q)fcIBQ28< zh0;?LNzy=~h$JO2^#bj0SRn;bJX4mnqt*^<YbG&a9mHTaxjPpKO5Q6@ehL7hL9euS2q$n8l!m@V@(EzfRH zK4~=xiYontkc^}#aE!@<{~A@?H{3y-uQzs zfV5Pyg%!Z_6($ap*;b%C$j$#~QUA1vkio$qc0|Ky$R8R3^KzT7tPJlM0&~2fSCUp; zP1q(}_i!#*qWvarA-y@GGMAUzxbb>0gMHjMuYf!R`X@CKrvrqxap!59aL@vN_0*7* zD=}TD8h13J|~exfQ9Z8f|}YqFU9!8d4POab4xQA_bqO14=0E#RUGAi#yS zcA^OY&{F6GITBk24R{87dqc9C13MvUp>Vpiv^`nAQlSvu4_c~PsGKfNX0Oc_Xi^Yg z+#~S!4g$=;*;kCpEzEuvyogq$P`> zYICLjzPWp`%`N%VrSXYxL0X$rm+qf9g2aSVmmZ#=BW*W@Vh~5<+e#C2NZS&fE0(EG zO+16tKDp3IK77l>_u*l`n#7h*-!<`WJiR74MkDjQXX0m&XM2bdb;dMr4*b_gH(mW^ zaX{3E>9B0xr}reCdd+ux=eb2Tpox diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html index b146ad7..7896854 100644 --- a/docs/build/html/_modules/index.html +++ b/docs/build/html/_modules/index.html @@ -72,7 +72,6 @@

All modules for which code is available

diff --git a/docs/build/html/api/WPSProtocol.html b/docs/build/html/api/WPSProtocol.html index 785c3e6..47f7e2c 100644 --- a/docs/build/html/api/WPSProtocol.html +++ b/docs/build/html/api/WPSProtocol.html @@ -63,19 +63,7 @@
  • WPSresource_Hamiltonian_TimeEvolOp_IsingType()
  • -
  • WPSProtocol.Part_2A module -
  • +
  • WPSProtocol.Part_2A module
  • Module contents
  • @@ -209,92 +197,8 @@

    Submodules -

    WPSProtocol.Part_2A module

    -
    -
    -WPSProtocol.Part_2A.H_noise(params, **kwargs)[source]
    -

    Generates (S) type Hamiltonian for N number of qubits. -'S' can be X, Y, Z. -For eg: (X+Y) Hamiltonian, params['opH'] = [X, Y]. -(X+Y+Z) Hamiltonian, params['opH'] = [X, Y, Z].

    -
    - -
    -
    -WPSProtocol.Part_2A.TimeEvolOpForTFH(params, **kwargs)[source]
    -

    Returns time evolution operator of -Args: params (dictionary) -kwargs: TFH (list of Toggling frame hamiltonian)

    -
    - -
    -
    -WPSProtocol.Part_2A.TogglingFrameH(params, **kwargs)[source]
    -

    Returns list of Toggling Frame Hamiltonians of (X+Y) Hamiltonian for the complete pulse sequence. -Args: params (dictionary)

    -
    - -
    -
    -WPSProtocol.Part_2A.TogglingFrame_Ising(params, **kwargs)[source]
    -

    Returns toggling frame hamiltonian of the Ising Model.

    -
    - -
    -
    -WPSProtocol.Part_2A.avgHFromTogglingFrameH(params, **kwargs)[source]
    -

    Returns Average Hamiltonian given a list of Toggling Frame Hamiltonians. -Args: params (dictionary) -kwargs: TFH [Required]

    -
    - -
    -
    -WPSProtocol.Part_2A.initialVals(params, **kwargs)[source]
    -

    Initializes initial_wavefunction and it's normalized form based on number of qubits. -Returns: -n: length of the pulse sequence, -N: total number of qubits, -r: coupling constants generated randomly for N qubits, -op: params['opH'], -pulses: params['pulses'], -psi_nmn: normalized initial wavefunction randomly generated from Gaussian Distribution, -R: inverse of r, -alpha: extent to which the qubits can interact, -Args: params: dictionary

    -
    - -
    -
    -WPSProtocol.Part_2A.normalizeWF(psi, **kwargs)[source]
    -

    Returns a normalized wavefunction. -Args: psi - a column vector.

    -
    - -
    -
    -WPSProtocol.Part_2A.sparseMatrices(a, **kwargs)[source]
    -

    Generates sparse matrices for a given dense matrix. -Args: a - a 2D numpy array

    -
    - -
    -
    -WPSProtocol.Part_2A.tensorOperators(matrix2D, **kwargs)[source]
    -

    Returns tensor product of an operator acting on specific qubits on the system. -Args: matrix2D - a 2X2 dim numpy array. -kwargs: a - no. of sites to the left of the matrix2D, -b - no.of sites to the right of the matrix2D.

    -
    - -
    -
    -WPSProtocol.Part_2A.utimeOpH(params, **kwargs)[source]
    -

    Returns list of time evolution of the Hamiltonian for discrete time steps, and list of time_steps. -kwargs: H [Required] Hamiltonian.

    -
    - +
    +

    WPSProtocol.Part_2A module

    Module contents

    diff --git a/docs/build/html/api/modules.html b/docs/build/html/api/modules.html index 5473cd5..0052d0e 100644 --- a/docs/build/html/api/modules.html +++ b/docs/build/html/api/modules.html @@ -97,19 +97,7 @@

    WPSProtocolWPSresource_Hamiltonian_TimeEvolOp_IsingType() -
  • WPSProtocol.Part_2A module -
  • +
  • WPSProtocol.Part_2A module
  • Module contents
  • diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index fc1f3e3..06a46b4 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -73,42 +73,19 @@

    Index

    - A - | H - | I + I | M | N | S | T - | U | W
    -

    A

    - - -
    - -

    H

    - - -
    -

    I

    @@ -124,8 +101,6 @@

    M

  • WPSProtocol.InitialFunctions
  • WPSProtocol.Module_WalshPSeq -
  • -
  • WPSProtocol.Part_2A
  • @@ -135,11 +110,7 @@

    N

    @@ -147,11 +118,7 @@

    S

    @@ -159,26 +126,6 @@

    T

    - -
    - -

    U

    - -
    @@ -215,13 +162,6 @@

    W

    -
  • - WPSProtocol.Part_2A - -
  • WPSresource_Hamiltonian_TimeEvolOp_IsingType() (in module WPSProtocol.Module_WalshPSeq) diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index bcdfa82..073420c 100644 --- a/docs/build/html/objects.inv +++ b/docs/build/html/objects.inv @@ -2,4 +2,8 @@ # Project: WalshPulSeqProtocol # Version: # The remainder of this file is compressed using zlib. -xڭMO0 A qZ8e@+Ӛ."CN_O@k.Ue}i&ĐӛȮh~rIq 6s3W*w B9H 8j0c*Kfр#syn֮~|({R档5GTa1/=qКg$:ԠMArHqP6rU.7$O0.;[}4q;dhw2bQYږ؀p$ilHp0]:R֡*WZso̺bRP5_! C}*s+tQ_?k^G۫HQ$9b~T$]KjI%Q9h|87.~5{?dƭj}yo \ No newline at end of file +xڭN0y +#8WD!U#8Kca{ )M|ܢGf%[Œ[mRy%/^4j^095 4d}rw{*&7(Q.XP kˡxbJHZ0=SdN1dO Η9I{Ȱ01Cp|M֠.3H +2X6؟ds$G#1ղ j3ڑR+О.v#SMn [M{Y^c-zQC?} \ No newline at end of file diff --git a/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html index 96df74c..8d32cb7 100644 --- a/docs/build/html/py-modindex.html +++ b/docs/build/html/py-modindex.html @@ -99,11 +99,6 @@

    Python Module Index

        WPSProtocol.Module_WalshPSeq - - -     - WPSProtocol.Part_2A - diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index c67204c..1f81e83 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/WPSProtocol", "api/modules", "index"], "filenames": ["api\\WPSProtocol.rst", "api\\modules.rst", "index.rst"], "titles": ["WPSProtocol package", "WPSProtocol", "Welcome to WalshPulSeqProtocol's documentation!"], "terms": {"packag": [1, 2], "submodul": 1, "initialfunct": 1, "modul": [1, 2], "module_rotationangleerrorsdoubleaverag": [], "module_walshpseq": 1, "part_2a": 1, "testingfil": [], "content": 1, "wpsprotocol": 2, "index": [0, 2], "search": 2, "page": 2, "creat": 0, "mon": 0, "jun": 0, "3": 0, "16": 0, "27": 0, "28": 0, "2024": 0, "author": 0, "jessica": 0, "initialv": [0, 1], "param": 0, "kwarg": 0, "sourc": 0, "initi": 0, "initial_wavefunct": 0, "": 0, "normal": 0, "form": 0, "base": 0, "number": 0, "qubit": 0, "return": 0, "n": 0, "length": 0, "puls": 0, "sequenc": 0, "total": 0, "r": 0, "coupl": 0, "constant": 0, "gener": 0, "randomli": 0, "op": 0, "oph": 0, "psi_nmn": 0, "wavefunct": 0, "from": 0, "gaussian": 0, "distribut": 0, "invers": 0, "alpha": 0, "extent": 0, "which": 0, "can": 0, "interact": 0, "arg": 0, "dictionari": 0, "normalizewf": [0, 1], "psi": 0, "column": 0, "vector": 0, "sparsematric": [0, 1], "spars": 0, "matric": 0, "given": 0, "dens": 0, "matrix": 0, "2d": 0, "numpi": 0, "arrai": 0, "tensoroper": [0, 1], "matrix2d": 0, "tensor": 0, "product": 0, "an": 0, "oper": 0, "act": 0, "specif": 0, "system": 0, "2x2": 0, "dim": 0, "site": 0, "left": 0, "b": 0, "right": 0, "thu": 0, "6": 0, "11": 0, "48": 0, "00": 0, "walsh": 0, "dynam": 0, "decoupl": 0, "long": 0, "rang": 0, "wf_condit": [0, 1], "tupleprdt": 0, "i": 0, "list": 0, "tupl": 0, "sign": 0, "wxi": 0, "wyi": 0, "pauli": 0, "depend": 0, "eq": 0, "8": 0, "paper": 0, "wf_gener": [0, 1], "w_x": 0, "w_y": 0, "requir": 0, "one": 0, "element": 0, "consist": 0, "x": 0, "y": 0, "part": 0, "q": 0, "option": 0, "give": 0, "time": 0, "h": 0, "ha": 0, "itself": 0, "us": 0, "wf": 0, "highest": 0, "wx": 0, "wy": 0, "lstpaulop": 0, "w": 0, "associ": 0, "wf_wilist": [0, 1], "each": 0, "pseq": 0, "wpseq_timeevolop": [0, 1], "To": 0, "input": 0, "ani": 0, "hamiltonian": 0, "other": 0, "than": 0, "xy": 0, "hr": 0, "unitari": 0, "evolut": 0, "per": 0, "eq1": 0, "interv": 0, "\u03c4": 0, "step": 0, "wpsresource_hamiltonian_timeevolop_isingtyp": [0, 1], "resourc": 0, "its": 0, "h_nois": [0, 1], "type": 0, "z": 0, "For": 0, "eg": 0, "timeevolopfortfh": [0, 1], "tfh": 0, "toggl": 0, "frame": 0, "togglingframeh": [0, 1], "complet": 0, "togglingframe_is": [0, 1], "Ising": 0, "model": 0, "avghfromtogglingframeh": [0, 1], "averag": 0, "utimeoph": [0, 1], "discret": 0, "time_step": 0}, "objects": {"": [[0, 0, 0, "-", "WPSProtocol"]], "WPSProtocol": [[0, 0, 0, "-", "InitialFunctions"], [0, 0, 0, "-", "Module_WalshPSeq"], [0, 0, 0, "-", "Part_2A"]], "WPSProtocol.InitialFunctions": [[0, 1, 1, "", "initialVals"], [0, 1, 1, "", "normalizeWF"], [0, 1, 1, "", "sparseMatrices"], [0, 1, 1, "", "tensorOperators"]], "WPSProtocol.Module_WalshPSeq": [[0, 1, 1, "", "WF_Conditions"], [0, 1, 1, "", "WF_Generate"], [0, 1, 1, "", "WF_WIList"], [0, 1, 1, "", "WPSeq_TimeEvolOp"], [0, 1, 1, "", "WPSresource_Hamiltonian_TimeEvolOp_IsingType"]], "WPSProtocol.Part_2A": [[0, 1, 1, "", "H_noise"], [0, 1, 1, "", "TimeEvolOpForTFH"], [0, 1, 1, "", "TogglingFrameH"], [0, 1, 1, "", "TogglingFrame_Ising"], [0, 1, 1, "", "avgHFromTogglingFrameH"], [0, 1, 1, "", "initialVals"], [0, 1, 1, "", "normalizeWF"], [0, 1, 1, "", "sparseMatrices"], [0, 1, 1, "", "tensorOperators"], [0, 1, 1, "", "utimeOpH"]]}, "objtypes": {"0": "py:module", "1": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"]}, "titleterms": {"wpsprotocol": [0, 1], "packag": 0, "submodul": 0, "initialfunct": 0, "modul": 0, "module_rotationangleerrorsdoubleaverag": [], "module_walshpseq": 0, "part_2a": 0, "testingfil": [], "content": [0, 2], "welcom": 2, "walshpulseqprotocol": 2, "": 2, "document": 2, "indic": 2, "tabl": 2}, "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.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 58}, "alltitles": {"WPSProtocol package": [[0, "wpsprotocol-package"]], "Submodules": [[0, "submodules"]], "WPSProtocol.InitialFunctions module": [[0, "module-WPSProtocol.InitialFunctions"]], "WPSProtocol.Module_WalshPSeq module": [[0, "module-WPSProtocol.Module_WalshPSeq"]], "WPSProtocol.Part_2A module": [[0, "module-WPSProtocol.Part_2A"]], "Module contents": [[0, "module-WPSProtocol"]], "WPSProtocol": [[1, "wpsprotocol"]], "Welcome to WalshPulSeqProtocol's documentation!": [[2, "welcome-to-walshpulseqprotocol-s-documentation"]], "Contents:": [[2, null]], "Indices and tables": [[2, "indices-and-tables"]]}, "indexentries": {"h_noise() (in module wpsprotocol.part_2a)": [[0, "WPSProtocol.Part_2A.H_noise"]], "timeevolopfortfh() (in module wpsprotocol.part_2a)": [[0, "WPSProtocol.Part_2A.TimeEvolOpForTFH"]], "togglingframeh() (in module wpsprotocol.part_2a)": [[0, "WPSProtocol.Part_2A.TogglingFrameH"]], "togglingframe_ising() (in module wpsprotocol.part_2a)": [[0, "WPSProtocol.Part_2A.TogglingFrame_Ising"]], "wf_conditions() (in module wpsprotocol.module_walshpseq)": [[0, "WPSProtocol.Module_WalshPSeq.WF_Conditions"]], "wf_generate() (in module wpsprotocol.module_walshpseq)": [[0, "WPSProtocol.Module_WalshPSeq.WF_Generate"]], "wf_wilist() (in module wpsprotocol.module_walshpseq)": [[0, "WPSProtocol.Module_WalshPSeq.WF_WIList"]], "wpsprotocol": [[0, "module-WPSProtocol"]], "wpsprotocol.initialfunctions": [[0, "module-WPSProtocol.InitialFunctions"]], "wpsprotocol.module_walshpseq": [[0, "module-WPSProtocol.Module_WalshPSeq"]], "wpsprotocol.part_2a": [[0, "module-WPSProtocol.Part_2A"]], "wpseq_timeevolop() (in module wpsprotocol.module_walshpseq)": [[0, "WPSProtocol.Module_WalshPSeq.WPSeq_TimeEvolOp"]], "wpsresource_hamiltonian_timeevolop_isingtype() (in module wpsprotocol.module_walshpseq)": [[0, "WPSProtocol.Module_WalshPSeq.WPSresource_Hamiltonian_TimeEvolOp_IsingType"]], "avghfromtogglingframeh() (in module wpsprotocol.part_2a)": [[0, "WPSProtocol.Part_2A.avgHFromTogglingFrameH"]], "initialvals() (in module wpsprotocol.initialfunctions)": [[0, "WPSProtocol.InitialFunctions.initialVals"]], "initialvals() (in module wpsprotocol.part_2a)": [[0, "WPSProtocol.Part_2A.initialVals"]], "module": [[0, "module-WPSProtocol"], [0, "module-WPSProtocol.InitialFunctions"], [0, "module-WPSProtocol.Module_WalshPSeq"], [0, "module-WPSProtocol.Part_2A"]], "normalizewf() (in module wpsprotocol.initialfunctions)": [[0, "WPSProtocol.InitialFunctions.normalizeWF"]], "normalizewf() (in module wpsprotocol.part_2a)": [[0, "WPSProtocol.Part_2A.normalizeWF"]], "sparsematrices() (in module wpsprotocol.initialfunctions)": [[0, "WPSProtocol.InitialFunctions.sparseMatrices"]], "sparsematrices() (in module wpsprotocol.part_2a)": [[0, "WPSProtocol.Part_2A.sparseMatrices"]], "tensoroperators() (in module wpsprotocol.initialfunctions)": [[0, "WPSProtocol.InitialFunctions.tensorOperators"]], "tensoroperators() (in module wpsprotocol.part_2a)": [[0, "WPSProtocol.Part_2A.tensorOperators"]], "utimeoph() (in module wpsprotocol.part_2a)": [[0, "WPSProtocol.Part_2A.utimeOpH"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/WPSProtocol", "api/modules", "index"], "filenames": ["api\\WPSProtocol.rst", "api\\modules.rst", "index.rst"], "titles": ["WPSProtocol package", "WPSProtocol", "Welcome to WalshPulSeqProtocol's documentation!"], "terms": {"packag": [1, 2], "submodul": 1, "initialfunct": 1, "modul": [1, 2], "module_rotationangleerrorsdoubleaverag": [], "module_walshpseq": 1, "part_2a": 1, "testingfil": [], "content": 1, "wpsprotocol": 2, "index": [0, 2], "search": 2, "page": 2, "creat": 0, "mon": 0, "jun": 0, "3": 0, "16": 0, "27": 0, "28": 0, "2024": 0, "author": 0, "jessica": 0, "initialv": [0, 1], "param": 0, "kwarg": 0, "sourc": 0, "initi": 0, "initial_wavefunct": 0, "": 0, "normal": 0, "form": 0, "base": 0, "number": 0, "qubit": 0, "return": 0, "n": 0, "length": 0, "puls": 0, "sequenc": 0, "total": 0, "r": 0, "coupl": 0, "constant": 0, "gener": 0, "randomli": 0, "op": 0, "oph": 0, "psi_nmn": 0, "wavefunct": 0, "from": 0, "gaussian": 0, "distribut": 0, "invers": 0, "alpha": 0, "extent": 0, "which": 0, "can": 0, "interact": 0, "arg": 0, "dictionari": 0, "normalizewf": [0, 1], "psi": 0, "column": 0, "vector": 0, "sparsematric": [0, 1], "spars": 0, "matric": 0, "given": 0, "dens": 0, "matrix": 0, "2d": 0, "numpi": 0, "arrai": 0, "tensoroper": [0, 1], "matrix2d": 0, "tensor": 0, "product": 0, "an": 0, "oper": 0, "act": 0, "specif": 0, "system": 0, "2x2": 0, "dim": 0, "site": 0, "left": 0, "b": 0, "right": 0, "thu": 0, "6": 0, "11": 0, "48": 0, "00": 0, "walsh": 0, "dynam": 0, "decoupl": 0, "long": 0, "rang": 0, "wf_condit": [0, 1], "tupleprdt": 0, "i": 0, "list": 0, "tupl": 0, "sign": 0, "wxi": 0, "wyi": 0, "pauli": 0, "depend": 0, "eq": 0, "8": 0, "paper": 0, "wf_gener": [0, 1], "w_x": 0, "w_y": 0, "requir": 0, "one": 0, "element": 0, "consist": 0, "x": 0, "y": 0, "part": 0, "q": 0, "option": 0, "give": 0, "time": 0, "h": 0, "ha": 0, "itself": 0, "us": 0, "wf": 0, "highest": 0, "wx": 0, "wy": 0, "lstpaulop": 0, "w": 0, "associ": 0, "wf_wilist": [0, 1], "each": 0, "pseq": 0, "wpseq_timeevolop": [0, 1], "To": 0, "input": 0, "ani": 0, "hamiltonian": 0, "other": 0, "than": 0, "xy": 0, "hr": 0, "unitari": 0, "evolut": 0, "per": 0, "eq1": 0, "interv": 0, "\u03c4": 0, "step": 0, "wpsresource_hamiltonian_timeevolop_isingtyp": [0, 1], "resourc": 0, "its": 0, "h_nois": [], "type": [], "z": [], "For": [], "eg": [], "timeevolopfortfh": [], "tfh": [], "toggl": [], "frame": [], "togglingframeh": [], "complet": [], "togglingframe_is": [], "Ising": [], "model": [], "avghfromtogglingframeh": [], "averag": [], "utimeoph": [], "discret": [], "time_step": []}, "objects": {"": [[0, 0, 0, "-", "WPSProtocol"]], "WPSProtocol": [[0, 0, 0, "-", "InitialFunctions"], [0, 0, 0, "-", "Module_WalshPSeq"]], "WPSProtocol.InitialFunctions": [[0, 1, 1, "", "initialVals"], [0, 1, 1, "", "normalizeWF"], [0, 1, 1, "", "sparseMatrices"], [0, 1, 1, "", "tensorOperators"]], "WPSProtocol.Module_WalshPSeq": [[0, 1, 1, "", "WF_Conditions"], [0, 1, 1, "", "WF_Generate"], [0, 1, 1, "", "WF_WIList"], [0, 1, 1, "", "WPSeq_TimeEvolOp"], [0, 1, 1, "", "WPSresource_Hamiltonian_TimeEvolOp_IsingType"]]}, "objtypes": {"0": "py:module", "1": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"]}, "titleterms": {"wpsprotocol": [0, 1], "packag": 0, "submodul": 0, "initialfunct": 0, "modul": 0, "module_rotationangleerrorsdoubleaverag": [], "module_walshpseq": 0, "part_2a": 0, "testingfil": [], "content": [0, 2], "welcom": 2, "walshpulseqprotocol": 2, "": 2, "document": 2, "indic": 2, "tabl": 2}, "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.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 58}, "alltitles": {"WPSProtocol": [[1, "wpsprotocol"]], "Welcome to WalshPulSeqProtocol's documentation!": [[2, "welcome-to-walshpulseqprotocol-s-documentation"]], "Contents:": [[2, null]], "Indices and tables": [[2, "indices-and-tables"]], "WPSProtocol package": [[0, "wpsprotocol-package"]], "Submodules": [[0, "submodules"]], "WPSProtocol.InitialFunctions module": [[0, "module-WPSProtocol.InitialFunctions"]], "WPSProtocol.Module_WalshPSeq module": [[0, "module-WPSProtocol.Module_WalshPSeq"]], "WPSProtocol.Part_2A module": [[0, "wpsprotocol-part-2a-module"]], "Module contents": [[0, "module-WPSProtocol"]]}, "indexentries": {"wf_conditions() (in module wpsprotocol.module_walshpseq)": [[0, "WPSProtocol.Module_WalshPSeq.WF_Conditions"]], "wf_generate() (in module wpsprotocol.module_walshpseq)": [[0, "WPSProtocol.Module_WalshPSeq.WF_Generate"]], "wf_wilist() (in module wpsprotocol.module_walshpseq)": [[0, "WPSProtocol.Module_WalshPSeq.WF_WIList"]], "wpsprotocol": [[0, "module-WPSProtocol"]], "wpsprotocol.initialfunctions": [[0, "module-WPSProtocol.InitialFunctions"]], "wpsprotocol.module_walshpseq": [[0, "module-WPSProtocol.Module_WalshPSeq"]], "wpseq_timeevolop() (in module wpsprotocol.module_walshpseq)": [[0, "WPSProtocol.Module_WalshPSeq.WPSeq_TimeEvolOp"]], "wpsresource_hamiltonian_timeevolop_isingtype() (in module wpsprotocol.module_walshpseq)": [[0, "WPSProtocol.Module_WalshPSeq.WPSresource_Hamiltonian_TimeEvolOp_IsingType"]], "initialvals() (in module wpsprotocol.initialfunctions)": [[0, "WPSProtocol.InitialFunctions.initialVals"]], "module": [[0, "module-WPSProtocol"], [0, "module-WPSProtocol.InitialFunctions"], [0, "module-WPSProtocol.Module_WalshPSeq"]], "normalizewf() (in module wpsprotocol.initialfunctions)": [[0, "WPSProtocol.InitialFunctions.normalizeWF"]], "sparsematrices() (in module wpsprotocol.initialfunctions)": [[0, "WPSProtocol.InitialFunctions.sparseMatrices"]], "tensoroperators() (in module wpsprotocol.initialfunctions)": [[0, "WPSProtocol.InitialFunctions.tensorOperators"]]}}) \ No newline at end of file diff --git a/src/WPSProtocol/.ipynb_checkpoints/InitialFunctions-checkpoint.py b/src/WPSProtocol/.ipynb_checkpoints/InitialFunctions-checkpoint.py index fb0365f..e8a328e 100644 --- a/src/WPSProtocol/.ipynb_checkpoints/InitialFunctions-checkpoint.py +++ b/src/WPSProtocol/.ipynb_checkpoints/InitialFunctions-checkpoint.py @@ -4,30 +4,30 @@ @author: Jessica """ -# import numpy as np -# from numpy import linalg -# from scipy import linalg as splinalg -# import matplotlib.pyplot as plt -# from scipy import sparse as sp -# import scipy.sparse.linalg -# from functools import reduce -# import itertools -# from scipy import linalg -# from scipy.linalg import expm +import numpy as np +from numpy import linalg +from scipy import linalg as splinalg +import matplotlib.pyplot as plt +from scipy import sparse as sp +import scipy.sparse.linalg +from functools import reduce +import itertools +from scipy import linalg +from scipy.linalg import expm -# # Pauli Matrices -# sigmaZ = sp.csc_matrix([[1, 0], [0, -1]]) -# sigmaX = sp.csc_matrix([[0, 1], [1, 0]]) -# sigmaY = sp.csc_matrix([[0, -1j], [1j, 0]]) -# sigmaI = sp.csc_matrix([[1, 0], [0, 1]]) -# sigmaH = sp.csc_matrix([[1, 1], [1, -1]]) +# Pauli Matrices +sigmaZ = sp.csc_matrix([[1, 0], [0, -1]]) +sigmaX = sp.csc_matrix([[0, 1], [1, 0]]) +sigmaY = sp.csc_matrix([[0, -1j], [1j, 0]]) +sigmaI = sp.csc_matrix([[1, 0], [0, 1]]) +sigmaH = sp.csc_matrix([[1, 1], [1, -1]]) -# Z = np.array([[1, 0], [0, -1]]) -# X = np.array([[0, 1], [1, 0]]) -# Y = np.array([[0, -1j], [1j, 0]]) -# I = np.array([[1, 0], [0, 1]]) +Z = np.array([[1, 0], [0, -1]]) +X = np.array([[0, 1], [1, 0]]) +Y = np.array([[0, -1j], [1j, 0]]) +I = np.array([[1, 0], [0, 1]]) -# H = np.array([[1, 1], [1, -1]]) +H = np.array([[1, 1], [1, -1]]) def normalizeWF(psi,**kwargs): ''' diff --git a/src/WPSProtocol/.ipynb_checkpoints/Module_WalshPSeq-checkpoint.py b/src/WPSProtocol/.ipynb_checkpoints/Module_WalshPSeq-checkpoint.py index 95cfef0..14c9c69 100644 --- a/src/WPSProtocol/.ipynb_checkpoints/Module_WalshPSeq-checkpoint.py +++ b/src/WPSProtocol/.ipynb_checkpoints/Module_WalshPSeq-checkpoint.py @@ -7,22 +7,22 @@ @author: Jessica """ -# import numpy as np -# from numpy import linalg -# from scipy import linalg as splinalg -# import matplotlib.pyplot as plt -# from scipy import sparse as sp -# import scipy.sparse.linalg -# from functools import reduce -# import itertools -# from scipy import linalg -# from scipy.linalg import expm +import numpy as np +from numpy import linalg +from scipy import linalg as splinalg +import matplotlib.pyplot as plt +from scipy import sparse as sp +import scipy.sparse.linalg +from functools import reduce +import itertools +from scipy import linalg +from scipy.linalg import expm -# Z = np.array([[1, 0], [0, -1]]) -# X = np.array([[0, 1], [1, 0]]) -# Y = np.array([[0, -1j], [1j, 0]]) -# I = np.array([[1, 0], [0, 1]]) -# H = np.array([[1, 1], [1, -1]]) +Z = np.array([[1, 0], [0, -1]]) +X = np.array([[0, 1], [1, 0]]) +Y = np.array([[0, -1j], [1j, 0]]) +I = np.array([[1, 0], [0, 1]]) +H = np.array([[1, 1], [1, -1]]) def WF_Conditions(tupleprdt, **kwargs): diff --git a/src/WPSProtocol/.ipynb_checkpoints/Part_2A-checkpoint.py b/src/WPSProtocol/.ipynb_checkpoints/Part_2A-checkpoint.py index e738032..c126a7f 100644 --- a/src/WPSProtocol/.ipynb_checkpoints/Part_2A-checkpoint.py +++ b/src/WPSProtocol/.ipynb_checkpoints/Part_2A-checkpoint.py @@ -15,7 +15,7 @@ from scipy.linalg import expm -Pauli Matrices +# Pauli Matrices sigmaZ = sp.csc_matrix([[1, 0], [0, -1]]) sigmaX = sp.csc_matrix([[0, 1], [1, 0]]) sigmaY = sp.csc_matrix([[0, -1j], [1j, 0]]) diff --git a/src/WPSProtocol/InitialFunctions.py b/src/WPSProtocol/InitialFunctions.py index fb0365f..e8a328e 100644 --- a/src/WPSProtocol/InitialFunctions.py +++ b/src/WPSProtocol/InitialFunctions.py @@ -4,30 +4,30 @@ @author: Jessica """ -# import numpy as np -# from numpy import linalg -# from scipy import linalg as splinalg -# import matplotlib.pyplot as plt -# from scipy import sparse as sp -# import scipy.sparse.linalg -# from functools import reduce -# import itertools -# from scipy import linalg -# from scipy.linalg import expm +import numpy as np +from numpy import linalg +from scipy import linalg as splinalg +import matplotlib.pyplot as plt +from scipy import sparse as sp +import scipy.sparse.linalg +from functools import reduce +import itertools +from scipy import linalg +from scipy.linalg import expm -# # Pauli Matrices -# sigmaZ = sp.csc_matrix([[1, 0], [0, -1]]) -# sigmaX = sp.csc_matrix([[0, 1], [1, 0]]) -# sigmaY = sp.csc_matrix([[0, -1j], [1j, 0]]) -# sigmaI = sp.csc_matrix([[1, 0], [0, 1]]) -# sigmaH = sp.csc_matrix([[1, 1], [1, -1]]) +# Pauli Matrices +sigmaZ = sp.csc_matrix([[1, 0], [0, -1]]) +sigmaX = sp.csc_matrix([[0, 1], [1, 0]]) +sigmaY = sp.csc_matrix([[0, -1j], [1j, 0]]) +sigmaI = sp.csc_matrix([[1, 0], [0, 1]]) +sigmaH = sp.csc_matrix([[1, 1], [1, -1]]) -# Z = np.array([[1, 0], [0, -1]]) -# X = np.array([[0, 1], [1, 0]]) -# Y = np.array([[0, -1j], [1j, 0]]) -# I = np.array([[1, 0], [0, 1]]) +Z = np.array([[1, 0], [0, -1]]) +X = np.array([[0, 1], [1, 0]]) +Y = np.array([[0, -1j], [1j, 0]]) +I = np.array([[1, 0], [0, 1]]) -# H = np.array([[1, 1], [1, -1]]) +H = np.array([[1, 1], [1, -1]]) def normalizeWF(psi,**kwargs): ''' diff --git a/src/WPSProtocol/Module_WalshPSeq.py b/src/WPSProtocol/Module_WalshPSeq.py index 95cfef0..14c9c69 100644 --- a/src/WPSProtocol/Module_WalshPSeq.py +++ b/src/WPSProtocol/Module_WalshPSeq.py @@ -7,22 +7,22 @@ @author: Jessica """ -# import numpy as np -# from numpy import linalg -# from scipy import linalg as splinalg -# import matplotlib.pyplot as plt -# from scipy import sparse as sp -# import scipy.sparse.linalg -# from functools import reduce -# import itertools -# from scipy import linalg -# from scipy.linalg import expm +import numpy as np +from numpy import linalg +from scipy import linalg as splinalg +import matplotlib.pyplot as plt +from scipy import sparse as sp +import scipy.sparse.linalg +from functools import reduce +import itertools +from scipy import linalg +from scipy.linalg import expm -# Z = np.array([[1, 0], [0, -1]]) -# X = np.array([[0, 1], [1, 0]]) -# Y = np.array([[0, -1j], [1j, 0]]) -# I = np.array([[1, 0], [0, 1]]) -# H = np.array([[1, 1], [1, -1]]) +Z = np.array([[1, 0], [0, -1]]) +X = np.array([[0, 1], [1, 0]]) +Y = np.array([[0, -1j], [1j, 0]]) +I = np.array([[1, 0], [0, 1]]) +H = np.array([[1, 1], [1, -1]]) def WF_Conditions(tupleprdt, **kwargs): diff --git a/src/WPSProtocol/Part_2A.py b/src/WPSProtocol/Part_2A.py index e738032..c126a7f 100644 --- a/src/WPSProtocol/Part_2A.py +++ b/src/WPSProtocol/Part_2A.py @@ -15,7 +15,7 @@ from scipy.linalg import expm -Pauli Matrices +# Pauli Matrices sigmaZ = sp.csc_matrix([[1, 0], [0, -1]]) sigmaX = sp.csc_matrix([[0, 1], [1, 0]]) sigmaY = sp.csc_matrix([[0, -1j], [1j, 0]]) diff --git a/src/WPSProtocol/__pycache__/InitialFunctions.cpython-38.pyc b/src/WPSProtocol/__pycache__/InitialFunctions.cpython-38.pyc index dd1bba0c8f8a0b98566a7c6d429f6af9b1c65779..a65592ad855fef61ea08e09a46df026e1cd115ff 100644 GIT binary patch delta 19 ZcmaDN_(YH^l$V!_0SH*%ZsfYf0RS?w1pNR2 delta 19 ZcmaDN_(YH^l$V!_0SHVUZREPe0RS_U1t9