
    gȑ                         d dl mZmZ ed             Zed             Zed             Zed             Zed             Zed             Zed             Z	ed	             Z
edd            Zedd            ZdS )   )defundefun_wrappedc                 T   d}d}d}|| j         k    r|                     |          s| j        |z   }|                     |                     |          |          }||z  |z	  }|x}	}
|}t          |	          |k    r(|
|z  |z	  }
|	|
z  |z	  }	||	z  }t          |	          |k    (d|dz   z  |dz  z   }|                     ||           }n| j        |z   }|                     |                     |          |          }|                     |                     |          |          }||z  ||z  z
  |z	  }||z  |dz
  z	  }|x}}|x}}d|z  |z   }|}|dz  |dz  z   |k    rQ||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  }||z  }|dz  |dz  z   |k    Q|dz  }|dz  }|                     ||           }|                     ||           }|                     ||          }
n|                     |          s|                     |          sp| j        |z   }|                     |                     |          |          }||z  |z	  }|x}	}
|                     |                     |          |          \  }}|                     ||          x}}|                     ||          x}}||z  ||z  z
  |z	  }||z  |dz
  z	  }||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||	|z  |z	  z   }t          |	          |k    rJ|
|z  |z	  }
|	|
z  |z	  }	||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||	|z  |z	  z  }t          |	          |k    J|dz  }|                     ||           }|| 	                    |d          z  }|S |                     |          s| j        |z   }|                     |                     |          |          }|                     |                     |          |          }||z  ||z  z
  |z	  }||z  |dz
  z	  }|x}}|x}}|                     |                     |          |          \  }}|                     ||          x}}|                     ||          x}}||z  ||z  z
  |z	  }||z  |dz
  z	  }||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}|||z  |z	  z   }||z  |z	  }|dz  |dz  z   |k    ry||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}|||z  |z	  z  }|||z  |z	  z  }|dz  |dz  z   |k    y|dz  }|dz  }|                     ||           }|                     ||           }|                     ||          }n|                     |          s| j        |z   }|                     |                     |          |          }||z  |z	  }|x}	}
| j        }|| _        |                     |          \  }}|| _        |                     |                     |          |          x}}|                     |                     |          |          x}} |                     |                     |          |          x}!}"|                     |                     |          |          x}#}$||z  | | z  z
  |"|"z  z
  |$|$z  z   |z	  }%|| z  |"|$z  z
  |dz
  z	  }&||"z  | |$z  z
  |dz
  z	  }'||$z  | |"z  z   |dz
  z	  }(||%z  ||&z  z
  |!|'z  z
  |#|(z  z   |z	  })||&z  ||%z  z   |!|(z  z
  |#|'z  z
  |z	  }*|!|%z  |#|&z  z
  ||'z  z   ||(z  z
  |z	  }+|!|&z  |#|%z  z   ||(z  z   ||'z  z   |z	  },|)}|*}|+}!|,}#||	|z  |z	  z   }| |	|z  |z	  z   }t          |	          |k    r|
