§
    fŠtjRG  ã                   óä  — d dl Z d dlZd dlZd dlmZ d dlmZ d dlZd dl	m
Z
 d dlZd dlmZ d dlmZmZmZmZmZmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZm Z m!Z!m"Z"m#Z#m$Z$ ej%        j&        Z&ej%        j'        Z' ej(        g d¢¦  «         )                    d¦  «        Z* ej(        ddgddgddgddgddgddgddgddgddgddgddgg¦  «        Z+ ej(        ddgddgddgg¦  «        Z, ej(        ddgddgddgg¦  «        Z- ej(        g d ¢¦  «        Z. e!e¦  «         G d!„ d"¦  «        ¦   «         Z/ e!e¦  «         G d#„ d$¦  «        ¦   «         Z0 e!ee¦  «         G d%„ d&¦  «        ¦   «         Z1dS )'é    N)Údeepcopy©ÚLock)Úassert_array_equal)Úraises)ÚkmeansÚkmeans2Úpy_vqÚvqÚwhitenÚClusterErrorÚ
_krandinit)Ú_vq)Úmatrix)Úarray_api_extra)ÚSCIPY_ARRAY_APIÚeager_warnsÚis_lazy_arrayÚmake_xp_test_caseÚxp_copyÚxp_assert_closeÚxp_assert_equal(�  gš™™™™™Àg¸…ëQ¸ò?ç®Gázú¿ç
×£p=
û?gR¸…ëQ Àg…ëQ¸…@g¸…ëQ¸Àgffffffî?ç333333û¿g)\�Âõ(@çáz®Gáú¿çÃõ(\�Âå?g®GázÀg¸…ëQ¸
@çR¸…ëQÀgffffff@g…ëQ¸…û¿g
×£p=
ç¿ç×£p=
×ÿ¿g¸…ëQ¸@g      Àçq=
×£p@çš™™™™™ÀgHáz®G@g
×£p=
Àg333333@g…ëQ¸ù¿gìQ¸…ëý?ç\�Âõ(\ÿ¿g…ëQ¸@g®GázÀçáz®Gá@g=
×£p=Àç{®Gázô?g      Àçš™™™™™@gìQ¸…ëù¿g      ô?ç\�Âõ(\Àg\�Âõ(\	@ç¸…ëQ¸ò¿g¸…ëQ¸¾?ç=
×£p=ÀgHáz®GÑ¿ç�Âõ(\� Àgš™™™™™á¿r'   gq=
×£põ?g�Âõ(\�Àg¤p=
×£@ç…ëQ¸…Àg¸…ëQ¸Î?g\�Âõ(\û¿ç×£p=
×@gìQ¸…ëÀg)\�Âõ(@g¤p=
×£ Àç…ëQ¸…@g=
×£p=þ¿gö(\�Âõ@g¸…ëQ¸ Àg¤p=
×£Ð?gq=
×£pí¿g…ëQ¸ñ?ç      Àç)\�Âõ(ì?r-   g)\�Âõ( @g=
×£p=Àr#   ç=
×£p= Àg\�Âõ(\@g®GázÀg333333Ó?ç×£p=
×Àg�Âõ(\�Ò¿r&   g®Gáz®	@gffffffÀg®Gáz®û?g¸…ëQ¸Àg®Gázæ?çö(\�Âõü¿r+   gö(\�ÂõÀg®Gáz@gffffffÀçö(\�Âõô?g¸…ëQ¸ú¿ç¸…ëQ¸Àgáz®Gáò¿ç\�Âõ(\@ç\�Âõ(\Àg�Âõ(\�@çš™™™™™ý¿g      @r!   çÃõ(\�Âý?g)\�Âõ(Àg…ëQ¸…@g¤p=
×£Àg=
×£p=þ?çÍÌÌÌÌÌø¿g¤p=
×£ @gÃõ(\�Âõ¿gÃõ(\�Âí?ç®GázÀgìQ¸…ë@g…ëQ¸Àg\�Âõ(\@g¤p=
×£
ÀçìQ¸…ë@ç{®Gáz ÀgÍÌÌÌÌÌì¿ç¤p=
×£ÀgÍÌÌÌÌÌ
@ç¸…ëQ¸Àgffffff@çáz®GáÀgš™™™™™ý?ç
×£p=
û¿çÍÌÌÌÌÌü?g=
×£p=ö¿ç…ëQ¸å?r;   gR¸…ëQØ?ç…ëQ¸…÷¿g)\�Âõ(Ü?g¸…ëQ¸Àg)\�Âõ(@gR¸…ëQÀg…ëQ¸…@r   gìQ¸…ë@ç¤p=
×£ð¿gR¸…ëQØ¿r6   gìQ¸…ë@ç
×£p=
Àg\�Âõ(\ç?r=   g=
×£p=ö?çq=
×£põ¿ç      ü?ç333333ÿ¿çÍÌÌÌÌÌô?r!   ç¸…ëQ¸@r   gHáz®G@g333333Àg×£p=
×@g®Gáz®û¿g)\�Âõ(@r5   g333333ë?r;   g\�Âõ(\ß?gR¸…ëQÀg�Âõ(\� @r/   rH   g×£p=
×	ÀrI   r8   g
×£p=
÷?gìQ¸…ëé¿gš™™™™™ñ?çìQ¸…ëÀg\�Âõ(\@çq=
×£pù¿gq=
×£p@r!   g\�Âõ(\ç¿gö(\�ÂõÀçÍÌÌÌÌÌô¿r<   gš™™™™™É?g)\�Âõ(ÀgìQ¸…ë	@g®Gáz®ÿ¿gš™™™™™ù?g\�Âõ(\Àg…ëQ¸@çffffffÀç      @r-   ç\�Âõ(\û?g=
×£p=
Àg
×£p=
@ç×£p=
×û¿r.   çHáz®GÀg¸…ëQ¸þ?çìQ¸…ëÀg
×£p=
ó?r0   gö(\�Âõð?r   g×£p=
×ã¿rL   çö(\�ÂõØ?g{®Gázü¿gÍÌÌÌÌÌ@gR¸…ëQÀg…ëQ¸…@g…ëQ¸õ¿rA   g
×£p=
Àç®Gáz@gÍÌÌÌÌÌÀr%   gÃõ(\�Âý¿gHáz®G@g®Gáz Àg®Gáz®ó¿ç¤p=
×£ü¿rT   g
×£p=
Àg¤p=
×£À¿g      Àg¸…ëQ¸@rR   gq=
×£pù?rM   g®Gáz®@rQ   g{®Gáz„?g…ëQ¸…Û¿g¤p=
×£À?g\�Âõ(\ÀgHáz®G@g      ü¿gö(\�Âõà¿r?   r   gq=
×£pñ¿g333333Ã?gáz®Gá Àr4   ç{®Gázø¿ç…ëQ¸…ó?çÍÌÌÌÌÌ Àg…ëQ¸…ë¿ç{®GázÀç=
×£p=@g)\�Âõ(Àg¤p=
×£
@gìQ¸…ëñ¿r#   gq=
×£pÀg
×£p=
ó¿r(   gHáz®Gé?ç�Âõ(\�ê¿g
×£p=
ï?g…ëQ¸…	Àg333333÷?rE   r$   g)\�Âõ(Àgáz®Gá@g…ëQ¸ÀgÃõ(\�Â	@ç…ëQ¸…ÿ¿rF   r>   g…ëQ¸…	@r[   g{®Gázø?rK   r7   r5   gffffff@r   g®Gáz®@r/   rN   g�Âõ(\�Àg333333ã¿rB   gHáz®Gõ?rG   gffffffæ?gffffffú¿gR¸…ëQô?g¸…ëQ¸ö¿gq=
×£pñ?ç      Àgö(\�Âõ@r9   g{®Gáz@gÍÌÌÌÌÌÀg®Gáz®ç?gHáz®Gñ¿g¸…ëQ¸ž¿r*   r2   g333333Àr:   gq=
×£pý¿gffffffú?g
×£p=
ÀrN   r)   g×£p=
×@g333333Àg\�Âõ(\@g®Gáz®Àg×£p=
×÷?g\�Âõ(\ó¿rW   g)\�Âõ(Àg
×£p=
@gÍÌÌÌÌÌÀrZ   gffffffÀç=
×£p=@gš™™™™™Àgš™™™™™é?r1   g      @g      Àg®Gáz®@ç¤p=
×£ô¿r:   g®Gáz®Àr    gHáz®Gý¿g®Gáz®ó?g×£p=
×ó¿rC   rY   gö(\�Âõ@g®Gáz
ÀrS   g…ëQ¸…Àg®Gáz@g®GázÀgR¸…ëQ@r   g
×£p=
×?ç�Âõ(\�ö¿g{®Gáz¤?rX   ç      ð?çìQ¸…ëý¿r^   gHáz®GÀg¸…ëQ¸@rR   g®Gázö?r   g)\�Âõ(Ì¿rb   g333333ÿ?gáz®Gáê¿r4   g…ëQ¸…Àg{®Gáz@çR¸…ëQô¿g333333@rU   ç{®Gáz
@gáz®GáÀgÍÌÌÌÌÌ@g
×£p=
÷¿r,   g)\�Âõ( Àg®Gáz®×?r_   g…ëQ¸Õ?r3   g{®Gáz@rP   rc   r\   rW   r9   g{®GázÄ¿g=
×£p=ú¿g¸…ëQ¸î¿rJ   gffffffö?rV   rd   rR   gÍÌÌÌÌÌÜ?g®Gáz®ÀrO   rD   gö(\�Âõø?r   g\�Âõ(\÷?r`   r   r"   rT   gÃõ(\�Âù¿gáz®Gá @©éÈ   é   g      @é   é   rg   é	   é   é   é   é   gÍÌÌÌÌÌ@ç      @g333333@r@   gUUUUUU@gUUUUUU@g      @g      @g      @rF   )r   rl   rg   rg   rg   rg   rl   rg   rl   rl   rl   c                   ó  — e Zd Zd„ Zd„ Zej                             d¦  «        ej                             de	j
        e	j        e	j         g¦  «        d„ ¦   «         ¦   «         Zej                             ed¬¦  «        d„ ¦   «         Zd	S )
Ú
TestWhitenc                 óÔ   — |                      ddgddgddgddgd	d
gg¦  «        }|                      ddgddgddgddgddgg¦  «        }t          t          |¦  «        |d¬¦  «         d S )Nç&cJ^|Y@g´`¹qÄ@ç™¹Õ½—	@g}†&?˜Jæ?çU…H~«
@g¨›?çæK=EíŠ@gÞÜF Mpî?ç|ÉH“@gH¦à|ú?çìcw&™ï?gb†ÆA|ê?çúÙD=¯Þã?çýâk2×È?ç'µB¿ì?çÅ)Æ;¸"~?çß|¸d=ë?çºÉûz¶õÐ?ç|æºß×Ü?çRêyÔëÝ?çñhãˆµøä>©Úrtol)Úasarrayr   r   )ÚselfÚxpÚdesiredÚobss       úY/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/cluster/tests/test_vq.pyÚtest_whitenzTestWhiten.test_whitenU   s¥   € Ø—*’*˜z¨:Ð6Ø'¨Ð4Ø'¨Ð4Ø'¨Ð4Ø'¨Ð4ð	6ñ 7ô 7ˆð �jŠj˜: zÐ2Ø% zÐ2Ø% zÐ2Ø% zÐ2Ø% zÐ2ð	4ñ 5ô 5ˆõ
 	�˜s™œ W°4Ð8Ñ8Ô8Ð8Ð8Ð8ó    c                 ó  — |                      g d¢g d¢g d¢g¦  «        }|                      g d¢g d¢g d¢g¦  «        }t          t          d|¬¦  «        5  t          |¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          ||d	¬
¦  «         d S )N)ç        ra   gÓüJJîî@)r�   ra   g° I �1õ?)r�   ra   gÁ¢KÍXó@)r�   ra   g¾/²�·ç?)r�   ra   gˆ@ý€êÕ?)r�   ra   gÂÀµ´øî?zSome columns have standard...)Úmatchr†   r�   r‚   )r„   r   ÚRuntimeWarningr   r   )r…   r†   r‡   rˆ   Úactuals        r‰   Útest_whiten_zero_stdzTestWhiten.test_whiten_zero_stdc   sþ   € Ø—*’*Ð3Ð3Ð3Ø3Ð3Ð3Ø3Ð3Ð3ð5ñ 6ô 6ˆð �jŠjÐ.Ð.Ð.Ø.Ð.Ð.Ø.Ð.Ð.ð0ñ 1ô 1ˆõ �Ð/NÐSUÐVÑVÔVð 	!ð 	!Ý˜C‘[”[ˆFð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!å˜ ¨dÐ3Ñ3Ô3Ð3Ð3Ð3s   ÁA0Á0A4Á7A4z4ignore:invalid value encountered:RuntimeWarning:daskÚ	bad_valuec                 ó�  — |                      d|gddgddgddgdd	gg¦  «        }t          |¦  «        rw|                      d
t          j        gdt          j        gdt          j        gdt          j        gdt          j        gg¦  «        }t	          t          |¦  «        |d¬¦  «         d S t          t          t
          |¦  «         d S )Nrx   ry   rz   r{   r|   r}   r~   r   r€   rs   rt   ru   rv   rw   r�   r‚   )r„   r   ÚmathÚnanr   r   Úassert_raisesÚ
ValueError)r…   r’   r†   rˆ   r‡   s        r‰   Útest_whiten_not_finitez!TestWhiten.test_whiten_not_finitep   sÙ   € ð �jŠj˜: yÐ1Ø% zÐ2Ø% zÐ2Ø% zÐ2Ø% zÐ2ð	4ñ 5ô 5ˆõ ˜ÑÔð 	3Ø—j’j :­t¬xÐ"8Ø#-­t¬xÐ"8Ø#-­t¬xÐ"8Ø#-­t¬xÐ"8Ø#-­t¬xÐ"8ð	":ñ ;ô ;ˆGõ
 �F 3™KœK¨°tÐ<Ñ<Ô<Ð<Ð<Ð<å�*¥f¨cÑ2Ô2Ð2Ð2Ð2r‹   ú)`np.matrix` unsupported in array API mode©Úreasonc           	      óÆ   — t           j        t           j        t           j         fD ];}t          d|gddgddgddgdd	gg¦  «        }t	          t
          t          |¦  «         Œ<d S )
Nrx   ry   rz   r{   r|   r}   r~   r   r€   )Únpr•   Úinfr   r–   r—   r   )r…   r’   rˆ   s      r‰   Útest_whiten_not_finite_matrixz(TestWhiten.test_whiten_not_finite_matrixƒ   s~   € õ œ¥¤­"¬&¨Ð0ð 	3ð 	3ˆIÝ˜: yÐ1Ø% zÐ2Ø% zÐ2Ø% zÐ2Ø% zÐ2ð	4ñ 5ô 5ˆCõ
 �*¥f¨cÑ2Ô2Ð2Ð2ð	3ð 	3r‹   N)Ú__name__Ú
__module__Ú__qualname__rŠ   r‘   ÚpytestÚmarkÚfilterwarningsÚparametrizer”   r•   rž   r˜   Úskipifr   rŸ   © r‹   r‰   rq   rq   R   sË   € € € € € ð9ð 9ð 9ð4ð 4ð 4ð „[×ÒÐ VÑWÔWØ„[×Ò˜[¨4¬8°T´XÀÄ¸yÐ*IÑJÔJð3ð 3ñ KÔJñ XÔWð3ð" „[×Ò˜ØJð ñ Lô Lð3ð 3ñLô Lð3ð 3ð 3r‹   rq   c                   óÌ   — e Zd Zd„ Zej                             ed¬¦  «        d„ ¦   «         Zd„ Z	ej                             ed¬¦  «        d„ ¦   «         Z
d„ Zd„ Zd	„ Zd
„ Zd„ ZdS )ÚTestVqc                 ó`  — t          j        t          d         gt          d         gt          d         gg¦  «        }t          |                     t          ¦  «        |                     |¦  «        ¦  «        d         }t          ||                     t          |j        ¬¦  «        d¬¦  «         d S )Nr   rl   rg   ©ÚdtypeF©Úcheck_dtype)r�   ÚconcatenateÚXr
   r„   r   ÚLABEL1Úint64)r…   r†   ÚinitcÚlabel1s       r‰   Ú
test_py_vqzTestVq.test_py_vq’   sŽ   € Ý”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆå�r—z’z¥!‘}”} b§j¢j°Ñ&7Ô&7Ñ8Ô8¸Ô;ˆÝ˜ §
¢
­6¸¼ 
Ñ BÔ BØ$)ð	+ñ 	+ô 	+ð 	+ð 	+ð 	+r‹   r™   rš   c                 ó  — t          j        t          d         gt          d         gt          d         gg¦  «        }t          t	          t          ¦  «        t	          |¦  «        ¦  «        d         }t          |t          ¦  «         d S ©Nr   rl   rg   )r�   r°   r±   r
   r   r   r²   )r…   r´   rµ   s      r‰   Útest_py_vq_matrixzTestVq.test_py_vq_matrix™   sb   € õ ”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆå•v�a‘y”y¥&¨¡-¤-Ñ0Ô0°Ô3ˆÝ˜6¥6Ñ*Ô*Ð*Ð*Ð*r‹   c                 ó\  — t          j        t          d         gt          d         gt          d         gg¦  «        }t          j        t          |¦  «        \  }}t          |t          ¦  «         t	          |                     t          ¦  «        |                     |¦  «        ¦  «        \  }}d S r¸   )r�   r°   r±   r   r   r   r²   r„   )r…   r†   r´   rµ   Ú_s        r‰   Útest_vqzTestVq.test_vq¡   s|   € Ý”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆÝ”F�1˜eÑ$Ô$‰	ˆ�Ý˜6¥6Ñ*Ô*Ð*Ý�"—*’*�Q‘-”- §¢¨EÑ!2Ô!2Ñ3Ô3‰ˆˆ1ˆ1ˆ1r‹   c                 óx  — t          j        t          d         gt          d         gt          d         gg¦  «        }t          j        t          t          ¦  «        t          |¦  «        ¦  «        \  }}t          |t          ¦  «         t	          t          t          ¦  «        t          |¦  «        ¦  «        \  }}d S r¸   )r�   r°   r±   r   r   r   r   r²   )r…   r´   rµ   r»   s       r‰   Útest_vq_matrixzTestVq.test_vq_matrix§   s€   € õ ”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆÝ”F�6¥!™9œ9¥f¨U¡m¤mÑ4Ô4‰	ˆ�Ý˜6¥6Ñ*Ô*Ð*Ý•&�‘)”)�V E™]œ]Ñ+Ô+‰ˆˆ1ˆ1ˆ1r‹   c                 óÔ  — t           d d …df         }|d d…         }t          j        ||¦  «        \  }}|                     |¦  «        }|                     |¦  «        }t	          |d d …t
          j        f         |d d …t
          j        f         ¦  «        \  }}t          ||                     ||j        ¬¦  «        d¬¦  «         t          ||                     |¦  «        ¦  «         d S )Nr   rh   r¬   Fr®   )	r±   r   r   r„   r
   r�   Únewaxisr   r³   )r…   r†   Údatar´   ÚaÚbÚtaÚtbs           r‰   Ú
test_vq_1dzTestVq.test_vq_1d¯   sÏ   € å����A�ŒwˆØ�R�a�R”ˆÝŒv�d˜EÑ"Ô"‰ˆˆ1Ø�zŠz˜$ÑÔˆØ—
’
˜5Ñ!Ô!ˆÝ�t˜A˜A˜A�rœz˜MÔ*¨E°!°!°!µR´Z°-Ô,@ÑAÔA‰ˆˆBå˜˜BŸJšJ q°´˜JÑ9Ô9ÀuÐMÑMÔMÐMÝ˜˜BŸJšJ q™MœMÑ*Ô*Ð*Ð*Ð*r‹   c                 ó²   — t          j        ddg¦  «        }|                     t           j        ¦  «        }t	          t
          t          j        ||¦  «         d S )Nra   g       @)r�   r„   ÚastypeÚfloat32r–   Ú	TypeErrorr   r   )r…   rÂ   rÃ   s      r‰   Útest__vq_sametypezTestVq.test__vq_sametype»   sD   € ÝŒJ˜˜S�zÑ"Ô"ˆØ�HŠH•R”ZÑ Ô ˆÝ•i¥¤¨¨AÑ.Ô.Ð.Ð.Ð.r‹   c                 ó‚   — t          j        ddgt          ¬¦  «        }t          t          t
          j        ||¦  «         d S )Nrl   rg   r¬   )r�   r„   Úintr–   rÊ   r   r   )r…   rÂ   s     r‰   Útest__vq_invalid_typezTestVq.test__vq_invalid_typeÀ   s6   € ÝŒJ˜˜1�v¥SÐ)Ñ)Ô)ˆÝ•i¥¤¨¨AÑ.Ô.Ð.Ð.Ð.r‹   c                 ó˜  — t           j                             dd¦  «        }t           j                             dd¦  «        }t          j        ||¦  «        \  }}t          |                     |¦  «        |                     |¦  «        ¦  «        \  }}t          ||                     |¦  «        d¬¦  «         t          ||                     ||j	        ¬¦  «        d¬¦  «         | 
                    t           j        ¦  «        }| 
                    t           j        ¦  «        }t          j        ||¦  «        \  }}t          |                     |¦  «        |                     |¦  «        ¦  «        \  }}t          ||                     ||j        ¬¦  «        d¬¦  «         t          ||                     ||j	        ¬¦  «        d¬¦  «         d S )Né   rh   r�   r‚   r¬   Fr®   )r�   ÚrandomÚrandr   r   r
   r„   r   r   r³   rÈ   rÉ   Úfloat64©r…   r†   r±   Ú	code_bookÚcodes0Údis0Úcodes1Údis1s           r‰   Útest_vq_large_nfeatzTestVq.test_vq_large_nfeatÄ   s|  € ÝŒI�NŠN˜2˜rÑ"Ô"ˆÝ”I—N’N 1 bÑ)Ô)ˆ	å”v˜a Ñ+Ô+‰ˆ�ÝØ�JŠJ�q‰MŒM˜2Ÿ:š: iÑ0Ô0ñ
ô 
‰ˆ�õ 	˜˜bŸjšj¨Ñ.Ô.°TÐ:Ñ:Ô:Ð:å˜ §
¢
¨6¸¼ 
Ñ BÔ BÐPUÐVÑVÔVÐVà�HŠH•R”ZÑ Ô ˆØ×$Ò$¥R¤ZÑ0Ô0ˆ	å”v˜a Ñ+Ô+‰ˆ�ÝØ�JŠJ�q‰MŒM˜2Ÿ:š: iÑ0Ô0ñ
ô 
‰ˆ�õ 	˜˜bŸjšj¨°R´Z˜jÑ@Ô@ÀtÐLÑLÔLÐLå˜ §
¢
¨6¸¼ 
Ñ BÔ BÐPUÐVÑVÔVÐVÐVÐVr‹   c                 óÖ  — t           j                             dd¦  «        dz  }t           j                             dd¦  «        dz  }t          j        ||¦  «        \  }}t          |                     |¦  «        |                     |¦  «        ¦  «        \  }}t          ||                     |¦  «        d¬¦  «         t          ||                     ||j	        ¬¦  «        d¬	¦  «         d S )
Né
   rk   i@B rg   r�   r‚   r¬   Fr®   )
r�   rÑ   rÒ   r   r   r
   r„   r   r   r³   rÔ   s           r‰   Útest_vq_large_featureszTestVq.test_vq_large_featuresÛ   sÊ   € ÝŒI�NŠN˜2˜qÑ!Ô! GÑ+ˆÝ”I—N’N 1 aÑ(Ô(¨7Ñ2ˆ	å”v˜a Ñ+Ô+‰ˆ�ÝØ�JŠJ�q‰MŒM˜2Ÿ:š: iÑ0Ô0ñ
ô 
‰ˆ�õ 	˜˜bŸjšj¨Ñ.Ô.°TÐ:Ñ:Ô:Ð:å˜ §
¢
¨6¸¼ 
Ñ BÔ BÐPUÐVÑVÔVÐVÐVÐVr‹   N)r    r¡   r¢   r¶   r£   r¤   r§   r   r¹   r¼   r¾   rÆ   rË   rÎ   rÚ   rÝ   r¨   r‹   r‰   rª   rª   �   s  € € € € € ð+ð +ð +ð „[×Ò˜ØJð ñ Lô Lð+ð +ñLô Lð+ð4ð 4ð 4ð „[×Ò˜ØJð ñ Lô Lð,ð ,ñLô Lð,ð
+ð 
+ð 
+ð/ð /ð /ð
/ð /ð /ðWð Wð Wð.
Wð 
Wð 
Wð 
Wð 
Wr‹   rª   c                   óž  — e Zd Zd„ Zd„ Zej                             ed¬¦  «        d„ ¦   «         Z	d„ Z
d„ Zej                             ed¬¦  «        d„ ¦   «         Zd	„ Zd
„ Zd„ Zd„ Zej        d„ ¦   «         Z edd¬¦  «        ej                             ej        dk    d¬¦  «        d„ ¦   «         ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú
TestKMeansc                 ó4  — d}d}t           j                             |¦  «        }t           j                             |¦  «        }dt           j                             ||¦  «        z  d|z  z
  }dt           j                             ||¦  «        z  d|z  z   }t          j        |j        d         |j        d         z   |ft           j        ¦  «        }||d |j        d         …<   |||j        d         d …<   t          |                     |¦  «        dd¬¦  «         d S )	Ni,  éd   i'  i N  r   rg   rl   ©Úseed)r�   rÑ   ÚrandnÚemptyÚshaperÓ   r   r„   )	r…   r†   ÚdÚnÚm1Úm2ÚxÚyrÁ   s	            r‰   Útest_large_featureszTestKMeans.test_large_featuresí   sô   € ð ˆØˆåŒY�_Š_˜QÑÔˆÝŒY�_Š_˜QÑÔˆØ•B”I—O’O A qÑ)Ô)Ñ)¨E°B©JÑ6ˆØ•B”I—O’O A qÑ)Ô)Ñ)¨E°B©JÑ6ˆåŒx˜œ œ a¤g¨a¤jÑ0°!Ð4µb´jÑAÔAˆØˆˆ[ˆaŒg�aŒjˆ[ÑØˆˆQŒW�QŒZˆ[ˆ[Ñõ 	ˆr�zŠz˜$ÑÔ ¨Ð+Ñ+Ô+Ð+Ð+Ð+r‹   c                 ó’  — t           j                             d¦  «        }t          j        t          d         gt          d         gt          d         gg¦  «        }t          |                     t          ¦  «        |                     |¦  «        d|¬¦  «        d         }t          ||                     t          ¦  «        ¦  «         d S ©Ni1Ô  r   rl   rg   ©ÚiterÚrng)	r�   rÑ   Údefault_rngr°   r±   r   r„   r   ÚCODET2)r…   r†   rò   r´   Úcode1s        r‰   Útest_kmeans_simplezTestKMeans.test_kmeans_simpleÿ   s’   € ÝŒi×#Ò# EÑ*Ô*ˆÝ”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆÝ�r—z’z¥!‘}”} b§j¢j°Ñ&7Ô&7¸aÀSÐIÑIÔIÈ!ÔLˆÝ˜˜rŸzšz­&Ñ1Ô1Ñ2Ô2Ð2Ð2Ð2r‹   r™   rš   c                 óT  — t           j                             d¦  «        }t          j        t          d         gt          d         gt          d         gg¦  «        }t          t          t          ¦  «        t          |¦  «        d|¬¦  «        d         }t          |t          ¦  «         d S rï   )	r�   rÑ   ró   r°   r±   r   r   r   rô   )r…   rò   r´   rõ   s       r‰   Útest_kmeans_simple_matrixz$TestKMeans.test_kmeans_simple_matrix  s~   € õ Œi×#Ò# EÑ*Ô*ˆÝ”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆÝ•v�a‘y”y¥&¨¡-¤-°a¸SÐAÑAÔAÀ!ÔDˆÝ˜�vÑ&Ô&Ð&Ð&Ð&r‹   c                 ó‚  — |                      t          ¦  «        }|                      ddgddgddgg¦  «        }t          ||¦  «         t          j        ¦   «         5  t          j        ddt          ¦  «         t          ||d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          t          ||d¬
¦  «         d S )Ng5âü ý¿g´§ì!{å¿gLÜ¦^ @gÍ›ý`dò²?g€8Ýìî}Àg?�½îkª¿ÚignorezKOne of the clusters is empty. Re-run kmeans with a different initializationÚwarn)ÚmissingÚraise)
r„   ÚTESTDATA_2Dr   ÚwarningsÚcatch_warningsr¥   ÚUserWarningr	   r–   r   )r…   r†   rÁ   Úinitks       r‰   Útest_kmeans_lost_clusterz#TestKMeans.test_kmeans_lost_cluster  s  € à�zŠz�+Ñ&Ô&ˆØ—
’
˜Z¨Ð5Ø'¨Ð4Ø(¨+Ð6ð8ñ 9ô 9ˆõ 	ˆt�UÑÔÐÝÔ$Ñ&Ô&ð 	1ð 	1ÝÔ#Øð"åñ	ô ð õ �D˜%¨Ð0Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1õ 	•l¥G¨T°5À'ÐJÑJÔJÐJÐJÐJs   Á.BÂBÂBc                 óŽ  — t           j                             d¦  «        }|                     t          j        t
          d         gt
          d         gt
          d         gg¦  «        ¦  «        }t          r|j        gnt           j        t          g}|D ]²}t           |t
          ¦  «         ||¦  «        d|¬¦  «        d         }t           |t
          ¦  «         ||¦  «        d|¬¦  «        d         }t          ||                     t          ¦  «        ¦  «         t          ||                     t          ¦  «        ¦  «         Œ³d S ©NéNa¼ r   rl   rg   rð   )r�   rÑ   ró   r„   r°   r±   r   r   r	   r   ÚCODET1rô   )r…   r†   rò   r´   ÚarraysÚtprõ   Úcode2s           r‰   Útest_kmeans2_simplezTestKMeans.test_kmeans2_simple   s  € ÝŒi×#Ò# HÑ-Ô-ˆØ—
’
�2œ>­A¨a¬D¨6µA°a´D°6½A¸a¼D¸6Ð*BÑCÔCÑDÔDˆÝ!0ÐJ�"”*��µr´zÅ6Ð6JˆØð 	7ð 	7ˆBÝ˜B˜B�q™EœE 2 2 e¡9¤9°1¸#Ð>Ñ>Ô>¸qÔAˆEÝ˜B˜B�q™EœE 2 2 e¡9¤9°1¸#Ð>Ñ>Ô>¸qÔAˆEå˜E 2§:¢:­fÑ#5Ô#5Ñ6Ô6Ð6Ý˜E 2§:¢:­fÑ#5Ô#5Ñ6Ô6Ð6Ð6ð	7ð 	7r‹   c                 óî  — t           j                             d¦  «        }t          j        t          d         gt          d         gt          d         gg¦  «        }t          t          t          ¦  «        t          |¦  «        d|¬¦  «        d         }t          t          t          ¦  «        t          |¦  «        d|¬¦  «        d         }t          |t          ¦  «         t          |t          ¦  «         d S r  )
r�   rÑ   ró   r°   r±   r	   r   r   r  rô   )r…   rò   r´   rõ   r
  s        r‰   Útest_kmeans2_simple_matrixz%TestKMeans.test_kmeans2_simple_matrix+  sµ   € õ Œi×#Ò# HÑ-Ô-ˆÝ”¥ 1¤ ­¨1¬¨µ°1´°Ð7Ñ8Ô8ˆÝ��q™	œ	¥6¨%¡=¤=°q¸cÐBÑBÔBÀ1ÔEˆÝ��q™	œ	¥6¨%¡=¤=°q¸cÐBÑBÔBÀ1ÔEˆå˜�vÑ&Ô&Ð&Ý˜�vÑ&Ô&Ð&Ð&Ð&r‹   c                 óê   — |                      t          ¦  «        }|d d …df         }|d d…         }t          ||¬¦  «        }t          ||dd¬¦  «        d          t          ||d¬¦  «        d          d S )Nr   rh   ©r†   rl   )rñ   rã   rg   ©rñ   )r„   rþ   r   r	   )r…   r†   rÁ   Údata1r´   Úcodes         r‰   Útest_kmeans2_rank1zTestKMeans.test_kmeans2_rank16  s�   € Ø�zŠz�+Ñ&Ô&ˆØ�Q�Q�Q˜�T”
ˆà�b�q�b”	ˆÝ�u Ð$Ñ$Ô$ˆõ 	��t !¨!Ð,Ñ,Ô,¨QÔ/Ð/Ý��t !Ð$Ñ$Ô$ QÔ'Ð'Ð'Ð'r‹   c                 óv   — |                      t          ¦  «        }|d d …df         }t          |dd¬¦  «         d S )Nr   rg   rl   r  )r„   rþ   r	   )r…   r†   rÁ   r  s       r‰   Útest_kmeans2_rank1_2zTestKMeans.test_kmeans2_rank1_2A  s?   € Ø�zŠz�+Ñ&Ô&ˆØ�Q�Q�Q˜�T”
ˆÝ��q˜qÐ!Ñ!Ô!Ð!Ð!Ð!r‹   c                 óž   — |                      t          ¦  «        }|                     |d¦  «        d d…d d …f         }t          |d¦  «         d S )N©rÐ   rÐ   rÜ   rg   )r„   rþ   Úreshaper	   )r…   r†   rÁ   s      r‰   Útest_kmeans2_high_dimz TestKMeans.test_kmeans2_high_dimF  sO   € ð �zŠz�+Ñ&Ô&ˆØ�zŠz˜$ Ñ)Ô)¨#¨2¨#¨q¨q¨q¨&Ô1ˆÝ��aÑÔÐÐÐr‹   c                 ó  — t           j                             d¦  «        }|                     t          ¦  «        }d}t          ||d|¬¦  «         t          |d d …df         |d|¬¦  «         t          ||d|¬¦  «         t          |d d …df         |d|¬¦  «         t          j        ¦   «         5  t          j        dd¦  «         t          ||d	|¬¦  «         t          |d d …df         |d	|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr  rh   Úpoints©Úminitrò   rl   ú++rú   z%One of the clusters is empty. Re-run.rÑ   )	r�   rÑ   ró   r„   rþ   r	   rÿ   r   r¥   )r…   r†   rò   rÁ   Úks        r‰   Útest_kmeans2_initzTestKMeans.test_kmeans2_initM  sd  € ÝŒi×#Ò# HÑ-Ô-ˆØ�zŠz�+Ñ&Ô&ˆØˆå��a˜x¨SÐ1Ñ1Ô1Ð1Ý��Q�Q�Q˜�T”
˜A X°3Ð7Ñ7Ô7Ð7å��a˜t¨Ð-Ñ-Ô-Ð-Ý��Q�Q�Q˜�T”
˜A T¨sÐ3Ñ3Ô3Ð3õ Ô$Ñ&Ô&ð 	<ð 	<ÝÔ# HÐ.UÑVÔVÐVÝ�D˜! 8°Ð5Ñ5Ô5Ð5Ý�D˜˜˜˜A˜”J ¨°sÐ;Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s   Â/ADÄDÄ	Dc                 ó   — t          ¦   «         S )Nr   )r…   s    r‰   Ú
krand_lockzTestKMeans.krand_lock^  s   € å‰vŒvˆr‹   z
dask.arrayzWrong answerÚwin32zFails with MemoryError in Wine.c                 óü  — |                      t          ¦  «        }|                     |d¦  «        |                     |d¦  «        d d…d d …f         g}t          d¦  «        }|5  |D ]{}t          j                             d¦  «        }t          ||||¦  «        }t          j	        |j
        |¬¦  «        }t          j	        |j
        |¬¦  «        }	t          ||	d¬¦  «         Œ|	 d d d ¦  «         d S # 1 swxY w Y   d S )	Nre   r  rÜ   g    €„.AéÒ  r  gºI+‡†?)Úatol)r„   rþ   r  rÍ   r�   rÑ   ró   r   ÚxpxÚcovÚTr   )
r…   r†   r"  rÁ   Údatasr  rò   ÚinitÚorig_covÚinit_covs
             r‰   Útest_krandinitzTestKMeans.test_krandinitb  s[  € ð �zŠz�+Ñ&Ô&ˆØ—’˜D (Ñ+Ô+Ø—’˜D (Ñ+Ô+¨C¨R¨C°°°¨FÔ3ð5ˆå�‰HŒHˆØð 	Að 	AØð Að A�Ý”i×+Ò+¨DÑ1Ô1�Ý! $¨¨3°Ñ3Ô3�Ýœ7 4¤6¨bÐ1Ñ1Ô1�Ýœ7 4¤6¨bÐ1Ñ1Ô1�Ý ¨(¸Ð@Ñ@Ô@Ð@Ð@ðAð	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	As   Á$A?C1Ã1C5Ã8C5c                 ód   — t          t          t          |                     g ¦  «        d¦  «         d S )Nrg   )r–   r—   r	   r„   ©r…   r†   s     r‰   Útest_kmeans2_emptyzTestKMeans.test_kmeans2_emptyr  s&   € å•j¥'¨2¯:ª:°b©>¬>¸1Ñ=Ô=Ð=Ð=Ð=r‹   c                 ód  — t          t          t          |                     t          ¦  «        d¦  «         t          t          t
          |                     t          ¦  «        d¦  «         t          t          t
          |                     t          ¦  «        |                     g ¦  «        ¦  «         d S )Nr   )r–   r—   r   r„   r±   r	   r0  s     r‰   Útest_kmeans_0kzTestKMeans.test_kmeans_0kv  sl   € å•j¥&¨"¯*ª*µQ©-¬-¸Ñ;Ô;Ð;Ý•j¥'¨2¯:ª:µa©=¬=¸!Ñ<Ô<Ð<Ý•j¥'¨2¯:ª:µa©=¬=¸"¿*º*ÀR¹.¼.ÑIÔIÐIÐIÐIr‹   c                 ó4  — |                      g d¢|j        ¬¦  «        }t          |dd¬¦  «        }t          |d         |                      dg|j        ¬¦  «        ¦  «         t          |d         |                      d|j        ¬¦  «        d	         ¦  «         d S )
