+
    eib.  c                   s    R t ^ RIt^ RIt^ RIt^ RIt^ RIHtHtH	t	H
t
HtHtHt R tR tR tR tR tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR t  ! R R4      t!R t"R t#R# )zTests of interaction of matrix with other parts of numpy.

Note that tests with MaskedArray and linalg are done in separate files.
N)assert_assert_almost_equalassert_array_almost_equalassert_array_equalassert_equalassert_raisesassert_raises_regexc                  s   \         P                  ! ^^.^^..4      p \        \        V . ROR3,          \         P                  4      4       \         P                  ! \         P
                  ! ^24      P                  ^^
4      4      p\        VR\         P                  ! R4      3,          VR,          P                  4       R# )   :NNNN   NN)    r   r
   )r   r   )
npmatrixr    
isinstanceasmatrixarangereshaper   arrayT)mx     M/usr/lib64/python3.14/site-packages/numpy/matrixlib/tests/test_interaction.pytest_fancy_indexingr      s    
 			Aq6Aq6"#AJqA		23 	BIIbM))!R01A2rxx|#$aikk2    c                  s    ^ ^.p ^^.p\         P                  ! W .4      p\         P                  P                  P	                  W V4      p\        \        V\         P                  4      4       R# )r
   N)r   r   Z
polynomialZ	polyutilsZ	mapdomainr    r   )Zdom1Zdom2r   res       r   test_polynomial_mapdomainr   %   sU     q6Dq6D
		4,A
--
!
!
+
+AT
:CJsBII&'r   c                  s    \         P                  ! . RO.4      p \         P                  ! V RR7      p\         P                  ! . RO.4      p\        W4       \	        \        V4      \         P                  J 4       R# r	   Naxis)r	   r   r
   r
   r   r	   )r   r   Zsortr   r    typeaactualexpected      r   test_sort_matrix_noner'   /   sO    
		9+AWWQT"Fyy)%H"DNbii'(r   c                  s    \         P                  ! . RO.4      p \         P                  ! V ^RR7      p\         P                  ! . RO.4      p\        W4       \	        \        V4      \         P                  J 4       R# r   )r   r   Z	partitionr   r    r!   r"   r&   r   test_partition_matrix_noner(   8   sS     			9+A\\!QT*Fyy)%H"DNbii'(r   c                     \         P                  ! ^^.\        R7      p \         P                  ! ^^..\        R7      p\        \         P                  ! V ^4      V4       \        \         P                  ! ^V 4      V4       R# r   ZdtypeN)r   r   objectr   dotarrdesiredr   r   %test_dot_scalar_and_matrix_of_objectsr1   B   sV     ))QF&
)Cii!Q/GQ)3)r   c                  s   \         P                  R ,          \         P                  R,          ,           R,            F  p \         P                  ! ^V R7      R,          p\         P                  ! ^^.^^..V R7      p\         P                  ! ^^.^	^..V R7      p\	        \         P
                  ! W!4      V4       \	        \         P
                  ! W4      V4       K  	  R# )Z
AllIntegerZAllFloatZ?r+   N )r   Z	typecodesr   r   r   inner)ZdtZscar/   r0   r   r   test_inner_scalar_and_matrixr4   K   s    ll<(2<<
+CCcIIhhq#B'ii!Q!Q(3))aVaW-R8RXXc'1RXXc'1 Jr   c                  r)   r*   )r   r   r,   r   r3   r.   r   r   'test_inner_scalar_and_matrix_of_objectsr5   U   sX     ))QF&
)Cii!Q/G#q!7+!S!7+r   c            
      s   \         P                  ! ^^.^^..4      p \         P                  ! ^4      P                  ^^4      P                  p\         P
                  ! WR.. R.R.RR..4      p\        \        VP                  ^,          4      \         P                  J 4       \        \        VP                  ^,          4      \         P                  J4       \        VP                  ^,          P                  R4       \         P                  ! ^4      P                  ^^^4      p\        \        \         P
                  WR.. R.R.RR..4       \         P
                  ! WR.. R.R.. RO.4      p\        \        VP                  ^,          4      \         P                  J 4       \        \        VP                  ^,          4      \         P                  J4       \        VP                  ^,          P                  R4       R# )r   NZreadonly	writeonlyallocate)r	   r	   )r6   r7   Z
