� I�g:����ddlmZddlmZddlmZmZmZed-d���Zed.d���Z ed���Z ed ���Z gd �Z d �Z ed/d ���Zed���Zed���Zed���Zed���Zed���Zed���Zed0d���Zd�Zd�Zd�Zd�Zed���Zed0d���Zed0d���Zed���Zed���Zed1d ���Zed2d!���Z d"�Z!d#�Z"edgdfd$���Z#edgdfd%���Z$d&�Z%d'�Z&d(�Z'd)�Z(ed3d+���Z)ed,���Z*dS)4�)�print_function�)�xrange�)�defun� defun_wrapped� defun_staticc�@���� ��������������dkr��d��St�d��r�j}n ix}�_�dkr+�dkr�j S�|vr|�\}}|�jkr| Sd� ��� �fd�}�j} �dkr&d�_��|d�jgd� ��� |d zt�d z��z�_��|d�jgd� ��}�� ����zd �zz �� ����dzz�dzz z d |z�z � zz}|�_n #|�_wxYw�dkr!�� ���r �j|f|�<| S) Nrz&Stieltjes constants defined for n >= 0�stieltjes_cacherc����|�z }|�jz ����j|zz ���zzd|dzzz ��d�jz|z��dz z }��|���z S�Nrr)�j�ln�exp�pi�_re)�x�xa�v�a�ctx�mag�ns �����e/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/mpmath/functions/zeta.py�fzstieltjes.<locals>.fsy��� �q�S�� ���X�s�v�v�a���a��i�(�(�!�+� +�Q�r�1�u�W� 5�s�w�w�q���x��z�7J�7J�1�7L� M���w�w�q�z�z�C����2��)� maxdegree� ��?r) �convert� bad_domain�hasattrr �euler�prec�quad�inf�intr�isint) rrrr r'�sr�origrrs ``` @r� stieltjesr.s������� � � �A���A� � � �A���A��1�u�u��~�~�F�G�G�G��s�%�&�&�3��-���02�2��#�-��A�v�v� ��6�6��I�:� � �� � �%�a�(�G�D�!��s�x����r� � �C� � � � � � � � � �8�D� � �r�6�6��C�H��(�(�1�q���k�Q�(�7�7�C��"�9�s�1�c�6�{�{�*��� �H�H�Q��3�7� �r�H� 2� 2�� �F�F�1�I�I�q�L�!�A�#� �������Q�q�S�!1�1�Q�3�!7� 7�!�A�#�a�%��)� C�������4��������A�v�v�#�)�)�A�,�,�v�!�h��]���� �2�Is �.B4E*�* E3c�\�t|��}||jks ||jkr,|dkr||jkr |dkr|jS|jS|jS|dkr�|�|��r`|�dd|zz��}|�dd|zz ��}|�|j�� dz |zd||z zz S|�|��r|S|�|�dd|zz����|�|j��dz |zz S|dkr�d|dz z|� |dz dd|zz ��z}d|dz z|� |dz dd|zz��z}|�|��r4|dkr&d|� |j��zd||zzzSd||zzS|dkr9|� d|� |j��zd||zzz��S|� d||zz��SdS)Nrr��?y�?���r��) r*r)�ninf�zero�_im�loggammarr�isinf� polygamma�logr)r�t� derivative�dr�bs r� siegelthetar>,s,�� �J���A� �c�g����c�h��� �q�5�5��C�H�}�}��a����x���7�N��8�O��A�v�v� �7�7�1�:�:� K�� � �T�$�q�&�[�)�)�A�� � �T�$�q�&�[�)�)�A��F�F�3�6�N�N�?�1�$�Q�&��q��s��3� 3��y�y��|�|� ����7�7�3�<�<��T�!�V� �4�4�5�5����s�v���q�8H��8J�J� J��1�u�u� �a��c�N�3�=�=��1��d�4��6�k�:�:� :�� �Q�q�S�M�#�-�-��!��T�$�q�&�[�9�9� 9�� �7�7�1�:�:� +��A�v�v��C�G�G�C�F�O�O�+�D�!�A�#�J�6�6��Q�q�S�z�!��A�v�v��w�w�t�C�G�G�C�F�O�O�3�D�!�A�#�J�>�?�?�?��w�w�t�Q�q�S�z�*�*�*� �urc �����d�jz��d��d�zdzd�jzz ��z��z}����fd�|��S)Nrr�c�D����|���j�zz S�N)r>r)r:rrs ��r�<lambda>zgrampoint.<locals>.<lambda>Ss���#�/�/�!�"4�"4�S�V�A�X�"=�r)rr�lambertw�e�findroot)rr�gs`` r� grampointrHNsg���� �#�&������3�<�<��1��Q���3�5��(9�:�:�:�;�;�;�A� �<�<�=�=�=�=�=�q� A� A�Arc ��� � � ����������t|�dd����}��|��}��|��}��|��}�j} t |��d|zkrK|dz|krB��||��}��|��r��|��S|Sn#t$rYnwxYw�xjdz c_�� �� |����}�� d�j |zz���|dkr9|�z}|�_��|��r��|��S| S�� d�j |zzd������ |d����|dkrG�j |z���zzz}|�_��|��r��|��S| S�� d�j |zzd������ |d�����dz�j �zz � |dkrY� ����fd �} ��| d��}| |z}|�_��|��r��|��S| S�xjd z c_�� d�j |zzd ������ |d �����d zd �j z�z�zz �z � |d krc� � �����fd �} ��| d��}�j |z|z}|�_��|��r��|��S| S�� d�j |zzd ������ |d ���������fd�} ��| d��� |d kr]� � ��������f d�} ��| d��}||z}|�_��|��r��|��S| S|d kr �fd�} ��| ||d z ���SdS)Nr;r��r�r"r�r;c� ��d�z�z���zgS�Nr�)�comb1�theta1�z�z1�z2s�����r�termszsiegelz.<locals>.termszs����b�D��K��Q�u�W�-� -rr!rc�2��d�z�zd�z�z���zzgS)NrrO)rP�comb2rQrRrSrT�z3s�������rrUzsiegelz.<locals>.terms�s(����v�X�b�[�!�B�$�u�*�b��5��j�9� 9r�c�b���dzd�jz�dzz�zd�dzzd�z�z�j�zgS)NrY�����r�����������r)rrQ�theta2�theta3�theta4s�����rrUzsiegelz.<locals>.terms�sH����� �2�c�e�8�F�A�I�-�f�4�b����l� �v�I�f� �c�e�F�l�,� ,rc�`� �d�dzz�zd�jz�z�zd�z�zd�z�z� ��zgS)N�rr[rYr^) rW�comb3rrQr_rRrSrTrX�z4s ����������rrUzsiegelz.<locals>.terms�sJ����v�q�y�[��^�R���X�b�[��%7��6��"���2��e��R��5��*� *rc�2����|d���S)NrYrL)�siegelz)rrs �rrCzsiegelz.<locals>.<lambda>�s���c�k�k�!��k�2�2�r)r)r*�getr#rr5r'�abs�rs_z� _is_real_type�NotImplementedError�expjr>�zetar�sum_accurately�diff)rr:�kwargsr<�t1�t2r'r�e1rU�hrPrWrdrQr_r`rarRrSrTrXres` @@@@@@@@@@@@rrgrgVs��������������� �F�J�J�|�Q� '� '�(�(�A� � � �A���A� ������B� ������B� �8�D� � �r�7�7�S��X� � �"�a�%�"�*�*�����A���A�� � ��#�#� "��w�w�q�z�z�!��H��� � � � � �� �����H�H��N�H�H� ���#�/�/�!�$�$� %� %�B� ����S�U�1�W����A��A�v�v� �q�D����� � � �Q� � � ��7�7�1�:�:� ��r� � ���#�c�e�A�g�+�!�� ,� ,�B� �_�_�Q�1�_� -� -�F��A�v�v� �U�2�X�r�!�F�(�{� #����� � � �Q� � � ��7�7�1�:�:� ��r� � ���#�c�e�A�g�+�!�� ,� ,�B� �_�_�Q�1�_� -� -�F� �A�I�c�e�F�l� "�E��A�v�v� .� .� .� .� .� .� .� .� .� � � �u�a� (� (���S��U����� � � �Q� � � ��7�7�1�:�:� ��r� ��H�H��N�H�H� ���#�c�e�A�g�+�!�� ,� ,�B� �_�_�Q�1�_� -� -�F� �A�I�a���g�f�n�V�+� +�F� 2�E��A�v�v� :� :� :� :� :� :� :� :� :� :� :� � � �u�a� (� (���e�V�B�Y�q�[����� � � �Q� � � ��7�7�1�:�:� ��r� � ���#�c�e�A�g�+�!�� ,� ,�B� �_�_�Q�1�_� -� -�F�,�,�,�,�,�,�,�,�,� � � �u�a� (� (�E��A�v�v� *� *� *� *� *� *� *� *� *� *� *� *� *� *� � � �u�a� (� (�� ��T����� � � �Q� � � ��7�7�1�:�:� ��r� ��1�u�u� 2� 2� 2� 2���x�x��1��!��x�$�$�$� �us�8AC�C� C'�&C')dg�����D,@g|��c�5@g����9@gl���l>@gY�w@@gjD���B@gp`���uD@g,���ݩE@ge��ȨH@g��P� �H@g�N�~3|J@g�C�9L@g7��k�M@g�1��wjN@g?a��3GP@g�����P@gM��>�bQ@gY`�OLR@g���R@gX�GEIS@g�Xe���S@gi��C�T@gH�&Q/U@gܩ�7�U@g�K`z�3V@g�wG{W@g��ꞯ�W@gr�x��W@g˻;I2�X@gS�WTY@gts7o�Y@g�~�x�\Z@gEA����Z@gK� ���[@g|j��[@g�Z�~�\@g�U-�]@gB��/��]@gg�� �W^@g�'�٘�^@g��o_@g�CY�_@gڡ���2`@g#�-X�b`@gg�v��`@g��S5�`@g��ӝ�Ca@g�{�wa@g�:i��a@g��=��a@g�l @b@g'B/K�mb@g�;up��b@gH�ٵ��b@gլJ� c@g����c@gZU�x�c@gҍd3�c@gu�� &d@g����`d@g�ĸ�/�d@g�2����d@g�1E#e@g�L�.=e@gOТN+�e@g��BV"�e@g�'�: f@g��x�Lf@g��K�S}f@g��c��f@g���g@goLc<)3g@gstUSgg@g�.�+Q�g@g6�p^�h@g����"h@g%�-!~hh@g@T�# �h@go��j}�h@g ��x(i@g�㸆�Oi@gxۙ��i@g5�\��i@gk���i@g늁�r2j@g�qߋvj@g �'"�j@g֍d��j@g�h�lk@g�ѿ)bk@g�y���k@g�Wȭk@g=I�X9l@g`Lewl@g���x|ml@g+P�̪l@g�����l@g��bn��l@g���]06m@g�J}Ɛm@c���ddl}|�|��}d�|���D��}t|d��dksJ�|tdd�<dS)Nrc�,�g|]}t|����SrO)�float)�.0rs r� <listcomp>z$_load_zeta_zeros.<locals>.<listcomp>�s��)�)�)�a��q���)�)�)r�)�urllib�urlopen� readlines�round� _zeta_zeros)�urlr|r<�Ls r�_load_zeta_zerosr��sc���M�M�M����s���A�)�)�1�;�;�=�=�)�)�)�A� ��1��;�;�"� � � � ��K����N�N�Nr�2http://www.dtc.umn.edu/~odlyzko/zeta_tables/zeros1c ���t|��}|dkr(|�| �����S|dkrtd���|t t ��kr|dkrt |��|t t ��krtd���|�d|� |j t |dz ����S)Nrzn must be nonzeroi��zn too large for zetazerosr"r) r*�zetazero� conjugate� ValueError�lenr�r�rl�mpcrFrg)rrr�s r� oldzetazeror��s��� �A���A��1�u�u��|�|�Q�B���)�)�+�+�+��A�v�v��,�-�-�-��3�{� � ����V� � �������3�{� � ���!�"=�>�>�>� �7�7�3�� � �S�[�+�a��c�2B�C�C� D� D�Drc ���|dkr|jSt|��dkrj|�|��}d|�|�|����z}t|��t|��|jzkr|St|��dkr?|xjt |�t|��d�� ��z c_|jx}}|� |��}d}t|��t|��|jzkrV||z|z }||||� |dz��zz z }|dz }t|��t|��|jzk�V|S)Nr��r"g{�G�z�?rr) r4ri�li�sqrt�epsr'r*r9�oner� _zeta_int)rrrr=r,r:�u�ks r�riemannrr��sL���A�v�v��x�� �1�v�v��}�}� �F�F�1�I�I�� ����s�x�x��{�{�#�#� #�� �q�6�6�C��F�F�3�7�N� "� "��H� �1�v�v��}�}� ���C�����Q����*�*�*�+�+�+��� �G�O�A�� ���q� � �A� �A� �a�&�&�3�q�6�6�#�'�>� !� !� ��E�A�I�� �Q�!�c�m�m�A�a�C�(�(�(� )�)�� �Q��� �a�&�&�3�q�6�6�#�'�>� !� !� �Hrc�t�t|��}|dkrdSt|�|����S)Nrr)r*r�� list_primes)rrs r�primepir��s5�� �A���A��1�u�u��q� �s���q�!�!� "� "�"rc�z�t|��}|dkr |jjS|dkr-|j�|�|����S|�|��}|�|d���|�|d���zdz |�d���z }|� |j�|��|z j d���}|� |j�|��|zj d���}|j�||g��S)Nria r�)�roundingr@r<) r*�_ivr4�mpfr�r�r�rr�floorr�ceilr=)rr�mid�errrr=s r�primepi2r��s�� �A���A��1�u�u��w�|���4�x�x��w�{�{�3�;�;�q�>�>�*�*�*� �&�&��)�)�C� �(�(�1�c�(� "� "�3�6�6�!�S�6�#9�#9� 9�!� ;�C�F�F�C�F�<P�<P� P�C� � � �3�7�;�;�s�#�#�C�'�*�S� �9�9�A� ���#�'�+�+�c�"�"�3�&�)�C��8�8�A� �7�;�;��!�u� � �rc����������r�S�����dkrtd����dkr�jS�dkr ���j�j��S�����}|�jkrd�zS�jt|��z����fd�}�� |��S)Nrz.prime zeta function defined only for re(s) > 0rr"c3���K��j}d} |dz }��|��}|s���_|����|�z����z|z }|sdS|�_|V��e)Nrr)r'�moebiusrrn)r-r�r�r:rr,�wps ���rrUzprimezeta.<locals>.terms s�������8�D��A� ��Q����K�K��N�N���������c�f�f�S�X�X�a��c�]�]�+�+�+�A�-�����F�������� r) �isnan�rer�r)r�r3rr'r*ro)rr,�rrUr�s`` @r� primezetar��s������ �y�y��|�|���� �v�v�a�y�y�A�~�~��I�J�J�J��A�v�v��w���C�x�x��w�w�s�x���(�(�(� ���q� � �A��3�8�|�|��A�v� � �X��A��� �� � � � � � � �" � � �e� $� $�$rc�����t�����dkrtd����dks �dkr�dkr�����S�dkr2��dd�z ��dz �����zS�dkrA�dkr�dzS�dkr�dz S�dkrd�z�dz zdzdz S�dkr���dz zdzzS�����r��zS�����r�St ���dkr"���fd �}��|����zzS���fd �}��|��S) Nrz-Bernoulli polynomials only defined for n >= 0rr"rrrcg�?c3���K��j}|V��j�z }d}|�krC|�dz|z z|z |z}|dkr|dzs|��|��zV�|dz }|�k�AdSdSr )r�� bernoulli)r:r�r�rrrRs ���rrUzbernpoly.<locals>.terms6s��������A��G�G�G���� �A��A��q�&�&��q��s�1�u�I�a�K��M���A���!�a�%���C�M�M�!�,�,�,�,�,�,��Q��� �q�&�&�&�&�&�&rc3���K������V��j}d}|�krH|�dz|z z|z �z}�|z }|dkr|dzs|��|��zV�|dz }|�k�FdSdSr )r�r�)r:r��mrrrRs ���rrUzbernpoly.<locals>.termsBs�������-�-��"�"� "� "� "���A��A��q�&�&��q��s�1�u�I�a�K�!�O���a�C���A���!�a�%���C�M�M�!�,�,�,�,�,�,��Q��� �q�&�&�&�&�&�&r)r*r�r��ldexpr7r�riro)rrrRrUs``` r�bernpolyr�!s������ �A���A��1�u�u��H�I�I�I��A�v�v�!�q�&�&�Q��U�U��}�}�Q�����C�x�x�� � �!�A�a�C� � ��"�C�M�M�!�$4�$4�4�4��A�v�v� ��6�6�!�q�&�=� ��6�6�!�c�'�>� ��6�6�1�Q�3��!��9�Q�;��/�)� ��6�6�!�Q��#��Y�s�]�+�+� �y�y��|�|���A�v� � �y�y��|�|���� �1�v�v��z�z� � � � � � � ��!�!�%�(�(�1�a�4�/�/� � � � � � � ��!�!�%�(�(�(rc�$����t�����dkrtd����dkr$�dkr�dzS�dkr�dz S�dkr��dz zS�����r��zS�����r�S�dz}�dkr;d��d|��dz z��|��z|z �dzzS�dkr;d��d|��dz z��|��z|z �dzzS�dkrc�dzr�jS�dks'���d�z��z�jd zkr*���� ���� ��S���fd �}�� |��|z S) Nrz)Euler polynomials only defined for n >= 0rrr"������dg.e�T>��?r0c3���K��j}d}��d�dz��} �|z dz}|dkr|dzs d|z ��|��z|zV�|dz }|�krdS|�z�|z dzz|z }|dz}�W)Nrrrr")r�r�r�)r:r��wrrrrRs ���rrUzeulerpoly.<locals>.termsgs������ �G�� �� �I�I�a��!�� � �� ��!��A��A���E�E�a�!�e�E���s�C�M�M�!�,�,�,�Q�.�.�.�.� ��F�A��1�u�u����!��Q�q�S��U� �A� �A� ��H�A� r) r*r�r7r�r�r�r4rr'� _eulernumro)rrrRr�rUs``` r� eulerpolyr�Ns������ �A���A��1�u�u��D�E�E�E��A�v�v� ��6�6�!�q�&�=� ��6�6�!�c�'�>� ��6�6�!�Q�q�S�'�>� �y�y��|�|���!�t� � �y�y��|�|���� �!��A��A�v�v��3�9�9�Q�q�>�>�!�#�$�S�]�]�1�%5�%5�5�a�7�!�Q�$�>�>��A�v�v��#�)�)�A�a�.�.��"�#�C�M�M�!�$4�$4�4�Q�6��A��=�=��C�x�x� �q�5� ��8�O� �s�7�7�a���� �1� �-�-�-���� �=�=��9�9�S�]�]�1�-�-��r�2�2� 2� � � � � � � � � � �e� $� $�q� (�(rFc�0�t|��}|r"t|�|����S|dkr(|�|�|����S|dzr|jS|�|�|d��|��S)Nr�rr")r*r�r�r4r�r�)rr�exacts r�eulernumr�vs��� �A���A� �%��3�=�=��#�#�$�$�$��3�w�w��w�w�s�}�}�Q�'�'�(�(�(��1�u���x�� �9�9�S�]�]�1�S�)�)�1� -� -�-rc��|j }|j}d}|} |||zz }||z }t|��|krn ||z}|dz }�,|S)Nr)r�r4ri)rr,rR�tol�lr��zk�terms r�polylog_seriesr��sg�� �7�(�C� ��A� �A� �B���A�q�D�y�� �T� �� �t�9�9�s�?�?� � �a��� �Q��� � �Hrc�,�|dkr|dzSd|jz}||z |�|��z |�||�|��|z ��z}|�|��r|dkr|�|��}|�|��dks2|�|��dkrS|�|��dkr:|||�|��|dz zz|�|dz ��z z}|S)Nry@r)r�facr�rrkrr5)rrrR�twopijrs r�polylog_continuationr��s����1�u�u���s� � �#�&�[�F� ��� �3�7�7�1�:�:��� � �Q����q� � �&�0@� A� A�A�A� ��������A��� �G�G�A�J�J�� �w�w�q�z�z�A�~�~�#�'�'�!�*�*��/�/�c�g�g�a�j�j�A�o�o� �V�C�F�F�1�I�I��!��$� $�S�W�W�Q�q�S�\�\� 1�1�� �Hrc��|j }|dk�r|j}|�|��}|j}d} ||z dkrL|�||z ��|z|�|��z }|rt |��|krn||z }||z}|dz }�`||�|��|dz z|�|dz ��z |�|dz ��|�|�|�� ��z zz }n�|dkr�|�| ��|�|�� |dz zz}|�|��}|j} d} |�| |z dz��} | r=| | z|�| ��| |z dzzz }t |��|krn||z}| |z} | dz } �ent�|� |��r|dkr|� |��}|S)Nrr) r�r4rr�rnr�ri�harmonicr�r�rkr) rrrRr�r��logz�logmzr�r��logkzr�r=s r�polylog_unitcircler��s�� �7�(�C��1�u�u� �H���v�v�a�y�y����� �� ��!���z�z��x�x��!��}�}�u�,�s�w�w�q�z�z�9����C��I�I��O�O���T� �� �T�M�E� ��F�A� � �S�V�V�A�Y�Y��1�� �c�g�g�a��c�l�l� *�C�L�L��1��,=�,=�c�f�f�c�f�f�Q�i�i�Z�>P�>P�,P� Q�Q��� �Q��� �G�G�Q�B�K�K�#�&�&��)�)��q��s�+� +���v�v�a�y�y����� �� �� � �a��c�!�e�$�$�A�� ���w����� � �A�a�C��E� 2�3���t�9�9�s�?�?���T� �� �T�M�E� ��F�A� � � �� ��������A��� �G�G�A�J�J�� �Hrc�n�|j}|�|��}t|��dks�|j}d|z }|�| ��d|jz|zz }|�|��||z|�|d|z��z|| z|�|d|z ��zzzd|jz|zz Sd}d} |�||z ��|z} t| ��|jkrn|| z }|dz }||z}||z}�I|�d|z ��| |dz zz|zS)N�rrr"r)r4rrirr�gammarnr�) rr,rRrr�r�yr:r�r�s r�polylog_generalr��sM�� ��A� ���q� � �A� �q�6�6�A�:�:� �E�� �a�C�� �F�F�A�2�J�J��#�&��� � #���y�y��|�|�Q��T�#�(�(�1�S��U�"3�"3�3�a�!��e�C�H�H�Q�s�1�u�<M�<M�6M�M�N�PQ�RU�RX�PX�[\�}�\�\� �A� �A���x�x��!��}�}�q� �� �t�9�9�s�w� � � � �T� �� �Q��� �Q��� �Q���� �9�9�Q�q�S�>�>�A�2��1��+� %�� )�)rc �t�|�|��}|�|��}|dkr|�|��S|dkr|�|�� S|dkr|d|z z S|dkr|�d|z �� S|dkr |d|z dzz St |��dks(|�|��s$t |��dkrt |||��St |��dkrd|�|��rOd|dzzt ||d|z ��zt|t|� |����|��zS|�|��r1t|t|� |����|��St|||��S)Nr�����rr��?g�������?gffffff�?) r#rn�altzetarrir+r�r�r*r�r�r�)rr,rRs r�polylogr��s��� � � �A���A� � � �A���A��A�v�v��x�x��{�{���B�w�w�� � �A������A�v�v��!�A�#�w���A�v�v����q��s� � �|���B�w�w��!�A�#���z�� �1�v�v��~�~�c�i�i��l�l�~�s�1�v�v��|�|��c�1�a�(�(�(� �1�v�v��}�}����1���}��a��c�{�>�#�q�!�A�#�6�6�6�9M�c�SV�WZ�W]�W]�^_�W`�W`�Sa�Sa�cd�9e�9e�e�e� �y�y��|�|�:�!�#�s�3�6�6�!�9�9�~�~�q�9�9�9� �3��1� %� %�%rc���|�|��r!|dkrt|��dzdkr|dzS|r|�|��}n|�|��}|�|��r>|�|��r)|�|�||����Sd|z }d|�||��|�||��z zS)Nrrrr1)r+r*�expjpirmrk�imr��rr,rRrrr=s r�clsinr��s��� �y�y��|�|���A���#�a�&�&�1�*��/�/���s� � �� �J�J�q�M�M��� �H�H�Q�K�K�� ������(�� 1� 1�!� 4� 4�(��v�v�c�k�k�!�A�&�&�'�'�'� �!��A� �C�K�K��!�$�$�s�{�{�1�Q�'7�'7�7� 8�8rc���|�|��r!|dkrt|��dzdkr|dzS|r|�|��}n|�|��}|�|��r>|�|��r)|�|�||����Sd|z }d|�||��|�||��zzS)Nrrrr")r+r*r�rmrkr�r�r�s r�clcosr��s��� �y�y��|�|���A���#�a�&�&�1�*��/�/���s� � �� �J�J�q�M�M��� �H�H�Q�K�K�� ������(�� 1� 1�!� 4� 4�(��v�v�c�k�k�!�A�&�&�'�'�'� �!��A� �� � �A�a� � �3�;�;�q��#3�#3�3� 4�4rc �j� |j|fi|��S#t$r|�|��cYSwxYwrB)�_altzetarl�_altzeta_generic)rr,rqs rr�r�sV��'��s�|�A�(�(��(�(�(�� �'�'�'��#�#�A�&�&�&�&�&�'���s � �2�2c��|dkr |jd|zzS|�dd|z �� |�|��zS)Nrrr)�ln2�powm1rn)rr,s rr�r� sE���A�v�v��w��1��}�� �I�I�a��1�� � � ����� � � +�+rNc ��t|��}|dkr#|s!|s |j|fi|��S#t$rYnwxYw|�|��}|j}|�d��}|�d��}|s3|s1|�d��|�|��dz S|dkr�|dkr�t|� |����} t|� |����} t| ��d|zkrd| z|kr|d ks|d kr_ |rtd ��|j ||fi|��||_S#t$r|rtd ��YnwxYw ||_n #||_wxYw|dkr|j St|��} | |j kr7|�|��|j kr|dkr|jS|jS|dzS|�| ��rd|z S|�|��d |jzkr'|dkr!|s|j|�d | ��zS|j|||fi|�� S)Nr�method�verboser"rzeuler-maclaurinrJr!rYzriemann-siegelz4zeta: Attempting to use the Riemann-Siegel algorithmz0zeta: Could not use the Riemann-Siegel algorithmr)r*�_zetarlr#r'rhr��_convert_paramrir5r�print�rs_zetar)r�r�r4r��power�_hurwitz) rr,rr;r�rqr<r'r�r�r��absss rrnrns��� �J���A��A�v�v�q�v�F�v� ��3�9�Q�)�)�&�)�)� )��"� � � � �D� ���� � � �A���A� �8�D� �Z�Z�� !� !�F��j�j��#�#�G� �7� �7��w�w�s�|�|�c�0�0��3�3�A�6�6�6��A�v�v�&�-�-�-� �������_�_�� �������_�_�� �r�7�7�S��X� � �"�R�%�$�,�,�:��?�?� �&� &� &� ���V��T�U�U�U�&�3�;�q�*�?�?��?�?�  ����� +�����R��P�Q�Q�Q��D�����������4��������A�v�v��w�� �q�6�6�D� �s�w��� �6�6�!�9�9��� � ��A�v�v��w���8�O���s� � ���4������s� � �v�v�a�y�y�1�S�X�:���!�q�&�&��&��w����1�q�b�)�)�)�)� �C�L��A�q� +� +�F� +� +� +�+s0� )� 6�6�1E�E6�3F�5E6�6F� F c �z�|j}|�d��} d}|xj|z c_|�|��\}}|�|��dkrM|rt d�� t |||||��||_S#t $rYnwxYw|rt d��|rt d�� ||z|_t|||||dz|��\} } |�| ��|�| | z��z } |r1t d| ��t d | ��t d | d ��| |kr | | z||_Std |zt| d zd|z����}||�dd|z��kr|� d�����#||_wxYw)Nr�r!rz#zeta: Attempting reflection formulazzeta: Reflection formula failedz)zeta: Using the Euler-Maclaurin algorithmrzTerm 1:zTerm 2:z Cancellation:�bitsrr�r��maxpreczzeta: too much cancellation) r'rhr�r�r��_hurwitz_reflectionrl� _hurwitz_emr�max�min� NoConvergence) rr,rr<rqr'r�� extraprec�atype�T1�T2� cancellations rr�r�Fs�� �8�D��j�j��#�#�G��� � ���I�����%�%�a�(�(���5� �6�6�!�9�9�q�=�=�� =��;�<�<�<� �*�3��1�a��?�?�,�����+'� � � ��� ����� 9��7�8�8�8� � ?� �=� >� >� >� K��i�'�C�H� ��a��A�t�B�w��@�@�F�B���7�7�2�;�;�����B����7�L�� =��i��$�$�$��i��$�$�$��o�|�V�<�<�<��i�'�'��B�w� ����  ��)� �S���1A�3�t�8�-L�-L�M�M� ��v�z�z�)�S��X�>�>�>�>��+�+�,I�J�J�J� K��������s2�AF1�3B � B�F1�B�B5F1�AF1�1 F:c��� � ��|dkrt���|��}| }��|��r4t|��}|dkr��d|z |��|dz z S|dks |dkst�d|z �d}d} |� ��� ��dkr+� dz� |� |zz}| dz} ��� ��dk�+��� ��dkr+|� |zz }� dz � | dz } ��� ��dk�+ |j\} � n-#|t|��ksJ�t|��} d� YnxYw| | � zz } d| cxkr� ksnJ���� �� �fd�td� dz��D����} | d�����zd�j z� z�zz z} || z }|S)Nrr�Q�Zc3��K�|]>}���dz d|z�zz �����|�f��zV��?dS)rN)�cospir�)ryr�r=r�qr:s ����r� <genexpr>z&_hurwitz_reflection.<locals>.<genexpr>�sj������� ����1�Q�3�q��s�1�u�9�%�%�c�l�l�1�a��U�&;�&;�;������rr) rlr��isnpintr*r��_mpq_�fsum�ranger�r)rr,rr<r��res�negsrr�shift�prGr=r�r:s` @@@rr�r�ks(�������A�v�v�!�!� �&�&��)�)�C� �2�D� �{�{�1�~�~�0� ��H�H�� ��6�6��<�<��!��Q�'�'�1�Q�3�/� /� �S�L�L�E�S�L�L�!�!� �!��A� �A� �E� �A� �&�&��)�)�a�-�-� �Q��� �Q��W� �� �� �� �&�&��)�)�a�-�-� �&�&��)�)�q�.�.� �Q��W� �� �Q��� �� �� �&�&��)�)�q�.�.� ��w���1�1����C��F�F�{�{�{�{� ��F�F�� ���������q��L�A� ��;�;�;�;�Q�;�;�;�;�;�;� �����������q��1������� � �A���3�9�9�Q�<�<���3�6��!��a�� '�'�A���F�A� �Hs � D%�%(Ec �J�|�|��}| }d}|dz}|} d} |�|��r"t|�|����}|dz } |�|||z||z dz |g��dd} | | z } ||z} |�| ��}||z}|g}d|z }d| z }| | z}|r&|�|dz| |z��| |dzzz }n d| | | zzz }|d|z|zz }dg}|}d}td| dz��D�]1}d|z}|dkrdg}n |dz |dz g}|D]�}t||dz��}||kr|� |d|z��dg|dzz}t|��D]}d|z |z ||z||<�td|dz��D]$}||xx||dz z ||dz zz cc<�%|}||z}��|� ||��|z|� |��z| z }||z }|� |��|kr | d|z|zfcS||dz|dzzz}��3|r(td||d|� |��d |��||dz}}|�|��dkr| | dzz } ��D) Nrrrr"rr�z Sum range:zterm magnitude� tolerance)r#r+r*r�_zetasumr�gammaincrr��appendr�fdotr�rr�r�) rr,rr<r'r�r��M1�M2�N�lsum�s1r��M2a�logM2a�logM2ad�logs�logr�rM2a�M2as�tailsum�Ur��factr�j2�updsr��D�Un�ir:s rr�r��sE�� � � �A���A� �%�C� �B� ���B� �A� �D� �y�y��|�|�� ����� � �O�O�� �1��B�0� �L�L��B�q�D�"�R�%��'�A�3� /� /�� 2�1� 5�� �� ����d����������!�)���y����x����u���a�R�y�� � )��l�l�1�Q�3��6� �2�2�R�!�A�#�Y�>�G�G��"�s�R�i��(�G��3��=�4�'�'�� �C�� �����q�!�A�#��� "� "�A��1��B��A�v�v��s����1��b��d�|��� � ����!�A�#�J�J����6�6��K�K��R��4��0�0�0��S�!�A�#�Y������8�8�A�Q�q�S��U�A�a�D�L�B�q�E�E���!�A�#���A�A�A��1����!�Q�q�S�'�1�Q�q�S�6�1A�(A��������T� �������D�!�!�A�%�� � �b�(9�(9�9�D�5�A�A� �q�L�G��w�w�q�z�z�C����b�1�W�w�.�.�.�.�.� �R��T�B�q�D�M� !�D�D� � X� �,��B�(8�#�'�'�!�*�*�k�SV� W� W� W��R��T�B�� �6�6�!�9�9�q�=�=� ��A��I�A�a0rc�z�����t��|����d�jzkr* ��|�|||��S#t$rYnwxYw��|d����|dgk}t |��dk}|s�|s5����fd�t|dz��D����ggfS|rG|d�������fd�t|dz��D����}d�z|zggfSt|��} |st| dz��}�fd �|D��} |r�fd �|D��} ng} t|dz��D]�} �| z} | �z}|r �� �j | |zz ��}|r��� | �� }|r.|| z}| dxx||zz cc<|r| dxx||zz cc<�v�j }|D]/�| �xx||zz cc<|r| �xx||zz cc<||z}�0��| dxx|z cc<|r| dxx|z cc<��| | fS) a� Returns [xd0,xd1,...,xdr], [yd0,yd1,...ydr] where xdk = D^k ( 1/a^s + 1/(a+1)^s + ... + 1/(a+n)^s ) ydk = D^k conj( 1/a^(1-s) + 1/(a+1)^(1-s) + ... + 1/(a+n)^(1-s) ) D^k = kth derivative with respect to s, k ranges over the given list of derivatives (which should consist of either a single element or a range 0,1,...r). If reflect=False, the ydks are not computed. r"T�r�rrc3�(�K�|] }�|z�zV�� dSrBrO)ryr�rrs ��rr�z_zetasum.<locals>.<genexpr>�s+�����>�>�Q�a��c�D�[�>�>�>�>�>�>rc3�`�K�|](}���|z���z�|z�zzV��)dSrB)r)ryr�rrr<rs ����rr�z_zetasum.<locals>.<genexpr>�sB�����K�K�!�����!����a��1�Q�3��+�5�K�K�K�K�K�Krr�c���g|] }�j�� SrO�r4�ryr<rs �rrzz_zetasum.<locals>.<listcomp>�s��� (� (� (�q�#�(� (� (� (rc���g|] }�j�� SrOr'r(s �rrzz_zetasum.<locals>.<listcomp>�s��� ,� ,� ,�1�c�h� ,� ,� ,r)rir�r'� _zetasum_fastrl�fnegr�rrr�r�conjr�r)rr,rr� derivatives�reflect�have_derivatives�have_one_derivativer�maxd�xs�ysr�r��xterm�yterm�logwr:r<rs` ` @@rr r �s������ �3�6�6�!�9�9�~�~��c�h��&�&� ��$�$�Q��1�k�7�C�C� C��"� � � � �D� ���� �8�8�A�T�8� "� "�D�"�q�c�)���k�*�*�a�/�� �%�� D��H�H�>�>�>�>�>�&��1��+�+�>�>�>�>�>�?��C� C� � %��A��A����K�K�K�K�K�K�K�v�a��c�{�{�K�K�K�K�K�A��!�G�a�K�=�"�$� $� �{� � �D� �$��D��F�m�m� � (� (� (� (�K� (� (� (�B��� ,� ,� ,� ,� � ,� ,� ,��� �� �A�a�C�[�[���� ��E���T� �� � 4��H�H�S�W��E� �2�3�3�E� � ��F�F�1�I�I�:�D�"� ��t�|���1�������%�����*��q�E�E�E�U�T�\�)�E�E�E���G��$���A��q�E�E�E�U�Q�Y�&�E�E�E��+��1�������*������I�A�A� � �q�E�E�E�U�N�E�E�E�� ��1���������� �r�6�Ms�A � A�Ac ���|�|��}t|��}t|��}|dkrtd���|j} |xjdz c_|dkrEd}|D]/}|r+|dkr%d}|j } |xjd|dzzzc_|| z }�0|r|j ||_S|j} td|dz��D]�} || |zr�|dkrX| || |z|� || |fd��|� || |f��|� |��zz zz } �k| || |z|� || |f��zz } ��| ||zz} ||_n #||_wxYw| S)Nrzarbitrary order derivativesr!rTF) r#r�r*rlr'r�r)r4rrnr9) rr,�chir;r�r<r'� have_polerrurRrs r� dirichletr:s��� � � �A���A� �C���A� �J���A��1�u�u�!�"?�@�@�@� �8�D�� ���B���� ��6�6��I�� � �����a��� %�I����A��H�H��1�Q�3��'�H�H���F�A��� ���x����� �H���q��1���� 7� 7�A��1�Q�3�x� 7���6�6���Q�q�S��S�X�X�a�!�A���%:�%:�����Q�q�E�*�*�3�7�7�1�:�:�5�&6�7�7�A�A���Q�q�S��C�H�H�Q��1��$6�$6�6�6�A�� �Q��T� �������4������� �2�Is�AE)�,B5E)�) E2c ����� ��j}��� �fd�}�jx}}�j}d} ||krR||z }| dz } ����| ����� || ��}t |��}||k�Rd} |�d��r������} d�jdzztd| ��z�| dz zz�� � d�jzz ��z�� d�� dzz��zt �� �dz ����z } t | ��} | | | fS) Nc�T����d�z��dzzd����� zzS)Nr"rT)� regularized)r )rrr�gammr,s ����rrCz&secondzeta_main_term.<locals>.<lambda>7s0���#�,�,�s�1�u�a��a��i�T�,�B�B�4�1�"�:�M�rrr�errorr"r�rr2) r�r4r)r��zetazero_memoizedrirhr�rr�r9r r�) rr,rrqr�r�totsumr��mgrr��sgr>s ``` @r�secondzeta_main_termrD5s]������ �'�C�M�M�M�M�M�M�M�A��H��F�T� ��B� �A� �s�(�(��$��� �Q����v�v�c�+�+�A�.�.�/�/���q��t�t�� ��Y�Y�� �s�(�(� �C� �z�z�'���� �V�V�A�Y�Y���#�&�2�,��s�1�R�y�y�(��R��V��4�S�W�W�T�1�S�V�8�_�5M�5M�M� �\�\�$��$��'� � *� *�+�+.�s�y�y��1��~�~�+>�+>�?���#�h�h�� �7�C��?�rc ������j}���fd�}�jx}}�j}d} ||ks| dkr>||z }| dz } || ��}|dkr�j}nt|��}||k�8| dk�>|�d��r|} | | | fS)Nc�~����dd�z zd��|��dzz�dzz��d��|��z�dz zz��|��z��|��z d��d�z��z���j��zz S)Nr"rr0rr�)r r9�mangoldtr�r�r�rrrr,s ���rrCz'secondzeta_prime_term.<locals>.<lambda>Ks����#�,�,�s�A�a�C�y��c�g�g�a�j�j�!�m�);�a�"�g�)E�F�F� �c�g�g�a�j�j�.�A�a�C� �"�"%�,�,�q�/�/�2�25�(�(�1�+�+�>� �3�9�9�S��U� � � �C�H�H�S�V�,�,� ,�.�rr� rr?)r�r4r)rirh) rr,rrqr�rrAr�rBrr�s ``` r�secondzeta_prime_termrJIs������ �'�C� .� .� .� .� .� .�A��H��F�T� ��B� �A� �s�(�(�a�!�e�e��$��� �Q����q��t�t�� �1�9�9���B�B��T���B� �s�(�(�a�!�e�e��z�z�'������ �7�C��?�rc����������ri�����dkrPtt���������}|dzs��d��| dzzS�j}���fd�}�j}|d��}�j}d} ||kr*||z }| dz } || ��}t|��}||k�*�d�zz|z�� d�z��z } | S)Nrrz-0.25rc�R��d�z|z|d�zz��|��zz S)Nr0r")r�rHs ���rrCz%secondzeta_exp_term.<locals>.<lambda>cs+���4��6�A�+��#�a�%��������3�4�rr") r+r�r*rr�r�r4r)rir�) rr,rr�r�rrAr�rBrrs ``` r�secondzeta_exp_termrM]s����� �y�y��|�|�-����q� � �Q��� ��c�f�f�Q�i�i� � � !� !���1�u� -��7�7�7�#�#�q�b�!�e�,� ,� �'�C�4�4�4�4�4�4�A� �X�F� �1�Q�4�4�D� ��B� �A� �s�(�(��$��� �Q����q��t�t�� ��Y�Y�� �s�(�(� �C��E� �6��#�)�)�C��E�*�*�*�A� �Hrc �������d�dz zzd���j��z��d�z��zz }��|��}�xj|z c_�d�dz zzd���j��z��d�z��zz }�j}���fd�}�j}�j} d} || ��} t| ��} | |krM| | krG|| z }| dz } || ��} || z }| dz } || ��} | } t| ��} | |kr| | k�G|| z }d�dz dzz�j �� d�jdzz�z��z�dz dzzz} || |zz}d }|� d ��r�| |kr| | ks�| |krI�� d ��t�� t||z��d ����z}| | krI�� d ��t�� t|| z��d ����z}t|�jd z��}�xj|zc_| |fS) Nr"rrYc������|d��d�����z|zz��d|z��z�|zdz ��|��zz S)Nr�rYr"r)r�r�r�r�rHs ���rrCz*secondzeta_singular_term.<locals>.<lambda>vsd���#�,�,�q��&�&��#�(�(�1�+�+� ��'9�9� �y�y��Q������A�#�a�%�������+�-�rr��rr�rr?r!��?)r�rr�rr'r�r4r)rir&r9rhr�r*r�)rr,rrq�factorr�r�rrA�mg1rr��mg2�pole�str�s``` r�secondzeta_singular_termrWps������ ��a��c��^�Q�s�x�x���/�/�/�� � �#�a�%�0@�0@�@� A�F�������I��H�H� ��H�H� ��a��c��^�Q�s�x�x���/�/�/�� � �#�a�%�0@�0@�@� A�F� �'�C� -� -� -� -� -� -�A� �X�F� �'�C� �A� �1�Q�4�4�D� �d�)�)�C� ��)�)��s� � ��$��� �Q����q��t�t���$��� �A����q��t�t�����$�i�i�� ��)�)��s� � � �d�N�F� �q��s�b�k�>�3�9�S�W�W�R���� �\�!�^�%<�%<�<�q��s�b�k�I� I�D� ��f�� �B� �C� �z�z�'���#��s��������c�z�z��g�g�b�k�k�3�s�w�w�s�6�#�:���r�'B�'B�#C�#C�C���S�y�y��g�g�b�k�k�3�s�w�w�s�6�#�:���r�'B�'B�#C�#C�C���#�s�w�r�z�"�"���H�H� ��H�H� �3��8�Or���Q��?c �`�|�|��}|�|��}|j}|�|��r�|�|��dkr�t |dz ��|dzkr|jSt t|�|������}|dzr|jSd| dzz|�d|� | d���z d| dzz��zS|j } t|||��}t|� |��d ��}|xj |dzz c_ t|||d d � ��\} } } t|||d d � ��\} } }t!|||d � ��\}}t|||��}| | z|z}| | z |z|z }|�d ��rbt%d| ��t%d| d��t%d| ��t%d|d��t%d|��t%d|��||_ n #||_ wxYw|�d��rYt|� t |����d ��}t|d|zz|jdzd|zz��}| |fS| S)a� Evaluates the secondary zeta function `Z(s)`, defined for `\mathrm{Re}(s)>1` by .. math :: Z(s) = \sum_{n=1}^{\infty} \frac{1}{\tau_n^s} where `\frac12+i\tau_n` runs through the zeros of `\zeta(s)` with imaginary part positive. `Z(s)` extends to a meromorphic function on `\mathbb{C}` with a double pole at `s=1` and simple poles at the points `-2n` for `n=0`, 1, 2, ... **Examples** >>> from mpmath import * >>> mp.pretty = True; mp.dps = 15 >>> secondzeta(2) 0.023104993115419 >>> xi = lambda s: 0.5*s*(s-1)*pi**(-0.5*s)*gamma(0.5*s)*zeta(s) >>> Xi = lambda t: xi(0.5+t*j) >>> chop(-0.5*diff(Xi,0,n=2)/Xi(0)) 0.023104993115419 We may ask for an approximate error value:: >>> secondzeta(0.5+100j, error=True) ((-0.216272011276718 - 0.844952708937228j), 2.22044604925031e-16) The function has poles at the negative odd integers, and dyadic rational values at the negative even integers:: >>> mp.dps = 30 >>> secondzeta(-8) -0.67236328125 >>> secondzeta(-7) +inf **Implementation notes** The function is computed as sum of four terms `Z(s)=A(s)-P(s)+E(s)-S(s)` respectively main, prime, exponential and singular terms. The main term `A(s)` is computed from the zeros of zeta. The prime term depends on the von Mangoldt function. The singular term is responsible for the poles of the function. The four terms depends on a small parameter `a`. We may change the value of `a`. Theoretically this has no effect on the sum of the four terms, but in practice may be important. A smaller value of the parameter `a` makes `A(s)` depend on a smaller number of zeros of zeta, but `P(s)` uses more values of von Mangoldt function. We may also add a verbose option to obtain data about the values of the four terms. >>> mp.dps = 10 >>> secondzeta(0.5 + 40j, error=True, verbose=True) main term = (-30190318549.138656312556 - 13964804384.624622876523j) computed using 19 zeros of zeta prime term = (132717176.89212754625045 + 188980555.17563978290601j) computed using 9 values of the von Mangoldt function exponential term = (542447428666.07179812536 + 362434922978.80192435203j) singular term = (512124392939.98154322355 + 348281138038.65531023921j) ((0.059471043 + 0.3463514534j), 1.455191523e-11) >>> secondzeta(0.5 + 40j, a=0.04, error=True, verbose=True) main term = (-151962888.19606243907725 - 217930683.90210294051982j) computed using 9 zeros of zeta prime term = (2476659342.3038722372461 + 28711581821.921627163136j) computed using 37 values of the von Mangoldt function exponential term = (178506047114.7838188264 + 819674143244.45677330576j) singular term = (175877424884.22441310708 + 790744630738.28669174871j) ((0.059471043 + 0.3463514534j), 1.455191523e-11) Notice the great cancellation between the four terms. Changing `a`, the four terms are very different numbers but the cancellation gives the good value of Z(s). **References** A. Voros, Zeta functions for the Riemann zeros, Ann. Institute Fourier, 53, (2003) 665--699. A. Voros, Zeta functions over Zeros of Zeta Functions, Lecture Notes of the Unione Matematica Italiana, Springer, 2009. rr�r�rr@Tr#rr�True)r?r�)r?r�z main term =z computed usingz zeros of zetaz prime term =z#values of the von Mangoldt functionzexponential term =zsingular term =r?rQ)r#r�r+r�rir)r*r�fractionr�r'rMr�rrDrJrWrhr�)rr,rrqr�r�r'�t3r�rr�r1�gtrs�r2�pt�t4�r4r�r:r�s r� secondzetarc�s���x � � �A���A� � � �A���A� �'�C� �y�y��|�|�J����q� � �Q��� �q��s�8�8�c�$�h� � ��7�N� ��c�f�f�Q�i�i� � � !� !�� �q�5� J��7�N��A�2�q�5�M��<�<��#�,�,��r��,�"=�"=� =�a�1�"�Q�$�i�H�H�I� J� �8�D�� ��a�� +� +������� � �A�&�&� � ���I��M�!���)�#�a����O�O�O� ��B��*�3�q����P�P�P� ��B��)�#�a���?�?�?���B� ��a�� +� +����e�B�h�� �r�E�"�H�R�K�� �:�:�i� � � )� �-�� $� $� $� �&��O� <� <� <� �.�"� %� %� %� �&��,Q� R� R� R� �&�� +� +� +� �#�R� (� (� (������4������� �z�z�'���� �����A������ "� "���#�a��d�(�C�G�B�J�q�!�t�O�,�,���r�3�w�� �2�Is �D(H3�3 H<c����� � � �|dkr�� zS|dkr������S�dkr���|��|z S�����dkr������rt d���t ��d�����z ����}�j}�j}t|��D]}||�|z�zz z }||z}�|�� |��|z��z|zS�� |��� dd��zzz �� d�z � � z��� �dz zz|�zz z}�dz � d�j z� ��� � � �fd�}|d��|d�jg��zz }��|��sX�����sC�����s.��|��dkr��|��}|S)a� Gives the Lerch transcendent, defined for `|z| < 1` and `\Re{a} > 0` by .. math :: \Phi(z,s,a) = \sum_{k=0}^{\infty} \frac{z^k}{(a+k)^s} and generally by the recurrence `\Phi(z,s,a) = z \Phi(z,s,a+1) + a^{-s}` along with the integral representation valid for `\Re{a} > 0` .. math :: \Phi(z,s,a) = \frac{1}{2 a^s} + \int_0^{\infty} \frac{z^t}{(a+t)^s} dt - 2 \int_0^{\infty} \frac{\sin(t \log z - s \operatorname{arctan}(t/a)}{(a^2 + t^2)^{s/2} (e^{2 \pi t}-1)} dt. The Lerch transcendent generalizes the Hurwitz zeta function :func:`zeta` (`z = 1`) and the polylogarithm :func:`polylog` (`a = 1`). **Examples** Several evaluations in terms of simpler functions:: >>> from mpmath import * >>> mp.dps = 25; mp.pretty = True >>> lerchphi(-1,2,0.5); 4*catalan 3.663862376708876060218414 3.663862376708876060218414 >>> diff(lerchphi, (-1,-2,1), (0,1,0)); 7*zeta(3)/(4*pi**2) 0.2131391994087528954617607 0.2131391994087528954617607 >>> lerchphi(-4,1,1); log(5)/4 0.4023594781085250936501898 0.4023594781085250936501898 >>> lerchphi(-3+2j,1,0.5); 2*atanh(sqrt(-3+2j))/sqrt(-3+2j) (1.142423447120257137774002 + 0.2118232380980201350495795j) (1.142423447120257137774002 + 0.2118232380980201350495795j) Evaluation works for complex arguments and `|z| \ge 1`:: >>> lerchphi(1+2j, 3-j, 4+2j) (0.002025009957009908600539469 + 0.003327897536813558807438089j) >>> lerchphi(-2,2,-2.5) -12.28676272353094275265944 >>> lerchphi(10,10,10) (-4.462130727102185701817349e-11 - 1.575172198981096218823481e-12j) >>> lerchphi(10,10,-10.5) (112658784011940.5605789002 - 498113185.5756221777743631j) Some degenerate cases:: >>> lerchphi(0,1,2) 0.5 >>> lerchphi(0,1,-2) -0.5 Reduction to simpler functions:: >>> lerchphi(1, 4.25+1j, 1) (1.044674457556746668033975 - 0.04674508654012658932271226j) >>> zeta(4.25+1j) (1.044674457556746668033975 - 0.04674508654012658932271226j) >>> lerchphi(1 - 0.5**10, 4.25+1j, 1) (1.044629338021507546737197 - 0.04667768813963388181708101j) >>> lerchphi(3, 4, 1) (1.249503297023366545192592 - 0.2314252413375664776474462j) >>> polylog(4, 3) / 3 (1.249503297023366545192592 - 0.2314252413375664776474462j) >>> lerchphi(3, 4, 1 - 0.5**10) (1.253978063946663945672674 - 0.2316736622836535468765376j) **References** 1. [DLMF]_ section 25.14 rrz#Lerch transcendent complex infinityrc��������|�z ��z|�zz ���dz|dzz�z���|z��zz SrN)�sin�atan�expm1)r:rrrGrur�r,s ������rrCzlerchphi.<locals>.<lambda>}sY���#�'�'�!�C�H�H�Q�q�S�M�M�/�!�A�#�-�.�.� �Q�$�q�!�t�)�a��#�)�)�A�a�C�.�.� (�*�r)rnr�r�rr�r*r�r4r�r�lerchphirr rr(r)r��chop) rrRr,rr�r�zpowrrrGrur�s ` `` @@@rriris6��������b �A�v�v��a�R�y���A�v�v��x�x��1�~�~���A�v�v��{�{�1�a� � �1�$�$� �v�v�a�y�y�1�}�}� �;�;�q�>�>� D��B�C�C� C� �����3�6�6�!�9�9��%�%� &� &�� �H���w������ � �A� ���1��q��� �A� �A�I�D�D��c�l�l�1�Q��!��,�,�,�q�0�0� ���q� � �A� �1�Q��T�6� �S�\�\�!�A�#��r�!�t�,�,���a��c�{�:�Q��T�A�A�A� �A��A� �#�&��A� *� *� *� *� *� *� *� *� *�A���3�8�8�A��3�7�|� $� $� $�$�A� �6�6�!�9�9��S�V�V�A�Y�Y��s�v�v�a�y�y��S�V�V�A�Y�Y��]�]� �H�H�Q�K�K�� �Hr)r)r)r�)F)rrN)rr)rX)+� __future__r� libmp.backendr� functionsrrr r.r>rHrgr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rnr�r�r�r r:rDrJrMrWrcrirOrr�<module>ros���%�%�%�%�%�%�"�"�"�"�"�"�9�9�9�9�9�9�9�9�9�9��#�#�#���#�J�+�+�+���+�B�B�B���B��J%�J%���J%�Z��� �.���� E� E� E��� E�� � ��� �,�#�#���#�� � ��� ��%�%���%�F�*)�*)���*)�X�%)�%)���%)�N�.�.�.���.�  �  �  �  �  �  �" �" �" �H*�*�*�(�&�&���&�*� 9� 9� 9��� 9�� 5� 5� 5��� 5��'�'���'� �,�,���,� �3,�3,�3,���3,�j�"�"�"���"�H' �' �' �R=�=�=�B�()�s�E�;�;�;���;�z��#�!�������B���(���( � � �&"�"�"�H�������D�j �j ���j �j �j r
Memory