N)rl   rg   rh   ri   rÜ   r¬   rl   g €à7yÃAC)Úthreshr   ro   g333333@r¨   ©r„   rÓ   r   r   )r…   r†   rë   Úress       r‰   Útest_kmeans_large_thresz"TestKMeans.test_kmeans_large_thres|  s�   € à�JŠJÐ'Ð'Ð'¨r¬zˆJÑ:Ô:ˆÝ�Q˜ $Ð'Ñ'Ô'ˆÝ˜˜Aœ §
¢
¨B¨4°r´z 
Ñ BÔ BÑCÔCÐCÝ˜˜Aœ §
¢
Ð+=ÀRÄZ 
Ñ PÔ PÐQSÔ TÑUÔUÐUÐUÐUr‹   c                 ó  — t           j                             d¦  «        }|                     ddgddgg|j        ¬¦  «        }t          |                     t          ¦  «        dd|¬	¦  «        \  }}t          ||¦  «         d S )
Nl   ÈC.�tà gC:úg>ÿ¿g#Ûù~j¼ì?g'1¬:	Àg-²�ï'@r¬   rg   r  r  )r�   rÑ   ró   r„   rÓ   r	   rþ   r   )r…   r†   rò   Úprev_resr7  r»   s         r‰   Útest_kmeans2_kpp_low_dimz#TestKMeans.test_kmeans2_kpp_low_dimƒ  s‡   € åŒi×#Ò#Ð$7Ñ8Ô8ˆØ—:’: ¨UÐ3Ø )¨6Ð2ð4Ø;=¼:ð ñ Gô Gˆå˜Ÿš¥KÑ0Ô0°!¸4ÀSÐIÑIÔI‰ˆˆQÝ˜˜XÑ&Ô&Ð&Ð&Ð&r‹   c           	      ó˜  — t           j                             d¦  «        }d}d}t          j        dt          j        |¦  «        z  dt          j        |¦  «        z  g¦  «        }t          j        |                     |d         t          j        |¦  «        |¬¦  «        |                     |d         t          j        |¦  «        |¬¦  «        g¦  «        }|                     |¦  «        }t          |d	d
|¬¦  «        \  }}t          | 
                    |¦  «        | 
                    |                     |¦  «        ¦  «        ¦  «         d S )Nl   <DM]4žrá   rÜ   rk   éûÿÿÿr   )Úsizerl   rg   r  r  )r�   rÑ   ró   ÚvstackÚonesÚmultivariate_normalÚeyer„   r	   r   Úsign)	r…   r†   rò   Ún_dimr>  ÚcentersrÁ   r7  r»   s	            r‰   Útest_kmeans2_kpp_high_dimz$TestKMeans.test_kmeans2_kpp_high_dim‹  s  € åŒi×#Ò#Ð$5Ñ6Ô6ˆØˆØˆÝ”)˜Q¥¤¨¡¤Ñ/Ø¥"¤'¨%¡.¤.Ñ0ð2ñ 3ô 3ˆõ ŒyØ×#Ò# G¨A¤Jµ´°u±´ÀDÐ#ÑIÔIØ×#Ò# G¨A¤Jµ´°u±´ÀDÐ#ÑIÔIð
