Ë
    qwjRG  ã                   óà  — 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jJ                  jL                  Z&ejJ                  jN                  Z' ejP                  g d¢«      jS                  d«      Z* ejP                  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jP                  ddgddgddgg«      Z, ejP                  ddgddgddgg«      Z- ejP                  g d ¢«      Z. e!e«       G d!„ d"«      «       Z/ e!e«       G d#„ d$«      «       Z0 e!ee«       G d%„ d&«      «       Z1y)'é    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                  j                  d«      ej                  j                  de	j                  e	j                  e	j                   g«      d„ «       «       Zej                  j                  ed¬«      d„ «       Zy	)
Ú
TestWhitenc                 ó²   — |j                  ddgddgddgddgd	d
gg«      }|j                  ddgddgddgddgddgg«      }t        t        |«      |d¬«       y )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       ú`/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/cluster/tests/test_vq.pyÚtest_whitenzTestWhiten.test_whitenU   sŠ   € Ø—*‘*˜z¨:Ð6Ø'¨Ð4Ø'¨Ð4Ø'¨Ð4Ø'¨Ð4ð	6ó 7ˆð �j‰j˜: zÐ2Ø% zÐ2Ø% zÐ2Ø% zÐ2Ø% zÐ2ð	4ó 5ˆô
 	œ˜s› W°4Ö8ó    c                 óì   — |j                  g d¢g d¢g d¢g«      }|j                  g d¢g d¢g d¢g«      }t        t        d|¬«      5  t        |«      }d d d «       t	        |d	¬
«       y # 1 sw Y   ŒxY w)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   sq   € Ø—*‘*Ò3Ú3Ú3ð5ó 6ˆð �j‰jÒ.Ú.Ú.ð0ó 1ˆô œÐ/NÐSUÖVÜ˜C“[ˆF÷ Wä˜ ¨dÖ3÷ WÐVús   ÁA*Á*A3z4ignore:invalid value encountered:RuntimeWarning:daskÚ	bad_valuec                 ó€  — |j                  d|gddgddgddgdd	gg«      }t        |«      r~|j                  d
t        j                  gdt        j                  gdt        j                  gdt        j                  gdt        j                  gg«      }t	        t        |«      |d¬«       y t        t        t
        |«       y )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ˆô ˜ÔØ—j‘j :¬t¯x©xÐ"8Ø#-¬t¯x©xÐ"8Ø#-¬t¯x©xÐ"8Ø#-¬t¯x©xÐ"8Ø#-¬t¯x©xÐ"8ð	":ó ;ˆGô
 œF 3›K¨°tÖ<äœ*¤f¨cÕ2r‹   ú)`np.matrix` unsupported in array API mode©Úreasonc           	      óÌ   — t         j                  t         j                  t         j                   fD ]1  }t        d|gddgddgddgdd	gg«      }t	        t
        t        |«       Œ3 y )
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ƒ   sg   € ô Ÿ™¤§¡¬"¯&©&¨Ó0ˆIÜ˜: yÐ1Ø% zÐ2Ø% zÐ2Ø% zÐ2Ø% zÐ2ð	4ó 5ˆCô
 œ*¤f¨cÕ2ñ 1r‹   N)Ú__name__Ú
__module__Ú__qualname__rŠ   r‘   ÚpytestÚmarkÚfilterwarningsÚparametrizer”   r•   rž   r˜   Úskipifr   rŸ   © r‹   r‰   rq   rq   R   s�   „ ò9ò4ð ‡[�[×ÑÐ VÓWØ‡[�[×Ñ˜[¨4¯8©8°T·X±XÀÇÁ¸yÐ*IÓJñ3ó Kó Xð3ð" ‡[�[×Ñ˜ØJð ó Lñ3óLñ3r‹   rq   c                   óÂ   — e Zd Zd„ Zej
                  j                  ed¬«      d„ «       Zd„ Z	ej
                  j                  ed¬«      d„ «       Z
d„ Zd„ Zd	„ Zd
„ Zd„ Zy)ÚTestVqc                 ó   — t        j                  t        d   gt        d   gt        d   gg«      }t        |j	                  t        «      |j	                  |«      «      d   }t        ||j	                  t        |j                  ¬«      d¬«       y )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’   sk   € Ü—‘¤ 1¡ ¬¨1©¨´°1±°Ð7Ó8ˆä�r—z‘z¤!“} b§j¡j°Ó&7Ó8¸Ñ;ˆÜ˜ §
¡
¬6¸¿¹ 
Ó BØ$)ö	+r‹   r™   rš   c                 óÎ   — t        j                  t        d   gt        d   gt        d   gg«      }t        t	        t        «      t	        |«      «      d   }t        |t        «       y ©Nr   rl   rg   )r�   r°   r±   r
   r   r   r²   )r…   r´   rµ   s      r‰   Útest_py_vq_matrixzTestVq.test_py_vq_matrix™   sN   € ô —‘¤ 1¡ ¬¨1©¨´°1±°Ð7Ó8ˆä”vœa“y¤&¨£-Ó0°Ñ3ˆÜ˜6¤6Õ*r‹   c                 ó   — t        j                  t        d   gt        d   gt        d   gg«      }t        j                  t        |«      \  }}t        |t        «       t	        |j                  t        «      |j                  |«      «      \  }}y r¸   )r�   r°   r±   r   r   r   r²   r„   )r…   r†   r´   rµ   Ú_s        r‰   Útest_vqzTestVq.test_vq¡   sh   € Ü—‘¤ 1¡ ¬¨1©¨´°1±°Ð7Ó8ˆÜ—F‘Fœ1˜eÓ$‰	ˆ�Ü˜6¤6Ô*Ü�"—*‘*œQ“- §¡¨EÓ!2Ó3‰ˆ‰1r‹   c                 ó,  — t        j                  t        d   gt        d   gt        d   gg«      }t        j                  t        t        «      t        |«      «      \  }}t        |t        «       t	        t        t        «      t        |«      «      \  }}y r¸   )r�   r°   r±   r   r   r   r   r²   )r…   r´   rµ   r»   s       r‰   Útest_vq_matrixzTestVq.test_vq_matrix§   si   € ô —‘¤ 1¡ ¬¨1©¨´°1±°Ð7Ó8ˆÜ—F‘Fœ6¤!›9¤f¨U£mÓ4‰	ˆ�Ü˜6¤6Ô*Ü”&œ“)œV E›]Ó+‰ˆ‰1r‹   c                 ó˜  — t         d d …df   }|d d }t        j                  ||«      \  }}|j                  |«      }|j                  |«      }t	        |d d …t
        j                  f   |d d …t
        j                  f   «      \  }}t        ||j                  ||j                  ¬«      d¬«       t        ||j                  |«      «       y )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�ˆÜ�v‰v�d˜EÓ"‰ˆˆ1Ø�z‰z˜$ÓˆØ—
‘
˜5Ó!ˆÜ�tšAœrŸz™z˜MÑ*¨E²!´R·Z±Z°-Ñ,@ÓA‰ˆˆBä˜˜BŸJ™J q°·±˜JÓ9ÀuÕMÜ˜˜BŸJ™J q›MÕ*r‹   c                 ó°   — t        j                  ddg«      }|j                  t         j                  «      }t	        t
        t        j                  ||«       y )Nra   g       @)r�   r„   ÚastypeÚfloat32r–   Ú	TypeErrorr   r   )r…   rÂ   rÃ   s      r‰   Útest__vq_sametypezTestVq.test__vq_sametype»   s8   € Ü�J‰J˜˜S�zÓ"ˆØ�H‰H”R—Z‘ZÓ ˆÜ”i¤§¡¨¨AÕ.r‹   c                 ó~   — t        j                  ddgt        ¬«      }t        t        t
        j                  ||«       y )Nrl   rg   r¬   )r�   r„   Úintr–   rÊ   r   r   )r…   rÂ   s     r‰   Útest__vq_invalid_typezTestVq.test__vq_invalid_typeÀ   s(   € Ü�J‰J˜˜1�v¤SÔ)ˆÜ”i¤§¡¨¨AÕ.r‹   c                 óH  — t         j                  j                  dd«      }t         j                  j                  dd«      }t        j                  ||«      \  }}t        |j                  |«      |j                  |«      «      \  }}t        ||j                  |«      d¬«       t        ||j                  ||j                  ¬«      d¬«       |j                  t         j                  «      }|j                  t         j                  «      }t        j                  ||«      \  }}t        |j                  |«      |j                  |«      «      \  }}t        ||j                  ||j                  ¬«      d¬«       t        ||j                  ||j                  ¬«      d¬«       y )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Ä   s2  € Ü�I‰I�N‰N˜2˜rÓ"ˆÜ—I‘I—N‘N 1 bÓ)ˆ	ä—v‘v˜a Ó+‰ˆ�ÜØ�J‰J�q‹M˜2Ÿ:™: iÓ0ó
‰ˆ�ô 	˜˜bŸj™j¨Ó.°TÕ:ä˜ §
¡
¨6¸¿¹ 
Ó BÐPUÕVà�H‰H”R—Z‘ZÓ ˆØ×$Ñ$¤R§Z¡ZÓ0ˆ	ä—v‘v˜a Ó+‰ˆ�ÜØ�J‰J�q‹M˜2Ÿ:™: iÓ0ó
‰ˆ�ô 	˜˜bŸj™j¨°R·Z±Z˜jÓ@ÀtÕLä˜ §
¡
¨6¸¿¹ 
Ó BÐPUÖVr‹   c                 ó¨  — t         j                  j                  dd«      dz  }t         j                  j                  dd«      dz  }t        j                  ||«      \  }}t        |j                  |«      |j                  |«      «      \  }}t        ||j                  |«      d¬«       t        ||j                  ||j                  ¬«      d¬	«       y )
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‰I�N‰N˜2˜qÓ! GÑ+ˆÜ—I‘I—N‘N 1 aÓ(¨7Ñ2ˆ	ä—v‘v˜a Ó+‰ˆ�ÜØ�J‰J�q‹M˜2Ÿ:™: iÓ0ó
‰ˆ�ô 	˜˜bŸj™j¨Ó.°TÕ:ä˜ §
¡
¨6¸¿¹ 
Ó BÐPUÖ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ð+ò4ð ‡[�[×Ñ˜ØJð ó Lñ,óLð,ò
+ò/ò
/òWó.
Wr‹   rª   c                   ó�  — e Zd Zd„ Zd„ Zej                  j                  ed¬«      d„ «       Z	d„ Z
d„ Zej                  j                  ed¬«      d„ «       Zd	„ Zd
„ Zd„ Zd„ Zej"                  d„ «       Z edd¬«      ej                  j                  ej*                  dk(  d¬«      d„ «       «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú
TestKMeansc                 ó4  — d}d}t         j                  j                  |«      }t         j                  j                  |«      }dt         j                  j                  ||«      z  d|z  z
  }dt         j                  j                  ||«      z  d|z  z   }t        j                  |j                  d   |j                  d   z   |ft         j
                  «      }||d |j                  d    |||j                  d   d  t        |j                  |«      dd¬«       y )	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‰Y�_‰_˜QÓˆÜ�Y‰Y�_‰_˜QÓˆØ”B—I‘I—O‘O A qÓ)Ñ)¨E°B©JÑ6ˆØ”B—I‘I—O‘O A qÓ)Ñ)¨E°B©JÑ6ˆä�x‰x˜Ÿ™ ™ a§g¡g¨a¡jÑ0°!Ð4´b·j±jÓAˆØˆˆ[ˆa�g‰g�a‰jÐØˆˆQ�W‰W�Q‰Zˆ[Ðô 	ˆr�z‰z˜$Ó ¨Ö+r‹   c                 óH  — t         j                  j                  d«      }t        j                  t        d   gt        d   gt        d   gg«      }t        |j                  t        «      |j                  |«      d|¬«      d   }t        ||j                  t        «      «       y ©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ÿ   sv   € Ü�i‰i×#Ñ# EÓ*ˆÜ—‘¤ 1¡ ¬¨1©¨´°1±°Ð7Ó8ˆÜ�r—z‘z¤!“} b§j¡j°Ó&7¸aÀSÔIÈ!ÑLˆÜ˜˜rŸz™z¬&Ó1Õ2r‹   r™   rš   c                 ó  — t         j                  j                  d«      }t        j                  t        d   gt        d   gt        d   gg«      }t        t        t        «      t        |«      d|¬«      d   }t        |t        «       y 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  sf   € ô �i‰i×#Ñ# EÓ*ˆÜ—‘¤ 1¡ ¬¨1©¨´°1±°Ð7Ó8ˆÜ”vœa“y¤&¨£-°a¸SÔAÀ!ÑDˆÜ˜œvÕ&r‹   c                 óN  — |j                  t        «      }|j                  ddgddgddgg«      }t        ||«       t        j                  «       5  t        j
                  ddt        «       t        ||d	¬
«       d d d «       t        t        t        ||d¬
«       y # 1 sw Y   Œ"xY w)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ˆô 	ˆt�UÔÜ×$Ñ$Õ&Ü×#Ñ#Øð"äô	ô �D˜%¨Õ0÷ 'ô 	”l¤G¨T°5À'ÖJ÷ 'Ð&ús   Á*BÂB$c                 ó$  — t         j                  j                  d«      }|j                  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        ||j                  t        «      «       t        ||j                  t        «      «       Œ† y ©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‰i×#Ñ# HÓ-ˆØ—
‘
œ2Ÿ>™>¬A¨a©D¨6´A°a±D°6¼A¸a¹D¸6Ð*BÓCÓDˆÝ!0�"—*‘*‘´r·z±zÄ6Ð6JˆÛˆBÜ™Bœq›E¡2 e£9°1¸#Ô>¸qÑAˆEÜ™Bœq›E¡2 e£9°1¸#Ô>¸qÑAˆEä˜E 2§:¡:¬fÓ#5Ô6Ü˜E 2§:¡:¬fÓ#5Õ6ñ r‹   c                 ó‚  — t         j                  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        «       y 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‰i×#Ñ# HÓ-ˆÜ—‘¤ 1¡ ¬¨1©¨´°1±°Ð7Ó8ˆÜœœq›	¤6¨%£=°q¸cÔBÀ1ÑEˆÜœœq›	¤6¨%£=°q¸cÔBÀ1ÑEˆä˜œvÔ&Ü˜œvÕ&r‹   c                 óª   — |j                  t        «      }|d d …df   }|d d }t        ||¬«      }t        ||dd¬«      d    t        ||d¬«      d    y )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  sZ   € Ø�z‰zœ+Ó&ˆØ’Q˜�T‘
ˆà�b�q�	ˆÜ�u Ô$ˆô 	��t !¨!Ô,¨QÒ/Ü��t !Ô$ QÓ'r‹   c                 ó\   — |j                  t        «      }|d d …df   }t        |dd¬«       y )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˜�T‘
ˆÜ��q˜qÖ!r‹   c                 ó|   — |j                  t        «      }|j                  |d«      d d…d d …f   }t        |d«       y )N©rÐ   rÐ   rÜ   rg   )r„   rþ   Úreshaper	   )r…   r†   rÁ   s      r‰   Útest_kmeans2_high_dimz TestKMeans.test_kmeans2_high_dimF  s9   € ð �z‰zœ+Ó&ˆØ�z‰z˜$ Ó)¨#¨2¨#ªq¨&Ñ1ˆÜ��aÕr‹   c                 óÌ  — t         j                  j                  d«      }|j                  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 «       y # 1 sw Y   y xY w)
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  sÀ   € Ü�i‰i×#Ñ# HÓ-ˆØ�z‰zœ+Ó&ˆØˆä��a˜x¨SÕ1Ü�’Q˜�T‘
˜A X°3Õ7ä��a˜t¨Õ-Ü�’Q˜�T‘
˜A T¨sÕ3ô ×$Ñ$Õ&Ü×#Ñ# HÐ.UÔVÜ�D˜! 8°Õ5Ü�Dš˜A˜‘J ¨°sÕ;÷ '×&Ñ&ús   Â<CÃC#c                 ó   — t        «       S )Nr   )r…   s    r‰   Ú
krand_lockzTestKMeans.krand_lock^  s	   € ä‹vˆr‹   z
dask.arrayzWrong answerÚwin32zFails with MemoryError in Wine.c                 óÖ  — |j                  t        «      }|j                  |d«      |j                  |d«      d d…d d …f   g}t        d«      }|5  |D ]  }t        j
                  j                  d«      }t        ||||«      }t        j                  |j                  |¬«      }t        j                  |j                  |¬«      }	t        ||	d¬«       Œ� 	 d d d «       y # 1 sw Y   y xY w)	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ˆÚÛ�Ü—i‘i×+Ñ+¨DÓ1�Ü! $¨¨3°Ó3�ÜŸ7™7 4§6¡6¨bÔ1�ÜŸ7™7 4§6¡6¨bÔ1�Ü ¨(¸Ö@ñ ÷ �Z‰Zús   ÁBCÃC(c                 óN   — t        t        t        |j                  g «      d«       y )Nrg   )r–   r—   r	   r„   ©r…   r†   s     r‰   Útest_kmeans2_emptyzTestKMeans.test_kmeans2_emptyr  s   € ä”j¤'¨2¯:©:°b«>¸1Õ=r‹   c                 ó  — t        t        t        |j                  t        «      d«       t        t        t
        |j                  t        «      d«       t        t        t
        |j                  t        «      |j                  g «      «       y )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».ÕIr‹   c                 ó  — |j                  g d¢|j                  ¬«      }t        |dd¬«      }t        |d   |j                  dg|j                  ¬«      «       t        |d   |j                  d|j                  ¬«      d	   «       y )
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|  sn   € à�J‰JÒ'¨r¯z©zˆJÓ:ˆÜ�Q˜ $Ô'ˆÜ˜˜A™ §
¡
¨B¨4°r·z±z 
Ó BÔCÜ˜˜A™ §
¡
Ð+=ÀRÇZÁZ 
Ó PÐQSÑ TÕUr‹   c                 óê   — t         j                  j                  d«      }|j                  ddgddgg|j                  ¬«      }t        |j                  t        «      dd|¬	«      \  }}t        ||«       y )
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ƒ  sm   € ä�i‰i×#Ñ#Ð$7Ó8ˆØ—:‘: ¨UÐ3Ø )¨6Ð2ð4Ø;=¿:¹:ð ó Gˆä˜Ÿ™¤KÓ0°!¸4ÀSÔI‰ˆˆQÜ˜˜XÕ&r‹   c           	      óV  — t         j                  j                  d«      }d}d}t        j                  dt        j                  |«      z  dt        j                  |«      z  g«      }t        j                  |j                  |d   t        j                  |«      |¬«      |j                  |d   t        j                  |«      |¬«      g«      }|j                  |«      }t        |d	d
|¬«      \  }}t        |j                  |«      |j                  |j                  |«      «      «       y )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‰i×#Ñ#Ð$5Ó6ˆØˆØˆÜ—)‘)˜Q¤§¡¨£Ñ/Ø¤"§'¡'¨%£.Ñ0ð2ó 3ˆô �y‰yØ×#Ñ# G¨A¡J´·±°u³ÀDÐ#ÓIØ×#Ñ# G¨A¡J´·±°u³ÀDÐ#ÓIð
ó ˆð
 �z‰z˜$ÓˆÜ˜˜q¨°#Ô6‰ˆˆQÜ˜Ÿ™ › b§g¡g¨b¯j©j¸Ó.AÓ&BÕCr‹   c                 ó.  — |j                  g d¢|j                  ¬«      }t        ||j                  ddg«      «      }t        |d   |j                  ddg|j                  ¬«      «       t        |d   |j                  d	|j                  ¬«      d
   «       y )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±ZˆjÓ@ˆÜ�S˜"Ÿ*™* c¨4 [Ó1Ó2ˆÜ˜˜A™ §
¡
¨D°2¨;¸b¿j¹j 
Ó IÔJÜ˜˜A™ §
¡
Ð+=ÀRÇZÁZ 
Ó PÐQSÑ TÕUr‹   c                 ó°  — dt         j                  j                  d«      t         j                  j                  d«      g}|D ]’  }t	        |«      }t	        |«      }|j                  t        «      }t        |d|¬«      \  }}t        |d|¬«      \  }	}t        ||	«       dD ]2  }
t        |d|
|¬«      \  }}t        |d|
|¬«      \  }	}t        ||	«       Œ4 Œ” y )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©y×/DÑ/DÀTÓ/Jð
ˆ	ó ˆDÜ˜T“NˆEÜ˜T“NˆEØ—:‘:œkÓ*ˆDä˜T 1¨5Ô1‰GˆD�!Ü˜T 1¨5Ô1‰GˆD�!Ü˜D $Ô'ã3�Ü! $¨°¸UÔC‘��aÜ! $¨°¸UÔC‘��aÜ  dÕ+ñ 4ñ 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ð ‡[�[×Ñ˜ØJð ó Lñ'óLð'òKò&	7ð ‡[�[×Ñ˜ØJð ó Lñ'óLð'ò	(ò"ò
ò<ð" ‡^�^ñó ðñ �|¨NÔ;Ø‡[�[×Ñ˜Ÿ™¨Ñ/Ø@ð ó BñAóBó <ðAò>òJòVò'òDò"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     sÀ  ðÛ Û 
Û Ý Ý ã Ý ,Û Ý *÷8÷ 8ñ 8å Ý (å -÷÷ ñ ð
 —K‘K×1Ñ1Ð Ø—;‘;×/Ñ/Ð àˆb�h‰hò %
ó %÷J ‰7�8ÓðK ðR €B‡H�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Ó	4€ñ �6Ó÷93ð 93ó ð93ñx �2Ó÷UWð UWó ðUWñt �6˜7Ó#÷J,ð J,ó $ñJ,r‹   