|z  |z	  }
|	|
z  |z	  }	||%z  ||&z  z
  |!|'z  z
  |#|(z  z   |z	  })||&z  ||%z  z   |!|(z  z
  |#|'z  z
  |z	  }*|!|%z  |#|&z  z
  ||'z  z   ||(z  z
  |z	  }+|!|&z  |#|%z  z   ||(z  z   ||'z  z   |z	  },|)}|*}|+}!|,}#||	|z  |z	  z  }||	|z  |z	  z  }t          |	          |k    |dz  }|dz  }|                     ||           }|                     ||           }|                     ||          }n| j        |z   }|                     |                     |          |          }|                     |                     |          |          }||z  ||z  z
  |z	  }||z  |dz
  z	  }|x}}|x}}| j        }|| _        |                     |          \  }}|| _        |                     |                     |          |          x}}|                     |                     |          |          x}} |                     |                     |          |          x}!}"|                     |                     |          |          x}#}$||z  | | z  z
  |"|"z  z
  |$|$z  z   |z	  }%|| z  |"|$z  z
  |dz
  z	  }&||"z  | |$z  z
  |dz
  z	  }'||$z  | |"z  z   |dz
  z	  }(||%z  ||&z  z
  |!|'z  z
  |#|(z  z   |z	  })||&z  ||%z  z   |!|(z  z
  |#|'z  z
  |z	  }*|!|%z  |#|&z  z
  ||'z  z   ||(z  z
  |z	  }+|!|&z  |#|%z  z   ||(z  z   ||'z  z   |z	  },|)}|*}|+}!|,}#d}-|}.| }/|||z  ||z  z
  |z	  z   }| ||z  ||z  z   |z	  z   }d}-||z  ||z  z
  |z	  }.||z  ||z  z   |z	  }/|||z  ||z  z
  |z	  z   }| ||z  ||z  z   |z	  z   }d}-|dz  |dz  z   |k    r||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||%z  ||&z  z
  |!|'z  z
  |#|(z  z   |z	  })||&z  ||%z  z   |!|(z  z
  |#|'z  z
  |z	  }*|!|%z  |#|&z  z
  ||'z  z   ||(z  z
  |z	  }+|!|&z  |#|%z  z   ||(z  z   ||'z  z   |z	  },|)}|*}|+}!|,}#||z  ||z  z
  |z	  }.||z  ||z  z   |z	  }/|||z  ||z  z
  |z	  z  }|||z  ||z  z   |z	  z  }|-dz  }-|dz  |dz  z   |k    |dz  }|dz  }|                     ||           }|                     ||           }|                     ||          }|| 	                    |d          z  }|S )	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                                                   R/var/www/html/ai-engine/env/lib/python3.11/site-packages/mpmath/functions/theta.py_jacobi_theta2rH      s   FF
 CCH}}

 !	"F"BSWWQZZ,,AA#"BJAAa&&3,,rTbLqSRKQ a&&3,, r!ta(A		!bS!!AAF"B,,swwqzz2..C,,swwqzz2..CGc#g%",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!!AA

 d	"SWWQZZ d	"F"BSWWQZZ,,AA#"BJA[["[5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,,rTbLqSRKR%"R%-B.BB20EBa"f^#	 a&&3,,
 aA		!bS!!AQ"""AH N	"F"B,,swwqzz2..C,,swwqzz2..CGc#g%",DGa(DC#C#[["[5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!!AA p	"F"BSWWQZZ,,AA#"BJAHECH[[^^FBCH,,swwr{{B777D4,,swwr{{B777D4,,swwr{{B777D4,,swwr{{B7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,,rTbLqSRK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!!AA F"B,,swwqzz2..C,,swwqzz2..CGc#g%",DGa(DC#C#HECH[[^^FBCH,,swwr{{B777D4,,swwr{{B777D4,,swwr{{B777D4,,swwr{{B7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                    d}d}d}|                      |          s|                      |          s| j        |z   }|                     |                     |          |          }||z  |z	  }	|	x}
}|                     |                     |          |          \  }}|                     ||          x}}|                     ||          x}}||z  ||z  z
  |z	  }||z  |dz
  z	  }||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}|dz  r||
|z  d|z  z  |z	  z   }n||
|z  d|z  z  |z	  z   }d}t          |
          |k    rx||	z  |z	  }|
|z  |z	  }
||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}|dz  r||
|z  d|z  dz   |z  z  |z	  z  }n||
|z  d|z  dz   |z  z  |z	  z  }|dz  }t          |
          |k    x|dz   }|                     ||           }	n|                      |          sh| j        |z   }|                     |                     |          |          }|                     |                      |          |          }||z  ||z  z
  |z	  }||z  |dz
  z	  }|x}}|x}}|                     |                     |          |          \  }}|                     ||          x}}|                     ||          x}}||z  ||z  z
  |z	  }||z  |dz
  z	  }||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}|dz  r |||z  d|z  z  |z	  z   }||z  d|z  z  |z	  }n|||z  d|z  z  |z	  z   }||z  d|z  z  |z	  }d}|dz  |dz  z   |k    r||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}|dz  r#|||z  ||z  z  |z	  z  }|||z  ||z  z  |z	  z  }n"|||z  ||z  z  |z	  z  }|||z  ||z  z  |z	  z  }|dz  }|dz  |dz  z   |k    |dz   }|dz   }|                     ||           }|                     ||           }|                     ||          }nt|                      |          sh| j        |z   }|                     |                     |          |          }||z  |z	  }	|	x}
}| j        }|| _        |                     |          \  }}|| _        |                     |                     |          |          x}} |                     |                      |          |          x}!}"|                     |                     |          |          x}#}$|                     |                      |          |          x}%}&| | z  |"|"z  z
  |$|$z  z
  |&|&z  z   |z	  }'| |"z  |$|&z  z
  |dz
  z	  }(| |$z  |"|&z  z
  |dz
  z	  })| |&z  |"|$z  z   |dz
  z	  }*||'z  |!|(z  z
  |#|)z  z
  |%|*z  z   |z	  }+||(z  |!|'z  z   |#|*z  z
  |%|)z  z
  |z	  },|#|'z  |%|(z  z
  ||)z  z   |!|*z  z
  |z	  }-|#|(z  |%|'z  z   ||*z  z   |!|)z  z   |z	  }.|+}|,}!|-}#|.}%|dz  r#|$|
|#z  d|z  z  |z	  z   }|&|
|%z  d|z  z  |z	  z   }n"| |
|z  d|z  z  |z	  z   }|"|
|!z  d|z  z  |z	  z   }d}t          |
          |k    r||	z  |z	  }|
|z  |z	  }
||'z  |!|(z  z
  |#|)z  z
  |%|*z  z   |z	  }+||(z  |!|'z  z   |#|*z  z
  |%|)z  z
  |z	  },|#|'z  |%|(z  z
  ||)z  z   |!|*z  z
  |z	  }-|#|(z  |%|'z  z   ||*z  z   |!|)z  z   |z	  }.|+}|,}!|-}#|.}%|dz  r#||
|#z  ||z  z  |z	  z  }||
|%z  ||z  z  |z	  z  }n"||
|z  ||z  z  |z	  z  }||
|!z  ||z  z  |z	  z  }|dz  }t          |
          |k    |dz   }|dz   }|                     ||           }|                     ||           }|                     ||          }n| j        |z   }|                     |                     |          |          }|                     |                      |          |          }||z  ||z  z
  |z	  }||z  |dz
  z	  }|x}}|x}}| j        }|| _        |                     |          \  }}|| _        |                     |                     |          |          x}} |                     |                      |          |          x}!}"|                     |                     |          |          x}#}$|                     |                      |          |          x}%}&| | z  |"|"z  z
  |$|$z  z
  |&|&z  z   |z	  }'| |"z  |$|&z  z
  |dz
  z	  }(| |$z  |"|&z  z
  |dz
  z	  })| |&z  |"|$z  z   |dz
  z	  }*||'z  |!|(z  z
  |#|)z  z
  |%|*z  z   |z	  }+||(z  |!|'z  z   |#|*z  z
  |%|)z  z
  |z	  },|#|'z  |%|(z  z
  ||)z  z   |!|*z  z
  |z	  }-|#|(z  |%|'z  z   ||*z  z   |!|)z  z   |z	  }.|+}|,}!|-}#|.}%|dz  r/|$||#z  ||%z  z
  d|z  z  |z	  z   }|&||%z  ||#z  z   d|z  z  |z	  z   }n.| ||z  ||!z  z
  d|z  z  |z	  z   }|"||!z  ||z  z   d|z  z  |z	  z   }d}|dz  |dz  z   |k    r||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||'z  |!|(z  z
  |#|)z  z
  |%|*z  z   |z	  }+||(z  |!|'z  z   |#|*z  z
  |%|)z  z
  |z	  },|#|'z  |%|(z  z
  ||)z  z   |!|*z  z
  |z	  }-|#|(z  |%|'z  z   ||*z  z   |!|)z  z   |z	  }.|+}|,}!|-}#|.}%|dz  r/|||#z  ||%z  z
  ||z  z  |z	  z  }|||#z  ||%z  z   ||z  z  |z	  z  }n.|||z  ||!z  z
  ||z  z  |z	  z  }|||z  ||!z  z   ||z  z  |z	  z  }|dz  }|dz  |dz  z   |k    |dz   }|dz   }|                     ||           }|                     ||           }|                     ||          }||                     |d          z  }|dz  rd	|dz  z  |z  S d	d|dz  z   z  |z  S )
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 } }XLLR((cb[
ASWWQZZb11B,,r2&&&R,,r2&&&Rebem"2g26"R%"R%-B&BB2(=BqD 	.q2v2~",-AAq2v2~",-A!ffsll2"A1Aebem*RURU]r,AB!t 2a"f!A{*r11a"f!A{*r11FA !ffsll 1fIIIa"WWQZZ aXll3771::r**ll3771::r**C#c'!b(CR!V$ccSWWQZZb11B,,r2&&&R,,r2&&&Rebem"2g26"R%"R%-B&BB2(=BqD 	-rArE)b01C"Hq"u$+CC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B1 2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 xXLLR((cb[
AQBll3772;;333tll3772;;333tll3772;;333tll3772;;3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 	41t8ae+23C1t8ae+23CC1t8ae+23C1t8ae+23C!ffsll2"A1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 2TArE)b01TArE)b01TArE)b01TArE)b01FA# !ffsll$ qkqkiibS!!iibS!!GGC Xll3771::r**ll3771::r**C#c'!b(CR!V$ccQBll3772;;333tll3772;;333tll3772;;333tll3772;;3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 	DC$Jt3q"u<CDCC$Jt3ae;BCCC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 C#*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                 ~   d}d}d}|| j         k    r|                     |          s| j        |z   }|                     |                     |          |          }|}|x}	}
||z  |z	  }t          |	          |k    r(|
|z  |z	  }
|	|
z  |z	  }	||	z  }t          |	          |k    (d|z  |dz  z   }|                     ||           }|S | j        |z   }|                     |                     |          |          }|                     |                     |          |          }||z  ||z  z
  |z	  }||z  |dz
  z	  }|x}x}}|x}x}}|dz  |dz  z   |k    rQ||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  }||z  }|dz  |dz  z   |k    Qd|z  |dz  z   }|dz  }|                     ||           }|                     ||           }|                     ||          }|S |                     |          sC|                     |          s-d}| j        |z   }|                     |                     |          |          }|x}	}
||z  |z	  }|                     |                     |          dz  |          \  }}|                     ||          }|                     ||          }|}|}||	|z  |z	  z  }t          |	          |k    rJ|
|z  |z	  }
|	|
z  |z	  }	||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||	|z  |z	  z  }t          |	          |k    Jd|z  |dz  z   }|                     ||           }|S |                     |          s| j        |z   }|                     |                     |          |          }|                     |                     |          |          }||z  ||z  z
  |z	  }||z  |dz
  z	  }|x}}|x}}|                     |                     |          dz  |          \  }}|                     ||          }|                     ||          }|}|}||z  |z	  }||z  |z	  }|dz  |dz  z   |k    ry||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}|||z  |z	  z  }|||z  |z	  z  }|dz  |dz  z   |k    yd|z  |dz  z   }|dz  }|                     ||           }|                     ||           }|                     ||          }|S |                     |          s=| j        |z   }|                     |                     |          |          }|x}	}
||z  |z	  }| j        }|| _        |                     d|z            \  }}|| _        |                     |                     |          |          x}}|                     |                     |          |          x}}|                     |                     |          |          x}} |                     |                     |          |          x}!}"|	|z  |z	  }|	|z  |z	  }t          |	          |k    r|
|z  |z	  }
|	|
z  |z	  }	||z  ||z  z
  || z  z
  |!|"z  z   |z	  }#||z  ||z  z   ||"z  z
  |!| z  z
  |z	  }$||z  |!|z  z
  || z  z   ||"z  z
  |z	  }%||z  |!|z  z   ||"z  z   || z  z   |z	  }&|#}|$}|%}|&}!||	|z  |z	  z  }||	|z  |z	  z  }t          |	          |k    d|z  |dz  z   }|dz  }|                     ||           }|                     ||           }|                     ||          }|S | j        |z   }|                     |                     |          |          }|                     |                     |          |          }||z  ||z  z
  |z	  }||z  |dz
  z	  }|x}}|x}}| j        }|| _        |                     d|z            \  }}|| _        |                     |                     |          |          x}}|                     |                     |          |          x}}|                     |                     |          |          x}} |                     |                     |          |          x}!}"||z  ||z  z
  |z	  }||z  ||z  z   |z	  }|dz  |dz  z   |k    r||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  || z  z
  |!|"z  z   |z	  }#||z  ||z  z   ||"z  z
  |!| z  z
  |z	  }$||z  |!|z  z
  || z  z   ||"z  z
  |z	  }%||z  |!|z  z   ||"z  z   || z  z   |z	  }&|#}|$}|%}|&}!|||z  ||z  z
  |z	  z  }|||z  ||z  z   |z	  z  }|dz  |dz  z   |k    d|z  |dz  z   }|dz  }|                     ||           }|                     ||           }|                     ||          }|S )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CH}}wwqzz !	F"BSWWQZZ,,AAIAA#"Ba&&3,,rTbLqSRKQ a&&3,, bQ!V$A		!bS!!AHF"B,,swwqzz2..C,,swwqzz2..CGc#g%",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SWWQZZ,,AIAA#"B[[AB[77FBb"%%Bb"%%BBB!b&RAa&&3,,rTbLqSRKR%"R%-B.BB20EBa"f^#	 a&&3,,
 bQ!V$A		!bS!!AH h	F"B,,swwqzz2..C,,swwqzz2..CGc#g%",DGa(DOC#OC#[[AB[7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 J	F"BSWWQZZ,,AIAA#"BHECH[[1%%FBCH,,swwr{{B777D4,,swwr{{B777D4,,swwr{{B777D4,,swwr{{B777D4t8"Ct8"Ca&&3,,rTbLqSRK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,,swwqzz2..C,,swwqzz2..CGc#g%",DGa(DOC#OC#HECH[[1%%FBCH,,swwr{{B777D4,,swwr{{B777D4,,swwr{{B777D4,,swwr{{B7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                 R   d}d}d}|                      |          sv|                      |          s`d}| j        |z   }|                     |                     |          |          }	|	x}
}|	|	z  |z	  }|                     |                     |          dz  |          \  }}|                     ||          }|                     ||          }|}|}|dz  r||
|z  |z	  z  }n||
|z  |z	  z  }d}t          |
          |k    rl||z  |z	  }|
|z  |z	  }
||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}|dz  r||
|z  ||z  z  |z	  z  }n||
|z  ||z  z  |z	  z  }|dz  }t          |
          |k    l||dz   z   }|                     ||           }n|                      |          s| j        |z   }|                     |                     |          |          }|                     |                      |          |          }||z  ||z  z
  |z	  }||z  |dz
  z	  }|x}}|x}}|                     |                     |          dz  |          \  }}|                     ||          }|                     ||          }|}|}|dz  r||z  |z	  }||z  |z	  }n||z  |z	  }||z  |z	  }d}|dz  |dz  z   |k    r||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}|dz  r#|||z  ||z  z  |z	  z  }|||z  ||z  z  |z	  z  }n"|||z  ||z  z  |z	  z  }|||z  ||z  z  |z	  z  }|dz  }|dz  |dz  z   |k    ||dz   z   }||dz   z   }|                     ||           }|                     ||           }|                     ||          }n|                      |          s| j        |z   }|                     |                     |          |          }	|	x}
}|	|	z  |z	  }| j        }|| _        |                     d|z            \  }}|| _        |                     |                     |          |          x}}|                     |                      |          |          x}} |                     |                     |          |          x}!}"|                     |                      |          |          x}#}$|dz  r|
|!z  |z	  }|
|#z  |z	  }n|
|z  |z	  }|
|z  |z	  }d}t          |
          |k    r||z  |z	  }|
|z  |z	  }
||z  || z  z
  |!|"z  z
  |#|$z  z   |z	  }%|| z  ||z  z   |!|$z  z
  |#|"z  z
  |z	  }&|!|z  |#| z  z
  ||"z  z   ||$z  z
  |z	  }'|!| z  |#|z  z   ||$z  z   ||"z  z   |z	  }(|%}|&}|'}!|(}#|dz  r#||
|!z  ||z  z  |z	  z  }||
|#z  ||z  z  |z	  z  }n"||
|z  ||z  z  |z	  z  }||
|z  ||z  z  |z	  z  }|dz  }t          |
          |k    ||dz   z   }||dz   z   }|                     ||           }|                     ||           }|                     ||          }n| j        |z   }|                     |                     |          |          }|                     |                      |          |          }||z  ||z  z
  |z	  }||z  |dz
  z	  }|x}}|x}}| j        }|| _        |                     d|z            \  }}|| _        |                     |                     |          |          x}}|                     |                      |          |          x}} |                     |                     |          |          x}!}"|                     |                      |          |          x}#}$|dz  r||!z  ||#z  z
  |z	  }||!z  ||#z  z   |z	  }n||z  ||z  z
  |z	  }||z  ||z  z   |z	  }d}|dz  |dz  z   |k    r||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  ||z  z
  |z	  ||z  ||z  z   |z	  }}||z  || z  z
  |!|"z  z
  |#|$z  z   |z	  }%|| z  ||z  z   |!|$z  z
  |#|"z  z
  |z	  }&|!|z  |#| z  z
  ||"z  z   ||$z  z
  |z	  }'|!| z  |#|z  z   ||$z  z   ||"z  z   |z	  }(|%}|&}|'}!|(}#|dz  r/|||!z  ||#z  z
  ||z  z  |z	  z  }|||!z  ||#z  z   ||z  z  |z	  z  }n.|||z  ||z  z
  ||z  z  |z	  z  }|||z  ||z  z   ||z  z  |z	  z  }|dz  }|dz  |dz  z   |k    ||dz   z   }||dz   z   }|                     ||           }|                     ||           }|                     ||          }|dz  rd|dz  z  |z  S dd|dz  z   z  |z  S )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 _ _XLLR((	Acb[SWWQZZ\33B\\"b!!\\"b!!qD 	 !b&RAA!b&RA!ffsll2"A1Aebem*RURU]r,AB!t ,a"fq"un++a"fq"un++FA !ffsll BqDkNIIa"WWQZZ CXll3771::r**ll3771::r**C#c'!b(CR!V$ccSWWQZZ\33B\\"b!!\\"b!!qD 	#8"C8"CC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URU]r,AB!t 0b1b5(R//b1b5(R//b1b5(R//b1b5(R//FA 1fsAvo## 11iibS!!iibS!!GGCWWQZZ \XLLR((	Acb[QqS!!Bll3772;;333tll3772;;333tll3772;;333tll3772;;333tqD 	#t8"Ct8"CCt8"Ct8"C!ffsll2"A1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 0D1b5(R//D1b5(R//D1b5(R//D1b5(R//FA# !ffsll$ 11iibS!!iibS!!GGC Xll3771::r**ll3771::r**C#c'!b(CR!V$ccQqS!!Bll3772;;333tll3772;;333tll3772;;333tll3772;;333tqD 	2:d
*r1C:d
*r1CC: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 A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                    t          |                     |          |                     |                     |                    z  dz
            x}}|                     d|z            }|                     d|z  dz   |z            x}}|||z  |z   z  }||z  }	|	}
| j        t          |	          z  }	 |dz  }||z  }|||z  |z   z  |z  }	t          |	          |k     rn|
|	z  }
2|}|                     d|z            }|}	 |dz  }||z  }|||z  |z   z  |z  }	t          |	          |k     rn|
|	z  }
2|
|                     |d          z  }
|
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)
          ?r   r   r   )intr   r   logexpjepsr   r   )r   r   r   rD   n0e2ee0r    termr"   eps1s               rG   _jacobi_theta2ar`     s    CGGCGGAJJ///#5666A	!A#BXXqs1uai   A	AaC!GAq5DA73t99D	QF1Q37|at99t	T	 	A	"Q$B
A	QF1Q37|at99t	T	 	
CKK1AHrI   c           
      f   t          |                     |           t          |                     |                     |                              z            x}}|                     d|z            }|                     d|z  |z            x}}|||z  z  |z  x}}	| j        t          |	          z  }
	 |dz  }||z  }|||z  z  |z  }	t          |	          |
k     rn||	z  }/|}|                     d|z            }|}	 |dz  }||z  }|||z  z  |z  }	t          |	          |
k     rn||	z  }/|S )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     sV    #''!**S!4!4555666A	!A#BXXac!e__A1Q3x!|A73t99D	QF1Q3x!|t99t	T	 	A	"Q$B
A	QF1Q3x!|t99t	T	 HrI   c                    t          |                     |          |                     |                     |                    z  dz
            x}}|                     d|z            }|                     d|z  dz   |z            x}}|||z  |z   z  }	d|z  dz   |z  |	z  |z  }
|
}| j        t          |
          z  }	 |dz  }||z  }d|z  dz   |z  |||z  |z   z  z  |z  }
t          |
          |k     rn||
z  }>|}|                     d|z            }|}	 |dz  }||z  }d|z  dz   |z  |||z  |z   z  z  |z  }
t          |
          |k     rn||
z  }>| j        |z  |z  |                     |d          z  S )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    CGGCGGAJJ///#5666A	!A#BXXqsQwk"""A	AaC!GAaCEB;?QDA73t99D	QF!A{Q1q\)A-t99t	T	 	A	"Q$B
A	QF!A{Q1q\)A-t99t	T	 5"9q=3;;q!,,,,rI   c           
      N   t          |                     |           t          |                     |                     |                              z            x}}|                     d|z            }|                     d|z  |z            x}}|||z  z  |z  }	||z  |	z  x}
}|dk    r| j        t          |          z  }n| j        t          |	          z  }	 |dz  }||z  }|||z  z  |z  }	||z  |	z  }|dk    rt          |          }nt          |	          }||k     rn|
|z  }
O|}|                     d|z            }|}	 |dz  }||z  }|||z  z  |z  }	||z  |	z  }|dk    rt          |          }nt          |	          }||k     rn|
|z  }
Od| j        z  |z  |
z  S )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!4555666A	!A#BXXac!e__A	AaC1A"uqyAAvvws4yy ws1vv~	QF!HqL"uqy66IIEEFFE4<<	T	 	A	"Q$B
A	QF!HqL"uqy66IIEEFFE4<<	T	 ceGb=1rI   rO   c           	      	   |r|                      ||||          S |                     |          }|                     |          }t          |          | j        k    rt	          d| j        z            d}|r<|                     |          }|dk    s|dk    r|dk     r|dt          |          z  z  }d}d}| j        }		 | xj        |z  c_        |dk    r|                     |          rt          |                     |                    |t          |                     | 	                    |                              z  k     r3| xj
        |z  c_
        |                     || j        dz  z
  |          }