ñ ô ˆð
 �zŠz˜$ÑÔˆÝ˜˜q¨°#Ð6Ñ6Ô6‰ˆˆQÝ˜Ÿš ™œ b§g¢g¨b¯jªj¸Ñ.AÔ.AÑ&BÔ&BÑCÔCÐCÐCÐCr‹   c                 ó\  — |                      g d¢|j        ¬¦  «        }t          ||                      ddg¦  «        ¦  «        }t          |d         |                      ddg|j        ¬¦  «        ¦  «         t          |d         |                      d	|j        ¬¦  «        d
         ¦  «         d S )N)éýÿÿÿéÿÿÿÿr   rl   rl   é   r¬   r]   g®Gáz®ï?r   gš™™™™™Ù¿g       @rl   gñ?r¨   r6  )r…   r†   rˆ   r7  s       r‰   Útest_kmeans_diff_convergencez'TestKMeans.test_kmeans_diff_convergenceœ  sœ   € à�jŠjÐ-Ð-Ð-°R´ZˆjÑ@Ô@ˆÝ�S˜"Ÿ*š* c¨4 [Ñ1Ô1Ñ2Ô2ˆÝ˜˜Aœ §
¢
¨D°2¨;¸b¼j 
Ñ IÔ IÑJÔJÐJÝ˜˜Aœ §
¢
Ð+=ÀRÄZ 
Ñ PÔ PÐQSÔ TÑUÔUÐUÐUÐUr‹   c                 óô  — dt           j                             d¦  «        t           j                             d¦  «        g}|D ]µ}t	          |¦  «        }t	          |¦  «        }|                     t          ¦  «        }t          |d|¬¦  «        \  }}t          |d|¬¦  «        \  }	}t          ||	¦  «         dD ]>}
t          |d|
|¬¦  «        \  }}t          |d|
|¬¦  «        \  }	}t          ||	¦  «         Œ?Œ¶d S )Nr%  rg   râ   )rÑ   r  r  )r  rã   )
r�   rÑ   ÚRandomStateró   r   r„   rþ   r   r   r	   )r…   r†   Ú	seed_listrã   Úseed1Úseed2rÁ   Úres1r»   Úres2r  s              r‰   Ú#test_kmeans_and_kmeans2_random_seedz.TestKMeans.test_kmeans_and_kmeans2_random_seed£  s  € ð •"”)×'Ò'¨Ñ-Ô-­r¬y×/DÒ/DÀTÑ/JÔ/Jð
ˆ	ð ð 	,ð 	,ˆDÝ˜T‘N”NˆEÝ˜T‘N”NˆEØ—:’:�kÑ*Ô*ˆDå˜T 1¨5Ð1Ñ1Ô1‰GˆD�!Ý˜T 1¨5Ð1Ñ1Ô1‰GˆD�!Ý˜D $Ñ'Ô'Ð'à3ð ,ð ,�Ý! $¨°¸UÐCÑCÔC‘��aÝ! $¨°¸UÐCÑCÔC‘��aÝ  dÑ+Ô+Ð+Ð+ð,ð	,ð 	,r‹   N)r    r¡   r¢   rí   rö   r£   r¤   r§   r   rø   r  r  r  r  r  r  r   Úfixturer"  Úxfail_xp_backendsÚsysÚplatformr.  r1  r3  r8  r;  rF  rK  rS  r¨   r‹   r‰   rß   rß   ê   s   € € € € € ð,ð ,ð ,ð$3ð 3ð 3ð „[×Ò˜ØJð ñ Lô Lð'ð 'ñLô Lð'ðKð Kð Kð&	7ð 	7ð 	7ð „[×Ò˜ØJð ñ Lô Lð'ð 'ñLô Lð'ð	(ð 	(ð 	(ð"ð "ð "ð
ð ð ð<ð <ð <ð" „^ðð ñ „^ðð Ð�|¨NÐ;Ñ;Ô;Ø„[×Ò˜œ¨Ò/Ø@ð ñ Bô BðAð AñBô Bñ <Ô;ðAð>ð >ð >ðJð Jð JðVð Vð Vð'ð 'ð 'ðDð Dð Dð"Vð Vð Vð,ð ,ð ,ð ,ð ,r‹   rß   )2r”   rV  rÿ   Úcopyr   Ú	threadingr   Únumpyr�   Únumpy.testingr   r£   r   r–   Úscipy.cluster.vqr   r	   r
   r   r   r   r   Úscipy.clusterr   Úscipy.sparse._sputilsr   Ú