no_subtype)r   r	   r	   )r   r   r   r   r   Znditerr    r!   Zoperandsndarrayr   shaper   ZRuntimeError)r#   bZir&   r   !test_iter_allocate_output_subtyper;   ^   s    			Aq6Aq6"#A
		!Q"$$A
		1,<*Z/HI	KADA299,-DArzz12A$$f- 			!Q1%A,		A$<<*Z/HIK 			1,<*:<	=A DA2::-.DAryy01A$$i0r   c                  s^   \         P                  ! ^^.^^..4      p \         P                  \         P                  \         P                  3 F]  pV! V 4      p\        \        V4      \         P                  J 4       V! V RR7      p\        \        V4      \         P                  J4       K_  	  R# )r   F)subokN)r   r   Z
zeros_likeZ	ones_likeZ
empty_liker    r!   )r#   like_functionr:   cr   r   r=   r=   y   s{    
		Aq6Aq6"#AbmmC!Q299$%!5)Qryy() Dr   c                  s   \         P                  ! . R	O. R
O.RR7      p V P                  RRRR7      p\        WJ 4       V P                  RRR7      p\	        W4       \	        \        V4      \         P                  4       V P                  RRRR7      p\	        W4       \        WJ4       \        \        V4      \         P                  J4       R# )r
   Zf4r+   TF)r<   copyZi4)r?   Nr    )         )r   r   Zastyper    r   r!   r#   r:   r   r   test_array_astyperD      s     			9i(5A	T.AAFO 	
E"Aa"))$ 	
U/ALDG299$%r   c                  s    \         P                  ! ^^.^^..4      p \        \        R\         P                  W .4       R# )r   zshape too large to be a matrixN)r   r   r   
ValueErrorZstack)r   s    r   
test_stackrF      s7     			Aq6Aq6"#A
$D1&*r   c                  r)   r*   )r   r   r,   r   Zmultiplyr.   r   r   test_object_scalar_multiplyrG      sX     ))QF&
)Cii!Q/GS!$g.Q$g.r   c            
      s   \         P                  ! \         P                  ! ^4      4      p \         P                  \         P                  3 F  pV! V ^ R7      p\        \        V\         P                  4      4       \        VP                  R8H  4       V! V ^R7      p\        \        V\         P                  4      4       \        VP                  R8H  4       V! V 4      p\        \         P                  ! V4      4       K  	  \         P                  V ^&   \         P                  \         P                  3 EF}  p\        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       V! V ^ R7      p\        \        V\         P                  4      4       \        \         P                  ! \         P                  ! V4      4      '       * 4       \        \        V4      ^ 8H  4       RRR4       \        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       V! V ^R7      p\        \        V\         P                  4      4       \        \         P                  ! VR	,          4      ;'       dM    \         P                  ! VR
,          4      '       * ;'       d#    \         P                  ! VR,          4      '       * 4       \        \        V4      ^8H  R4       \        \!        V^ ,          P"                  \$        4      4       RRR4       \        P                  ! RR7      ;_uu_ 4       p\        P                  ! R4       V! V 4      p\        \         P                  ! V4      4       \        V\         P                  8g  4       \        \        V4      ^ 8H  4       RRR4       EK  	  R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     EK  ; i)r@   r   T)ZrecordZalwaysNzno warning raisedr   r@   r@   r   )r   r
   )r
   r
   )r	   r
   )r   r   eyeZnanminZnanmaxr    r   r9   isscalarnanwarningsZcatch_warningsZsimplefilterZanyZisnanZlenZ
