§
    ÈÁ³gw.  ã                   óæ   — d Z ddlZddlZddlZddlZddlmZmZm	Z	m
Z
mZmZ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„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z  G d„ d¦  «        Z!d„ Z"d„ Z#dS )zƒTests of interaction of matrix with other parts of numpy.

Note that tests with MaskedArray and linalg are done in separate files.
é    N)Úassert_Úassert_equalÚassert_raisesÚassert_raises_regexÚassert_array_equalÚassert_almost_equalÚassert_array_almost_equalc                  óŠ  — t          j        ddgddgg¦  «        } t          t          | g d¢d d …f         t           j        ¦  «        ¦  «         t          j        t          j        d¦  «                             dd¦  «        ¦  «        }t          |d d…t          j        d	¦  «        f         |d d…d	f         j	        ¦  «         d S )
Né   é   é   é   )r   r   r   é2   é   é
   éÿÿÿÿ)
ÚnpÚmatrixr   Ú
isinstanceÚasmatrixÚarangeÚreshaper   ÚarrayÚT)ÚmÚxs     úd/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/numpy/matrixlib/tests/test_interaction.pyÚtest_fancy_indexingr      s­   € õ
 	Œ	�A�q�6˜A˜q˜6Ð"Ñ#Ô#€Aå�J�q˜˜˜ A A A˜”­¬	Ñ2Ô2Ñ3Ô3Ð3õ 	Œ•B”I˜b‘M”M×)Ò)¨!¨RÑ0Ô0Ñ1Ô1€AÝ��2�A�2•r”x ‘|”|Ð#Ô$ a¨¨¨¨B¨¤i¤kÑ2Ô2Ð2Ð2Ð2ó    c                  óÜ   — ddg} ddg}t          j        | | g¦  «        }t           j        j                             || |¦  «        }t          t          |t           j        ¦  «        ¦  «         d S )Nr   r   r   r   )r   r   Ú