n| xj
        dz  c_
        |                     || j        dz  z
  |          }
n|                     || j        dz  z
  |          }
n|dk    r|                     |          rt          |                     |                    |t          |                     | 	                    |                              z  k     r(| xj
        |z  c_
        |                     ||          }
n| xj
        dz  c_
        |                     ||          }
n|                     ||          }
n|d	k    r|                     |          rt          |                     |                    |t          |                     | 	                    |                              z  k     r(| xj
        |z  c_
        |                     ||          }
n$| xj
        dz  c_
        |                     ||          }
n|                     ||          }
n|d
k    r|                     |          rt          |                     |                    |t          |                     | 	                    |                              z  k     r(| xj
        |z  c_
        |                     ||           }
nG| xj
        dz  c_
        |                     ||           }
n|                     ||           }
nt          |	| _        n# |	| _        w xY w|
S 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     s    1||Aq!Z000AAAA 1vv4sFGGGE GGAJJq55Q!VVBQs1vvXE	BFHE-E66wwqzz :swwqzz??R#cggcggajj.A.A*B*B%BBBGGv%GG,,Q\1==CCGGrMGG--a#&(lA>>CC((SVAXq99!VVwwqzz /swwqzz??R#cggcggajj.A.A*B*B%BBBGGv%GG,,Q22CCGGrMGG--a33CC((A..!VVwwqzz /swwqzz??R#cggcggajj.A.A*B*B%BBBGGv%GG,,Q22CCGGrMGG--a33CC((A..!VVwwqzz 0swwqzz??R#cggcggajj.A.A*B*B%BBBGGv%GG,,Q33CCGGrMGG--a!44CC((QB//5Js    N2Q: :	Rc           	      2	   |                      |          }|                      |          }t          |          }t          |          | j        k    rt	          d| j        z            d| j        |z  dz  z   }|r<|                     |          }|dk    s|dk    r|dk     r|dt          |          z  z  }d}d}	| j        }
	 | xj        |z  c_        |dk    r|                     |          rt          |                     |                    |t          |                     | 	                    |                              z  k     r4| xj
        |	z  c_
        |                     || j        dz  z
  ||          }n| xj
        dz  c_
        |                     || j        dz  z
  ||          }n|                     || j        dz  z
  ||          }n|dk    r|                     |          rt          |                     |                    |t          |                     | 	                    |                              z  k     r)| xj
        |	z  c_
        |                     |||          }n| xj
        dz  c_
        |                     |||          }n|                     |||          }n|d	k    r|                     |          rt          |                     |                    |t          |                     | 	                    |                              z  k     r)| xj
        |	z  c_
        |                     |||          }n*| xj
        dz  c_
        |                     |||          }n|                     |||          }n|d
