
    g3(                        d dl mZ d dlmZ  ed          Zerej        ej        ej        cZZZndZd dl	m
Z
mZmZ d dlmZmZ d dlmZ d dlmZmZmZmZ d d	lmZ d d
lZd d
lZd dlmZmZmZ d dlm Z  d dl!m"Z" d dl#m$Z$ d Z%d Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d Z3d Z4e d             Z5d  Z6d! Z7d" Z8d# Z9d$ Z:d% Z;d
S )&    )version_tuple)import_modulenumpyT)FloatIntegerRational)Symbolsymbols)sin)Matrix
list2numpymatrix2numpysymarray)lambdifyN)xyz)conserve_mpmath_dps)ignore_warnings)raisesc            
         d } t          d          }t          d          }t          dd          t          d          ||t          ||          |z  t	          d          t          d          g}t          d	g          t          g d
          t          ||dz  t          d          g          t          ||z  t          |          z  dt          d          g          g}|D ]}|D ]} | ||           d S )Nc                 Z    | |z   || z   | |z
  || z
  | |z  || z  | |z  || z  | |z  || z  g
}d S )N )sympy_objectnumpy_array_s      [/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/external/tests/test_numpy.pysz test_systematic_basic.<locals>.s%   s]    K'l"{"l"{"l"{"l"#|#	%    r   r         z1.3   g      @   )r!      )r	   r   r   powr   arrayr   )r   r   r   
sympy_objs
numpy_objss        r   test_systematic_basicr*   $   s   
% 
% 
% 	sAsAAe		Aq		!

c

J 	qc

jjjq!Q$$%%qs3q66z1hqkk*++	J    	 	AAaGGGG	 r   c                     t          d          } t          d          }t          d          t          |           k    sJ t          | g          t          | g          k    sJ t          t          g          t          t          g          k    sJ t          t                    t          t          d                    k    sJ t          | t          z             t          dt          z             k    sJ t          | ||g          }|t          | ||g          k                                    sJ |t          | ddg          k                                    sJ d S )Nr#   r   r   )r   r'   r   r	   all)onezeroXs      r   test_basicsr0   I   s2   
1++CA;;D88uSzz!!!!#<<5#<<''''!::s####88uVC[[))))))q>>U1q5\\))))sD$  AT4()))..00000Q{###((*******r   c                     t          d          } t          d          }t          | ||g          }| |z  }t          t          d          t          dd          z   g          }||z   }|t          ddt          d          z  z   g          k    sJ |dz   }|t          ddt          d          z  z   g          k    sJ ||z
  }|t          dg          k    sJ d S )Nr#   r   ar    )r   r'   r	   )r-   r.   r/   Ys       r   test_arraysr4   W   s    
1++CA;;DsD$  AAAvc{{Xa^^+,--A	AAq1VC[[=()******	AAq1VC[[=()******	AAqc

??????r   c                      t          t          dz  t          g          } t          | t                    sJ | d         t          dz  k    sJ | d         t          k    sJ t	          |           dk    sJ d S )Nr    r   r#   )r   r   
isinstancendarraylenr2   s    r   test_conversion1r:   e   sj    AqD!9Aa!!!!!Q41a4<<<<Q419999q66Q;;;;;;r   c                  x   dt          t          dz  t          g          z  } t          dt          dz  z  dt          z  g          }| |k                                    sJ t          d          }t          d          }t          |||g          }||z  }t          t	          d          t          dd          z   g          }||z   }|t          ddt	          d          z  z   g          k    sJ |dz   }|t          ddt	          d          z  z   g          k    sJ ||z
  }|t          dg          k    sJ d S )Nr    r#   r   r2   )r   r   r,   r   r	   r'   )r2   br-   r.   r/   r3   s         r   test_conversion2r=   o   s1   	*adAY

