
    -iК                        S SK r S SKrS SKJrJrJr  S SKrS SKJ	r	  S SK
JrJrJr  SSKJrJr  S rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS r\R@                  RC                  S/ SQ5      S\"4S j5       r#\R@                  RC                  S\$" / SQ/ SQ5      5      S\%\"\"4   4S j5       r&\R@                  RC                  S/ SQ5      S\"4S j5       r'S r(S r)S r*S  r+S! r,S" r-S# r.S$ r/\R@                  RC                  S%/ S&Q5      S' 5       r0\R@                  RC                  S%/ S&Q5      S( 5       r1\R@                  RC                  S%/ S&Q5      S) 5       r2\R@                  RC                  S%/ S&Q5      S* 5       r3S+ r4\R@                  RC                  S,/ S-Q5      S. 5       r5\R@                  RC                  S%/ S&Q5      S/ 5       r6\R@                  RC                  S%/ S&Q5      S0 5       r7\R@                  RC                  S1/ S2Q5      S3 5       r8S4 r9S5 r:\R@                  RC                  S%/ S&Q5      S6 5       r;\R@                  RC                  S%/ S&Q5      S7 5       r<S8 r=\R@                  RC                  S9/ S:Q5      S; 5       r>\R@                  RC                  S%/ S&Q5      S< 5       r?\R@                  RC                  S%/ S&Q5      S= 5       r@S> rA\R@                  RC                  S9/ S:Q5      S? 5       rB/ S@QrC\R@                  RC                  SA\C5      SB 5       rD/ SCQrE\R@                  RC                  SD\E5      SE 5       rFSF rGSG rHSH rISI rJSJ rK/ SKQrL\R@                  RC                  S9\L5      SL 5       rMSMSNSO/S /44SPSQSR/S /44SSSTS /S/44SUSVS SR/SRS/44SWSX/ SYQ/ SZQ44S[S\S]S]/ SYQ/ SYQ44/rN\R@                  RC                  S^\N5      S_ 5       rOS` rP\R@                  RC                  Sa/ SbQ5      Sc 5       rQ\R@                  RC                  S%/ SdQ5      Se 5       rR\R@                  RC                  S%/ SdQ5      Sf 5       rS/ SgQrT\R@                  RC                  S9\T5      Sh 5       rU\R@                  RC                  S9\T5      Si 5       rV/ SjQrW\R@                  RC                  Sk\W5      Sl 5       rX/ SmQrY\R@                  RC                  Sk\Y5      Sn 5       rZSo r[SpSqSrSsStSuSWS \R                  " Sv5      4SwSPSO\R                  " Sx5      4SySzS{S|S}S~SSSS\R                  " S5      4SSSS\R                  " S5      4SSSY\R                  " SS5      4S/r]\R@                  RC                  S\]5      S 5       r^\R@                  RC                  S\]5      S 5       r_S r`/ SgQra\R@                  RC                  S9\a5      S 5       rbS rc\R@                  RC                  S9\a5      S 5       rdS re\R@                  RC                  S9\a5      S 5       rfS rg\R@                  RC                  S9\a5      S 5       rh\R@                  RC                  S9\a5      S 5       riS rjS rkg)    N)assert_equalassert_allclosesuppress_warnings)
block_diag)	coo_arrayrandom_arraySparseEfficiencyWarning   )_block_diag_extract_block_diagc                     [        S5      n U R                  S:X  d   e[        U R                  5       [        R
                  " S5      5        [        S5      nUR                  S:X  d   e[        UR                  5       [        R
                  " S5      5        [        S5      nUR                  S:X  d   e[        UR                  5       [        R
                  " S5      5        g )N   r   r
   )r
   r            r   shaper   toarraynpzeros)empty1dempty2dempty_nds      N/var/www/html/venv/lib/python3.13/site-packages/scipy/sparse/tests/test_coo.pytest_shape_constructorr   
   s    oG==D   "BHHTN3G==F""""BHHV$45%H>>[(((!!#RXXk%:;    c                  <   [        / SQ5      n U R                  S:X  d   e[        U R                  5       [        R
                  " / SQ5      5        [        / SQ/ SQ/5      nUR                  S:X  d   e[        UR                  5       [        R
                  " / SQ/ SQ/5      5        [        R
                  " SS/SS//S	S
/SS///SS/SS//SS
/SS	///SS/SS//SS/SS////5      n[        U5      nUR                  S:X  d   e[        UR                  5       U5        [        R                  R                  S5        [        R                  R                  SSSSS	S
SSS5	      n[        U5      nUR                  S:X  d   e[        UR                  5       U5        [        S[        R                  //SS//S
S	///5      nUR                  S:X  d   e[        UR                  5       [        R
                  " S[        R                  //SS//S
S	///5      5        g )N   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   arrayrandomseedrandnnan)res1dres2darr4dres4darr9dres9dnan_3ds          r   test_dense_constructorr4      s   i E;;$"((9"56 y),-E;;&   "((Iy+A"BC HHAA'1a&1a&)9:AA'1a&1a&)9:AA'1a&1a&)9:< =E eE;;,&&&%( IINN2IIOOAa!Aa!A.EeE;;----%( !RVVAx1a&:;F<<9$$$!288q"&&k]aVH1vh,O#PQr   c            	         [        / SQSS9n U R                  S:X  d   e[        U R                  5       [        R
                  " / SQ5      5        [        / SQ/ SQ/SS9nUR                  S:X  d   e[        UR                  5       [        R
                  " / SQ/ SQ/5      5        [        S//S///SS9nUR                  S:X  d   e[        UR                  5       [        R
                  " S//S///5      5        [        R                  R                  S	5        [        R                  R                  S
SSSSSS
5      n[        USS9nUR                  S:X  d   e[        UR                  5       U5        g )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.   res3darr7dres7ds        r   !test_dense_constructor_with_shaper:   8   s%   it,E;;$"((9"56y),F;E;;&   "((Iy+A"BCusenI6E;;)###"((aSEQC5>":;IINN2IIOOAa!Aa*Eu_5E;;/)))%(r   c                  :   [         R                  " [        SS9   [        / SQSS9  S S S 5        [         R                  " [        SS9   [        / SQSS9  S S S 5        [         R                  " [        SS9   [        / SQ/SS9  S S S 5        [         R                  " [        SS9   [        S//S	///S
S9  S S S 5        [         R                  " [        SS9   [        S/S/44SS9  S S S 5        [         R                  " [        SS9   [        SS/SS/SS/SS/44SS9  S S S 5        [         R                  " [        SS9   [        S/S/445        S S S 5        [         R                  " [        SS9   [        S/S/S/S/445        S S S 5        g ! , (       d  f       GNq= f! , (       d  f       GNU= f! , (       d  f       GN8= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Ninconsistent shapesmatchr    r   r6   r   r!   r   r   r   r!   r!   r!   z)axis 0 index 2 exceeds matrix dimension 2r!   r
   )r
   z)axis 1 index 3 exceeds matrix dimension 3r   )r
   r   r
   znegative axis 0 index: -1znegative axis 2 index: -1)pytestraises
ValueErrorr    r   r   .test_dense_constructor_with_inconsistent_shaperG   L   s   	z)>	?)4( 
@ 
z)>	?)6* 
@ 
z)>	?9+T* 
@ 
z)>	?QC5A3%.	2 
@ 
zH
JA3!-t,
J 
zH
JAa5Aq6Aq6Aq6239E
J 
z)D	EA3".! 
F 
z)D	EA3!qcB4()* 
F	E/ 
@	? 
@	? 
@	? 
@	?
J 
J
J 
J 
F	E 
F	Es_   FF#6F5%GGG*G;3H
F #
F25
G
G
G'*
G8;
H	
Hc                      [        S5      n [        U 5      nUR                  S:X  d   e[        UR                  5       [        R
                  " S5      5        g )Nr   r   )r   ress     r   test_1d_sparse_constructorrJ   h   s?    oG
G
C99/r   c                      [        SS/SS/445      n U R                  S:X  d   e[        U R                  5       [        R
                  " / SQ5      5        g )Nr%   r&   r!   r
   r   )r   r%   r&   r   r   r   r   r   r(   rI   s    r   test_1d_tuple_constructorrN   o   sF    
aUaUH%
&C99 34r   c                      [        SS/SS/44SS9n U R                  S:X  d   e[        U R                  5       [        R
                  " / SQ5      5        g )Nr%   r&   r!   r
   r?   r6   )r   r%   r&   r   rL   rM   s    r   $test_1d_tuple_constructor_with_shaperP   u   sH    
aUaUH%T
2C99 67r   c                     [        S5      n [        R                  " [        SS9   SU S'   S S S 5        [        R                  " [        SS9   U SS S 24     S S S 5        g ! , (       d  f       N:= f! , (       d  f       g = f)N)r
   r
   z3'coo_array' object does not support item assignmentr=   r!   r   r   z''coo_array' object is not subscriptabler   )r   rC   rD   	TypeError)coo_2ds    r   test_non_subscriptabilityrU   z   sr    vF	yS
Ut
U 
yF
Hq!t
H 
H	
U 
U
H 
Hs   A
A0
A-0
A>c                     Su  p[         R                  " U S-
  /SS9[         R                  " US-
  /SS94n[        S/U4X4S9nUR                  X-  S45      nUR                  S   R
                  [         R
                  " S5      :X  d   eUR                  S   S   X-  S-
  :X  d   eUR                  X5      nUR                  S   R
                  [         R
                  " S5      :X  d   eUR                  S   S   US-
  :X  d   eg )	N)i i r!   int32)dtypegffffff
@r6   r   int64)r   r(   r   reshapecoordsrX   )MNr[   ABCs         r   test_reshape_overflowra      s    DAhhAwg.!a%0PQFC5&/!0A 	
		15!*A88A; 111188A;q>aeq[((( 	
		!A88A; 111188A;q>QU"""r   c            	         [        / SQ5      n U R                  S:X  d   eU R                  S5      nUR                  S:X  d   e[        UR	                  5       [
        R                  " S/S/S//5      5        U R                  S5      nUR                  S:X  d   e[        UR	                  5       [
        R                  " / SQ/5      5        [        R                  " [        SS	9   U R                  S
5        S S S 5        [        R                  " [        SS	9   U R                  S5        S S S 5        [        / SQ/ SQ/5      nUR                  S:X  d   eUR                  S5      nUR                  S:X  d   e[        UR	                  5       [
        R                  " / SQ5      5        UR                  S5      nUR                  S:X  d   e[        UR	                  5       [
        R                  " S/S/S//S/S/S///5      5        [        R                  " [        SS	9   UR                  S5        S S S 5        g ! , (       d  f       GNK= f! , (       d  f       GN*= f! , (       d  f       g = f)Nr!   r   r   r   r@   r!   r   r   r!   r   zcannot reshape arrayr=   r   r   r   r   r!   r
   r   r   r   r   r$   )r   )r!   r
   r   r   r   r   )r
   r   r!   r
   )
r   r   rZ   r   r   r   r(   rC   rD   rE   )arr1dcol_vecrow_vecarr2dflat	to_3d_arrs         r   test_reshapero      s   i E;;$mmF#G==F""""BHHqcA3_$=>mmF#G==F""""BHHi[$9: 
z)?	@e 
A 
z)?	@e 
A y),-E;;&   ==D::*<!=> i(I??i'''""$bhh!qcA31#sQC/Q&RS 
z)?	@e 
A	@) 
A	@ 
A	@  
A	@s$   $H:II:
I	
I
I,c                      [        / SQ5      n U R                  S:X  d   eU R                  S:X  d   e[        / SQ/ SQ/5      nUR                  S:X  d   eUR                  S:X  d   eg )Nrc   r   r
   rg   rh   r$   r   )r   r   nnzri   rl   s     r   test_nnzrs      s_    i E;;$99>>y),-E;;&   99>>r   c            	      ~   [        / SQ5      R                  n U R                  S:X  d   e[        U R	                  5       [
        R                  " / SQ5      5        [        / SQ/ SQ/5      R                  nUR                  S:X  d   e[        UR	                  5       [
        R                  " SS/SS/SS	//5      5        g )
Nrc   r   rg   rh   r   r!   r   r
   r   )r   Tr   r   r   r   r(   rr   s     r   test_transposerv      s    i ""E;;$"((9"56y),-//E;;&   "((QFQFQF+C"DEr   c                     [        / SQ5      R                  SS9n U R                  S:X  d   e[        U R	                  5       [
        R                  " / SQ5      5        [        / SQ/ SQ/5      R                  SS9nUR                  S:X  d   e[        UR	                  5       [
        R                  " / SQ/ SQ/5      5        [        R                  " [        S	S
9   [        / SQ5      R                  SS9  S S S 5        [        R                  " [        SS
9   [        / SQ/ SQ/5      R                  SS9  S S S 5        g ! , (       d  f       NO= f! , (       d  f       g = f)Nrc   r   axesr   rg   rh   r   r!   r$   "axes don't match matrix dimensionsr=   repeated axis in transposer!   r!   )
r   	transposer   r   r   r   r(   rC   rD   rE   rr   s     r   test_transpose_with_axisr      s   i ***5E;;$"((9"56y),-77V7DE;;&   "((Iy+A"BC	z)M	N)&&F&3 
O 
z)E	F9i()333@ 
G	F 
O	N 
G	Fs   D>E>
E
Ec                      [        / SQ5      n [        U R                  [        R                  " / SQ5      5        [        U R
                  [        R                  " U R                  5      5        U R
                  R                  U R                  R                  :X  d   eU R
                  R                  R                  SL d   e/ SQU l        [        U R                  5      S:X  d   e[        U R                  [        R                  " / SQ5      5        U R
                  R                  U R                  R                  :X  d   e[        R                  " [        SS9   / SQU l        S S S 5        g ! , (       d  f       g = f)Nr!   r   r!   r
   Fr    r!   zcannot set row attributer=   )r   r   colr   r(   row
zeros_likerX   flags	writeablelenr[   rC   rD   rE   rM   s    r   test_1d_row_and_colr      s    
K
 C"((9-."--0177==CGGMM)))77==""e+++CGszz?a"((9-.77==CGGMM)))	z)C	D 
E	D	Ds   
E//
E=c                     [        / SQ5      n U R                  U R                  U R                  U R                  4 H,  n[
        R                  " [        SS9   U" 5         S S S 5        M.     U R                  U R                  U R                  4 H0  n[        U" 5       R                  5       U R                  5       5        M2     g ! , (       d  f       M  = f)Nr   zCannot convertr=   )r   tobsrtocsctodiatolilrC   rD   rE   tocootocsrtodokr   r   )rI   fs     r   test_1d_toformatsr      s    
K
 CiiCIIsyy9]]:-=>C ?> : iiCII.QS[[]CKKM2 / ?>s   C
C	arg)r!   r
   r   r#   r&   c                     [         R                  " / SQ5      n[        U5      nUR                  U SS9  UR                  U 5        UR                  UR                  :X  d   e[        UR                  5       U5        g )Nr   Frefcheckr   r(   r   resizer   r   r   r   denrI   s      r   test_1d_resizer      sZ    
((;
C
C.CJJsUJ#JJsO99		!!!$r   r!   r
   r   r   c                     [         R                  " / SQ5      n[        U5      nUR                  U SS9  UR                  U 5        UR                  UR                  :X  d   e[        UR                  5       U5        g )Nrc   Fr   r   r   s      r   test_1d_to_2d_resizer     sZ    
((9
C
C.CJJsUJ#JJsO99		!!!$r   )r!   r   r   r&   c                     [         R                  " / SQ/ SQ/5      n[        U5      nUR                  U SS9  UR                  U 5        UR                  UR                  :X  d   e[        UR                  5       U5        g )Nrc   r   r   r   Fr   r   r   s      r   test_2d_to_1d_resizer     s_    
((Iy)
*C
C.CJJsUJ#JJsO99		!!!$r   c            	         [        / SQ/ SQ445      n U R                  S:X  d   e[        U R                  5       [        R
                  " SS/5      5        U R                  5         U R                  S:X  d   e[        U R                  5       [        R
                  " SS/5      5        [        / SQ/ SQ/ SQ/ SQ/ SQ445      nUR                  S:X  d   e[        R
                  " S	S	/S	S	/S	S	//S	S	/S	S	/S	S	//S	S	/S	S	/SS	///S	S	/S	S
/S	S	//S	S	/S	S	/S	S	//S	S	/S	S	/S	S	////5      n[        UR                  5       U5        UR                  5         UR                  S:X  d   e[        UR                  5       U5        [        / SQ/ SQ445      nUR                  S:X  d   eUR                  5         UR                  S:X  d   eg )N)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   rq   r   r   r   r(   sum_duplicates)ri   r/   expected
arr_nodupss       r   test_sum_duplicatesr     s   y9,/0E99>>"((Aq6"23	99>>"((Aq6"23 y9iI"NOPE99>>xxq6Aq6Aq6
"aVaVaV$<1v1vPQSTv>V	Wq6Aq6Aq6
"aVaVaV$<1v1vPQSTv>V	W	YH (+	99>>(+ L</:;J>>Q>>Qr   c                  T   [        / SQ/ SQ445      n U R                  S:X  d   eU R                  5       S:X  d   e[        U R	                  5       [
        R                  " SS/5      5        U R                  5         U R                  S:X  d   eU R                  5       S:X  d   e[        U R	                  5       [
        R                  " SS/5      5        [        U R                  [
        R                  " S/5      5        [        U R                  [
        R                  " S/5      5        g )N)r   r   r!   r   r   r!   r   )
r   rq   count_nonzeror   r   r   r(   eliminate_zerosr   r   )ri   s    r   test_eliminate_zerosr   2  s    y9,/0E99>> A%%%"((Aq6"23	99>> A%%%"((Aq6"23BHHaSM*BHHaSM*r   c                      [         R                  " / SQ5      n [         R                  " / SQ5      nX-   n[        U 5      U-   n[        U5      [        U5      L d   e[	        X25        g Nr   r   r   r   r   )r   r(   r   typer   den_aden_bexprI   s       r   test_1d_add_denser   ?  sR    HH^$EHH\"E
-C
E
U
"C9S	!!!r   c                      [         R                  " / SQ5      n [         R                  " / SQ5      nX-   n[        U 5      [        U5      -   n[        X#R	                  5       5        g r   )r   r(   r   r   r   r   r   	dense_sum
sparse_sums       r   test_1d_add_sparser   H  sJ    HH^$EHH\"EI5!Ie$44J..01r   c                      [         R                  " / SQ5      n [         R                  " / SQ5      nX-  n[        U 5      U-  n[         R                  " U5      S:X  d   e[	        X25        g )Nr   r   r   )r   r(   r   ndimr   r   s       r   test_1d_matmul_vectorr   Q  sR    HH^$EHH\"E
-C
E
U
"C773<1r   c                      [         R                  " / SQ5      n [         R                  " / SQ/ SQ/5      R                  nX-  n[        U 5      U-  n[	        U5      [	        U5      L d   e[        X25        g )Nr   r   r   r
   r!   r   )r   r(   ru   r   r   r   )r   otherr   rI   s       r   test_1d_matmul_multivectorr   Z  s\    
((>
"CHHlL1244E
+C
C.5
 C9S	!!!r   c                     [         R                  " / SQ/ SQ/5      n [        U 5      nX R                  -  nXR                  -  n[	        UR                  5       U5        [         R                  " / SQ/ SQ/5      n [        U 5      nX R                  -  nXR                  -  n[	        X25        [         R                  " / SQ/ SQ/5      n[         R                  " / SQ5      n[        U5      nXTR                  -  nXdR                  -  n[	        X25        [         R                  " / SQ5      n[         R                  " S/S/S	//5      nXE-  n[        U5      U-  n[	        X25        [        U5      [        U5      -  n[	        X25        g )
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   ru   r   r   list)r   rl   r   rI   r   r   ri   s          r   test_2d_matmul_multivectorr   c  s.   
((L,/
0CcNE
+C
''/C$ ((O_5
6CcNE
+C
%%-C HHo78EHH_%EeE
''/C
''/C HHYEHHqcA3_%E
-C
E
U
"C
E
T%[
(Cr   c                      [         R                  " / SQ5      n [        R                  " [        SS9   [        U 5      R                  5         S S S 5        g ! , (       d  f       g = f)Nr   z diagonal requires two dimensionsr=   )r   r(   rC   rD   rE   r   diagonal)r   s    r   test_1d_diagonalr     s<    
((>
"C	z)K	L#! 
M	L	Ls   A
A#r   )rx   r   )r   r   r   r   r   )r   r   r
   rc   )r   r%   r   r
   r   r#   c                     [         R                  R                  S5        [         R                  R                  SSU S9n[	        [        U5      R                  5       U5        g )Nr'   r   r#   )lowhighsize)r   r)   r*   randintr   r   todense)r   arrs     r   test_nd_todenser     sF     IINN2
))



6C3'')3/r   c                     [        U 5      n[        U5      nUR                  U :X  d   e[        UR                  5       [        R
                  " U 5      5        g )Nr   )r   	empty_arrrI   s      r   test_nd_sparse_constructorr     sB     % I
I
C990r   c                     [         R                  R                  S5        [         R                  R                  " U 6 n[	        U5      nUR
                  U :X  d   e[        UR                  5       U5        g )Nr'   r   r)   r*   r+   r   r   r   r   r   r   rI   s      r   test_nd_tuple_constructorr     sQ     IINN2
))//5
!C
C.C99$r   c                     [         R                  R                  S5        [         R                  R                  " U 6 n[	        XS9nUR
                  U :X  d   e[        UR                  5       U5        g )Nr'   r6   r   r   s      r   $test_nd_tuple_constructor_with_shaper     sR     IINN2
))//5
!C
C
%C99$r   c                     [         R                  " [        SS9   [        SS/SS/SS/SS/44SS	9  S S S 5        [        / / / / / 44S
S	9n [	        U R                  5       [        R                  " S
5      5        g ! , (       d  f       NM= f)Nzexceeds matrix dimensionr=   r%   r&   r!   r
   r   )r   r   r   r6   )r   r   r
   r   )rC   rD   rE   r   r   r   r   empty)r   s    r   (test_tuple_constructor_for_dim_size_zeror     s    	z)C	DAq6QFQFQF34GD 
E 2BB/0	BI""$bhhy&9:	 
E	Ds   A99
B)r   	new_shape))r   r%   r   r#   )r   r      r   )r   )$      )r   )i8  )r   )r
   r   r
   r
   r   r#   r   c                 B   [         R                  R                  S5      n[        U SU[        S9nUR
                  U :X  d   eUR                  5       nUR                  U5      nUR                  U5      nUR
                  U:X  d   e[        UR                  5       U5        g N4e333333?densityrngrX   )	r   r)   default_rngr   intr   r   rZ   r   )r   r   r   r/   den4dexp_arrres_arrs          r   test_nd_reshaper     s     ))


)CC@E;;%MMOEmmI&GmmI&G==I%%%"G,r   c                     [         R                  R                  S5      n[        U SU[        S9nUR
                  [         R                  " UR                  5       5      :X  d   eg r   )r   r)   r   r   r   rq   r   r   )r   r   r   s      r   test_nd_nnzr     sK     ))


)C
ucs#
>C77b&&s{{}5555r   c                    [         R                  R                  S5      n[        U SU[        S9nUR                  5       R                  nUR                  5       nUR                  U S S S2   :X  d   e[        X4R                  5       5        g )Nr   r   r   rB   )
r   r)   r   r   r   r   ru   r   r   r   )r   r   r   r   	trans_arrs        r   test_nd_transposer     sm     ))


)C
ucs#
>CkkmooGI??eDbDk)))++-.r   )r   	axis_perm))r   rx   )r$   r{   ))r
   r   r   r   r#   r   )r!   r
   r   r#   r   r   c                     [         R                  R                  S5      n[        U SU[        S9nUR                  US9n[        UR                  5       [         R
                  " UR                  5       US95        g )Nr   r   r   ry   )r   r)   r   r   r   r   r   r   )r   r   r   r   r   s        r   test_nd_transpose_with_axisr     s\     ))


)C
ucs#
>C9-I""$bll3;;=y&QRr   c                  @   [         R                  " [        SS9   [        / SQ5      R	                  SS9  S S S 5        [         R                  " [        SS9   [        / SQ/ SQ/5      R	                  S	S9  S S S 5        g ! , (       d  f       NO= f! , (       d  f       g = f)
Nr|   r=   rc   r{   ry   r}   rg   rh   r~   )rC   rD   rE   r   r   rF   r   r   %test_transpose_with_inconsistent_axisr     sv    	z)M	N)&&F&3 
O 
z)E	F9i()333@ 
G	F 
O	N 
G	Fs   A>B>
B
Bc            
         [        / SQ/ SQ/ SQ/ SQ445      n U R                  S:X  d   eU R                  5       S:X  d   e[        U R	                  5       [
        R                  " / SQ/ SQ// SQ/ SQ// SQ/ S	Q//5      5        U R                  5         U R                  S:X  d   eU R                  5       S:X  d   e[        U R	                  5       [
        R                  " / SQ/ SQ// SQ/ SQ// SQ/ S	Q//5      5        / SQ/ SQ/ SQ/ S
Q/ SQ4n[        / SQU45      nUR                  S:X  d   eUR                  5       S:X  d   eUR                  5         UR                  S:X  d   eUR                  5       S:X  d   e[        UR                  [
        R                  " / 5      5        [        UR                  [
        R                  " / 5      5        [        UR                  / / / / / 45        g )N)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   rq   r   r   r   r   r(   r   r   r   r[   )arr3dr[   arr5ds      r   test_nd_eliminate_zerosr    s   |lL,%OPQE99>> A%%%"((Y	,B%.	$:Y	<R,T #U V	99>> A%%%"((Y	,B%.	$:Y	<R,T #U V L,lSF|V,-E99>> A%%%	99>> A%%%BHHRL)BHHRL)BB34r   c                    [         R                  R                  S5      n[        U SU[        S9n[        U SU[        S9nUR                  5       UR                  5       pTXE-   nX%-   n[        U5      [        U5      L d   e[        Xv5        g r   r   r)   r   r   r   r   r   r   r   r   sp_xsp_yden_xden_yr   rI   s           r   test_nd_add_denser	    w     ))


)Cs3?Ds3?D<<>4<<>5
-C
,C9S	!!!r   c                    [         R                  R                  S5      n[        U SU[        S9n[        U SU[        S9nUR                  5       UR                  5       pTXE-   nX#-   n[        XgR                  5       5        g r   r   r)   r   r   r   r   r   r   r   r  r  r  r  r   r   s           r   test_nd_add_sparser    sj     ))


)C#SAD#SAD<<>4<<>5IJ..01r   c                     [         R                  " S/[         R                  //S/S///5      n [         R                  " S/S//S/S///5      nX-   n[        U 5      [        U5      -   n[	        X#R                  5       5        g Nr   r   r!   r
   r   )r   r(   infr   r   r   r   s       r   test_add_sparse_with_infr  &  x    HHsRVVHoqc{34EHHsQCjA3*-.EI5!Ie$44J..01r   )a_shapeb_shape))r   )r'   )r   r   )r   r#   )r#   r%   r   r
   )r%   r#   r
   r   c                     [         R                  R                  S5      n[        U SU[        S9n[        USU[        S9n[
        R                  " [        SS9   X4-     S S S 5        g ! , (       d  f       g = fNr   r   r   r<   r=   r   r)   r   r   r   rC   rD   rE   r  r  r   arr_aarr_bs        r   +test_nd_add_sparse_with_inconsistent_shapesr  /  Y     ))


)C'CSDE'CSDE	z)>	? 
@	?	?   A''
A5c                    [         R                  R                  S5      n[        U SU[        S9n[        U SU[        S9nUR                  5       UR                  5       pTXE-
  nX%-
  n[        U5      [        U5      L d   e[        Xv5        g r   r  r  s           r   test_nd_sub_denser"  ;  r
  r   c                    [         R                  R                  S5      n[        U SU[        S9n[        U SU[        S9nUR                  5       UR                  5       pTXE-
  nX#-
  n[        XgR                  5       5        g r   r  r  s           r   test_nd_sub_sparser$  H  sj     ))


)Cs3?Ds3?D<<>4<<>5IJ..01r   c                     [         R                  " S/[         R                  //S/S///5      n [         R                  " S/S//S/S///5      nX-
  n[        U 5      [        U5      -
  n[	        X#R                  5       5        g r  )r   r(   r,   r   r   r   r   s       r   test_nd_sub_sparse_with_nanr&  V  r  r   c                     [         R                  R                  S5      n[        U SU[        S9n[        USU[        S9n[
        R                  " [        SS9   X4-
    S S S 5        g ! , (       d  f       g = fr  r  r  s        r   +test_nd_sub_sparse_with_inconsistent_shapesr(  _  r  r   )	)r
   r   r   r#   r#   rR   rx   ))r
   r   r   r   r&   )r&   )r   r   r
   r   rx   )r   r#   r   r
   r   r   r!   )r
   r#   r*  r/  )r#   r!   )r   r@   )r?   r?   )	mat_shape	vec_shapec                    [         R                  R                  S5      n[        U SU[        S9n[        USU[        S9nUR                  5       UR                  5       peXV-  nX6-  n[        X5        U[        U5      -  n[        X5        g r   r   r)   r   r   r   r   r   r   )	r1  r2  r   r  r  r  r  r   rI   s	            r   test_nd_matmul_vectorr5  v  su    
))


)C	3CsCD	3CsCD<<>4<<>5
-C
,C
e
Cr   ))r)  )r
   r   r#   r   r+  r,  )r   r&   r   r   )r6  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?   r7  r0  )
mat_shape1
mat_shape2c                 r   [         R                  R                  S5      n[        U SU[        S9n[        USU[        S9nUR                  5       UR                  5       peXV-  nX4-  n[        UR                  5       U5        X6-  n[        X5        U[        U5      -  n[        X5        XT-  n[        X5        g Nr   r   r   random_staterX   r4  )	r8  r9  r   r  r  r  r  r   rI   s	            r   test_nd_matmulr>    s    
))


)C
CcMD
CcMD<<>4<<>5
-C
+C$
,C
e
C ,Cr   c                     [         R                  R                  S5      n [        SSU [        S9n[        SSU [        S9n[
        R                  " [        SS9   X-    S S S 5        [
        R                  " [        SS9   XR                  5       -    S S S 5        [        SSU [        S9n[
        R                  " [        S	S9   X-    S S S 5        [
        R                  " [        S	S9   XR                  5       -    S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ne= f! , (       d  f       g = f)
Nr   )r   r#   r   r   r   r   r<  )r!   r#   r   r
   r#   z)matmul: dimension mismatch with signaturer=   )r!   r#   r   r
   z&Batch dimensions are not broadcastable)	r   r)   r   r   r   rC   rD   rE   r   )r   r  r  sp_zs       r   .test_nd_matmul_sparse_with_inconsistent_arraysrA    s    
))


)CSs#NDSs#ND	z)T	U 
V	z)T	U 
V 	3SLD	z)Q	R 
S	z)Q	R 
S	R 
V	U	U	U 
S	R	R	Rs0   D?DD')D8
D
D$'
D58
Ec                  *   [        / SQ5      n [        / SQ5      n[        R                  " U R                  5       UR                  5       5      nU R                  U5      n[	        X25        U R                  UR                  5       5      n[	        X25        g )Nr    r"   )r   r   dotr   r   )abr   rI   s       r   test_dot_1d_1drF    sc    'A'A
&&aiik
*C
%%(C
%%		
Cr   c                      [        SS/SS/SS//5      n SnU R                  U5      n[        R                  " U R                  5       U5      n[	        UR                  5       U5        g )Nr!   r
   r   r   r#   r   )r   rC  r   r   r   )rD  rE  rI   r   s       r   test_dot_sparse_scalarrH    sW    Aq6Aq6Aq6*+A	A
%%(C
&&a
 C$r   c                      [        SS//SS///5      n [        / SQ5      n[        R                  " [        SS9   U R	                  U5        S S S 5        g ! , (       d  f       g = f)Nr!   r
   r   r   r"   znot aligned for n-D dotr=   )r   rC   rD   rE   rC  )r  r  s     r   !test_dot_with_inconsistent_shapesrJ    sO    Ax1a&*+Ei E	z)B	C		% 
D	C	Cs   A
A#c                     [        SS/SS//5      n [        R                  " [        SS9   U R	                  S 5        S S S 5        [        R                  " [        SS9   U R                  S 5        S S S 5        [        R                  " [        SS9   U S -    S S S 5        [        R                  " [        SS9   S U -    S S S 5        g ! , (       d  f       N= f! , (       d  f       Nn= f! , (       d  f       NX= f! , (       d  f       g = f)	Nr!   r
   r   r   zargument not supported typer=   zarg not supported typezunsupported operand type)r   rC   rD   rS   rC  	tensordot)r  s    r   test_matmul_dot_not_implementedrM    s    1v1v&'E	y(E	F		$ 
G	y(@	A 
B	y(B	C 
D	y(B	Cu 
D	C 
G	F	A	A	C	C	C	Cs/   CCC)8C:
C
C&)
C7:
D)
)re   re   )r   r   r   r   ))r!   r   r.  )r   r
   r   r   r   )r*  r   r   r#   r
   )rP  )r   r!   ))r!   r#   rQ  )rN  r   r
   r   r   )r
   r&   r   )r   r#   r   r   r
   )r   r#   r   r   rR  c                    [         R                  R                  S5      n[        U SU[        S9n[        USU[        S9n[         R
                  " UR                  5       UR                  5       5      nUR                  UR                  5       5      n[        Xe5        UR                  [        UR                  5       5      5      n[        Xe5        UR                  U5      n[        UR                  5       U5        g r;  )	r   r)   r   r   r   rC  r   r   r   )r  r  r   r  r  r   rI   s          r   test_dot_ndrV    s    
))


)C#CsKE#CsKE
&&%--/
2C
))EMMO
$C
))D)
*C
))E
C$r   rN  rO  r!   rP  r   r   r*  rQ  rT  rR  rS  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  rz   c                 *   [         R                  R                  S5      n[        U SU[        S9n[        USU[        S9n[         R
                  " UR                  5       UR                  5       US9nUR                  UR                  5       US9n[        Xv5        UR                  [        UR                  5       5      US9n[        Xv5        UR                  XRS9n[        U5      [        L a  [        UR                  5       U5        g [        Xv5        g )Nr   r   r<  ry   )r   r)   r   r   r   rL  r   r   r   r   r   )r  r  rz   r   r  r  r   rI   s           r   test_tensordotrY    s    
))


)C#CsKE#CsKE
,,u}}d
CC //%--//
5C
//$u}}/d/
;C //%/
+CCyIS[[]C(Sr   c                     [         R                  R                  S5      n [        SSU [        S9n[        SSU [        S9nS/S/4n[
        R                  " [        SS9   UR                  X#S	9  S S S 5        [        S
SU [        S9n[        SSU [        S9n/ SQSS/4n[
        R                  " [        SS9   UR                  X#S	9  S S S 5        g ! , (       d  f       Nh= f! , (       d  f       g = f)Nr   )r   r   r#   r   r<  r   r   r   r
   z*sizes of the corresponding axes must matchr=   ry   )r#   r   r
   r   r   )r   r   r   r
   )r
   r   r!   r!   r   z,axes lists/tuples must be of the same length)	r   r)   r   r   r   rC   rD   rE   rL  )r   r  r  rz   s       r    test_tensordot_with_invalid_argsr\    s    
))


)C#CsKE#CsKEC!:D	z)U	V) 
W c3OECcMEaUD	z *& 
')
' 
' 
W	V
' 
's   C8C"
C"
C0)actual_shapebroadcast_shape)	))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%   )rd   )r   r#   r   ))r   r&   r!   )r   r&   r#   )r@   r   r   ))r!   r*  )rA   r"   ))r!   r   r!   r#   r   )r&   r
   r   r%   r#   r   c                    [         R                  R                  S5      n[        U SU[        S9nUR                  U5      n[         R                  " UR                  5       U5      n[        UR                  5       U5        g r;  )	r   r)   r   r   r   _broadcast_tobroadcast_tor   r   )r]  r^  r   r   rI   r   s         r   test_broadcast_torc  +  s^     ))


)C
|Ss#
NC


O
,C
//#++-
9C$r   ))r   r#   r   r   r&   r  r  )r%   r#   r
   r   r   c                    [         R                  R                  S5      n[        U SU[        S9nUR                  5       n[	        [         R                  " UR                  S S 5      5      nUR                  U4UR                  SS  -   5      n[        U5       Vs/ s H  oeUS S 2S S 24   PM     nn[        U6 n[        U5      n	[        U	R                  5       U5        g s  snf )Nr   r   r<  r   )r   r)   r   r   r   r   prodr   rZ   ranger   r   r   )
r   r   r  r  
num_slicesreshaped_arrayimatricesr   rI   s
             r   test_block_diagrk  9  s     ))


)CsCHDLLNE RWWU[["-./J]]J=5;;rs3C#CDN16z1BC1BAq!Qw'1BHC
h
C
d
C$ Ds   C c                     [         R                  R                  S5      n[        U SU[        S9n[        [        U5      U 5      n[        UR                  5       UR                  5       5        g r;  )	r   r)   r   r   r   r   r   r   r   )r   r   r  rI   s       r   test_extract_block_diagrm  L  sO     ))


)CsCHD
k$/
7C/r   ))r_  r_  )r[  r[  )r   r   r#   rn  c                 ^   [         R                  R                  S5      n[        U SU[        S9n[        USU[        S9nX4-   n[         R
                  " UR                  5       UR                  5       5      n[        UR                  5       U5        X4R                  5       -   n[        XV5        g r;  )r   r)   r   r   r   addr   r   r  r  r   rD  rE  rI   r   s          r   test_add_no_broadcastingrr  Y  s~    
))


)CWc3GAWc3GA
%C
&&aiik
*C$
iik/Cr   c                 ^   [         R                  R                  S5      n[        U SU[        S9n[        USU[        S9nX4-
  n[         R
                  " UR                  5       UR                  5       5      n[        UR                  5       U5        X4R                  5       -
  n[        XV5        g r;  )r   r)   r   r   r   subtractr   r   rq  s          r   test_sub_no_broadcastingru  e  s~    
))


)CWc3GAWc3GA
%C
++aiik199;
/C$
iik/Cr   )r   Nr   r   rN  r!   r   r   r   r   r#   NrS  r
   rS  r   )r
   r   r   ))r   r   r   r
   r   rP  NrP  r!   rP  r   rP  r
   )rP  r   rW  r   )rW  r   )r   axisc                 V   [         R                  R                  S5      n[        U SU[        S9nUR                  US9n[         R
                  " UR                  5       US9n[        XE5        UR                  US9n[         R                  " UR                  5       US9n[        XE5        g Nr   r   r<  r  )	r   r)   r   r   r   argmaxr   r   argmin)r   r  r   rD  rI   r   s         r   test_argmax_argminr  z  s    
))


)CUCcEA
(((
C
))AIIKd
+C
(((
C
))AIIKd
+Cr   )rv  rw  rx  ry  r{  r}  r~  r  r  r  r  r  )r   r#   r&   r!   r   )rN  rx   )rN  r{   )r   r   r
   r
   )r  r   r
   )rf   r   )r   r   r&   r#   r{   )r  r
   r!   )r  r  )r  r   r   )r  rB   r
   )r  r   )r  r   )r  r   c                    [         R                  R                  S5      n[        U SU[        S9nUR                  US9n[         R
                  " UR                  5       US9nUR                  US9n[         R                  " UR                  5       US9nUR                  US9n[         R                  " UR                  5       US9n	UR                  US9n
[         R                  " UR                  5       US9nXE4Xg4X4X44 H_  u  p[         R                  " [        U5      [         R                  5      (       a  [        X5        ME  [        UR                  5       U5        Ma     g r  )r   r)   r   r   r   minr   maxnanminnanmax
issubdtyper   numberr   )r   r  r   rD  res_minexp_minres_maxexp_max
res_nanmin
exp_nanmin
res_nanmax
exp_nanmaxrI   r   s                 r   test_min_maxr    s   
))


)CUCcEAeeeGffQYY[t,GeeeGffQYY[t,Gt$J199;T2Jt$J199;T2J''); -
/GI==cBII..",Ir   c                      [        / SQ//5      [        / SQ/5      4 H0  n U R                  5       S:X  d   eU * R                  5       S:X  a  M0   e   g )Nr   r!   rB   )r   r  r  )rD  s    r   test_min_max_fullr    sK    ,()9l^+DEuuw!||xxzR Fr   )r   NN)r   r   N)rN  r!   N)rz  r   N)r|  NN)rS  r
   N)r&   r   )rP  NN)r   r   r   )rP  r   N)rW  r   N)r  r   N)rN  rx   N)rN  r{   N)r  r
   N)r  r  N)rf   r   Nr  r{   )r&   r#   )r  r  N)r  r  Nr  )r   r   )r  r   N)r  r   N)r   r  outc                 .   [         R                  R                  S5      n[        U SU[        S9nUR                  XS9n[         R
                  " UR                  5       US9n[        XV5        Ub&  [        X&5        [        U5      [        U5      :X  d   eg g Nr   r   r<  )r  r  r  )	r   r)   r   r   r   sumr   r   idr   r  r  r   rD  rI   r   s          r   test_sumr    s|    
))


)CUCcEA
%%T%
#C
&&4
(C
S#w"S'!!! r   c                 .   [         R                  R                  S5      n[        U SU[        S9nUR                  XS9n[         R
                  " UR                  5       US9n[        XV5        Ub&  [        U5      [        U5      :X  d   e[        X&5        g g r  )	r   r)   r   r   r   meanr   r   r  r  s          r   	test_meanr    s|    
))


)CUCcEA
&&d&
$C
''!))+D
)CC
#w"S'!!!! r   c                  v   [         R                  R                  S5      n [        SSU [        S9n[        US-  R                  5       [         R                  " UR                  5       S5      5        [        US-  R                  5       [         R                  " UR                  5       S5      5        [        [        U5      R                  5       [         R                  " UR                  5       5      5        [        [        U5      R                  5       [         R                  " UR                  5       5      5        g )Nr   )r   r   r#   r
   r   r   r<  r   r   )
r   r)   r   r   r   r   r   powerroundabs)r   rD  s     r   test_pow_abs_roundr    s    
))


)C[#CsKAQTNN$bhhqyy{A&>?QTNN$bhhqyy{A&>?E!H$$&(=>CFNN$bffQYY[&9:r   c                 <   [         R                  R                  S5      n[        5       nUR	                  [
        5        [        U SU[        S9n[        USU[        S9nU   [        XE:H  R                  5       UR                  5       UR                  5       :H  5        [        XE:g  R                  5       UR                  5       UR                  5       :g  5        [        XE:  R                  5       UR                  5       UR                  5       :  5        [        XE:*  R                  5       UR                  5       UR                  5       :*  5        [        XE:  R                  5       UR                  5       UR                  5       :  5        [        XE:  R                  5       UR                  5       UR                  5       :  5        [        XE:H  R                  5       [         R                  " XE:g  R                  5       5      5        [        XE:  R                  5       [         R                  " XE:  R                  5       5      5        [        XE:*  R                  5       [         R                  " XE:  R                  5       5      5        S S S 5        g ! , (       d  f       g = fr;  )r   r)   r   r   filterr	   r   r   r   r   bitwise_not)r  r  r   suprD  rE  s         r   test_boolean_comparisonsr    s   
))


)C

CJJ&'Wc3GAWc3GA	ad^^%qyy{AIIK'?@ad^^%qyy{AIIK'?@ad^^%qyy{AIIK'?@ad^^%qyy{AIIK'?@ac]]_aiik!))+&=>ac]]_aiik!))+&=>ad^^%r~~qtnn6F'GHad^^%r~~qsmmo'FGad^^%r~~qsmmo'FG 
s   !H#J
Jc                      [         R                  R                  S5      n [        5       nUR	                  [
        5        [        SSU [        S9nU   [        US:H  R                  5       UR                  5       S:H  5        [        US:g  R                  5       UR                  5       S:g  5        [        US:  R                  5       UR                  5       S:  5        [        US:*  R                  5       UR                  5       S:*  5        [        US:  R                  5       UR                  5       S:  5        [        US:  R                  5       UR                  5       S:  5        S S S 5        g ! , (       d  f       g = f)Nr   )r#   r   r&   r   r   r<  r   r!   )
r   r)   r   r   r  r	   r   r   r   r   )r   r  rD  s      r   $test_boolean_comparisons_with_scalarr    s    
))


)C

CJJ&'Y#SIA	ad^^%qyy{A~6ad^^%qyy{A~6ad^^%qyy{A~6ad^^%qyy{A~6ac]]_aiik!m4ac]]_aiik!m4 
s   DE//
E=c                 $   [         R                  R                  S5      n[        U SU[        S9n[        USU[        S9nX4-  n[         R
                  " UR                  5       UR                  5       5      n[        UR                  5       U5        g r;  r   r)   r   r   r   multiplyr   r   rq  s          r   test_multiplyr  	  si    
))


)CWc3GAWc3GA
%C
++aiik199;
/C$r   c                      [         R                  R                  S5      n [        SSU [        S9nUS-  n[         R
                  " UR                  5       S5      n[        UR                  5       U5        g Nr   )r   r#   r   r   r<  r   r  r   rD  rI   r   s       r   test_multiply_with_scalarr    sU    
))


)CWc3GA
a%C
++aiik1
%C$r   c                 z   [         R                  R                  S5      n[        U SU[        S9n[         R
                  " SS[        R                  " U5      -   5      R                  U5      nX4-  nUR                  5       U-  n[        UR                  5       U5        X4-  n[        UR                  5       U5        g )Nr   r   r<  r!   )r   r)   r   r   r   arangemathre  rZ   r   r   rq  s          r   test_divider    s    
))


)CWc3GA
		!Q7++,44W=A
%C
))+/CCKKM3'
%CCKKM3'r   c                      [         R                  R                  S5      n [        SSU [        S9nUS-  nUR                  5       S-  n[        UR                  5       U5        g r  )r   r)   r   r   r   r   r   r  s       r   test_divide_with_scalarr  (  sN    
))


)CWc3GA
a%C
))+/CCKKM3'r   c                    [         R                  R                  S5      n[        5       nUR	                  [
        5        [        U SU[        S9n[        USU[        S9nU   UR                  U5      n[         R                  " UR                  5       UR                  5       5      n[        UR                  5       U5        S S S 5        g ! , (       d  f       g = fr;  )r   r)   r   r   r  r	   r   r   maximumr   r   r  r  r   r  rD  rE  rI   r   s           r   test_maximumr  0      
))


)C

CJJ&'Wc3GAWc3GA	iiljjaiik2S[[]C( 
   !AC		
Cc                    [         R                  R                  S5      n[        5       nUR	                  [
        5        [        U SU[        S9n[        USU[        S9nU   UR                  U5      n[         R                  " UR                  5       UR                  5       5      n[        UR                  5       U5        S S S 5        g ! , (       d  f       g = fr;  )r   r)   r   r   r  r	   r   r   minimumr   r   r  s           r   test_minimumr  <  r  r  c                     [        5       n U R                  [        5        [        / SQ5      n[        SS/SS/SS//5      n[        SS/SS	//S
S/SS///SS/SS//SS/SS////5      nU    [	        UR                  S5      R                  5       [        R
                  " UR                  5       S5      5        [	        UR                  S5      R                  5       [        R
                  " UR                  5       S5      5        [	        UR                  S5      R                  5       [        R
                  " UR                  5       S5      5        S S S 5        g ! , (       d  f       g = fN)r   r!   r   r   r      r#   ir   r
   r   r&   r%   r   r'   r   i)r   r  r	   r   r   r  r   r   r  rD  rE  cs       r   test_maximum_with_scalarr  I     

CJJ&''AB7RGaX./AaUQqENaURG$45UQqENaUQrFO46 	7A	QYYq\))+RZZ		Q-GHQYYq\))+RZZ		Q-GHQYYq\))+RZZ		Q-GH 
   ,C%E
E(c                     [        5       n U R                  [        5        [        / SQ5      n[        SS/SS/SS//5      n[        SS/SS	//S
S/SS///SS/SS//SS/SS////5      nU    [	        UR                  S5      R                  5       [        R
                  " UR                  5       S5      5        [	        UR                  S5      R                  5       [        R
                  " UR                  5       S5      5        [	        UR                  S5      R                  5       [        R
                  " UR                  5       S5      5        S S S 5        g ! , (       d  f       g = fr  )r   r  r	   r   r   r  r   r   r  s       r   test_minimum_with_scalarr  U  r  r  )lr  numpyr   numpy.testingr   r   r   rC   scipy.linalgr   scipy.sparser   r   r	   _coor   r   r   r4   r:   rG   rJ   rN   rP   rU   ra   ro   rs   rv   r   r   r   markparametrizer   r   ziptupler   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(  mat_vec_shapesr5  mat_mat_shapesr>  rA  rF  rH  rJ  rM  
dot_shapesrV  tensordot_shapes_and_axesrY  r\  rc  rk  rm  add_sub_shapesrr  ru  argmax_argmin_shapes_axisr  max_min_shapes_axisr  r  r   sum_mean_paramsr  r  r  bitwise_op_and_compare_shapesr  r  r  r  r  r  r  r  r  r  rF   r   r   <module>r     s     J J  # I I 3<R@)(+8058
	# "JFA  3 0% % 1% L, ?@%eCHo % A% -%c % .%8
+2B"  #; <0<0  #; <1<1  #; <%<%  #; <%<%; / 2Q R-	R-  #; <6<6  #; </</ / 2S TSTSA54  #; <<  #; <2<22 / 2K LL  #; <<  #; <	2<	22 / 2K LL
 3^D
 E
 5~F G* "%	
 /<% =%$ EQC!:sQCj!	9sQCj!	QFQF+,kIy12!g	9-.	  79RS T,*& <MN
%N
% ' %> ?%?%" ' %> ?0?0 /@	 A	 /@
 A
  *,EF
 G

  *,?@- A-*  &(;!RXXe_5iBHHW,=>0-/C.0@rxx')A	6288E?CY$@  1?C	" D	" 1?C	" D	";!  /1NOH PH$5 /1NO% P%% /1NO	( P	(( /1NO	) P	) /1NO	) P	)
I
Ir   