� ��gN���ddlmZddlmZddlmZddlmZmZm Z m Z m Z m Z ddl mZd���Zd�ej��D��Zeefid d d d d dddddddd� ��Zdddddd�Zd�e���D��Zd�e���D��ZGd�de e��ZeD]Zeed e��e ���eD]Zeed e��e ���id!d"�d#d#�d$d$�d%d&�d'd(�d)d*�d+d,�d-d-�d.d.�d/d/�d0d0�d1d2�d3d4�d5d5�d6d7�d8d9�d:d;�d<d=d>d?d@dAdBdCdD��ZdEddF�ZdG�e���D��ZdH�e���D��ZGdI�dJe��Z eD]Zee d e��e ���eD]Zee d e��e ���dK�e���D��Z!dL�e���D��Z"GdM�dNe��Z#e!D]Zee#d e��e ���e"D]Zee#d e��e ���dO�e���D��Z$dP�e���D��Z%GdQ�dRe��Z&e$D]Zee&d e��e ���e%D]Zee&d e��e ���dSS)T�)�S)�Lambda)�Pow�)�PythonCodePrinter�_known_functions_math�_print_known_const�_print_known_func�_unpack_integral_limits� ArrayPrinter)� CodePrinterz!erf erfc factorial gamma loggammac�.�g|]\}}|tv�||f��S�)� _not_in_numpy��.0�k�vs �d/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/sympy/printing/numpy.py� <listcomp>r s*�� X� X� X���1��-�AW�AW�a��V�AW�AW�AW��arccos�arccosh�arcsin�arcsinh�arctan�arctan2�arctanh�exp2�sign� logaddexp� logaddexp2�isnan) �acos�acosh�asin�asinh�atan�atan2�atanhrr r!r"r#�e�pi� euler_gamma�nan�inf)�Exp1�Pi� EulerGamma�NaN�Infinityc� �i|] \}}|d|z�� S�znumpy.rrs r� <dictcomp>r7 �"��U�U�U�d�a��!�X��\�U�U�Urc� �i|] \}}|d|z�� Sr6rrs rr7r7!r8rc�L��eZdZdZdZeZeZd,�fd� Z d�Z d�Z d�Z d�Z d �Zd �Zd �Zd �Zd �Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z�fd�Zd�Zd�Zd�Zd-d�Zd�Z d�Z!d�Z"d�Z#d �Z$d!�Z%d"�Z&d#�Z'd$�Z(d%�Z)�fd&�Z*d'Z+d(Z,d)Z-d*Z.d+Z/e0j1Z2e0j1Z3e0j1Z4e0j1Z5�xZ6S).� NumPyPrinterza Numpy printer which handles vectorized piecewise functions, logical operators, etc. �numpyNc����d�|j��|_d�|j��|_itj�|j�|_t ���|���dS)z� `settings` is passed to CodePrinter.__init__() `module` specifies the array module to use, currently 'NumPy', 'CuPy' or 'JAX'. zPython with {}z_{}code��settingsN)�format�_module�language� printmethodr�_kf�super�__init__��selfr?� __class__s �rrFzNumPyPrinter.__init__-sl��� )�/�/�� �=�=�� �$�+�+�D�L�9�9���8�'�+�8�t�x�8��� �����(��+�+�+�+�+rc�p��d}d�|��fd�|D������S)z+General sequence printer: converts to tuple�, z({},)c3�B�K�|]}��|��V��dS�N��_print)r�itemrHs �r� <genexpr>z*NumPyPrinter._print_seq.<locals>.<genexpr>@s/�����,O�,O�4�T�[�[��->�->�,O�,O�,O�,O�,O�,Or)r@�join)rH�seq� delimiters` r� _print_seqzNumPyPrinter._print_seq;s=���� ��~�~�i�n�n�,O�,O�,O�,O�3�,O�,O�,O�O�O�P�P�Prc�F�d|�tj��zS)N�-)rOrr4�rH�exprs r�_print_NegativeInfinityz$NumPyPrinter._print_NegativeInfinityBs���T�[�[���,�,�,�,rc���|���dtjurj|���d|���dgz}d�d��fd�|D������Sd�d��fd�|jD������S)zMatrix multiplication printerrr�({})z).dot(c3�B�K�|]}��|��V��dSrMrN�r�irHs �rrQz-NumPyPrinter._print_MatMul.<locals>.<genexpr>Is-�����.Q�.Q�!�t�{�{�1�~�~�.Q�.Q�.Q�.Q�.Q�.Qrc3�B�K�|]}��|��V��dSrMrNr^s �rrQz-NumPyPrinter._print_MatMul.<locals>.<genexpr>Js-�����*M�*M�a�4�;�;�q�>�>�*M�*M�*M�*M�*M�*Mr)�as_coeff_matricesr�Oner@rR�args)rHrY� expr_lists` r� _print_MatMulzNumPyPrinter._print_MatMulEs���� � !� !� #� #�A� &�a�e� 3� 3��.�.�0�0��3�d�6L�6L�6N�6N�q�6Q�4S�S�I��=�=����.Q�.Q�.Q�.Q�y�.Q�.Q�.Q�!Q�!Q�R�R� R��}�}�X�]�]�*M�*M�*M�*M�4�9�*M�*M�*M�M�M�N�N�Nrc���d�|�|jdz��|�|jd��|�|jd����S)zMatrix power printerz {}({}, {})z.linalg.matrix_powerrr�r@�_module_formatrArOrcrXs r� _print_MatPowzNumPyPrinter._print_MatPowLs^���"�"�4�#6�#6�t�|�F\�7\�#]�#]� �K�K�� �!� � %� %�t�{�{�4�9�Q�<�'@�'@�B�B� Brc��d�|�|jdz��|�|jd����S)zMatrix inverse printer�{}({})z .linalg.invrrgrXs r�_print_InversezNumPyPrinter._print_InverseQsD�����t�2�2�4�<�-�3O�P�P� �K�K�� �!� � %� %�'�'� 'rc��|j\}}|jddkr|j}|jddkr|j}|�|jdz���d|�|���d|�|���d�S)Nrrz.dot�(rK�))rc�shape�TrhrArO)rHrY�arg1�arg2s r�_print_DotProductzNumPyPrinter._print_DotProductVs����Y� ��d� �:�a�=�A� � ��6�D� �:�a�=�A� � ��6�D�#�2�2�4�<�&�3H�I�I�I�I�#�{�{�4�0�0�0�0�#�{�{�4�0�0�0�0�2� 2rc��|�|jdz���d|�|j���d|�|j���d�S)Nz .linalg.solvernrKro)rhrArO�matrix�vectorrXs r�_print_MatrixSolvezNumPyPrinter._print_MatrixSolvecsX��#�2�2�4�<�/�3Q�R�R�R�R�#�{�{�4�;�7�7�7�7�#�{�{�4�;�7�7�7�7�9� 9rc��d�|�|jdz��|�|j����S)Nrkz.zeros�r@rhrArOrprXs r�_print_ZeroMatrixzNumPyPrinter._print_ZeroMatrixhs@�����t�2�2�4�<�(�3J�K�K� �K�K�� � #� #�%�%� %rc��d�|�|jdz��|�|j����S)Nrkz.onesrzrXs r�_print_OneMatrixzNumPyPrinter._print_OneMatrixls@�����t�2�2�4�<�'�3I�J�J� �K�K�� � #� #�%�%� %rc���ddlm}m}|j}t |t ��st ||f|||����}d����jdz��d� �fd�|j dD������ |j d���� |j ����S)Nr)r_�jz{}(lambda {}: {}, {})z .fromfunctionrKc3�B�K�|]}��|��V��dSrMrN�r�argrHs �rrQz5NumPyPrinter._print_FunctionMatrix.<locals>.<genexpr>vs/�����@�@�3�d�k�k�#�&�&�@�@�@�@�@�@rr) � sympy.abcr_r�lamda� isinstancerr@rhrArRrcrOrp)rHrYr_rr�s` r�_print_FunctionMatrixz"NumPyPrinter._print_FunctionMatrixps����"�"�"�"�"�"�"�"�� ���%��(�(� 0��A�q�6�5�5��A�;�;�/�/�E�&�-�-�d�.A�.A�$�,�Q`�B`�.a�.a� �I�I�@�@�@�@�%�*�Q�-�@�@�@� @� @� �K�K�� �1� � &� &�� � �D�J�(?�(?�A�A� Arc�8������jdz���d���fd�|jdd�D����d���|jd��dt |j��dz z��zS)N� .multiply�c3�j�K�|]-}d����|����V��.dS�z{}({}, N�r@rO�rr��funcrHs ��rrQz6NumPyPrinter._print_HadamardProduct.<locals>.<genexpr>{�S�����'�'��!�'�'��d�k�k�#�.>�.>�?�?�'�'�'�'�'�'r������{}{}ror�rhrArRrcr@rO�len�rHrYr�s` @r�_print_HadamardProductz#NumPyPrinter._print_HadamardProductys������"�"�4�<�+�#=�>�>���w�w�'�'�'�'�'��y��"��~�'�'�'�'�'�)/���t�{�{�4�9�R�=�7Q�7Q� �3�t�y�>�>�A�%� &�*(�*(�(� (rc�8������jdz���d���fd�|jdd�D����d���|jd��dt |j��dz z��zS)Nz.kronr�c3�j�K�|]-}d����|����V��.dSr�r�r�s ��rrQz7NumPyPrinter._print_KroneckerProduct.<locals>.<genexpr>�r�rr�r�rorr�r�s` @r�_print_KroneckerProductz$NumPyPrinter._print_KroneckerProducts������"�"�4�<�'�#9�:�:���w�w�'�'�'�'�'��y��"��~�'�'�'�'�'�)/���t�{�{�4�9�R�=�7Q�7Q� �3�t�y�>�>�A�%� &�*(�*(�(� (rc���d�|�|jdz��|�|jdz��|�|jd����S)Nz {}({}({}))z .conjugatez .transposerrgrXs r�_print_AdjointzNumPyPrinter._print_Adjoint�s_���"�"� � � �� �|� ;� <� <� � � �� �|� ;� <� <� �K�K�� �!� � %� %�'�'� 'rc���d�|�|jdz��|�|j����}d�|�|jdz��|��S)Nrkz.diagz{}({}, (-1, 1))z.reshape)r@rhrArOr�)rHrY�vects r�_print_DiagonalOfzNumPyPrinter._print_DiagonalOf�su����� � � �� �w� 6� 7� 7� �K�K��� !� !�#�#��!�'�'� � � �� �z� 9� :� :�D�B�B� Brc��d�|�|jdz��|�|jd����S)Nrkz .diagflatrrgrXs r�_print_DiagMatrixzNumPyPrinter._print_DiagMatrix�sD�����t�2�2�4�<�+�3M�N�N� �K�K�� �!� � %� %�'�'� 'rc �H�d�|�|jdz��|�|j��|�|jdz��|�|jd��|�|jd����S)Nz{}({}, {}({}, {}))r��.eyerr)r@rhrArOr�rprXs r�_print_DiagonalMatrixz"NumPyPrinter._print_DiagonalMatrix�s���#�*�*�4�+>�+>�t�|�k�?Y�+Z�+Z� �K�K��� !� !�4�#6�#6�t�|�f�7L�#M�#M� �K�K�� �1� � &� &�� � �D�J�q�M�(B�(B�D�D� Drc������ddlm�m����fd��d�d��fd�|jD������}d�d��fd�|jD������}d����jd z��||��tj ����S) zPiecewise function printerr)�ITE�simplify_logicc���|����r���|����S��|��S)z$ Problem having an ITE in the cond. )�hasrO)�condr�rHr�s ���r� print_condz1NumPyPrinter._print_Piecewise.<locals>.print_cond�sC����x�x��}�}� )��{�{�>�>�$�#7�#7�8�8�8��{�{�4�(�(�(rz[{}]�,c3�L�K�|]}��|j��V��dSrM)rOrYr�s �rrQz0NumPyPrinter._print_Piecewise.<locals>.<genexpr>�s1�����&R�&R��t�{�{�3�8�'<�'<�&R�&R�&R�&R�&R�&Rrc3�8�K�|]}�|j��V��dSrM)r�)rr�r�s �rrQz0NumPyPrinter._print_Piecewise.<locals>.<genexpr>�s/�����&Q�&Q��z�z�#�(�';�';�&Q�&Q�&Q�&Q�&Q�&Qrz{}({}, {}, default={})z.select) �sympy.logic.boolalgr�r�r@rRrcrhrArOrr3)rHrY�exprs�condsr�r�r�s` @@@r�_print_PiecewisezNumPyPrinter._print_Piecewise�s�������;�;�;�;�;�;�;�;� )� )� )� )� )� )� )� � � �c�h�h�&R�&R�&R�&R�� �&R�&R�&R�R�R�S�S��� � �c�h�h�&Q�&Q�&Q�&Q�t�y�&Q�&Q�&Q�Q�Q�R�R�� (�.�.� � � �� �y� 8� 9� 9�5�%� �K�K��� � � � � rc�T��ddddddd�}|j|vru|�|j��}|�|j��}d�|�|jd z||jz��||� ��St���|��S) z.Relational printer for Equality and Unequality�equal� not_equal�less� less_equal�greater� greater_equal)z==z!=�<z<=�>z>=z{op}({lhs}, {rhs})�.)�op�lhs�rhs) �rel_oprOr�r�r@rhrArE�_print_Relational)rHrYr�r�r�rIs �rr�zNumPyPrinter._print_Relational�s���������!�  � �� �;�"� � ��+�+�d�h�'�'�C��+�+�d�h�'�'�C�'�.�.�$�2E�2E�d�l�UX�FX�Y[�\`�\g�Yh�Fh�2i�2i�36�C�/�A�A� A��w�w�(�(��.�.�.rc���d����jdz��d��fd�|jD������S)�Logical And printer�{}.reduce(({}))z .logical_andr�c3�B�K�|]}��|��V��dSrMrNr^s �rrQz*NumPyPrinter._print_And.<locals>.<genexpr>�sT�����eH�eH�xy�ei�ep�ep�qr�es�es�eH�eH�eH�eH�eH�eHr�r@rhrArRrcrXs` r� _print_AndzNumPyPrinter._print_And�s���� !�'�'��(;�(;�D�L�>�<Y�(Z�(Z�\_�\d�\d�eH�eH�eH�eH�~B�~G�eH�eH�eH�]H�]H�I�I� Irc���d����jdz��d��fd�|jD������S)�Logical Or printerr�z .logical_orr�c3�B�K�|]}��|��V��dSrMrNr^s �rrQz)NumPyPrinter._print_Or.<locals>.<genexpr>�sT�����dG�dG�wx�dh�do�do�pq�dr�dr�dG�dG�dG�dG�dG�dGrr�rXs` r� _print_OrzNumPyPrinter._print_Or�s���� !�'�'��(;�(;�D�L�=�<X�(Y�(Y�[^�[c�[c�dG�dG�dG�dG�}A�}F�dG�dG�dG�\G�\G�H�H� Hrc���d����jdz��d��fd�|jD������S)zLogical Not printerrkz .logical_notr�c3�B�K�|]}��|��V��dSrMrNr^s �rrQz*NumPyPrinter._print_Not.<locals>.<genexpr>�s4�����[~�[~�op�\`�\g�\g�hi�\j�\j�[~�[~�[~�[~�[~�[~rr�rXs` r� _print_NotzNumPyPrinter._print_Not�sV��� ���t�2�2�4�<�.�3P�Q�Q�SV�S[�S[�[~�[~�[~�[~�tx�t}�[~�[~�[~�S~�S~���rFc���|jjr:|jjr.t|j|j���d���}|�|||jdz���S)NF)�evaluatez.sqrt)�rational�sqrt)�exp� is_integer� is_negativer�base�evalf� _hprint_PowrA)rHrYr�s r� _print_PowzNumPyPrinter._print_Pow�sa�� �8� � D�4�8�#7� D��t�y�$�(�.�.�"2�"2�U�C�C�C�D�����x�d�l�W�>T��U�U�Urc����d����jdz�����j��d��fd�|jD������S)N�{}({}.asarray([{}]), axis=0)z.aminr�c3�B�K�|]}��|��V��dSrMrNr^s �rrQz*NumPyPrinter._print_Min.<locals>.<genexpr>��p�����Nq�Nq�bc�OS�OZ�OZ�[\�O]�O]�Nq�Nq�Nq�Nq�Nq�Nqrr�rXs` r� _print_MinzNumPyPrinter._print_Min�����-�4�4�T�5H�5H���X_�I_�5`�5`�bf�bu�bu�vz�wC�cD�cD�FI�FN�FN�Nq�Nq�Nq�Nq�gk�gp�Nq�Nq�Nq�Fq�Fq�r�r� rrc����d����jdz�����j��d��fd�|jD������S)Nr�z.amaxr�c3�B�K�|]}��|��V��dSrMrNr^s �rrQz*NumPyPrinter._print_Max.<locals>.<genexpr>�r�rr�rXs` r� _print_MaxzNumPyPrinter._print_Max�r�rc��|�|jdz���d|�|jd���d�S)Nz.anglernrro�rhrArOrcrXs r� _print_argzNumPyPrinter._print_arg�sD���.�.�t�|�h�/F�G�G�G�G����UY�U^�_`�Ua�Ib�Ib�Ib�Ib�c�crc��|�|jdz���d|�|jd���d�S)Nz.imagrnrror�rXs r� _print_imzNumPyPrinter._print_im��D���.�.�t�|�g�/E�F�F�F�F�� � �TX�T]�^_�T`�Ha�Ha�Ha�Ha�b�brc������jdz���dd��fd�|jD�����d�S)Nz.modrnrKc3�B�K�|]}��|��V��dSrMrNr�s �rrQz*NumPyPrinter._print_Mod.<locals>.<genexpr>�s/����� 3� 3�#�T�[�[�� � � 3� 3� 3� 3� 3� 3rro)rhrArRrcrXs` r� _print_ModzNumPyPrinter._print_Mod�sb����.�.�t�|�f�/D�E�E�E�E�t�y�y� 3� 3� 3� 3��� 3� 3� 3�H5�H5�H5�H5�6� 6rc��|�|jdz���d|�|jd���d�S)Nz.realrnrror�rXs r� _print_rezNumPyPrinter._print_re�r�rc��|�|jdz���d|�|jdtjz ���d�S)Nz.sincrnrro)rhrArOrcrr1rXs r� _print_sinczNumPyPrinter._print_sinc�sM���.�.�t�|�g�/E�F�F�F�F�� � �TX�T]�^_�T`�ab�ae�Te�Hf�Hf�Hf�Hf�g�grc���|j�|jjd��}|�|�|jdz��}|�d|�|������d�S)Nz.arrayrnro)�known_functions�getrI�__name__rhrArO�tolistr�s r�_print_MatrixBasezNumPyPrinter._print_MatrixBase�sg���#�'�'���(?��F�F�� �<��&�&�t�|�h�'>�?�?�D��4�4����T�[�[�]�]�!;�!;�!;�!;�<�<rc���|j}td�|D����rA|�|jdz���d|�|jd���d�St d���)Nc3�$K�|] }|jV�� dSrM)� is_Integer)r�dims rrQz/NumPyPrinter._print_Identity.<locals>.<genexpr>�s$����/�/�#�s�~�/�/�/�/�/�/rr�rnrrozFSymbolic matrix dimensions are not yet supported for identity matrices)rp�allrhrArO�NotImplementedError)rHrYrps r�_print_IdentityzNumPyPrinter._print_Identity�sz��� �� �/�/��/�/�/� /� /� p�#�2�2�4�<�&�3H�I�I�I�I�4�;�;�W[�Wa�bc�Wd�Ke�Ke�Ke�Ke�f� f�%�&n�o�o� orc���d�|�|jdz��|�|jd�������S)Nrkz.blockr)r@rhrArOrcr�rXs r�_print_BlockMatrixzNumPyPrinter._print_BlockMatrix�sS�����t�2�2�4�<�(�3J�K�K�!%���T�Y�q�\�-@�-@�-B�-B�!C�!C�E�E� Erc�R��t|j��dkr.|jdz|�|jd��zdzSt|j��dkr'|�|�����St ���||��S)Nrz.array(rro�)r�rprArOrc�tomatrixrE�_print_not_supported)rHrYrIs �r�_print_NDimArrayzNumPyPrinter._print_NDimArrays���� �t�z�?�?�a� � ��<�)�+�d�k�k�$�)�A�,�.G�.G�G�#�M� M� �t�z�?�?�a� � ��;�;�t�}�}���/�/� /��w�w�+�+�D�$�7�7�7r�add�einsum� transpose�ones�zerosrM)F)7r�� __module__� __qualname__�__doc__rA�_numpy_known_functionsrD�_numpy_known_constants�_kcrFrUrZrerirlrtrxr{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�_add�_einsum� _transpose�_ones�_zerosr r�_print_lowergamma�_print_uppergamma�_print_fresnelc�_print_fresnels� __classcell__�rIs@rr;r;#s���������� �G� �C� �C� ,� ,� ,� ,� ,� ,�Q�Q�Q�-�-�-�O�O�O�B�B�B� '�'�'� 2� 2� 2�9�9�9� %�%�%�%�%�%�A�A�A�(�(�(� (�(�(� '�'�'� B�B�B�'�'�'�D�D�D�  � � �&/�/�/�/�/�"I�I�I�H�H�H�@�@�@�V�V�V�V� r�r�r�r�r�r�d�d�d�c�c�c�6�6�6�c�c�c�h�h�h�=�=�=� p�p�p�E�E�E�8�8�8�8�8� �D��G��J� �E� �F�#�8��#�8��!�6�O�!�6�O�O�O�O�Orr;�_print_�Ei�expi�erf�erfc�besselj�jv�bessely�yv�besseli�iv�besselk�kv�cosm1�powm1� factorial�gamma�loggamma�gammaln�digamma�psi� polygamma�RisingFactorial�poch�jacobi� eval_jacobi� gegenbauer�eval_gegenbauer� eval_chebyt� eval_chebyu� eval_legendre� eval_hermite� eval_laguerre�eval_genlaguerre�beta�lambertw)� chebyshevt� chebyshevu�legendre�hermite�laguerre�assoc_laguerrer:�LambertW� golden_ratio)� GoldenRatior1c� �i|] \}}|d|z�� S)zscipy.special.rrs rr7r7:s$��f�f�f�t�q�!�!�.��2�f�f�frc� �i|] \}}|d|z�� S)zscipy.constants.rrs rr7r7;s$��j�j�j���A�!�0�1�4�j�j�jrc���eZdZiej�e�Ziej�e�Zd�fd� Zd�Z e Z d�Z d�Z d�Z d�Zd�Zd �Zd �Zd �Zd �Zd �Zd�Zd�Zd�Zd�Zd�Zd�Z�xZS)� SciPyPrinterNc�Z��t���|���d|_dS)Nr>zPython with SciPy and NumPy)rErFrBrGs �rrFzSciPyPrinter.__init__Bs)��� �����(��+�+�+�5�� � � rc�N�ggg}}}|������D]G\\}}}|�|��|�|��|�|���Hd�|�d��||||j���S)Nz+{name}(({data}, ({i}, {j})), shape={shape})zscipy.sparse.coo_matrix)�name�datar_rrp)�todok�items�appendr@rhrp)rHrYr_rrL�r�crs r�_print_SparseRepMatrixz#SciPyPrinter._print_SparseRepMatrixFs�����R�d�1�������+�+�-�-� � �I�F�Q��A� �H�H�Q�K�K�K� �H�H�Q�K�K�K� �K�K��N�N�N�N�<�C�C��$�$�%>�?�?���a�t�z�D� � � rc � �d�|�d��|�|jd��|�|jd��|�|jd����S)Nz{0}({2}, {1}, {3})zscipy.special.lpmvrrr��r@rhrOrcrXs r�_print_assoc_legendrez"SciPyPrinter._print_assoc_legendreUsk��#�*�*� � � � 4� 5� 5� �K�K�� �!� � %� %� �K�K�� �!� � %� %� �K�K�� �!� � %� %� '�'� 'rc ���d�|�d��|�d��|�|jd��|�|jd����S)N�{0}({2})*{1}({2}, {3})�scipy.special.gammazscipy.special.gammaincrrrTrXs rrzSciPyPrinter._print_lowergamma\sh��'�.�.� � � � 5� 6� 6� � � � 8� 9� 9� �K�K�� �!� � %� %� �K�K�� �!� � %� %� '�'� 'rc ���d�|�d��|�d��|�|jd��|�|jd����S)NrWrXzscipy.special.gammainccrrrTrXs rrzSciPyPrinter._print_uppergammacsh��'�.�.� � � � 5� 6� 6� � � � 9� :� :� �K�K�� �!� � %� %� �K�K�� �!� � %� %� '�'� 'rc�&����d��}��d��}�fd�|jD��}d|�d|d�d|d�d|d�d |�d|d�d|d�d|d �d |�d|d�d|d�d �S) N�scipy.special.betainczscipy.special.betac�:��g|]}��|����SrrNr�s �rrz/SciPyPrinter._print_betainc.<locals>.<listcomp>ms%���6�6�6�S�� � �C� � �6�6�6rrnrrKr�z) - r�z)) * ro)rhrc)rHrY�betaincr:rcs` r�_print_betainczSciPyPrinter._print_betaincjs����%�%�&=�>�>���"�"�#7�8�8��6�6�6�6�D�I�6�6�6��,�7�,�,�T�!�W�,�,��Q��,�,�4��7�,�,��,�,�$�q�'�,�,�UY�Z[�U\�,�,�`d�ef�`g�,�,��,�,��1�g�,�,�!%�a��,�,�,� ,rc �J�d�|�d��|�|jd��|�|jd��|�|jd��|�|jd����S)Nz'{0}({1}, {2}, {4}) - {0}({1}, {2}, {3})r[rrr�r]rTrXs r�_print_betainc_regularizedz'SciPyPrinter._print_betainc_regularizedqs���8�?�?� � � � 7� 8� 8� �K�K�� �!� � %� %� �K�K�� �!� � %� %� �K�K�� �!� � %� %� �K�K�� �!� � %� %� '�'� 'rc��d�|�d��|�|jd����S)N� {}({})[0]�scipy.special.fresnelrrTrXs rrzSciPyPrinter._print_fresnelsy�A���!�!��#�#�$;�<�<�� � �D�I�a�L�)�)�+�+� +rc��d�|�d��|�|jd����S)N� {}({})[1]rdrrTrXs rrzSciPyPrinter._print_fresnelc~rerc��d�|�d��|�|jd����S)Nrc�scipy.special.airyrrTrXs r� _print_airyaizSciPyPrinter._print_airyai��A���!�!��#�#�$8�9�9�� � �D�I�a�L�)�)�+�+� +rc��d�|�d��|�|jd����S)NrgrirrTrXs r�_print_airyaiprimezSciPyPrinter._print_airyaiprime�rkrc��d�|�d��|�|jd����S)Nz {}({})[2]rirrTrXs r� _print_airybizSciPyPrinter._print_airybi�rkrc��d�|�d��|�|jd����S)Nz {}({})[3]rirrTrXs r�_print_airybiprimezSciPyPrinter._print_airybiprime�rkrc�F�|�|j|j���SrM�rO�_eval_rewrite_as_zetarcrXs r�_print_bernoullizSciPyPrinter._print_bernoulli�s!���{�{�5�4�5�t�y�A�B�B�Brc�F�|�|j|j���SrMrsrXs r�_print_harmoniczSciPyPrinter._print_harmonic�s!���{�{�5�4�5�t�y�A�B�B�Brc ���t|��\}}t|��dkrA��d��}dtt �j|d����z}nI��d��}d�d��fd�|D������}d �|d�t �j|������|jd��|��S) Nrzscipy.integrate.quadz%s, %srzscipy.integrate.nquadr\rKc3�b�K�|])}dtt�j|����zV��*dS)z(%s, %s)N)�tuple�maprO)r�lrHs �rrQz/SciPyPrinter._print_Integral.<locals>.<genexpr>�sU�����0I�0I�<=� �U�3�t�{�A�#6�#6�7�7�7�0I�0I�0I�0I�0I�0Irz{}(lambda {}: {}, {})[0]) r r�rhrzr{rOr@rRrc)rHr+�integration_vars�limits� module_str� limit_strs` r�_print_IntegralzSciPyPrinter._print_Integral�s���#:�1�#=�#=� ��&� �v�;�;�!� � ��,�,�-C�D�D�J� �5��T�[�&��)�)D�)D�#E�#E�E�I�I��,�,�-D�E�E�J�� � �d�i�i�0I�0I�0I�0I�AG�0I�0I�0I�'I�'I�J�J�I�*�0�0��� � �#�d�k�+;�<�<�=�=�� � �A�F�1�I�&�&�� �� rc��d�|�d��|�|jd����S)Nrc�scipy.special.sicirrTrXs r� _print_SizSciPyPrinter._print_Si�rkrc��d�|�d��|�|jd����S)Nrgr�rrTrXs r� _print_CizSciPyPrinter._print_Ci�rkrrM)r�rrr;rD�_scipy_known_functionsr �_scipy_known_constantsrFrR�_print_ImmutableSparseMatrixrUrrr_rarrrjrmrorqrurwr�r�r�rrs@rrHrH=sp������� 8�\� � 8�!7� 8�C� 8�\� � 8�!7� 8�C�6�6�6�6�6�6�  �  �  �$:� �'�'�'�'�'�'�'�'�'�,�,�,�'�'�'�+�+�+� +�+�+� +�+�+� +�+�+� +�+�+� +�+�+� C�C�C�C�C�C����$+�+�+� +�+�+�+�+�+�+rrHc� �i|] \}}|d|z�� S�zcupy.rrs rr7r7��"��T�T�T�T�Q���W�q�[�T�T�Trc� �i|] \}}|d|z�� Sr�rrs rr7r7�r�rc�0��eZdZdZdZeZeZd�fd� Z �xZ S)� CuPyPrinterz` CuPy printer which handles vectorized piecewise functions, logical operators, etc. �cupyNc�L��t���|���dS)Nr>)rErFrGs �rrFzCuPyPrinter.__init__�s$��� �����(��+�+�+�+�+rrM) r�rrr rA�_cupy_known_functionsrD�_cupy_known_constantsr rFrrs@rr�r��sX��������� �G� �C� �C�,�,�,�,�,�,�,�,�,�,rr�c� �i|] \}}|d|z�� S�z jax.numpy.rrs rr7r7��#��W�W�W���1��<�!�+�W�W�Wrc� �i|] \}}|d|z�� Sr�rrs rr7r7�r�rc�<��eZdZdZdZeZeZd�fd� Z d�Z d�Z �xZ S)� JaxPrinterz_ JAX printer which handles vectorized piecewise functions, logical operators, etc. z jax.numpyNc�Z��t���|���d|_dS)Nr>�_jaxcode)rErFrCrGs �rrFzJaxPrinter.__init__�s,��� �����(��+�+�+�%����rc����d����jdz�����j��d��fd�|jD������S)r�r�z.allr�c3�B�K�|]}��|��V��dSrMrNr^s �rrQz(JaxPrinter._print_And.<locals>.<genexpr>��-�����7�7��T�[�[��^�^�7�7�7�7�7�7rr�rXs` rr�zJaxPrinter._print_And��l���-�4�4� � � �� �v� 5� 6� 6� � � �� � -� -� �H�H�7�7�7�7�T�Y�7�7�7� 7� 7� � � rc����d����jdz�����j��d��fd�|jD������S)r�r�z.anyr�c3�B�K�|]}��|��V��dSrMrNr^s �rrQz'JaxPrinter._print_Or.<locals>.<genexpr>�r�rr�rXs` rr�zJaxPrinter._print_Or�r�rrM) r�rrr rA�_jax_known_functionsrD�_jax_known_constantsr rFr�r�rrs@rr�r��sv����������G� �C� �C�&�&�&�&�&�&�  � � � � � � � � � rr�N)'� sympy.corer�sympy.core.functionr�sympy.core.powerr�pycoderrr r r r � codeprinterr �splitrrN� _in_numpy�dict�_known_functions_numpy�_known_constants_numpyr r r;r��setattr�const�_known_functions_scipy_special� _known_constants_scipy_constantsr�r�rHr�r�r�r�r�r�rrr�<module>r�s���������&�&�&�&�&�&� � � � � � �K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�$�$�$�$�$�$�4�9�9�;�;� � X� X� ;� 5� ;� =� =� X� X� X� ���i� � � � � � � � � � � ��� � ,� ,� � �� � �� �� ���V�U�6L�6R�6R�6T�6T�U�U�U��U�U�6L�6R�6R�6T�6T�U�U�U��n7�n7�n7�n7�n7�<�!2�n7�n7�n7�` #�?�?�D� �G�L�*�D�*�*�,=�>�>�>�>� #�A�A�E� �G�L�+�E�+�+�-?�@�@�@�@�"��&�"� �5�"� �F�"��t� "� �t� "� �t� "��t�"� �W�"� �W�"���"� �W�"�� �"��u�"���"��v�"�  �m�!"�"�#�#"�$ �����(� ��3"�"�"��:"� �$�$� �g�f�?]�?c�?c�?e�?e�f�f�f��j�j�Aa�Ag�Ag�Ai�Ai�j�j�j��{+�{+�{+�{+�{+�<�{+�{+�{+�z #�?�?�D� �G�L�*�D�*�*�,=�>�>�>�>� #�A�A�E� �G�L�+�E�+�+�-?�@�@�@�@�U�T�5K�5Q�5Q�5S�5S�T�T�T��T�T�5K�5Q�5Q�5S�5S�T�T�T�� ,� ,� ,� ,� ,�,� ,� ,� ,� "�>�>�D� �G�K�)�4�)�)�+<�=�=�=�=� "�@�@�E� �G�K�*�5�*�*�,>�?�?�?�?�X�W�8N�8T�8T�8V�8V�W�W�W��W�W�8N�8T�8T�8V�8V�W�W�W�� � � � � �� � � �> !�=�=�D� �G�J�(�$�(�(�*;�<�<�<�<� !�?�?�E� �G�J�)�%�)�)�+=�>�>�>�>�?�?r
Memory