issubclassZcategoryZRuntimeWarning)matfr   wr   r   test_nanfunctions_matricesrQ      s    ))BFF1I
Cii#!n
3		*+		V#$!n
3		*+		V#$fC ! $ VVCFii#$$D11Q!!(+Ca.CJsBII./rxx}--.CFaK  2 $$D11Q!!(+Ca.CJsBII./BHHSY' 0 0T0C,C 0 0HHSY//1CFaK!45Jqt}}n=> 2 $$D11Q!!(+C&CBKK$%C266M"CFaK  21# $111 21 211s.   BN:BO*A)O:A1O!:OO!O3c                  s   \         P                  ! \         P                  ! ^4      4      p \         P                  \         P                  \         P
                  \         P                  \         P                  \         P                  \         P                  3 F  pV! V ^ R7      p\        \        V\         P                  4      4       \        VP                  R8H  4       V! V ^R7      p\        \        V\         P                  4      4       \        VP                  R8H  4       V! V 4      p\        \         P                  ! V4      4       K  	  \         P                  \         P                  3 F  pV! V ^ R7      p\        \        V\         P                  4      4       \        VP                  R8H  4       V! V ^R7      p\        \        V\         P                  4      4       \        VP                  R8H  4       V! V 4      p\        \        V\         P                  4      4       \        VP                  R8H  4       K  	  R# )r@   r   NrH   rI   )r@   r@   )r   i	   )r   r   rJ   Z	nanargminZ	nanargmaxZnansumZnanprodZnanmeanZnanvarZnanstdr    r   r9   rK   Z	nancumsumZ
nancumprod)rN   rO   r   r&   r   "test_nanfunctions_matrices_generalrR      sn    ))BFF1I
CllBLL"))RZZjj"))RYY0!n
3		*+		V#$!n
3		*+		V#$fC !0 \\2==(!n
3		*+		V#$!n
3		*+		V#$f
3		*+		Z'( )r   c                  s   \         P                  ! \         P                  P                  ^^4      4      p \	        V P                  ^ 4      \         P                  ! V ^ 4      4       \         P                  ! ^^.^^..4      p\         P                  ! ^^.^^..4      p\         P                  ! V^ VR7      p\        \        V4      \         P                  4       \        VRR..4       R# )rB   )r   Zweightsg      @Ng
@)	r   r   ZrandomZrandr   ZmeanZaverager   r!   )yr#   rP   rr   r   test_average_matrixrU      s    
		"))..A&'Aqvvay"**Q"23
		Aq6Aq6"#A
		Aq6Aq6"#A


11a(Aa"))$c8_%&r   c                  s<   \         P                  ! ^ ^4      p \         P                  ! R^ 4      p\         P                  ! V 4      p\         P                  ! V4      p\         P                  ! W4      p\         P                  ! W#P                  4      p\        WT4       R# )r
   Ni)r   Zlinspacer   r-   r   r   )r   rS   ZmxZmyrT   Zmrs         r   test_dot_matrixrV      se     	AqA
BA	1B	1B
qA	DD	Br   c                  s    R # )Nr2   r2   r   r   test_ediff1d_matrixrW     s    r   c                  s   R  p \         P                  ! ^ ^.^^..4      p\         P                  ! ^ ^.^^..4      p\         P                  ! V ^ V4      p\        \	        V\         P                  4      4       \        W24       \         P                  ! V ^V4      p\        \	        V\         P                  4      4       \        W24       R# )c                 s    V ^,          # )r	   r2   )Zrows   &r   doubleZ,test_apply_along_axis_matrix.<locals>.double  s    Qwr   N)r   r   Zapply_along_axisr    r   r   )rX   r   r%   Zresultr   r   test_apply_along_axis_matrixrY     s     			Aq6Aq6"#Ayy1a&1a&)*H  A.FJvryy)*v(  A.FJvryy)*v(r   c                  s   \         P                  ! ^^.4      p \         P                  ! V 4      p\        \	        \         P
                  ! W 4      4      \         P                  4       \        \	        \         P
                  ! W4      4      \         P                  4       \        \	        \         P
                  ! W4      4      \         P                  4       \        \	        \         P
                  ! W4      4      \         P                  4       R# )r	   N)r   Zonesr   r   r!   Zkronr8   r   )r#   r   r   r   test_kron_matrixrZ     s    