polynomialÚ	polyutilsÚ	mapdomainr   r   )Údom1Údom2r   Úress       r   Útest_polynomial_mapdomainr'      se   € ð ˆqˆ6€DØˆqˆ6€DÝ
Œ	�4˜�,ÑÔ€AÝ
Œ-Ô
!×
+Ò
+¨A¨t°TÑ
:Ô
:€CÝ�J�s�BœIÑ&Ô&Ñ'Ô'Ð'Ð'Ð'r   c                  óþ   — t          j        g d¢g¦  «        } t          j        | d ¬¦  «        }t          j        g d¢g¦  «        }t          ||¦  «         t	          t          |¦  «        t           j        u ¦  «         d S )N©r   r   r   ©Úaxis©r   r   r   )r   r   Úsortr   r   Útype©ÚaÚactualÚexpecteds      r   Útest_sort_matrix_noner3   )   sq   € å
Œ	�9�9�9�+ÑÔ€AÝŒW�Q˜TÐ"Ñ"Ô"€FÝŒy˜)˜)˜)˜Ñ%Ô%€HÝ�˜Ñ"Ô"Ð"Ý�D�‰NŒN�bœiÐ'Ñ(Ô(Ð(Ð(Ð(r   c                  ó   — t          j        g d¢g¦  «        } t          j        | dd ¬¦  «        }t          j        g d¢g¦  «        }t          ||¦  «         t	          t          |¦  «        t           j        u ¦  «         d S )Nr)   r   r*   r,   )r   r   Ú	partitionr   r   r.   r/   s      r   Útest_partition_matrix_noner6   2   su   € õ 	Œ	�9�9�9�+ÑÔ€AÝŒ\˜!˜Q TÐ*Ñ*Ô*€FÝŒy˜)˜)˜)˜Ñ%Ô%€HÝ�˜Ñ"Ô"Ð"Ý�D�‰NŒN�bœiÐ'Ñ(Ô(Ð(Ð(Ð(r   c                  ó  — t          j        ddgt          ¬¦  «        } t          j        ddggt          ¬¦  «        }t          t          j        | d¦  «        |¦  «         t          t          j        d| ¦  «        |¦  «         d S ©Nr   r   ©Údtyper   é   )r   r   Úobjectr   Údot©ÚarrÚdesireds     r   Ú%test_dot_scalar_and_matrix_of_objectsrA   <   sp   € õ Œ)�Q˜�F¥&Ð
)Ñ
)Ô
)€CÝŒi˜!˜Q˜˜­Ð/Ñ/Ô/€GÝ•”˜˜Q‘” Ñ)Ô)Ð)Ý•”˜˜3‘” Ñ)Ô)Ð)Ð)Ð)r   c                  ó�  — t           j        d         t           j        d         z   dz   D ]œ} t          j        d| ¬¦  «        d         }t          j        ddgdd	gg| ¬¦  «        }t          j        dd
gddgg| ¬¦  «        }t	          t          j        ||¦  «        |¦  «         t	          t          j        ||¦  «        |¦  «         Œ�d S )NÚ
AllIntegerÚAllFloatú?r   r9   © r   r   r   r;   é	   é   )r   Ú	typecodesr   r   r   Úinner)ÚdtÚscar?   r@   s       r   Útest_inner_scalar_and_matrixrM   E   sÉ   € åŒl˜<Ô(­2¬<¸
Ô+CÑCÀcÑIð 2ð 2ˆÝŒh�q Ð#Ñ#Ô# BÔ'ˆÝŒi˜!˜Q˜ ! Q Ð(°Ð3Ñ3Ô3ˆÝ”)˜a ˜V a¨ WÐ-°RÐ8Ñ8Ô8ˆÝ•R”X˜c 3Ñ'Ô'¨Ñ1Ô1Ð1Ý•R”X˜c 3Ñ'Ô'¨Ñ1Ô1Ð1Ð1ð2ð 2r   c                  ó  — t          j        ddgt          ¬¦  «        } t          j        ddggt          ¬¦  «        }t          t          j        | d¦  «        |¦  «         t          t          j        d| ¦  «        |¦  «         d S r8   )r   r   r<   r   rJ   r>   s     r   Ú'test_inner_scalar_and_matrix_of_objectsrO   O   st   € õ Œ)�Q˜�F¥&Ð
)Ñ
)Ô
)€CÝŒi˜!˜Q˜˜­Ð/Ñ/Ô/€GÝ•”˜#˜qÑ!Ô! 7Ñ+Ô+Ð+Ý•”˜!˜SÑ!Ô! 7Ñ+Ô+Ð+Ð+Ð+r   c            
      óÖ  — t          j        ddgddgg¦  «        } t          j        d¦  «                             dd¦  «        j        }t          j        | |d gg dgdgddgg¦  «        }t          t          |j        d         ¦  «        t           j        u ¦  «         t          t          |j        d         ¦  «        t           j	        u¦  «         t          |j        d         j        d¦  «         t          j        d¦  «                             ddd¦  «        }t          t          t           j        | |d gg dgdgddgg¦  «         t          j        | |d gg dgdgg d	¢g¦  «        }t          t          |j        d         ¦  «        t           j	        u ¦  «         t          t          |j        d         ¦  «        t           j        u¦  «         t          |j        d         j        d
