
    sg3(                        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;y
)&    )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 ]  } | ||         y )Nc                 X    | |z   || z   | |z
  || z
  | |z  || z  | |z  || z  | |z  || z  g
}y )N )sympy_objectnumpy_array_s      R/var/www/html/venv/lib/python3.12/site-packages/sympy/external/tests/test_numpy.pysz test_systematic_basic.<locals>.s%   sY    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
jq!Q$$%qs3q6z1hqk*+	J   	AaG	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(  j	                         sJ |t        | ddg      k(  j	                         sJ y )Nr#   r   r   )r   r'   r   r	   all)onezeroXs      r   test_basicsr0   I   s    
1+CA;D8uSz!!!#<5#<'''!:s###8uVC[))))q>U1q5\)))sD$ AT4())..000Q{##((***r   c                  Z   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 y )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 y )Nr    r   r#   )r   r   
isinstancendarraylenr2   s    r   test_conversion1r:   e   sX    AqD!9Aa!!!Q41a4<<Q4199q6Q;;r   c                     dt        t        dz  t        g      z  } t        dt        dz  z  dt        z  g      }| |k(  j                         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 y )Nr    r#   r   r2   )r   r   r,   r   r	   r'   )r2   br-   r.   r/   r3   s         r   test_conversion2r=   o   s    	*adAY
AAadFAaC=!AF<<>>
1+CA;DCt$%AAAF3K(1a.01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(  j                         sJ y )Nr    )r'   r   r   r,   r   r   r   test_list2numpyr?      s3    1a4)
AqD!9 55::<<<r   c                     t        t        t        dz  gddt        z  gg      } t        | j                  t        d            t        ddgddgg      k(  j	                         sJ t        t        t              t        dz  gddt        z  gg      } t        | j                  t        d            t        t        d      dgddgg      k(  j	                         sJ y Nr    r"      r#   )r   r   r'   subsr,   r   ms    r   test_Matrix1rF      s    AqD	Aqs8$%A!&&A,51a&1a&)9#::??AAAQAAaC)*A!&&A,53q61+1v)>#??DDFFFr   c                  L   t        t        t        dz  gddt        z  gg      } t        t              5  t	        | j                  t        d            t	        ddgddgg      k(  j                         sJ 	 d d d        t        t        t              t        dz  gddt        z  gg      } t        t              5  t	        | j                  t        d            t	        t        d      dgddgg      k(  j                         sJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   y xY wrA   )r   r   r   PendingDeprecationWarningmatrixrC   r,   r   rD   s    r   test_Matrix2rJ      s   AqD	Aqs8$%A	2	3 Hqvva|$AA/?(@@EEGGGHQAAaC)*A	2	3 Mqvva|$QaV/D(EEJJLLLM MH HM Ms   AD9ADDD#c                  v   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      k7  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      k7  sJ y Nr    rB   r"   r#   r   )r'   r   r   r9   s    r   test_Matrix3rM      s    1v1vA!9AA/0000!9AA/0000A{QF#$A!9QaV45555!9QaV45555r   c                     t        t              5  t        ddgddgg      } d d d        t               t        ddgddgg      k(  sJ t        |       t        ddgddgg      k7  sJ t        t              5  t        t	        d      dgddgg      } d d d        t        |       t        t	        d      dgddgg      k(  sJ t        |       t        t	        d      dgddgg      k7  sJ y # 1 sw Y   xY w# 1 sw Y   fxY wrL   )r   rH   rI   r   r   r9   s    r   test_Matrix4rO      s   	2	3 %QFQF#$%!9AA/0000!9AA/0000	2	3 *SVQK!Q()*!9QaV45555!9QaV45555% %* *s   C+7C7+C47D 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        | 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   | j                  |      k(  sJ y # 1 sw Y   xY w)	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7A	2	3 9I1ay1aA,789q5FI!QUAE':QqS1Wa"faPQcTUWXTXj<YZ[[[[q5FI!QUAE':QqS1Wa"faPQcTUWXTXj<YZ[[[[q5AEE!H	9 9s   *E

Ec                  L   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        | 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 y # 1 sw Y   IxY w)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 0QFQFQ1I./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0 0s   $FF#c                  j     G d d      }  |        }t        |      t        g dg dg dg      k(  sJ y )Nc                       e Zd ZedfdZy)#test_Matrix_array.<locals>.matarrayNc                 N    ||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__   s+     _``#)Y	:;;r   )__name__
__module____qualname__objectrf   r   r   r   matarrayr^      s    "(t 	<r   rk   rQ   r`   ra   )r   )rk   matarrs     r   test_Matrix_arrayrm      s3    < < ZF&>VY	9$EFFFFr   c            	      *   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 y )
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3q61678Aa!!!77fT7a<<T7ad??T7aAhT7a<<r   c            	      n   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(  j                         sJ t        |       j                  t        j                  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        j                  d      k(  sJ |j                  t        j                  d      k(  sJ y )	Nr#   r    rj   
      int8rd   float64)	r   r   r   r   r'   r   r,   rd   r   )r2   r<   cds       r   test_matrix2numpy_conversionrz      s   As1vAq(1a. 9:;A1c!f~1a!Q89:AOq %%'''?  EKK$9999VaVb"X./v>AVaVb"X./yAA77ekk&))))77ekk),,,,r   c                     t        dd      t        dt        z  dg      z  t        t        dg      k(  j                         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(  j                         sJ t	        d      t        dt        z  dg      z  t        t	        d      t        z  dg      k(  j                         sJ t	        d      t        dt        z  dg      z   t        dt        z  t	        d      z   t	        d      g      k(  j                         sJ y )Nr#   r    r   z0.5z1.0)r   r'   r   r,   r   r   r   r   test_issue_3728r|      s1   QN5!A#q?*eQFm;@@BBBQNU	
1a AaC(1a.0(1a.ABCDGCEJ J J%L!Qx(E5<>12E,FFKKMMM%L5	
1a AaC%,.e=>?@C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J  J t        t        j                        t        d      k\  r%t        t              5   |t
               d d d        y t        t              5   |t
               d d d        y # 1 sw Y   y xY w# 1 sw Y   y xY w)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    FIIMJJ67ECFG$AD51S6E>(D((((( U&&'=+@@I 	aD	 	 N# 	aD	 		 		 	s   C>C C C)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(  j                         sJ y )Nr    r#   ImmutableMatrixr   )r   r   r   r   r'   r,   )r   s    r   test_lambdify_matrixr     sc    FQ!Hq!f-.2CU[[1QSZ0[\AaDEAq6Aq6*++00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        j                  ||      sJ y )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!2EKK @'JKAJBBr1ubeRU+"ub!eRU+"ubeRU+- .H r2r]F>>&(+++r   c                  B   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        j                  ||      sJ y )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     ss   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*EKK8'BCA		Br!uaxAr!ubeBqEk:!uRU{BqE1HbeBqEk:!uRU{BqE"Q%KA:< =H rUF>>&(+++r   c                      ddl m}  | j                         D ]-  \  }}|t        j                  v sJ |t
        j                  v r-J  y )Nr   )NUMPY_TRANSLATIONS)sympy.utilities.lambdifyr   itemsr   __dict__r   )r   symmats      r   test_lambdify_translr   $  sE    ;&,,. %Senn$$$enn$$$%r   c                     ddl } ddlm} t        d      }t	        dd      }t	        dd      }|j                  || j                  |t                     |d   |d   k(  sJ t	        dd      }t	        dd      }|d   |d   k(  rJ t        d	      }|j                  || j                  |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 y)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   +  sg    :D	"aB	"aB2rxxFx;<a5BqE>>aAaAtqt|M"E1bhhuFh;< 3
C99}%HCt9t9
3	
"C99	!!!89D$w<4w<4w<4r   c                      t        j                  t              g d      t         j                  t        d      t        d      t        d      g      k(  j	                         sJ y )NrQ   r#   r    r!   )r   	vectorizer   r'   r,   r   r   r   test_vectorizer   M  sW    OO ;;AAA'?@ABE#%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 (g"[[%,,E67 H : 9 / 8 M M -     9 6 'J+$=GM66&G	-F  "3
,, % DHr   