AA
AAbggam$bjj1bggam$bii0bggam$bii0bggam$bii0r   c                   s2   a  ] tR tRt o R tR tR tRtV tR# )TestConcatenatorMatrixi)  c                s  aa ^^.o^^.o\         P                  RSS3,          p\         P                  RSS3,          p\        \        V4      \         P                  4       \        \        V4      \         P                  4       \        \         P
                  ! V4      . RO.4       \        \         P
                  ! V4      ^.^.^.^..4       \        \        VV3R l4       R# )r   rT   r>   c                  s8   < \         P                  R S S3,          # )Zrc)r   r_rC   s   r   Z<lambda>Z4TestConcatenatorMatrix.test_matrix.<locals>.<lambda>8  s    "%%a
*;r   N)r   r	   r@   rA   )r   r\   r   r!   r   r   r   rE   )selfZab_rZab_cr#   r:   s   &  @@r   test_matrixZ"TestConcatenatorMatrix.test_matrix+  s    FFuuS!QYuuS!QYT$Z+T$Z+RXXd^l^4RXXd^qcA3aS%9:j";<r   c                s    \         P                  R ^^.^3,          p\        \        V4      \         P                  4       \        \         P
                  ! V4      . RO.4       R# )rT   N)r   r	   r@   )r   r\   r   r!   r   r   )r]   rT   s   & r   test_matrix_scalarZ)TestConcatenatorMatrix.test_matrix_scalar:  s@    EE#1vq.!T!Wbii(RXXa[9+.r   c                sr   \         P                  ! ^.4      p\         P                  ! ^.4      p\         P                  ! ^.4      p\         P                  ! ^.4      p\         P                  R,          p\         P                  ! W.W4..4      p\	        WV4       \	        \        V4      \        V4      4       R# )r   z
a, b; c, dN)r   r   r\   Zbmatr   r!   )r]   r#   r:   r>   Zdr$   r%   s   &      r   test_matrix_builderZ*TestConcatenatorMatrix.test_matrix_builder?  s}    HHaSMHHaSMHHaSMHHaSM|$77QFQF+,V&T&\4>2r   r2   N)	Z__name__Z
__module__Z__qualname__Z__firstlineno__r^   r_   r`   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r[   r[   )  s     =/
	3 	3r   r[   c            	      s^   \         P                  ! \        4      ;_uu_ 4       p \        \        P
                  ! ^^.4      \        P                  ! ^^.4      4       RRR4       \        X P                  4      p\        P                  ! R4      p\        W4       R#   + '       g   i     LH; i)r   Nzw
    Arrays are not equal

    (shapes (2,), (1, 2) mismatch)
     ACTUAL: array([1, 2])
     DESIRED: matrix([[1, 2]]))pytestZraisesZAssertionErrorr   r   r   r   ZstrZvaluetextwrapZdedent)Zexc_infoZmsgZmsg_referencer&   r   %test_array_equal_error_message_matrixrc   K  sp    	~	&	&(RXXq!f%ryy!Q'89 
'
hnn
COO %" #M $ 
'	&s   9BB,	c                  sJ   \         P                  ! R R..4      p \         P                  ! R \         P                  ..4      p\         P                  ! R \         P                  ) ..4      p\         P                  ! \         P                  \         P                  ..4      p\         P                  ! R R.\         P                  \         P                  ..4      p\        \
        3 F=  pWW#V3 F1  pV! Wf4       \         P                  ! V4      pV! Wv4       V! Wg4       K3  	  K?  	  R# )g      ?g       @N)r   r   rL   Zinfr   r   r   )Zm1Zm2Zm3Zm4Zm5Zassert_funcr   r#   s           r   test_array_almost_equal_matrixrd   Z  s     
RH:	B	RL>	"B	R"&&M?	#B	RVVRVV$%	&B	RHrvvrvv./	0B02EE#AA	 $ Fr   )$Z__doc__rb   rM   ra   Znumpyr   Znumpy.testingr    r   r   r   r   r   r   r   r   r'   r(   r1   r4   r5   r;   r=   rD   rF   rG   rQ   rR   rU   rV   rW   rY   rZ   r[   rc   rd   r2   r   r   <module>re      s         3())*2,16*&&*/&!R)8
'	G)&13 3D%r   