
    [hȑ                         S SK JrJr  \S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r	\S	 5       r
\SS
 j5       r\SS j5       rg)   )defundefun_wrappedc                 x   SnSnSnXR                   :X  Ga  U R                  U5      (       d  U R                  U-   nU R                  U R	                  U5      U5      nXw-  U-	  nU=pUn[        U	5      U:  a#  X-  U-	  n
X-  U-	  n	X-  n[        U	5      U:  a  M#  SUS-   -  US-  -   nU R                  X* 5      nG
OU R                  U-   nU R                  U R	                  U5      U5      nU R                  U R                  U5      U5      nX-  X-  -
  U-	  nX-  US-
  -	  nU=nnU=nnSU-  U-   nUnUS-  US-  -   U:  aS  UU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  nUU-  nUS-  US-  -   U:  a  MS  US-  nUS-  nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nG	OU R                  U5      (       Gd\  U R                  U5      (       GdE  U R                  U-   nU R                  U R	                  U5      U5      nXw-  U-	  nU=pU R                  U R	                  U5      US9u  nnU R                  UU5      =nnU R                  UU5      =nnUU-  UU-  -
  U-	  nUU-  US-
  -	  nUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU	U-  U-	  -   n[        U	5      U:  aE  X-  U-	  n
X-  U-	  n	UU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnXU-  U-	  -  n[        U	5      U:  a  ME  US-  nU R                  X* 5      nXR                  US5      -  nU$ U R                  U5      (       Gd  U R                  U-   nU R                  U R	                  U5      U5      nU R                  U R                  U5      U5      nX-  X-  -
  U-	  nX-  US-
  -	  nU=nnU=nnU R                  U R	                  U5      US9u  nnU R                  UU5      =nnU R                  UU5      =nnUU-  UU-  -
  U-	  nUU-  US-
  -	  nUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUUU-  U-	  -   nUU-  U-	  nUS-  US-  -   U:  a{  UU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUUU-  U-	  -  nUUU-  U-	  -  nUS-  US-  -   U:  a  M{  US-  nUS-  nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nGOqU R                  U5      (       Gd  U R                  U-   nU R                  U R	                  U5      U5      nXw-  U-	  nU=pU R                  nX`l        U R                  U5      u  nnUU l        U R                  U R	                  U5      U5      =nnU R                  U R                  U5      U5      =nn U R                  U R	                  U5      U5      =n!n"U R                  U R                  U5      U5      =n#n$UU-  U U -  -
  U"U"-  -
  U$U$-  -   U-	  n%UU -  U"U$-  -
  US-
  -	  n&UU"-  U U$-  -
  US-
  -	  n'UU$-  U U"-  -   US-
  -	  n(UU%-  UU&-  -
  U!U'-  -
  U#U(-  -   U-	  n)UU&-  UU%-  -   U!U(-  -
  U#U'-  -
  U-	  n*U!U%-  U#U&-  -
  UU'-  -   UU(-  -
  U-	  n+U!U&-  U#U%-  -   UU(-  -   UU'-  -   U-	  n,U)nU*nU+n!U,n#UU	U-  U-	  -   nU U	U-  U-	  -   n[        U	5      U:  a  X-  U-	  n
X-  U-	  n	UU%-  UU&-  -
  U!U'-  -
  U#U(-  -   U-	  n)UU&-  UU%-  -   U!U(-  -
  U#U'-  -
  U-	  n*U!U%-  U#U&-  -
  UU'-  -   UU(-  -
  U-	  n+U!U&-  U#U%-  -   UU(-  -   UU'-  -   U-	  n,U)nU*nU+n!U,n#UU	U-  U-	  -  nUU	U-  U-	  -  n[        U	5      U:  a  M  US-  nUS-  nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nGOU R                  U-   nU R                  U R	                  U5      U5      nU R                  U R                  U5      U5      nX-  X-  -
  U-	  nX-  US-
  -	  nU=nnU=nnU R                  nX`l        U R                  U5      u  nnUU l        U R                  U R	                  U5      U5      =nnU R                  U R                  U5      U5      =nn U R                  U R	                  U5      U5      =n!n"U R                  U R                  U5      U5      =n#n$UU-  U U -  -
  U"U"-  -
  U$U$-  -   U-	  n%UU -  U"U$-  -
  US-
  -	  n&UU"-  U U$-  -
  US-
  -	  n'UU$-  U U"-  -   US-
  -	  n(UU%-  UU&-  -
  U!U'-  -
  U#U(-  -   U-	  n)UU&-  UU%-  -   U!U(-  -
  U#U'-  -
  U-	  n*U!U%-  U#U&-  -
  UU'-  -   UU(-  -
  U-	  n+U!U&-  U#U%-  -   UU(-  -   UU'-  -   U-	  n,U)nU*nU+n!U,n#Sn-Un.U n/UUU-  UU-  -
  U-	  -   nU UU-  UU-  -   U-	  -   nSn-UU-  UU-  -
  U-	  n.UU-  UU-  -   U-	  n/UUU-  UU-  -
  U-	  -   nU UU-  UU-  -   U-	  -   nSn-US-  US-  -   U:  a  UU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU%-  UU&-  -
  U!U'-  -
  U#U(-  -   U-	  n)UU&-  UU%-  -   U!U(-  -
  U#U'-  -
  U-	  n*U!U%-  U#U&-  -
  UU'-  -   UU(-  -
  U-	  n+U!U&-  U#U%-  -   UU(-  -   UU'-  -   U-	  n,U)nU*nU+n!U,n#UU-  UU-  -
  U-	  n.UU-  UU-  -   U-	  n/UUU-  UU-  -
  U-	  -  nUUU-  UU-  -   U-	  -  nU-S-  n-US-  US-  -   U:  a  M  US-  nUS-  nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nXR                  US5      -  nU$ )	N
         r   prec         )
zero_imr
   to_fixed_reabsldexpmpccos_sinnthroot)0ctxzqextra1extra2MINwpxx2absxreximx2rex2imarebreaimbimsresimc1s1cnsnc2s2prec0cnrec1recnimc1imsnres1resnims1imc2rec2ims2res2imt1t2t3t4ntermretermims0                                                   N/var/www/auris/envauris/lib/python3.13/site-packages/mpmath/functions/theta.py_jacobi_theta2rH      s   FF
 CHH}

F"BSWWQZ,A#"BJAAa&3,TbLSRK a&3, r!ta(A		!S!AF"B,,swwqz2.C,,swwqz2.CGcg%",DGA&DC#C#b5C-CCq&36/C'$Jt3:$Jt3: #Ic	1b8#Ic	1b8 s
s
 q&36/C' !8C!8C))C"%C))C"%CS!A

SWWQZZF"BSWWQZ,A#"BJA[["[5FBll2r**Bll2r**BR%"R%-B&Br'rAv&Bebem*RURU]r,ABq2v"n%Aa&3,TbLSRKR%"R%-B.BB20EB"f^#	 a&3,
 aA		!S!AQ""AHF"B,,swwqz2.C,,swwqz2.CGcg%",DGa(DC#C#[["[5FBll2r**Bll2r**BR%"R%-B&Br'rAv&Bebem*RURU]r,ABrb()C"H#Cq&36/C'$Jt3:$Jt3: #Ic	1b8#Ic	1b8 R%"R%-B.BB20EBrb()rb() q&36/C' !8C!8C))C"%C))C"%CS!AF"BSWWQZ,A#"BJAHHEH[[^FBCH,,swwr{B77D4,,swwr{B77D4,,swwr{B77D4,,swwr{B77D4IT	)DI5T	AbHDIT	)rAv6DIT	)rAv6DIT	)rAv6Dt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBDDDD1t8*+C1t8*+Ca&3,TbLSRK4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJTb()Tb() a&3, !8C!8C))C"%C))C"%CS!A F"B,,swwqz2.C,,swwqz2.CGcg%",DGa(DC#C#HHEH[[^FBCH,,swwr{B77D4,,swwr{B77D4,,swwr{B77D4,,swwr{B77D4IT	)DI5T	AbHDIT	)rAv6DIT	)rAv6DIT	)rAv6Dt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBDDDDAFF3:d
2r9:C3:d
2r9:CATzC$J.25FTzC$J.25F3:d
2r9:C3:d
2r9:CAq&36/C'$Jt3:$Jt3: #Ic	1b8#Ic	1b8  4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ:d
2r9:d
2r9tcDj0R78tcDj0R78Q% q&36/C'& !8C!8C))C"%C))C"%CS!AQ	AH    c                    SnSnSnU R                  U5      (       Gd  U R                  U5      (       Gd}  U R                  U-   nU R                  U R                  U5      U5      nX-  U-	  n	U	=pU R	                  U R                  U5      US9u  pU R                  X5      =pU R                  X5      =pX-  X-  -
  U-	  nX-  US-
  -	  nUU-  UU-  -
  U-	  UU-  UU-  -   U-	  pUS-  (       a  XU-  SU-  -  U-	  -   nOXU-  SU-  -  U-	  -   nSn[        U
5      U:  av  X-  U-	  nX-  U-	  n
UU-  UU-  -
  U-	  UU-  UU-  -   U-	  pUS-  (       a  UX-  SU-  S-   U-  -  U-	  -  nOUX-  SU-  S-   U-  -  U-	  -  nUS-  n[        U
5      U:  a  Mv  US-  * nU R                  UU* 5      nG	OpU R                  U5      (       Gd@  U R                  U-   nU R                  U R                  U5      U5      nU R                  U R                  U5      U5      nUU-  UU-  -
  U-	  nUU-  US-
  -	  nU=nnU=nnU R	                  U R                  U5      US9u  pU R                  X5      =pU R                  X5      =pX-  X-  -
  U-	  nX-  US-
  -	  nUU-  UU-  -
  U-	  UU-  UU-  -   U-	  pUS-  (       a   UUU-  SU-  -  U-	  -   nUU-  SU-  -  U-	  nOUUU-  SU-  -  U-	  -   nUU-  SU-  -  U-	  nSnUS-  US-  -   U:  a  UU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  pUS-  (       a#  UUU-  UU-  -  U-	  -  nUUU-  UU-  -  U-	  -  nO"UUU-  UU-  -  U-	  -  nUUU-  UU-  -  U-	  -  nUS-  nUS-  US-  -   U:  a  M  US-  * nUS-  * nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nGOU R                  U5      (       Gd8  U R                  U-   nU R                  U R                  U5      U5      nX-  U-	  n	U	=pU R                  nXpl        U R	                  U5      u  pUU l        U R                  U R                  U5      U5      =nn U R                  U R                  U5      U5      =n!n"U R                  U R                  U5      U5      =n#n$U R                  U R                  U5      U5      =n%n&U U -  U"U"-  -
  U$U$-  -
  U&U&-  -   U-	  n'U U"-  U$U&-  -
  US-
  -	  n(U U$-  U"U&-  -
  US-
  -	  n)U U&-  U"U$-  -   US-
  -	  n*UU'-  U!U(-  -
  U#U)-  -
  U%U*-  -   U-	  n+UU(-  U!U'-  -   U#U*-  -
  U%U)-  -
  U-	  n,U#U'-  U%U(-  -
  UU)-  -   U!U*-  -
  U-	  n-U#U(-  U%U'-  -   UU*-  -   U!U)-  -   U-	  n.U+nU,n!U-n#U.n%US-  (       a#  U$U
U#-  SU-  -  U-	  -   nU&U
U%-  SU-  -  U-	  -   nO"U U
U-  SU-  -  U-	  -   nU"U
U!-  SU-  -  U-	  -   nSn[        U
5      U:  a  X-  U-	  nX-  U-	  n
UU'-  U!U(-  -
  U#U)-  -
  U%U*-  -   U-	  n+UU(-  U!U'-  -   U#U*-  -
  U%U)-  -
  U-	  n,U#U'-  U%U(-  -
  UU)-  -   U!U*-  -
  U-	  n-U#U(-  U%U'-  -   UU*-  -   U!U)-  -   U-	  n.U+nU,n!U-n#U.n%US-  (       a#  UU
U#-  UU-  -  U-	  -  nUU
U%-  UU-  -  U-	  -  nO"UU
U-  UU-  -  U-	  -  nUU
U!-  UU-  -  U-	  -  nUS-  n[        U
5      U:  a  M  US-  * nUS-  * nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nGOU R                  U-   nU R                  U R                  U5      U5      nU R                  U R                  U5      U5      nUU-  UU-  -
  U-	  nUU-  US-
  -	  nU=nnU=nnU R                  nXpl        U R	                  U5      u  pUU l        U R                  U R                  U5      U5      =nn U R                  U R                  U5      U5      =n!n"U R                  U R                  U5      U5      =n#n$U R                  U R                  U5      U5      =n%n&U U -  U"U"-  -
  U$U$-  -
  U&U&-  -   U-	  n'U U"-  U$U&-  -
  US-
  -	  n(U U$-  U"U&-  -
  US-
  -	  n)U U&-  U"U$-  -   US-
  -	  n*UU'-  U!U(-  -
  U#U)-  -
  U%U*-  -   U-	  n+UU(-  U!U'-  -   U#U*-  -
  U%U)-  -
  U-	  n,U#U'-  U%U(-  -
  UU)-  -   U!U*-  -
  U-	  n-U#U(-  U%U'-  -   UU*-  -   U!U)-  -   U-	  n.U+nU,n!U-n#U.n%US-  (       a/  U$UU#-  UU%-  -
  SU-  -  U-	  -   nU&UU%-  UU#-  -   SU-  -  U-	  -   nO.U UU-  UU!-  -
  SU-  -  U-	  -   nU"UU!-  UU-  -   SU-  -  U-	  -   nSnUS-  US-  -   U:  Ga&  UU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU'-  U!U(-  -
  U#U)-  -
  U%U*-  -   U-	  n+UU(-  U!U'-  -   U#U*-  -
  U%U)-  -
  U-	  n,U#U'-  U%U(-  -
  UU)-  -   U!U*-  -
  U-	  n-U#U(-  U%U'-  -   UU*-  -   U!U)-  -   U-	  n.U+nU,n!U-n#U.n%US-  (       a/  UUU#-  UU%-  -
  UU-  -  U-	  -  nUUU#-  UU%-  -   UU-  -  U-	  -  nO.UUU-  UU!-  -
  UU-  -  U-	  -  nUUU-  UU!-  -   UU-  -  U-	  -  nUS-  nUS-  US-  -   U:  a  GM&  US-  * nUS-  * nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nUU R                  US5      -  nUS-  (       a  S	US-  -  U-  $ S	SUS-  -   -  U-  $ )
Nr   r   r   r	   r   r   r   r   )	r   r
   r   r   r   r   r   r   r   )/r   r   r   ndr   r   r   r   r   r   r    r!   r-   r.   r/   r0   r1   r2   r"   rD   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   s/                                                  rG   _djacobi_theta2rM      s   
CFFGGAJJXXLLR(cb[
SWWQZb1,,r&&,,r&&ebem"g26"R%"R%-B&BB2(=BqD2v2~",-A2v2~",-A!fsl"AAebem*RURU]r,A!taf!A{*r11af!A{*r11FA !fsl 1fIIIa"WWQZZXXll3771:r*ll3771:r*C#c'!b(CR!V$ccSWWQZb1,,r&&,,r&&ebem"g26"R%"R%-B&BB2(=BqDrArE)b01C"Hq"u$+CrArE)b01C"Hq"u$+C1fsAvo#d
S4Z/B6d
S4Z/B6 Cc	C#I-"4c	C#I-"4 Cebem*RURU]r,A1rArE)b01rArE)b01rArE)b01rArE)b01FA 1fsAvo# qkqkiibS!iibS!GGCWWQZZXXLLR(cb[
Qll3772;33tll3772;33tll3772;33tll3772;33tT	DI%T	1DI="DT	DI%262T	DI%262T	DI%2624i$t)#d4i/$t);B4i$t)#d4i/$t);B4i$t)#d4i/$t);B4i$t)#d4i/$t);BqD1t8ae+23C1t8ae+23C1t8ae+23C1t8ae+23C!fsl"AAt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBDDDD1TArE)b01TArE)b01TArE)b01TArE)b01FA# !fsl$ qkqkiibS!iibS!GGC XXll3771:r*ll3771:r*C#c'!b(CR!V$ccQll3772;33tll3772;33tll3772;33tll3772;33tT	DI%T	1DI="DT	DI%262T	DI%262T	DI%2624i$t)#d4i/$t);B4i$t)#d4i/$t);B4i$t)#d4i/$t);B4i$t)#d4i/$t);BqDC$Jt3q"u<CDCC$Jt3ae;BCCC$Jt3q"u<CDCC$Jt3ae;BCC1fsAvo#d
S4Z/B6d
S4Z/B6 Cc	C#I-"4c	C#I-"4 C t)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBDDDD1#*sTz1QU:rAB#*sTz1QU:rAB#*sTz1QU:rAB#*sTz1QU:rABFA) 1fsAvo#* qkqkiibS!iibS!GGCQ	A
1b!e}q  a"a%i 1$$rI   c                    SnSnSnXR                   :X  Ga  U R                  U5      (       d  U R                  U-   nU R                  U R	                  U5      U5      nUnU=pXw-  U-	  n[        U	5      U:  a#  X-  U-	  n
X-  U-	  n	X-  n[        U	5      U:  a  M#  SU-  US-  -   nU R                  X* 5      nU$ U R                  U-   nU R                  U R	                  U5      U5      nU R                  U R                  U5      U5      nX-  X-  -
  U-	  nX-  US-
  -	  nU=n=nnU=n=nnUS-  US-  -   U:  aS  UU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  nUU-  nUS-  US-  -   U:  a  MS  SU-  US-  -   nUS-  nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nU$ U R                  U5      (       Gd  U R                  U5      (       Gd  SnU R                  U-   nU R                  U R	                  U5      U5      nU=pXw-  U-	  nU R                  U R	                  U5      S-  US9u  nnU R                  UU5      nU R                  UU5      nUnUnXU-  U-	  -  n[        U	5      U:  aE  X-  U-	  n
X-  U-	  n	UU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnXU-  U-	  -  n[        U	5      U:  a  ME  SU-  US-  -   nU R                  X* 5      nU$ U R                  U5      (       Gd  U R                  U-   nU R                  U R	                  U5      U5      nU R                  U R                  U5      U5      nX-  X-  -
  U-	  nX-  US-
  -	  nU=nnU=nnU R                  U R	                  U5      S-  US9u  nnU R                  UU5      nU R                  UU5      nUnUnUU-  U-	  nUU-  U-	  nUS-  US-  -   U:  a{  UU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUUU-  U-	  -  nUUU-  U-	  -  nUS-  US-  -   U:  a  M{  SU-  US-  -   nUS-  nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nU$ U R                  U5      (       Gd  U R                  U-   nU R                  U R	                  U5      U5      nU=pXw-  U-	  nU R                  nX`l        U R                  SU-  5      u  nnUU l        U R                  U R	                  U5      U5      =nnU R                  U R                  U5      U5      =nnU R                  U R	                  U5      U5      =nn U R                  U R                  U5      U5      =n!n"U	U-  U-	  nU	U-  U-	  n[        U	5      U:  a  X-  U-	  n
X-  U-	  n	UU-  UU-  -
  UU -  -
  U!U"-  -   U-	  n#UU-  UU-  -   UU"-  -
  U!U -  -
  U-	  n$UU-  U!U-  -
  UU -  -   UU"-  -
  U-	  n%UU-  U!U-  -   UU"-  -   UU -  -   U-	  n&U#nU$nU%nU&n!UU	U-  U-	  -  nUU	U-  U-	  -  n[        U	5      U:  a  M  SU-  US-  -   nUS-  nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nU$ U R                  U-   nU R                  U R	                  U5      U5      nU R                  U R                  U5      U5      nX-  X-  -
  U-	  nX-  US-
  -	  nU=nnU=nnU R                  nX`l        U R                  SU-  5      u  nnUU l        U R                  U R	                  U5      U5      =nnU R                  U R                  U5      U5      =nnU R                  U R	                  U5      U5      =nn U R                  U R                  U5      U5      =n!n"UU-  UU-  -
  U-	  nUU-  UU-  -   U-	  nUS-  US-  -   U:  a  UU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  UU -  -
  U!U"-  -   U-	  n#UU-  UU-  -   UU"-  -
  U!U -  -
  U-	  n$UU-  U!U-  -
  UU -  -   UU"-  -
  U-	  n%UU-  U!U-  -   UU"-  -   UU -  -   U-	  n&U#nU$nU%nU&n!UUU-  UU-  -
  U-	  -  nUUU-  UU-  -   U-	  -  nUS-  US-  -   U:  a  M  SU-  US-  -   nUS-  nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nU$ )Nr   r   r   r       r	   )	r   r   r
   r   r   r   r   r   r   )'r   r   r   r   r   r   r   r   r"   r    r!   r   r#   r$   r%   r&   r+   r'   r(   r,   r)   r*   r-   r.   r/   r0   r3   r4   r5   r6   r7   r8   r9   r:   r;   r@   rA   rB   rC   s'                                          rG   _jacobi_theta3rP     s
   FF
CHH}wwqzzF"BSWWQZ,AAIA#"Ba&3,TbLSRK a&3, bQ!V$A		!S!AHF"B,,swwqz2.C,,swwqz2.CGcg%",DGa(D!!C!#!!C!#q&36/C'$Jt3:$Jt3: #Ic	1b8#Ic	1b8 s
s
 q&36/C' 7sax(C!8C))C"%C))C"%CS!AH

SWWQZZAF"BSWWQZ,AIA#"B[[AB[7FBb"%Bb"%BBBb&RAa&3,TbLSRKR%"R%-B.BB20EB"f^#	 a&3,
 bQ!V$A		!S!AHF"B,,swwqz2.C,,swwqz2.CGcg%",DGa(DOC#OC#[[AB[7FBb"%Bb"%BBB8"C8"Cq&36/C'$Jt3:$Jt3: #Ic	1b8#Ic	1b8 R%"R%-B.BB20EBbR''bR'' q&36/C' 7sax(C!8C))C"%C))C"%CS!AHF"BSWWQZ,AIA#"BHHEH[[1%FBCH,,swwr{B77D4,,swwr{B77D4,,swwr{B77D4,,swwr{B77D4t8"Ct8"Ca&3,TbLSRK4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJDR''DR'' a&3, 7sax(C!8C))C"%C))C"%CS!AH F"B,,swwqz2.C,,swwqz2.CGcg%",DGa(DOC#OC#HHEH[[1%FBCH,,swwr{B77D4,,swwr{B77D4,,swwr{B77D4,,swwr{B77D4:d
*r1C:d
*r1Cq&36/C'$Jt3:$Jt3: #Ic	1b8#Ic	1b8 4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJd
S4Z/B66d
S4Z/B66 q&36/C' 7sax(C!8C))C"%C))C"%CS!AHrI   c                    SnSnSnU R                  U5      (       GdR  U R                  U5      (       Gd;  SnU R                  U-   nU R                  U R                  U5      U5      n	U	=pX-  U-	  nU R	                  U R                  U5      S-  US9u  pU R                  X5      nU R                  X5      nUnUnUS-  (       a  XzU-  U-	  -  nO
XzU-  U-	  -  nSn[        U
5      U:  ai  X-  U-	  nX-  U-	  n
X-  UU-  -
  U-	  UU-  X-  -   U-	  nnUS-  (       a  XzU-  UU-  -  U-	  -  nOXzU-  UU-  -  U-	  -  nUS-  n[        U
5      U:  a  Mi  XsS-   -  * nU R                  Xx* 5      nGO{U R                  U5      (       Gd  U R                  U-   nU R                  U R                  U5      U5      nU R                  U R                  U5      U5      nUU-  UU-  -
  U-	  nUU-  US-
  -	  nU=nnU=nnU R	                  U R                  U5      S-  US9u  pU R                  X5      nU R                  X5      nUnUnUS-  (       a  UU-  U-	  nUU-  U-	  nOUU-  U-	  nUU-  U-	  nSnUS-  US-  -   U:  a  UU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnX-  UU-  -
  U-	  UU-  X-  -   U-	  nnUS-  (       a#  UUU-  UU-  -  U-	  -  nUUU-  UU-  -  U-	  -  nO"UUU-  UU-  -  U-	  -  nUUU-  UU-  -  U-	  -  nUS-  nUS-  US-  -   U:  a  M  UUS-   -  * nUUS-   -  * nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nGOiU R                  U5      (       Gd`  U R                  U-   nU R                  U R                  U5      U5      n	U	=pX-  U-	  nU R                  nXl        U R	                  SU-  5      u  pUU l        U R                  U R                  U5      U5      =nnU R                  U R                  U5      U5      =nn U R                  U R                  U5      U5      =n!n"U R                  U R                  U5      U5      =n#n$US-  (       a  U
U!-  U-	  nU
U#-  U-	  nOU
U-  U-	  nU
U-  U-	  nSn[        U
5      U:  a  X-  U-	  nX-  U-	  n
UU-  UU -  -
  U!U"-  -
  U#U$-  -   U-	  n%UU -  UU-  -   U!U$-  -
  U#U"-  -
  U-	  n&U!U-  U#U -  -
  UU"-  -   UU$-  -
  U-	  n'U!U -  U#U-  -   UU$-  -   UU"-  -   U-	  n(U%nU&nU'n!U(n#US-  (       a#  UU
U!-  UU-  -  U-	  -  nUU
U#-  UU-  -  U-	  -  nO"UU
U-  UU-  -  U-	  -  nUU
U-  UU-  -  U-	  -  nUS-  n[        U
5      U:  a  M  UUS-   -  * nUUS-   -  * nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nGOU R                  U-   nU R                  U R                  U5      U5      nU R                  U R                  U5      U5      nUU-  UU-  -
  U-	  nUU-  US-
  -	  nU=nnU=nnU R                  nXl        U R	                  SU-  5      u  pUU l        U R                  U R                  U5      U5      =nnU R                  U R                  U5      U5      =nn U R                  U R                  U5      U5      =n!n"U R                  U R                  U5      U5      =n#n$US-  (       a  UU!-  UU#-  -
  U-	  nUU!-  UU#-  -   U-	  nOUU-  UU-  -
  U-	  nUU-  UU-  -   U-	  nSnUS-  US-  -   U:  Ga&  UU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU-  -
  U-	  UU-  UU-  -   U-	  nnUU-  UU -  -
  U!U"-  -
  U#U$-  -   U-	  n%UU -  UU-  -   U!U$-  -
  U#U"-  -
  U-	  n&U!U-  U#U -  -
  UU"-  -   UU$-  -
  U-	  n'U!U -  U#U-  -   UU$-  -   UU"-  -   U-	  n(U%nU&nU'n!U(n#US-  (       a/  UUU!-  UU#-  -
  UU-  -  U-	  -  nUUU!-  UU#-  -   UU-  -  U-	  -  nO.UUU-  UU-  -
  UU-  -  U-	  -  nUUU-  UU-  -   UU-  -  U-	  -  nUS-  nUS-  US-  -   U:  a  GM&  UUS-   -  * nUUS-   -  * nU R                  UU* 5      nU R                  UU* 5      nU R                  UU5      nUS-  (       a  SUS-  -  U-  $ SSUS-  -   -  U-  $ )z2nd=1,2,3 order of the derivative with respect to zr   r   r   rO   r	   r   rK   )r   r
   r   r   r   r   r   r   ))r   r   r   rL   r   r   r   r"   r   r   r    r!   r   r-   r.   r/   r0   rD   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r3   r4   r5   r6   r7   r8   r9   r:   r;   r@   rA   rB   rC   s)                                            rG   _djacobi_theta3rR   I  s
    CFFGGAJJXXLLR(	cb[SWWQZ\3\\"!\\"!qDb&RAb&RA!fsl"AAebem*RURU]r,AB!t"fq"un++"fq"un++FA !fsl qDkNIIaWWQZZXXll3771:r*ll3771:r*C#c'!b(CR!V$ccSWWQZ\3\\"!\\"!qD8"C8"C8"C8"C1fsAvo#d
S4Z/B6d
S4Z/B6 Cc	C#I-"4c	C#I-"4 Cebem*RURU]r,AB!tb1b5(R//b1b5(R//b1b5(R//b1b5(R//FA 1fsAvo# 11iibS!iibS!GGCWWQZZXXLLR(	cb[QqS!ll3772;33tll3772;33tll3772;33tll3772;33tqDt8"Ct8"Ct8"Ct8"C!fsl"AAt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBDDDD1D1b5(R//D1b5(R//D1b5(R//D1b5(R//FA# !fsl$ 11iibS!iibS!GGC XXll3771:r*ll3771:r*C#c'!b(CR!V$ccQqS!ll3772;33tll3772;33tll3772;33tll3772;33tqD:d
*r1C:d
*r1C:d
*r1C:d
*r1C1fsAvo#d
S4Z/B6d
S4Z/B6 Cc	C#I-"4c	C#I-"4 Ct)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBDDDD!ttcDj0ArE9b@@tcDj0ArE9b@@tcDj0ArE9b@@tcDj0ArE9b@@FA' 1fsAvo#( 11iibS!iibS!GGC
1b!e}q  a"a%i 1$$rI   c                 >   [        U R                  U5      U R                  U R                  U5      5      -  S-
  5      =p4U R	                  SU-  5      nU R	                  SU-  S-   U-  5      =pgX#U-  U-   -  nX-  n	U	n
U R
                  [        U	5      -  n US-  nXe-  nX#U-  U-   -  U-  n	[        U	5      U:  a  OX-  n
M,  UnU R	                  SU-  5      nUn US-  nXe-  nX#U-  U-   -  U-  n	[        U	5      U:  a  OX-  n
M,  XR                  US5      -  n
U
$ )aQ  
case ctx._im(z) != 0
theta(2, z, q) =
q**1/4 * Sum(q**(n*n + n) * exp(j*(2*n + 1)*z), n=-inf, inf)
max term for minimum (2*n+1)*log(q).real - 2* ctx._im(z)
n0 = int(ctx._im(z)/log(q).real - 1/2)
theta(2, z, q) =
q**1/4 * Sum(q**(n*n + n) * exp(j*(2*n + 1)*z), n=n0, inf) +
q**1/4 * Sum(q**(n*n + n) * exp(j*(2*n + 1)*z), n, n0-1, -inf)
      ?r   r   r   )intr   r   logexpjepsr   r   )r   r   r   rD   n0e2ee0r    termr"   eps1s               rG   _jacobi_theta2ar`     sJ    CGGCGGAJ//#566A	!A#BXXqs1uai  A	aC!GA5DA773t9D
	QFQ37|at9t		  	A	"Q$B
A
	QFQ37|at9t		  	
KK1AHrI   c           
         [        U R                  U5      * [        U R                  U R	                  U5      5      5      -  5      =p4U R                  SU-  5      nU R                  SU-  U-  5      =pgX#U-  -  U-  =pU R                  [        U	5      -  n
 US-  nXe-  nX#U-  -  U-  n	[        U	5      U
:  a  OX-  nM)  UnU R                  SU-  5      nUn US-  nXe-  nX#U-  -  U-  n	[        U	5      U
:  a   U$ X-  nM+  )z
case ctx._im(z) != 0
theta3(z, q) = Sum(q**(n*n) * exp(j*2*n*z), n, -inf, inf)
max term for n*abs(log(q).real) + ctx._im(z) ~= 0
n0 = int(- ctx._im(z)/abs(log(q).real))
r   r   rU   )rV   r   r   r   rW   rX   rY   )r   r   r   rD   rZ   r[   r\   r]   r"   r^   r_   s              rG   _jacobi_theta3arb     s!    #''!*S!45566A	!A#BXXac!e_AQ3x!|A773t9D
	QFQ3x!|t9t		  	A	"Q$B
A
	QFQ3x!|t9tH 	
	 rI   c                    [        U R                  U5      U R                  U R                  U5      5      -  S-
  5      =pEU R	                  SU-  5      nU R	                  SU-  S-   U-  5      =pxX$U-  U-   -  n	SU-  S-   U-  U	-  U-  n
U
nU R
                  [        U
5      -  n US-  nXv-  nSU-  S-   U-  X$U-  U-   -  -  U-  n
[        U
5      U:  a  OX-  nM8  UnU R	                  SU-  5      nUn US-  nXv-  nSU-  S-   U-  X$U-  U-   -  -  U-  n
[        U
5      U:  a  OX-  nM8  U R                  U-  U-  U R                  US5      -  $ )z
case ctx._im(z) != 0
dtheta(2, z, q, nd) =
j* q**1/4 * Sum(q**(n*n + n) * (2*n+1)*exp(j*(2*n + 1)*z), n=-inf, inf)
max term for (2*n0+1)*log(q).real - 2* ctx._im(z) ~= 0
n0 = int(ctx._im(z)/log(q).real - 1/2)
rT   r   r   rU   r   )	rV   r   r   rW   rX   rY   r   jr   )r   r   r   rL   rD   rZ   r[   r\   r]   r    r^   r"   r_   s                rG   _djacobi_theta2are   <  s    CGGCGGAJ//#566A	!A#BXXqsQwk""A	aC!GAaCEB;?QDA773t9D
	QF!A{Q1q\)A-t9t		  	A	"Q$B
A
	QF!A{Q1q\)A-t9t		  55"9q=3;;q!,,,rI   c           
         [        U R                  U5      * [        U R                  U R	                  U5      5      5      -  5      =pEU R                  SU-  5      nU R                  SU-  U-  5      =pxX$U-  -  U-  n	XC-  U	-  =pUS:w  a  U R                  [        U5      -  nOU R                  [        U	5      -  n US-  nXv-  nX$U-  -  U-  n	XC-  U	-  nUS:w  a  [        U5      nO[        U	5      nX:  a  OX-  n
MC  UnU R                  SU-  5      nUn US-  nXv-  nX$U-  -  U-  n	XC-  U	-  nUS:w  a  [        U5      nO[        U	5      nX:  a  OX-  n
MC  SU R                  -  U-  U
-  $ )z
case ctx._im(z) != 0
djtheta3(z, q, nd) = (2*j)**nd *
  Sum(q**(n*n) * n**nd * exp(j*2*n*z), n, -inf, inf)
max term for minimum n*abs(log(q).real) + ctx._im(z)
r   rO   r   rU   )rV   r   r   r   rW   rX   rY   rd   )r   r   r   rL   rD   rZ   r[   r\   r]   r    r"   r^   r_   aterms                 rG   _djacobi_theta3arh   `  s    #''!*S!45566A	!A#BXXac!e_A	aC1AuqyAAvwws4y wws1v~
	QF!HqLuqy6IEFE<		  	A	"Q$B
A
	QF!HqLuqy6IEFE<		  ceeGb=1rI   c           	      f   U(       a  U R                  XX45      $ U R                  U5      nU R                  U5      n[        U5      U R                  :  a  [	        SU R                  -  5      eSnU(       a4  U R                  U5      nUS:  d  US:X  a  US:  a  US[        U5      -  -  nSnSnU R                  n	 U =R                  U-  sl        US:X  a  U R                  U5      (       a  [        U R                  U5      5      U[        U R                  U R                  U5      5      5      -  :  a8  U =R                  U-  sl
        U R                  X R                  S-  -
  U5      n
GOU =R                  S-  sl
        U R                  X R                  S-  -
  U5      n
GO|U R                  X R                  S-  -
  U5      n
GOYUS:X  a  U R                  U5      (       a  [        U R                  U5      5      U[        U R                  U R                  U5      5      5      -  :  a(  U =R                  U-  sl
        U R                  X#5      n
GOU =R                  S-  sl
        U R                  X#5      n
GOU R                  X#5      n
GOUS	:X  a  U R                  U5      (       a  [        U R                  U5      5      U[        U R                  U R                  U5      5      5      -  :  a(  U =R                  U-  sl
        U R                  X#5      n
GOU =R                  S-  sl
        U R                  X#5      n
OU R                  X#5      n
OUS
:X  a  U R                  U5      (       a  [        U R                  U5      5      U[        U R                  U R                  U5      5      5      -  :  a(  U =R                  U-  sl
        U R                  X#* 5      n
OAU =R                  S-  sl
        U R                  X#* 5      n
OU R                  X#* 5      n
O[        eXl        U
$ ! Xl        f = fNzabs(q) > THETA_Q_LIM = %fr   r   r   r   rT   2   r   r   )_djthetaconvertr   THETA_Q_LIM
ValueErrormagr
   r   r   rW   dpsrH   pir`   rP   rb   )r   rD   r   r   
derivativeextraMczr   r3   ress              rG   jthetary     s2   ||A!00AAAA 1v4sFGGEGGAJq5Q!VBQs1vXE	BFHHE-E6wwqzzswwqz?R#cggcggaj.A*B%BBGGv%G,,Q\1=CGGrMG--a&&(lA>C((VVAXq9!Vwwqzzswwqz?R#cggcggaj.A*B%BBGGv%G,,Q2CGGrMG--a3C((.!Vwwqzzswwqz?R#cggcggaj.A*B%BBGGv%G,,Q2CGGrMG--a3C((.!Vwwqzzswwqz?R#cggcggaj.A*B%BBGGv%G,,Q3CGGrMG--a4C((B/J s   ;M%P( (P0c           	         U R                  U5      nU R                  U5      n[        U5      n[        U5      U R                  :  a  [	        SU R                  -  5      eSU R
                  U-  S-  -   nU(       a4  U R                  U5      nUS:  d  US:w  a  US:  a  US[        U5      -  -  nSnSn	U R
                  n
 U =R
                  U-  sl        US:X  a  U R                  U5      (       a  [        U R                  U5      5      U[        U R                  U R                  U5      5      5      -  :  a8  U =R                  U	-  sl
        U R                  X R                  S-  -
  X55      nGOU =R                  S-  sl
        U R                  X R                  S-  -
  X55      nGOU R                  X R                  S-  -
  X55      nGObUS:X  a  U R                  U5      (       a  [        U R                  U5      5      U[        U R                  U R                  U5      5      5      -  :  a)  U =R                  U	-  sl
        U R                  X#U5      nGOU =R                  S-  sl
        U R                  X#U5      nGOU R                  X#U5      nGOUS	:X  a  U R                  U5      (       a  [        U R                  U5      5      U[        U R                  U R                  U5      5      5      -  :  a)  U =R                  U	-  sl
        U R                  X#U5      nGOU =R                  S-  sl
        U R                  X#U5      nOU R                  X#U5      nOUS
:X  a  U R                  U5      (       a  [        U R                  U5      5      U[        U R                  U R                  U5      5      5      -  :  a)  U =R                  U	-  sl
        U R                  X#* U5      nOCU =R                  S-  sl
        U R                  X#* U5      nOU R                  X#* U5      nO[        eXl        U7$ ! Xl        f = frj   )rn   rV   r   ro   rp   r
   rq   r   r   rW   rr   rM   rs   re   rR   rh   )r   rD   r   r   rt   rL   ru   rv   rw   r   r3   rx   s               rG   rm   rm     sK   AAAA	ZB
1v4sFGGB"$$EGGAJq5Q!VBQs1vXE	BFHHE-E6wwqzzswwqz?R#cggcggaj.A*B%BBGGv%G--a&&(lABCGGrMG..q66!8|QCC))!ffQh,>!Vwwqzzswwqz?R#cggcggaj.A*B%BBGGv%G--aB7CGGrMG..qR8C))!3!Vwwqzzswwqz?R#cggcggaj.A*B%BBGGv%G--aB7CGGrMG..qR8C))!3!Vwwqzzswwqz?R#cggcggaj.A*B%BBGGv%G--aR8CGGrMG..q"b9C))!R44K s    M.P7 7P?N)rO   )r   )	functionsr   r   rH   rM   rP   rR   r`   rb   re   rh   ry   rm    rI   rG   <module>r}      s    +R Rh F% F%P e eN h% h%T % %N  > !- !-F + +Z J JX = =rI   