¦  «         d S )Nr   r   r   r   ÚreadonlyÚ	writeonlyÚallocate)r   r   )rR   rS   Ú
no_subtype)r   r   r   )r   r   r   r   r   Únditerr   r.   ÚoperandsÚndarrayr   Úshaper   ÚRuntimeError)r0   ÚbÚis      r   Ú!test_iter_allocate_output_subtyper\   X   sÃ  € õ 	Œ	�A�q�6˜A˜q˜6Ð"Ñ#Ô#€AÝ
Œ	�!‰Œ×Ò˜Q Ñ"Ô"Ô$€AÝ
Œ	�1�a˜�, Ø�< * °¸ZÐ/HÐIñ	Kô 	K€Aå�D�”˜A”ÑÔ¥2¤9Ð,Ñ-Ô-Ð-Ý�D�”˜A”ÑÔ¥r¤zÐ1Ñ2Ô2Ð2Ý�”˜A”Ô$ fÑ-Ô-Ð-õ 	Œ	�!‰Œ×Ò˜Q  1Ñ%Ô%€AÝ•,¥¤	¨A¨q°$¨<¸Ø�< * °¸ZÐ/HÐIñKô Kð Kõ 	Œ	�1�a˜�, Ø�< * Ø:Ð:Ð:ð<ñ	=ô 	=€Aõ �D�”˜A”ÑÔ¥2¤:Ð-Ñ.Ô.Ð.Ý�D�”˜A”ÑÔ¥r¤yÐ0Ñ1Ô1Ð1Ý�”˜A”Ô$ iÑ0Ô0Ð0Ð0Ð0r   c                  óV  — t          j        ddgddgg¦  «        } t           j        t           j        t           j        fD ]j} || ¦  «        }t          t          |¦  «        t           j        u ¦  «          || d¬¦  «        }t          t          |¦  «        t           j        u¦  «         Œkd S )Nr   r   r   r   F)Úsubok)r   r   Ú
zeros_likeÚ	ones_likeÚ
empty_liker   r.   )r0   Úlike_functionrZ   Úcs       r   rb   rb   s   s    € å
Œ	�A�q�6˜A˜q˜6Ð"Ñ#Ô#€AÝœ­¬µb´mÐCð *ð *ˆØˆM˜!ÑÔˆÝ•�Q‘”�2œ9Ð$Ñ%Ô%Ð%àˆM˜! 5Ð)Ñ)Ô)ˆÝ•�Q‘”�rœyÐ(Ñ)Ô)Ð)Ð)ð*ð *r   c                  óî  — t          j        g d¢g d¢gd¬¦  «        } |                      ddd¬¦  «        }t          | |u ¦  «         |                      dd¬	¦  «        }t	          | |¦  «         t	          t          |¦  «        t           j        ¦  «         |                      ddd¬¦  «        }t	          | |¦  «         t          | |u¦  «         t          t          |¦  «        t           j        u¦  «         d S )
Nr,   )r   r   r   Úf4r9   TF)r^   ÚcopyÚi4)rf   )r   r   Úastyper   r   r.   ©r0   rZ   s     r   Útest_array_astyperj   ~   sæ   € õ 	Œ	�9�9�9˜i˜i˜iÐ(°Ð5Ñ5Ô5€AØ	�Š�˜T¨ˆÑ.Ô.€AÝˆA�ˆF�O„O€Oð 	
�Š�˜EˆÑ"Ô"€AÝ��AÑÔÐÝ•�a‘”�"œ)Ñ$Ô$Ð$ð 	
�Š�˜U¨ˆÑ/Ô/€AÝ��AÑÔÐÝ��a�ÑÔÐÝ�D�‰GŒG�2œ9Ð$Ñ%Ô%Ð%Ð%Ð%r   c                  ó€   — t          j        ddgddgg¦  «        } t          t          dt           j        | | g¦  «         d S )Nr   r   r   r   zshape too large to be a matrix)r   r   r   Ú
ValueErrorÚstack)r   s    r   Ú
test_stackrn   ‘   sL   € õ 	Œ	�A�q�6˜A˜q˜6Ð"Ñ#Ô#€AÝ�
Ð$DÝœ 1 a &ñ*ô *ð *ð *ð *r   c                  ó  — t          j        ddgt          ¬¦  «        } t          j        ddggt          ¬¦  «        }t          t          j        | d¦  «        |¦  «         t          t          j        d| ¦  «        |¦  «         d S r8   )r   r   r<   r   Úmultiplyr>   s     r   Útest_object_scalar_multiplyrq   ™   st   € õ Œ)�Q˜�F¥&Ð
)Ñ
)Ô
)€CÝŒi˜!˜Q˜˜­Ð/Ñ/Ô/€GÝ•”˜S !Ñ$Ô$ gÑ.Ô.Ð.Ý•”˜Q Ñ$Ô$ gÑ.Ô.Ð.Ð.Ð.r   c            	      óŽ  — t          j        t          j        d¦  «        ¦  «        } t           j        t           j        fD ]Æ} || d¬¦  «        }t          t          |t           j        ¦  «        ¦  «         t          |j        dk    ¦  «          || d¬¦  «        }t          t          |t           j        ¦  «        ¦  «         t          |j        dk    ¦  «          || ¦  «        }t          t          j        |¦  «        ¦  «         ŒÇt           j	        | d<   t           j        t           j        fD �]–}t          j        d¬¦  «        5 }t          j        d	¦  «          || d¬¦  «        }t          t          |t           j        ¦  «        ¦  «         t          t          j        t          j        |¦  «        ¦  «         ¦  «         t          t          |¦  «        dk    ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¬¦  «        5 }t          j        d	¦  «          || d¬¦  «        }t          t          |t           j        ¦  «        ¦  «         t          t          j        |d
         ¦  «        o5t          j        |d         ¦  «         ot          j        |d         ¦  «         ¦  «         t          t          |¦  «        dk    d¦  «         t          t!          |d         j        t$          ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¬¦  «        5 }t          j        d	¦  «          || ¦  «        }t          t          j        |¦  «        ¦  «         t          |t           j	        k    ¦  «         t          t          |¦  «        dk    ¦  «         d d d ¦  «         n# 1 swxY w Y   �Œ˜d S )Nr   r   r*   ©r   r   r   ©r   r   T)ÚrecordÚalways)r   r   )r   r   )r   r   zno warning raised)r   r   ÚeyeÚnanminÚnanmaxr   r   rX   ÚisscalarÚnanÚwarningsÚcatch_warningsÚsimplefilterÚanyÚisnanÚlenÚ