k    r|                     |          rt          |                     |                    |t          |                     | 	                    |                              z  k     r)| xj
        |	z  c_
        |                     || |          }nI| xj
        dz  c_
        |                     || |          }n |                     || |          }nt          |
| _        n# |
| _        w xY w|
 S 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     s,   AAAA	ZB
1vv4sFGGGB"$$E GGAJJq55Q!VVBQs1vvXE	BFHE-E66wwqzz ?swwqzz??R#cggcggajj.A.A*B*B%BBBGGv%GG--a#&(lArBBCCGGrMGG..q36!8|QCCCC))!cfQh,2>>!VVwwqzz 4swwqzz??R#cggcggajj.A.A*B*B%BBBGGv%GG--aB77CCGGrMGG..q!R88CC))!Q33!VVwwqzz 4swwqzz??R#cggcggajj.A.A*B*B%BBBGGv%GG--aB77CCGGrMGG..q!R88CC))!Q33!VVwwqzz 5swwqzz??R#cggcggajj.A.A*B*B%BBBGGv%GG--a!R88CCGGrMGG..q1"b99CC))!aR4454Ks   N?R
 
	RN)rO   )r   )	functionsr   r   rH   rM   rP   rR   r`   rb   re   rh   ry   rm    rI   rG   <module>r}      sU   + + + + + + + +R R Rh F% F% F%P e e eN h% h% h%T % % %N   > !- !- !-F + + +Z J J J JX = = = = = =rI   