AAadFAaC=!!AF<<>>
1++CA;;DCt$%%AAAF3KK(1a..0122A	AAq1VC[[=()******	AAq1VC[[=()******	AAqc

??????r   c                      t          t          dz  t          g          t          t          dz  t          g          k                                    sJ d S )Nr    )r'   r   r   r,   r   r   r   test_list2numpyr?      sE    1a4)
AqD!9 5 55::<<<<<<<r   c                  .   t          t          t          dz  gddt          z  gg          } t          |                     t          d                    t          ddgddgg          k                                    sJ t          t          t                    t          dz  gddt          z  gg          } t          |                     t          d                    t          t          d          dgddgg          k                                    sJ d S Nr    r"      r#   )r   r   r'   subsr,   r   ms    r   test_Matrix1rF      s    AqD	Aqs8$%%A!&&A,,51a&1a&)9#:#::??AAAAAQAAaC)**A!&&A,,53q661+1v)>#?#??DDFFFFFFFr   c                     t          t          t          dz  gddt          z  gg          } t          t                    5  t	          |                     t          d                    t	          ddgddgg          k                                    sJ 	 d d d            n# 1 swxY w Y   t          t          t                    t          dz  gddt          z  gg          } t          t                    5  t	          |                     t          d                    t	          t          d          dgddgg          k                                    sJ 	 d d d            d S # 1 swxY w Y   d S rA   )r   r   r   PendingDeprecationWarningmatrixrC   r,   r   rD   s    r   test_Matrix2rJ      s   AqD	Aqs8$%%A	2	3	3 H Hqvva||$$AA/?(@(@@EEGGGGGGH H H H H H H H H H H H H H HQAAaC)**A	2	3	3 M Mqvva||$$QaV/D(E(EEJJLLLLLLM M M M M M M M M M M M M M M M M Ms%   AB  B$'B$6A!E%%E),E)c                     t          ddgddgg          } t          |           t          ddgddgg          k    sJ t          |           t          ddgddgg          k    sJ t          t          d          dgddgg          } t          |           t          t          d          dgddgg          k    sJ t          |           t          t          d          dgddgg          k    sJ d S Nr    rB   r"   r#   r   )r'   r   r   r9   s    r   test_Matrix3rM      s    1v1vA!99AA/000000!99AA/000000A{QF#$$A!99QaV4555555!99QaV455555555r   c                     t          t                    5  t          ddgddgg          } d d d            n# 1 swxY w Y   t          |           t          ddgddgg          k    sJ t          |           t          ddgddgg          k    sJ t          t                    5  t          t	          d          dgddgg          } d d d            n# 1 swxY w Y   t          |           t          t	          d          dgddgg          k    sJ t          |           t          t	          d          dgddgg          k    sJ d S rL   )r   rH   rI   r   r   r9   s    r   test_Matrix4rO      s   	2	3	3 % %QFQF#$$% % % % % % % % % % % % % % %!99AA/000000!99AA/000000	2	3	3 * *SVVQK!Q())* * * * * * * * * * * * * * *!99QaV4555555!99QaV455555555s   7;;&#CCCc            
      $   t          g dt          t          t          gdt          z  dt          t          z  gg          } t	          t
                    5  t          g dt          ddgt          t          t          dz  gg          }d d d            n# 1 swxY w Y   | |z   t          g ddt          z  t          dz   t          dz   gdt          z  t          z   t          dz
  t          t          z  t          dz  z   gg          k    sJ || z   t          g ddt          z  t          dz   t          dz   gdt          z  t          z   t          dz
  t          t          z  t          dz  z   gg          k    sJ | |z   |                     |          k    sJ d S )	Nr#   r    r!   r    i)r    r!   rB   r"      )r!   r"      2   )r   r   r   r   r   rH   rI   add)MrE   s     r   test_Matrix_sumrW      s   			Aq!9qsC1o677A	2	3	3 9 9III1ay1aA,7889 9 9 9 9 9 9 9 9 9 9 9 9 9 9q5FIII!QUAE':QqS1Wa"faPQcTUWXTXj<YZ[[[[[[q5FIII!QUAE':QqS1Wa"faPQcTUWXTXj<YZ[[[[[[q5AEE!HHs   2BBBc                     t          g dt          t          t          gg          } t          t                    5  t          ddgt          dgt          t          dz  gg          }d d d            n# 1 swxY w Y   | |z  t          ddt          z  z   ddt          dz  z  z   gdt          z  t          t          z  z   t          dz  z   dt          z  dt          z  z   t          t          dz  z  z   gg          k    sJ || z  t          ddt          z  z   ddt          z  z   ddt          z  z   gdt          z  dt          z  dt          z  z   d	t          z  gt          t          t          dz  z  z   dt          z  t          t          dz  z  z   dt          z  t          t          dz  z  z   gg          k    sJ t          dg          }|d
         | z  d| z  k    sJ | |d
         z  d| z  k    sJ d S )NrQ   r    rB   rR   r"      r!   rS   	   r   )r   r   r   r   rH   rI   r   r'   )rV   rE   r2   s      r   test_Matrix_mulr[      s   			Aq!9%&&A	2	3	3 0 0QFQFQ1I.//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Q3&ac'"qAv+.	
1qsQT	1Q319qAv-.      
 Q3&!G!ac'AaC0!!ac	AaC0	
Qq!tVQqS1QT6\1Q31a4<0      
 	qc