issubclassÚcategoryÚRuntimeWarning)ÚmatÚfr&   Úws       r   Útest_nanfunctions_matricesrˆ   ¢   sà  € õ Œ)•B”F˜1‘I”IÑ
Ô
€CÝŒi�œÐ#ð "ð "ˆØˆa�˜!ˆn‰nŒnˆÝ•
˜3¥¤	Ñ*Ô*Ñ+Ô+Ð+Ý�”	˜VÒ#Ñ$Ô$Ð$Øˆa�˜!ˆn‰nŒnˆÝ•
˜3¥¤	Ñ*Ô*Ñ+Ô+Ð+Ý�”	˜VÒ#Ñ$Ô$Ð$Øˆa�‰fŒfˆÝ•”˜CÑ Ô Ñ!Ô!Ð!Ð!åŒV€Cˆ�FÝŒi�œÐ#ð !ñ !ˆÝÔ$¨DÐ1Ñ1Ô1ð 	!°QÝÔ! (Ñ+Ô+Ð+Ø�!�C˜a�.‘.”.ˆCÝ•J˜s¥B¤IÑ.Ô.Ñ/Ô/Ð/Ý�œ�rœx¨™}œ}Ñ-Ô-Ð-Ñ.Ô.Ð.Ý•C˜‘F”F˜a’KÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!õ Ô$¨DÐ1Ñ1Ô1ð 	?°QÝÔ! (Ñ+Ô+Ð+Ø�!�C˜a�.‘.”.ˆCÝ•J˜s¥B¤IÑ.Ô.Ñ/Ô/Ð/Ý•B”H˜S œYÑ'Ô'ð 0µ´¸¸T¼Ñ0CÔ0CÐ,Cð 0ÝœH S¨¤YÑ/Ô/Ð/ñ1ô 1ð 1å•C˜‘F”F˜a’KÐ!4Ñ5Ô5Ð5Ý•J˜q œtœ}­nÑ=Ô=Ñ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?õ Ô$¨DÐ1Ñ1Ô1ð 	!°QÝÔ! (Ñ+Ô+Ð+Ø�!�C‘&”&ˆCÝ•B”K Ñ$Ô$Ñ%Ô%Ð%Ý�C�2œ6’MÑ"Ô"Ð"Ý•C˜‘F”F˜a’KÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ùð#!ð !s9   ÅBG.Ç.G2	Ç5G2	ÈC4LÌL	ÌL	Ì.A>N8Î8N<	Î?N<	c                  óx  — t          j        t          j        d¦  «        ¦  «        } t           j        t           j        t           j        t           j        t           j        t           j        t           j	        fD ]Æ} || d¬¦  «        }t          t          |t           j        ¦  «        ¦  «         t          |j        dk    ¦  «          || d¬¦  «        }t          t          |t           j        ¦  «        ¦  «         t          |j        dk    ¦  «          || ¦  «        }t          t          j        |¦  «        ¦  «         ŒÇt           j        t           j        fD ]ä} || d¬¦  «        }t          t          |t           j        ¦  «        ¦  «         t          |j        dk    ¦  «          || d¬¦  «        }t          t          |t           j        ¦  «        ¦  «         t          |j        dk    ¦  «          || ¦  «        }t          t          |t           j        ¦  «        ¦  «         t          |j        dk    ¦  «         Œåd S )	Nr   r   r*   rs   r   rt   )r   r   )r   rG   )r   r   rw   Ú	nanargminÚ	nanargmaxÚnansumÚnanprodÚnanmeanÚnanvarÚnanstdr   r   rX   rz   Ú	nancumsumÚ
nancumprod)r…   r†   r&   s      r   Ú"test_nanfunctions_matrices_generalr“   Ë   sÓ  € õ Œ)•B”F˜1‘I”IÑ
Ô
€CÝŒl�BœL­"¬)µR´ZÝŒj�"œ)¥R¤Yð0ð 	"ð 	"ˆàˆa�˜!ˆn‰nŒnˆÝ•
˜3¥¤	Ñ*Ô*Ñ+Ô+Ð+Ý�”	˜VÒ#Ñ$Ô$Ð$Øˆa�˜!ˆn‰nŒnˆÝ•
˜3¥¤	Ñ*Ô*Ñ+Ô+Ð+Ý�”	˜VÒ#Ñ$Ô$Ð$Øˆa�‰fŒfˆÝ•”˜CÑ Ô Ñ!Ô!Ð!Ð!åŒ\�2œ=Ð(ð 	'ð 	'ˆØˆa�˜!ˆn‰nŒnˆÝ•
˜3¥¤	Ñ*Ô*Ñ+Ô+Ð+Ý�”	˜VÒ#Ñ$Ô$Ð$Øˆa�˜!ˆn‰nŒnˆÝ•
˜3¥¤	Ñ*Ô*Ñ+Ô+Ð+Ý�”	˜VÒ#Ñ$Ô$Ð$Øˆa�‰fŒfˆÝ•
˜3¥¤	Ñ*Ô*Ñ+Ô+Ð+Ý�”	˜XÒ%Ñ&Ô&Ð&Ð&ð	'ð 	'r   c                  óà  — t          j        t           j                             dd¦  «        ¦  «        } t	          |                      d¦  «        t          j        | d¦  «        ¦  «         t          j        ddgddgg¦  «        }t          j        ddgddgg¦  «        }t          j        |d|¬¦  «        }t          t          |¦  «        t           j        ¦  «         t          |dd	gg¦  «         d S )
Nr   r   r   r   r   r   )r+   Úweightsg      @g«ªªªªª
@)	r   r   ÚrandomÚrandr   ÚmeanÚaverager   r.   )Úyr0   r‡   Úrs       r   Útest_average_matrixrœ   ç   sÉ   € å
Œ	•"”)—.’.  AÑ&Ô&Ñ'Ô'€AÝ�q—v’v˜a‘y”y¥"¤*¨Q°Ñ"2Ô"2Ñ3Ô3Ð3å
Œ	�A�q�6˜A˜q˜6Ð"Ñ#Ô#€AÝ
Œ	�A�q�6˜A˜q˜6Ð"Ñ#Ô#€Aå
Œ
�1˜1 aÐ(Ñ(Ô(€AÝ•�a‘”�"œ)Ñ$Ô$Ð$Ý��c˜6�]�OÑ$Ô$Ð$Ð$Ð$r   c                  ó(  — t          j        dd¦  «        } t          j        dd¦  «        }t          j        | ¦  «        }t          j        |¦  «        }t          j        | |¦  «        }t          j        ||j        ¦  «        }t          ||¦  «         d S )Nr   r   éûÿÿÿ)r   Úlinspacer   r=   r   r   )r   rš   ÚmxÚmyr›   Úmrs         r   Útest_dot_matrixr£   ô   sx   € õ 	Œ�A�qÑÔ€AÝ
Œ�B˜ÑÔ€AÝ	Œ�1‰Œ€BÝ	Œ�1‰Œ€BÝ
Œˆq�!‰Œ€AÝ	Œ��B”DÑ	Ô	€BÝ˜˜AÑÔÐÐÐr   c                  ó
  — t          t          j        t          j        d¦  «        ¦  «        t          j        ¦  «        sJ ‚t          t          j        t          j        d¦  «        d¬¦  «        t          j        ¦  «        sJ ‚d S )Nr   )Úto_begin)r   r   Úediff1dr   rF   r   r   Útest_ediff1d_matrixr§      sa   € å•b”j¥¤¨1¡¤Ñ.Ô.µ´	Ñ:Ô:Ð;Ð;Ð;Ý•b”j¥¤¨1¡¤¸Ð:Ñ:Ô:½B¼IÑFÔFÐGÐGÐGÐGÐGr   c                  ó¨  — d„ } t          j        ddgddgg¦  «        }t          j        ddgddgg¦  «        }t          j        | d|¦  «        }t          t	          |t           j        ¦  «        ¦  «         t          ||¦  «         t          j        | d|¦  «        }t          t	          |t           j        ¦  «        ¦  «         t          ||¦  «         d S )Nc                 ó   — | dz  S ©Nr   rF   )Úrows    r   Údoublez,test_apply_along_axis_matrix.<locals>.double
  s   € Ø�Q‰wˆr   r   r   r   r   r   r;   )r   r   Úapply_along_axisr   r   r   )r¬   r   r2   Úresults       r   Útest_apply_along_axis_matrixr¯     sÍ   € ðð ð õ 	Œ	�A�q�6˜A˜q˜6Ð"Ñ#Ô#€AÝŒy˜1˜a˜& 1 a &Ð)Ñ*Ô*€HåÔ  ¨¨AÑ.Ô.€FÝ�J�v�rœyÑ)Ô)Ñ*Ô*Ð*Ý�v˜xÑ(Ô(Ð(åÔ  ¨¨AÑ.Ô.€FÝ�J�v�rœyÑ)Ô)Ñ*Ô*Ð*Ý�v˜xÑ(Ô(Ð(Ð(Ð(r   c                  ó*  — t          j        ddg¦  «        } t          j        | ¦  «        }t          t	          t          j        | | ¦  «        ¦  «        t           j        ¦  «         t          t	          t          j        ||¦  «        ¦  «        t           j        ¦  «         t          t	          t          j        | |¦  «        ¦  «        t           j        ¦  «         t          t	          t          j        || ¦  «        ¦  «        t           j        ¦  «         d S rª   )r   Úonesr   r   r.   ÚkronrW   r   )r0   r   s     r   Útest_kron_matrixr³     s¶   € å
