K iȑddlmZmZedZedZedZedZedZedZedZ ed Z ed d Z edd Z y ))defun defun_wrappedchd}d}d}||jk(r|j|s|j|z}|j|j ||}||z|z }|x} } |} t | |kDr$| |z|z } | | z|z } | | z } t | |kDr$d|dzz| dzz} |j | | } n|j|z}|j|j ||} |j|j||} | | z| | zz |z }| | z|dz z }|x}}|x}}d|z|z}|}|dz|dzz|kDrQ||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}||z }||z }|dz|dzz|kDrQ|dz}|dz}|j || }|j || }|j||} n|j|s^|j|sL|j|z}|j|j ||}||z|z }|x} } |j|j ||\}}|j||x}}|j||x}}||z||zz |z }||z|dz z }||z||zz |z ||z||zz|z }}|| |z|z z} t | |kDrF| |z|z } | | z|z } ||z||zz |z ||z||zz|z }}| | |z|z z } t | |kDrF| dz} |j | | } | |j|dz} | S|j|s|j|z}|j|j ||} |j|j||} | | z| | zz |z }| | z|dz z }|x}}|x}}|j|j ||\}}|j||x}}|j||x}}||z||zz |z }||z|dz z }||z||zz |z ||z||zz|z }}|||z|z z}||z|z }|dz|dzz|kDry||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}|||z|z z }|||z|z z }|dz|dzz|kDry|dz}|dz}|j || }|j || }|j||} no|j|s|j|z}|j|j ||}||z|z }|x} } |j}||_|j|\}}||_|j|j ||x}}|j|j||x}} |j|j ||x}!}"|j|j||x}#}$||z| | zz |"|"zz |$|$zz|z }%|| z|"|$zz |dz z }&||"z| |$zz |dz z }'||$z| |"zz|dz z }(||%z||&zz |!|'zz |#|(zz|z })||&z||%zz|!|(zz |#|'zz |z }*|!|%z|#|&zz ||'zz||(zz |z }+|!|&z|#|%zz||(zz||'zz|z },|)}|*}|+}!|,}#|| |z|z z}| | |z|z z}t | |kDr| |z|z } | | z|z } ||%z||&zz |!|'zz |#|(zz|z })||&z||%zz|!|(zz |#|'zz |z }*|!|%z|#|&zz ||'zz||(zz |z }+|!|&z|#|%zz||(zz||'zz|z },|)}|*}|+}!|,}#|| |z|z z }|| |z|z z }t | |kDr|dz}|dz}|j || }|j || }|j||} n|j|z}|j|j ||} |j|j||} | | z| | zz |z }| | z|dz z }|x}}|x}}|j}||_|j|\}}||_|j|j ||x}}|j|j||x}} |j|j ||x}!}"|j|j||x}#}$||z| | zz |"|"zz |$|$zz|z }%|| z|"|$zz |dz z }&||"z| |$zz |dz z }'||$z| |"zz|dz z }(||%z||&zz |!|'zz |#|(zz|z })||&z||%zz|!|(zz |#|'zz |z }*|!|%z|#|&zz ||'zz||(zz |z }+|!|&z|#|%zz||(zz||'zz|z },|)}|*}|+}!|,}#d}-|}.| }/|||z||zz |z z}| ||z||zz|z z}d}-||z||zz |z }.||z||zz|z }/|||z||zz |z z}| ||z||zz|z z}d}-|dz|dzz|kDr||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}||%z||&zz |!|'zz |#|(zz|z })||&z||%zz|!|(zz |#|'zz |z }*|!|%z|#|&zz ||'zz||(zz |z }+|!|&z|#|%zz||(zz||'zz|z },|)}|*}|+}!|,}#||z||zz |z }.||z||zz|z }/|||z||zz |z z }|||z||zz|z z }|-dz }-|dz|dzz|kDr|dz}|dz}|j || }|j || }|j||} | |j|dz} | S) N rprec) zero_imr to_fixed_reabsldexpmpccos_sinnthroot)0ctxzqextra1extra2MINwpxx2absxreximx2rex2imarebreaimbimsresimc1s1cnsnc2s2prec0cnrec1recnimc1imsnres1resnims1imc2rec2ims2res2imt1t2t3t4ntermretermims0 \/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mpmath/functions/theta.py_jacobi_theta2rHs F F CCHH} F"B SWWQZ,AA#"BJAAa&3,rTbLqSRKQa&3,r!ta(A !bS!AF"B,,swwqz2.C,,swwqz2.CGc#g%",DGA&D C# C#b5C-CCq&36/C'$Jt3:$Jt3:#Ic 1b8#Ic 1b8s s  q&36/C'!8C!8C))C"%C))C"%CS!A SWWQZF"B SWWQZ,AA#"BJA[["[5FBll2r* *Bll2r* *BR%"R%-B&Br'rAv&Bebem*RURU]r,ABq2v"n%Aa&3,rTbLqSRKR%"R%-B.BB20EBa"f^# a&3, aA !bS!A Q" "AHF"B,,swwqz2.C,,swwqz2.CGc#g%",DGa(D C# C#[["[5FBll2r* *Bll2r* *BR%"R%-B&Br'rAv&Bebem*RURU]r,ABrb()C"H#Cq&36/C'$Jt3:$Jt3:#Ic 1b8#Ic 1b8R%"R%-B.BB20EBrb()rb()q&36/C'!8C!8C))C"%C))C"%CS!AF"B SWWQZ,AA#"BJAHHECH[[^FBCH,,swwr{B7 7D4,,swwr{B7 7D4,,swwr{B7 7D4,,swwr{B7 7D4IT )DI5T AbHDIT )rAv6DIT )rAv6DIT )rAv6Dt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBDDDD1t8*+C1t8*+Ca&3,rTbLqSRK4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJTb()Tb()a&3,!8C!8C))C"%C))C"%CS!AF"B,,swwqz2.C,,swwqz2.CGc#g%",DGa(D C# C#HHECH[[^FBCH,,swwr{B7 7D4,,swwr{B7 7D4,,swwr{B7 7D4,,swwr{B7 7D4IT )DI5T AbHDIT )rAv6DIT )rAv6DIT )rAv6Dt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBDDDDAFF3:d 2r9:C3:d 2r9:CATzC$J.25FTzC$J.25F3:d 2r9:C3:d 2r9:CAq&36/C'$Jt3:$Jt3:#Ic 1b8#Ic 1b84i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ:d 2r9:d 2r9tcDj0R78tcDj0R78Q%q&36/C'&!8C!8C))C"%C))C"%CS!AQ A Hcnd}d}d}|j|s|j|s|j|z}|j|j||}||z|z } | x} } |j |j||\} } |j| |x}} |j| |x}} | | z| | zz |z }| | z|dz z }||z||zz |z ||z||zz|z }}|dzr| | |zd|zz|z z}n| | |zd|zz|z z}d}t | |kDrt| | z|z } | | z|z } ||z||zz |z ||z||zz|z }}|dzr|| |zd|zdz|zz|z z }n|| |zd|zdz|zz|z z }|dz }t | |kDrt|dz }|j || } nT|j|s@|j|z}|j|j||}|j|j||}||z||zz |z }||z|dz z }|x}}|x}}|j |j||\} } |j| |x}} |j| |x}} | | z| | zz |z }| | z|dz z }||z||zz |z ||z||zz|z }}|dzr | ||zd|zz|z z}||zd|zz|z }n| ||zd|zz|z z}||zd|zz|z }d}|dz|dzz|kDr||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}|dzr#|||z||zz|z z }|||z||zz|z z }n"|||z||zz|z z }|||z||zz|z z }|dz }|dz|dzz|kDr|dz }|dz }|j || }|j || }|j||}n|j|s1|j|z}|j|j||}||z|z } | x} } |j}||_|j |\} } ||_|j|j| |x}} |j|j| |x}!}"|j|j| |x}#}$|j|j| |x}%}&| | z|"|"zz |$|$zz |&|&zz|z }'| |"z|$|&zz |dz z }(| |$z|"|&zz |dz z })| |&z|"|$zz|dz z }*||'z|!|(zz |#|)zz |%|*zz|z }+||(z|!|'zz|#|*zz |%|)zz |z },|#|'z|%|(zz ||)zz|!|*zz |z }-|#|(z|%|'zz||*zz|!|)zz|z }.|+}|,}!|-}#|.}%|dzr#|$| |#zd|zz|z z}|&| |%zd|zz|z z}n"| | |zd|zz|z z}|"| |!zd|zz|z z}d}t | |kDr| | z|z } | | z|z } ||'z|!|(zz |#|)zz |%|*zz|z }+||(z|!|'zz|#|*zz |%|)zz |z },|#|'z|%|(zz ||)zz|!|*zz |z }-|#|(z|%|'zz||*zz|!|)zz|z }.|+}|,}!|-}#|.}%|dzr#|| |#z||zz|z z }|| |%z||zz|z z }n"|| |z||zz|z z }|| |!z||zz|z z }|dz }t | |kDr|dz }|dz }|j || }|j || }|j||}n|j|z}|j|j||}|j|j||}||z||zz |z }||z|dz z }|x}}|x}}|j}||_|j |\} } ||_|j|j| |x}} |j|j| |x}!}"|j|j| |x}#}$|j|j| |x}%}&| | z|"|"zz |$|$zz |&|&zz|z }'| |"z|$|&zz |dz z }(| |$z|"|&zz |dz z })| |&z|"|$zz|dz z }*||'z|!|(zz |#|)zz |%|*zz|z }+||(z|!|'zz|#|*zz |%|)zz |z },|#|'z|%|(zz ||)zz|!|*zz |z }-|#|(z|%|'zz||*zz|!|)zz|z }.|+}|,}!|-}#|.}%|dzr/|$||#z||%zz d|zz|z z}|&||%z||#zzd|zz|z z}n.| ||z||!zz d|zz|z z}|"||!z||zzd|zz|z z}d}|dz|dzz|kDr||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}||'z|!|(zz |#|)zz |%|*zz|z }+||(z|!|'zz|#|*zz |%|)zz |z },|#|'z|%|(zz ||)zz|!|*zz |z }-|#|(z|%|'zz||*zz|!|)zz|z }.|+}|,}!|-}#|.}%|dzr/|||#z||%zz ||zz|z z }|||#z||%zz||zz|z z }n.|||z||!zz ||zz|z z }|||z||!zz||zz|z z }|dz }|dz|dzz|kDr|dz }|dz }|j || }|j || }|j||}||j|dz}|dzr d |dzz|zSd d|dzzz|zS) Nrrrr rr r r ) rr rrrrrrr)/rrrndrrrrrrr r!r-r.r/r0r1r2r"rDr#r$r%r&r'r(r)r*r+r,r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBrCs/ rG_djacobi_theta2rMs C F F GGAJ XX  LLR (cb[ ASWWQZb1B,,r2&&R,,r2&&Rebem "2g26 "R%"R%-B&BB2(=B qDq2v2~",-Aq2v2~",-A !fsl2" A1 Aebem*RURU]r,AB!ta"f!A{*r11a"f!A{*r11 FA!fsl1fI IIa"  WWQZ XX ll3771:r*ll3771:r*C#c'!b(CR!V$ccSWWQZb1B,,r2&&R,,r2&&Rebem "2g26 "R%"R%-B&BB2(=B qDrArE)b01C"Hq"u$+CrArE)b01C"Hq"u$+C 1fsAvo#d S4Z/B6d S4Z/B6Cc C#I-"4c C#I-"4Cebem*RURU]r,AB1rArE)b01rArE)b01rArE)b01rArE)b01 FA1fsAvo#qkqkiibS!iibS! GGC  WWQZ XX  LLR (cb[ AQBll3772;33tll3772;33tll3772;33tll3772;33tT DI%T 1DI="DT DI%262T DI%262T DI%2624i$t)#d4i/$t); B4i$t)#d4i/$t); B4i$t)#d4i/$t); B4i$t)#d4i/$t); B qD1t8ae+23C1t8ae+23C1t8ae+23C1t8ae+23C !fsl2" A1 At)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBDDDD1TArE)b01TArE)b01TArE)b01TArE)b01 FA#!fsl$qkqkiibS!iibS! GGC XX ll3771:r*ll3771:r*C#c'!b(CR!V$ccQBll3772;33tll3772;33tll3772;33tll3772;33tT DI%T 1DI="DT DI%262T DI%262T DI%2624i$t)#d4i/$t); B4i$t)#d4i/$t); B4i$t)#d4i/$t); B4i$t)#d4i/$t); B qDC$Jt3q"u<CDCC$Jt3ae;BCCC$Jt3q"u<CDCC$Jt3ae;BCC 1fsAvo#d S4Z/B6d S4Z/B6Cc C#I-"4c C#I-"4Ct)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBDDDD1#*sTz1QU:rAB#*sTz1QU:rAB#*sTz1QU:rAB#*sTz1QU:rAB FA)1fsAvo#*qkqkiibS!iibS! GGC Q A 1b!e}q  a"a%i 1$$rIcd}d}d}||jk(r|j|s|j|z}|j|j ||}|}|x} } ||z|z } t | |kDr$| | z|z } | | z|z } || z }t | |kDr$d|z|dzz}|j || }|S|j|z}|j|j ||} |j|j||} | | z| | zz |z }| | z|dz z }| x}x}}| x}x}}|dz|dzz|kDrQ||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}||z }||z }|dz|dzz|kDrQd|z|dzz}|dz}|j || }|j || }|j||}|S|j|s|j|s d}|j|z}|j|j ||}|x} } ||z|z } |j|j |dz|\}}|j||}|j||}|}|}|| |z|z z }t | |kDrF| | z|z } | | z|z } ||z||zz |z ||z||zz|z }}|| |z|z z }t | |kDrFd|z|dzz}|j || }|S|j|s|j|z}|j|j ||} |j|j||} | | z| | zz |z }| | z|dz z }| x}}| x}}|j|j |dz|\}}|j||}|j||}|}|}||z|z }||z|z }|dz|dzz|kDry||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}|||z|z z }|||z|z z }|dz|dzz|kDryd|z|dzz}|dz}|j || }|j || }|j||}|S|j|s|j|z}|j|j ||}|x} } ||z|z } |j}||_|jd|z\}}||_|j|j ||x}}|j|j||x}}|j|j ||x}} |j|j||x}!}"| |z|z }| |z|z }t | |kDr| | z|z } | | z|z } ||z||zz || zz |!|"zz|z }#||z||zz||"zz |!| zz |z }$||z|!|zz || zz||"zz |z }%||z|!|zz||"zz|| zz|z }&|#}|$}|%}|&}!|| |z|z z }|| |z|z z }t | |kDrd|z|dzz}|dz}|j || }|j || }|j||}|S|j|z}|j|j ||} |j|j||} | | z| | zz |z }| | z|dz z }| x}}| x}}|j}||_|jd|z\}}||_|j|j ||x}}|j|j||x}}|j|j ||x}} |j|j||x}!}"||z||zz |z }||z||zz|z }|dz|dzz|kDr||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}||z||zz || zz |!|"zz|z }#||z||zz||"zz |!| zz |z }$||z|!|zz || zz||"zz |z }%||z|!|zz||"zz|| zz|z }&|#}|$}|%}|&}!|||z||zz |z z }|||z||zz|z z }|dz|dzz|kDrd|z|dzz}|dz}|j || }|j || }|j||}|S)Nrrrrr ) rrr rrrrrr)'rrrrrrrrr"r r!rr#r$r%r&r+r'r(r,r)r*r-r.r/r0r3r4r5r6r7r8r9r:r;r@rArBrCs' rG_jacobi_theta3rPs: F F CCHH}wwqzF"B SWWQZ,AAIAA#"Ba&3,rTbLqSRKQa&3,bQ!V$A !bS!AHF"B,,swwqz2.C,,swwqz2.CGc#g%",DGa(D! !C !#! !C !#q&36/C'$Jt3:$Jt3:#Ic 1b8#Ic 1b8s s  q&36/C'7sax(C!8C))C"%C))C"%CS!AH SWWQZAF"B SWWQZ,AIAA#"B[[AB[7FBb"%Bb"%BBB !b&R Aa&3,rTbLqSRKR%"R%-B.BB20EBa"f^# a&3, bQ!V$A !bS!AHF"B,,swwqz2.C,,swwqz2.CGc#g%",DGa(DOC#OC#[[AB[7FBb"%Bb"%BBB8"C8"Cq&36/C'$Jt3:$Jt3:#Ic 1b8#Ic 1b8R%"R%-B.BB20EBbR''bR''q&36/C'7sax(C!8C))C"%C))C"%CS!AHF"B SWWQZ,AIAA#"BHHECH[[1%FBCH,,swwr{B7 7D4,,swwr{B7 7D4,,swwr{B7 7D4,,swwr{B7 7D4t8"Ct8"Ca&3,rTbLqSRK4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJDR''DR''a&3,7sax(C!8C))C"%C))C"%CS!AHF"B,,swwqz2.C,,swwqz2.CGc#g%",DGa(DOC#OC#HHECH[[1%FBCH,,swwr{B7 7D4,,swwr{B7 7D4,,swwr{B7 7D4,,swwr{B7 7D4:d *r1C:d *r1Cq&36/C'$Jt3:$Jt3:#Ic 1b8#Ic 1b84i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJ4i$t)+d4i7$t)CJd S4Z/B66d S4Z/B66q&36/C'7sax(C!8C))C"%C))C"%CS!AHrIcd}d}d}|j|sR|j|s@d}|j|z}|j|j||} | x} } | | z|z } |j |j|dz|\} }|j| |} |j||}| }|}|dzr || |z|z z }n || |z|z z }d}t | |kDrh| | z|z } | | z|z } || z||zz |z || z||zz|z }}|dzr|| |z||zz|z z }n|| |z||zz|z z }|dz }t | |kDrh||dzz }|j || }nZ|j|s|j|z}|j|j||}|j|j||}||z||zz |z }||z|dz z }|x}}|x}}|j |j|dz|\} }|j| |} |j||}| }|}|dzr||z|z }||z|z }n||z|z }||z|z }d}|dz|dzz|kDr||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}|| z||zz |z || z||zz|z }}|dzr#|||z||zz|z z }|||z||zz|z z }n"|||z||zz|z z }|||z||zz|z z }|dz }|dz|dzz|kDr||dzz }||dzz }|j || }|j || }|j||}nR|j|sY|j|z}|j|j||} | x} } | | z|z } |j}||_|j d|z\} }||_|j|j| |x}}|j|j| |x}} |j|j||x}!}"|j|j||x}#}$|dzr| |!z|z }| |#z|z }n| |z|z }| |z|z }d}t | |kDr| | z|z } | | z|z } ||z|| zz |!|"zz |#|$zz|z }%|| z||zz|!|$zz |#|"zz |z }&|!|z|#| zz ||"zz||$zz |z }'|!| z|#|zz||$zz||"zz|z }(|%}|&}|'}!|(}#|dzr#|| |!z||zz|z z }|| |#z||zz|z z }n"|| |z||zz|z z }|| |z||zz|z z }|dz }t | |kDr||dzz }||dzz }|j || }|j || }|j||}n|j|z}|j|j||}|j|j||}||z||zz |z }||z|dz z }|x}}|x}}|j}||_|j d|z\} }||_|j|j| |x}}|j|j| |x}} |j|j||x}!}"|j|j||x}#}$|dzr||!z||#zz |z }||!z||#zz|z }n||z||zz |z }||z||zz|z }d}|dz|dzz|kDr||z||zz |z ||z||zz|z }}||z||zz |z ||z||zz|z }}||z|| zz |!|"zz |#|$zz|z }%|| z||zz|!|$zz |#|"zz |z }&|!|z|#| zz ||"zz||$zz |z }'|!| z|#|zz||$zz||"zz|z }(|%}|&}|'}!|(}#|dzr/|||!z||#zz ||zz|z z }|||!z||#zz||zz|z z }n.|||z||zz ||zz|z z }|||z||zz||zz|z z }|dz }|dz|dzz|kDr||dzz }||dzz }|j || }|j || }|j||}|dzr d|dzz|zSdd|dzzz|zS)z2nd=1,2,3 order of the derivative with respect to zrrrrOr rrK)rr rrrrrr))rrrrLrrrr"rrr r!rr-r.r/r0rDr#r$r%r&r'r(r)r*r+r,r3r4r5r6r7r8r9r:r;r@rArBrCs) rG_djacobi_theta3rRIs,  C F F GGAJ  XX  LLR ( Acb[SWWQZ\3B \\"b ! \\"b !   qD !b&R A !b&R A !fsl2" A1 Aebem*RURU]r,AB!ta"fq"un++a"fq"un++ FA!fslBqDkN IIa"  WWQZ XX ll3771:r*ll3771:r*C#c'!b(CR!V$ccSWWQZ\3B \\"b ! \\"b !   qD8"C8"C8"C8"C 1fsAvo#d S4Z/B6d S4Z/B6Cc C#I-"4c C#I-"4Cebem*RURU]r,AB!tb1b5(R//b1b5(R//b1b5(R//b1b5(R// FA1fsAvo#1 1 iibS!iibS! GGC  WWQZ XX  LLR ( Acb[QqS!Bll3772;33tll3772;33tll3772;33tll3772;33t qDt8"Ct8"Ct8"Ct8"C !fsl2" A1 At)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBDDDD1D1b5(R//D1b5(R//D1b5(R//D1b5(R// FA#!fsl$1 1 iibS!iibS! GGC XX ll3771:r*ll3771:r*C#c'!b(CR!V$ccQqS!Bll3772;33tll3772;33tll3772;33tll3772;33t qD:d *r1C:d *r1C:d *r1C:d *r1C 1fsAvo#d S4Z/B6d S4Z/B6Cc C#I-"4c C#I-"4Ct)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBt)d4i'$t)3d4i?BFBDDDD!ttcDj0ArE9b@@tcDj0ArE9b@@tcDj0ArE9b@@tcDj0ArE9b@@ FA'1fsAvo#(1 1 iibS!iibS! GGC  1b!e}q  a"a%i 1$$rIcLt|j||j|j|z dz x}}|j d|z}|j d|zdz|zx}}|||z|zz}||z} | } |j t | z} |dz }||z}|||z|zz|z} t | | krn| | z } -|}|j d|z}|} |dz}||z}|||z|zz|z} t | | krn| | z } -| |j|dz} | S)au 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) ?rrr )intrrlogexpjepsrr) rrrrDn0e2ee0r termr"eps1s rG_jacobi_theta2ar`s`CGGCGGAJ//#5 66A !A#B XXqs1uai  A AaC!G A q5D A 773t9 D  Q F1Q37|a t9t   T   A "Q$B A  Q F1Q37|a t9t   T   CKK1 A HrIc t|j| t|j|j |z x}}|j d|z}|j d|z|zx}}|||zz|zx}} |j t| z} |dz }||z}|||zz|z} t| | krn|| z }*|}|j d|z}|} |dz}||z}|||zz|z} t| | kr |S|| z },)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)) rrrU)rVrrrrWrXrY) rrrrDrZr[r\r]r"r^r_s rG_jacobi_theta3arbs5#''!*S!455 66A !A#B XXac!e_A1Q3x!|A 773t9 D  Q F1Q3x!| t9t   T   A "Q$B A  Q F1Q3x!| t9t   H T  rIct|j||j|j|z dz x}}|j d|z}|j d|zdz|zx}}|||z|zz} d|zdz|z| z|z} | } |j t | z} |dz }||z}d|zdz|z|||z|zzz|z} t | | krn| | z } 9|}|j d|z}|} |dz}||z}d|zdz|z|||z|zzz|z} t | | krn| | z } 9|j|z| z|j|dzS)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) rTrrrUr ) rVrrrWrXrYrjr) rrrrLrDrZr[r\r]r r^r"r_s rG_djacobi_theta2are<sCGGCGGAJ//#5 66A !A#B XXqsQwk ""A AaC!G A aCEB;?Q D A 773t9 D  Q F!A{Q1q\)A- t9t   T   A "Q$B A  Q F!A{Q1q\)A- t9t   T   55"9q=3;;q!, ,,rIc t|j| t|j|j |z x}}|j d|z}|j d|z|zx}}|||zz|z} ||z| zx} } |dk7r|j t| z} n|j t| z} |dz }||z}|||zz|z} ||z| z} |dk7r t| } n t| } | | krn| | z } E|}|j d|z}|} |dz}||z}|||zz|z} ||z| z} |dk7r t| } n t| } | | krn| | z } Ed|jz|z| zS)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) rrOrrU)rVrrrrWrXrYrd)rrrrLrDrZr[r\r]r r"r^r_aterms rG_djacobi_theta3arh`s#''!*S!455 66A !A#B XXac!e_A AaC1 A"uqyAAvwws4y wws1v~  Q F !HqL"uqy 6IEFE 4<  T   A "Q$B A  Q F !HqL"uqy 6IEFE 4<  T   ceeGb=1 rIc 2|r|j||||S|j|}|j|}t||jkDrt d|jzd}|r1|j |}|dkDs |dk(r|dkr|dt|zz }d}d}|j } |xj |z c_|dk(r|j|rt|j||t|j|j|zkr9|xj|z c_ |j||jdz z |} n|xjdz c_ |j||jdz z |} nq|j||jdz z |} nM|dk(r|j|rt|j||t|j|j|zkr)|xj|z c_ |j||} n|xjdz c_ |j||} n|j||} n|d k(r|j|rt|j||t|j|j|zkr)|xj|z c_ |j||} n|xjdz c_ |j||} n|j||} n|d k(r|j|rt|j||t|j|j|zkr)|xj|z c_ |j|| } nC|xjdz c_ |j|| } n|j|| } nt| |_| S#| |_wxYw Nzabs(q) > THETA_Q_LIM = %frr rrrT2r r )_djthetaconvertr THETA_Q_LIM ValueErrormagr rrrWdpsrHpir`rPrb) rrDrr derivativeextraMczrr3ress rGjthetarysJ||Aq!Z00 AA AA 1v4sFGG E GGAJ q5Q!VB Qs1vX E B F HHE- E 6wwqzswwqz?R#cggcggaj.A*B%BBGGv%G,,Q\1=CGGrMG--a#&&(lA>C((SVVAXq9 !Vwwqzswwqz?R#cggcggaj.A*B%BBGGv%G,,Q2CGGrMG--a3C((A. !Vwwqzswwqz?R#cggcggaj.A*B%BBGGv%G,,Q2CGGrMG--a3C((A. !Vwwqzswwqz?R#cggcggaj.A*B%BBGGv%G,,Q3CGGrMG--a!4C((QB/  Js /MP Pc \|j|}|j|}t|}t||jkDrt d|jzd|j |zdzz}|r1|j |}|dkDs |dk7r|dkr|dt|zz }d}d} |j } |xj |z c_|dk(r|j|rt|j||t|j|j|zkr:|xj| z c_ |j||jdz z ||} n|xjdz c_ |j||jdz z ||} n{|j||jdz z ||} nV|dk(r|j|rt|j||t|j|j|zkr*|xj| z c_ |j|||} n|xjdz c_ |j|||} n|j|||} n|d k(r|j|rt|j||t|j|j|zkr*|xj| z c_ |j|||} n |xjdz c_ |j|||} n|j|||} n|d k(r|j|rt|j||t|j|j|zkr*|xj| z c_ |j|| |} nE|xjdz c_ |j|| |} n|j|| |} nt| |_| S#| |_wxYwrj)rnrVrrorpr rqrrrWrrrMrsrerRrh) rrDrrrtrLrurvrwrr3rxs rGrmrmse AA AA ZB 1v4sFGG B"$ $E GGAJ q5Q!VB Qs1vX E B F HHE- E 6wwqzswwqz?R#cggcggaj.A*B%BBGGv%G--a#&&(lArBCGGrMG..q366!8|QCC))!cffQh,2> !Vwwqzswwqz?R#cggcggaj.A*B%BBGGv%G--aB7CGGrMG..q!R8C))!Q3 !Vwwqzswwqz?R#cggcggaj.A*B%BBGGv%G--aB7CGGrMG..q!R8C))!Q3 !Vwwqzswwqz?R#cggcggaj.A*B%BBGGv%G--a!R8CGGrMG..q1"b9C))!aR4  4Ks 7M!P"" P+N)rO)r) functionsrrrHrMrPrRr`rbrerhryrmrIrGr}s+R R hF%F%PeeNh%h%T% % N  >!-!-F++ZJJX==rI