AQ4!8q1uqt8q1us   +A11A58A5c                       G d d          }  |             }t          |          t          g dg dg dg          k    sJ d S )Nc                       e Zd ZedfdZdS )#test_Matrix_array.<locals>.matarrayNc                 \    ||st          d          ddlm}  |g dg dg dg          S )Nz=Cannot implement copy=False when converting Matrix to ndarrayr   )r'   rQ   rB   r"   rR   rS   r$   rZ   )	TypeErrorr   r'   )selfdtypecopyr'   s       r   	__array__z-test_Matrix_array.<locals>.matarray.__array__   sQ     _```######5)))YYY			:;;;r   )__name__
__module____qualname__objectrf   r   r   r   matarrayr^      s-        "(t 	< 	< 	< 	< 	< 	<r   rk   rQ   r`   ra   )r   )rk   matarrs     r   test_Matrix_arrayrm      so    < < < < < < < < XZZF&>>VYYY			999$EFFFFFFFFr   c            	      v   t          t          dt          dz  gdt          t                    z  dgg                    } t	          | t
                    sJ | j        dk    sJ | d         dk    sJ | d         t          dz  k    sJ | d         dt          t                    z  k    sJ | d	         dk    sJ d S )
Nr#   r    r!   r   )r    r    r   r   )r   r#   )r#   r   )r#   r#   )r   r   r   r   r6   r7   shaper9   s    r   test_matrix2numpyrq      s    VaAY3q66167788Aa!!!!!7fT7a<<<<T7ad????T7aAhT7a<<<<<<r   c            	         t          ddt          t                    gt          dz  t          t          dd          gg          } t	          ddt          t                    gt          dz  t          t          dd          gg          }t          |           |k                                    sJ t          |           j        t                              d          k    sJ t          t          ddgddgg          d          }t          t          ddgddgg          d          }|j        t                              d          k    sJ |j        t                              d          k    sJ d S )	Nr#   r    rj   
      int8rd   float64)	r   r   r   r   r'   r   r,   rd   r   )r2   r<   cds       r   test_matrix2numpy_conversionrz      s?   As1vvAq(1a.. 9:;;A1c!ff~1a!Q89::AOOq %%'''''?? EKK$9$99999VaVb"X.//v>>>AVaVb"X.//yAAAA7ekk&))))))7ekk),,,,,,,,r   c                  V   t          dd          t          dt          z  dg          z  t          t          dg          k                                    sJ t          dd          t          dt          z  dg          z   t          dt          z  t          dd          z   t          dd          g          k                                    sJ t	          d          t          dt          z  dg          z  t          t	          d          t          z  dg          k                                    sJ t	          d          t          dt          z  dg          z   t          dt          z  t	          d          z   t	          d          g          k                                    sJ d S )Nr#   r    r   z0.5z1.0)r   r'   r   r,   r   r   r   r   test_issue_3728r|      sx   QNN5!A#q??*eQFmm;@@BBBBBQNNU	
1a  AaC(1a..0(1a..ABBCDGCEEJ J J%LL!Qx(E5<<>12E,F,FFKKMMMMM%LL5	
1a  AaC%,,.e=>>?@CF F F F Fr   c                  ,   dt           j        _        t          j        d          } t	          t
          t          t
                    d          }d}|  |d          | z
  cxk     r|k     sn J t          t          j	                  t          d          k    r?t          t                    5   |t
                     d d d            d S # 1 swxY w Y   d S t          t                    5   |t
                     d d d            d S # 1 swxY w Y   d S )NrY   z0.198669330795061215459412627r   gV瞯<g?z1.17)mpmathmpdpsmpfr   r   r   r   r   __version__r   rb   AttributeError)sin02fprecs      r   test_lambdifyr      s   FIMJ677ECFFG$$AD511S66E>((((D(((((( U&''=+@+@@@I 	 	AaDDD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 N## 	 	AaDDD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   ,C

CC+D		DDc                      t          t          t          t          dt          z  gddgg          dt          j        idg          }  | d          t	          ddgddgg          k                                    sJ d S )Nr    r#   ImmutableMatrixr   )r   r   r   r   r'   r,   )r   s    r   test_lambdify_matrixr     sz    FQ!Hq!f-..2CU[1QSZ0[\\AAaDDEAq6Aq6*+++002222222r   c                  @   t          j        t          dz  t          t          z  t          t          z  gt          t          z  t          dz  t          t          z  gt          t          z  t          t          z  t          dz  gg          } t          t          t          t          f| dt          j        idg          }d\  }}}t          |dz  ||z  ||z  g||z  |dz  ||z  g||z  ||z  |dz  gg          } ||||          }t                              ||          sJ d S )Nr    r   r   g      ?g       @g      @)	sympyr   r   r   r   r   r   r'   allclose)rV   r   xhyhzhexpectedactuals          r    test_lambdify_matrix_multi_inputr     s   q!tQqS!A#&sAqD!A#&sAaCA&( 	) 	)A 	!QA!2EK @'JKKAJBBr1ubeRU+"ub!eRU+"ubeRU+- . .H Qr2r]]F>>&(+++++++r   c                     t          j        d          } t          | d         dz  | d         | d         z  | d         | d         z  g| d         | d         z  | d         dz  | d         | d         z  g| d         | d         z  | d         | d         z  | d         dz  gg          }t          | |dt          j        idg          }t          g d          }t          |d         dz  |d         |d         z  |d         |d         z  g|d         |d         z  |d         dz  |d         |d         z  g|d         |d         z  |d         |d         z  |d         dz  gg          } ||          }t                              ||          sJ d S )Nr/   r   r    r#   r   r   r   )r   DeferredVectorr   r   r   r'   r   )r/   rV   r   Xhr   r   s         r   test_lambdify_matrix_vec_inputr     s   S!!A	
1q!A$qt)QqT!A$Y'	
1adAaD!GQqT!A$Y'	
1adAaD1IqtQw') 	* 	*A 	A*EK8'BCCA			Br!uaxAr!ubeBqEk:!uRU{BqE1HbeBqEk:!uRU{BqE"Q%KA:< = =H QrUUF>>&(+++++++r   c                      ddl m}  |                                 D ]%\  }}|t          j        v sJ |t
          j        v sJ &d S )Nr   )NUMPY_TRANSLATIONS)sympy.utilities.lambdifyr   itemsr   __dict__r   )r   symmats      r   test_lambdify_translr   $  sf    ;;;;;;&,,.. % %Sen$$$$en$$$$$% %r   c                  0   ddl } ddlm} t          d          }t	          dd          }t	          dd          }|                    ||                     |t                               |d         |d         k    sJ t	          dd          }t	          dd          }|d         |d         k    rJ t          d	          }|                    ||                     |t                               t	          dd
          }|j        d
k    sJ t          d          \  }	}
|d         |	k    sJ |d         |
k    sJ t	          dd          }|j        dk    sJ t          d          \  }}}|d         |k    sJ |d         |k    sJ |d         |k    sJ dS )z/Test creation of numpy arrays of SymPy symbols.r   Nz_0,_1,_2 r!   rv   r2   r<   za_0,a_1,a_2)r    r!   za_0_0,a_1_2ro   )r#   r    )r    r!   r    za_0_0_0,a_1_2_0,a_1_2_1)r   r   r   )r#   r    r   )r#   r    r#   )	r   numpy.testingtestingr
   r   assert_array_equalr'   rj   rp   )npnptsymss1s2r2   r<   asymsa2da00a12a3da000a120a121s                  r   test_symarrayr   +  s    :D	"aB	"aB2rxxFx;;<<<a5BqE>>>>aAaAtqt||||M""E1bhhuFh;;<<< 3

C9}%%HCt9t9
3	
"
"C9	!!!!899D$w<4w<4w<4r   c                     t                              t                    g d          t                               t          d          t          d          t          d          g          k                                    sJ d S )NrQ   r#   r    r!   )r   	vectorizer   r'   r,   r   r   r   test_vectorizer   M  s|    OO YY  ;;AAA'?@@ABE#%%H H H H Hr   )<sympy.external.importtoolsr   sympy.externalr   r   r'   rI   r7   disabledsympy.core.numbersr   r   r   sympy.core.symbolr	   r
   (sympy.functions.elementary.trigonometricr   sympy.matrices.denser   r   r   r   r   r   r   r~   	sympy.abcr   r   r   sympy.utilities.decoratorr   sympy.utilities.exceptionsr   sympy.testing.pytestr   r*   r0   r4   r:   r=   r?   rF   rJ   rM   rO   rW   r[   rm   rq   rz   r|   r   r   r   r   r   r   r   r   r   r   <module>r      s   5 4 4 4 4 4 ( ( ( ( ( (g "[%,E677 H : 9 9 9 9 9 9 9 9 9 / / / / / / / / 8 8 8 8 8 8 M M M M M M M M M M M M - - - - - -             9 9 9 9 9 9 6 6 6 6 6 6 ' ' ' ' ' '  J+ + +      $= = =G G GM M M6 6 66 6 6    &G G G  	- 	- 	-F F F   "3 3 3
, , ,, , , % % %     DH H H H Hr   