Œ��A�‰Œ€AÝ
Œ�A‰Œ€AÝ••b”g˜a ‘m”mÑ$Ô$¥b¤jÑ1Ô1Ð1Ý••b”g˜a ‘m”mÑ$Ô$¥b¤iÑ0Ô0Ð0Ý••b”g˜a ‘m”mÑ$Ô$¥b¤iÑ0Ô0Ð0Ý••b”g˜a ‘m”mÑ$Ô$¥b¤iÑ0Ô0Ð0Ð0Ð0r   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestConcatenatorMatrixc                 óÚ  ‡‡— ddgŠddgŠt           j        d‰‰f         }t           j        d‰‰f         }t          t          |¦  «        t           j        ¦  «         t          t          |¦  «        t           j        ¦  «         t          t          j        |¦  «        g d¢g¦  «         t          t          j        |¦  «        dgdgdgdgg¦  «         t          t          ˆˆfd„¦  «         d S )	Nr   r   r   r   r›   rc   )r   r   r   r   c                  ó.   •— t           j        d‰ ‰f         S )NÚrc)r   Úr_ri   s   €€r   ú<lambda>z4TestConcatenatorMatrix.test_matrix.<locals>.<lambda>2  s   ø€ ­"¬%°°a¸°
Ô*;€ r   )r   r¹   r   r.   r   r   r   rl   )ÚselfÚab_rÚab_cr0   rZ   s      @@r   Útest_matrixz"TestConcatenatorMatrix.test_matrix%  sÔ   øø€ Ø�ˆFˆØ�ˆFˆåŒu�S˜!˜Q�YÔˆÝŒu�S˜!˜Q�YÔˆå•T˜$‘Z”Z¥¤Ñ+Ô+Ð+Ý•T˜$‘Z”Z¥¤Ñ+Ô+Ð+å•R”X˜d‘^”^ l l l ^Ñ4Ô4Ð4Ý•R”X˜d‘^”^ q c¨A¨3°°°a°SÐ%9Ñ:Ô:Ð:å•jÐ";Ð";Ð";Ð";Ð";Ñ<Ô<Ð<Ð<Ð<r   c                 óÌ   — t           j        dddgdf         }t          t          |¦  «        t           j        ¦  «         t          t          j        |¦  «        g d¢g¦  «         d S )Nr›   r   r   r   )r   r   r   )r   r¹   r   r.   r   r   )r»   r›   s     r   Útest_matrix_scalarz)TestConcatenatorMatrix.test_matrix_scalar4  sT   € ÝŒE�#˜˜1�v˜q�.Ô!ˆÝ•T˜!‘W”W�bœiÑ(Ô(Ð(Ý•R”X˜a‘[”[ 9 9 9 +Ñ.Ô.Ð.Ð.Ð.r   c                 óz  — t          j        dg¦  «        }t          j        dg¦  «        }t          j        dg¦  «        }t          j        dg¦  «        }t           j        d         }t          j        ||g||gg¦  «        }t	          ||¦  «         t	          t          |¦  «        t          |¦  «        ¦  «         d S )Nr   r   r   r   z
a, b; c, d)r   r   r¹   Úbmatr   r.   )r»   r0   rZ   rc   Údr1   r2   s          r   Útest_matrix_builderz*TestConcatenatorMatrix.test_matrix_builder9  s˜   € ÝŒH�a�S‰MŒMˆÝŒH�a�S‰MŒMˆÝŒH�a�S‰MŒMˆÝŒH�a�S‰MŒMˆÝ”�|Ô$ˆÝ”7˜Q ˜F Q¨ FÐ+Ñ,Ô,ˆå�V˜XÑ&Ô&Ð&Ý•T˜&‘\”\¥4¨¡>¤>Ñ2Ô2Ð2Ð2Ð2r   N)Ú__name__Ú
__module__Ú__qualname__r¾   rÀ   rÄ   rF   r   r   rµ   rµ   #  sA   € € € € € ð=ð =ð =ð/ð /ð /ð
	3ð 	3ð 	3ð 	3ð 	3r   rµ   c                  óH  — t          j        t          ¦  «        5 } t          t	          j        ddg¦  «        t	          j        ddg¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          | j        ¦  «        }t          j
        d¦  «        }t          ||¦  «         d S )Nr   r   zw
    Arrays are not equal

    (shapes (2,), (1, 2) mismatch)
     ACTUAL: array([1, 2])
     DESIRED: matrix([[1, 2]]))ÚpytestÚraisesÚAssertionErrorr   r   r   r   ÚstrÚvalueÚtextwrapÚdedent)Úexc_infoÚmsgÚmsg_references      r   Ú%test_array_equal_error_message_matrixrÓ   E  sÍ   € å	Œ•~Ñ	&Ô	&ð :¨(Ý•R”X˜q !˜fÑ%Ô%¥r¤y°!°Q°Ñ'8Ô'8Ñ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :å
ˆhŒnÑ
Ô
€CÝ”Oð %"ñ #ô #€Mõ ��mÑ$Ô$Ð$Ð$Ð$s   š9AÁA#Á&A#c                  ó  — t          j        ddgg¦  «        } t          j        dt           j        gg¦  «        }t          j        dt           j         gg¦  «        }t          j        t           j        t           j        gg¦  «        }t          j        ddgt           j        t           j        gg¦  «        }t          t
          fD ]D}| ||||fD ]:} |||¦  «         t          j        |¦  «        } |||¦  «          |||¦  «         Œ;ŒEd S )Ng      ð?g       @)r   r   r{   Úinfr	   r   r   )Úm1Úm2Úm3Úm4Úm5Úassert_funcr   r0   s           r   Útest_array_almost_equal_matrixrÜ   T  s	  € õ 