scipy._libr   r'  Úscipy._lib._array_apir   r   r   r   r   r   r   r¤   rU  Úskip_xp_backendsÚarrayr  rþ   r±   r  rô   r²   rq   rª   rß   r¨   r‹   r‰   ú<module>rc     sw  ðØ €€€Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø €€€Ø *Ð *Ð *Ð *Ð *Ð *ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8à Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (à -Ð -Ð -Ð -Ð -Ð -ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð
 ”KÔ1Ð Ø”;Ô/Ð àˆbŒhð %
ð %
ð %
ñ %ô %÷J Š7�8ÑÔðK ðR €B„Hˆs�Aˆh˜˜A˜  A Ø�!ˆf�q˜!�f˜q !˜f q¨! fØ�!ˆf�q˜!�f˜q !˜f q¨! fð.ñ /ô /€ð 
ˆŒ�F˜FÐ#Ø˜FÐ#Ø˜FÐ#ð%ñ 
&ô 
&€ð 
ˆŒ�F˜E�?Ø˜FÐ#Ø˜FÐ#ð%ñ 
&ô 
&€ð 
ˆŒÐ3Ð3Ð3Ñ	4Ô	4€ð Ð�6ÑÔð93ð 93ð 93ð 93ð 93ñ 93ô 93ñ Ôð93ðx Ð�2ÑÔðUWð UWð UWð UWð UWñ UWô UWñ ÔðUWðt Ð�6˜7Ñ#Ô#ðJ,ð J,ð J,ð J,ð J,ñ J,ô J,ñ $Ô#ðJ,ð J,ð J,r‹   