Œ�R˜�H�:Ñ	Ô	€BÝ	Œ�R�œ�L�>Ñ	"Ô	"€BÝ	Œ�R�"œ&˜�M�?Ñ	#Ô	#€BÝ	Œ•R”V�RœVÐ$Ð%Ñ	&Ô	&€BÝ	Œ�R˜�H�rœv¥r¤vÐ.Ð/Ñ	0Ô	0€BÝ0Õ2EÐEð ð ˆØ�R˜˜R Ð#ð 	ð 	ˆAØˆK˜˜1ÑÔÐÝ”˜‘”ˆAØˆK˜˜1ÑÔÐØˆK˜˜1ÑÔÐÐð		ðð r   )$Ú__doc__rÉ   rÎ   r|   Únumpyr   Únumpy.testingr   r   r   r   r   r   r	   r   r'   r3   r6   rA   rM   rO   r\   rb   rj   rn   rq   rˆ   r“   rœ   r£   r§   r¯   r³   rµ   rÓ   rÜ   rF   r   r   ú<module>rà      s  ððð ð €€€à €€€Ø €€€à Ð Ð Ð ðKð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð
3ð 3ð 3ð(ð (ð (ð)ð )ð )ð)ð )ð )ð*ð *ð *ð2ð 2ð 2ð,ð ,ð ,ð1ð 1ð 1ð6*ð *ð *ð&ð &ð &ð&*ð *ð *ð/ð /ð /ð&!ð &!ð &!ðR'ð 'ð 'ð8
%ð 
%ð 
%ð	ð 	ð 	ðHð Hð Hð)ð )ð )ð&1ð 1ð 1ð3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ðD%ð %ð %ðð ð ð ð r   