+
    LV-jb#  ã                   ó¢   € ^ RI HtHt ^ RIt^ RIt^ RIHt ^ RIHt	 ^ RI
Ht ^ RIHt ^ RIHtHt ^ RIHt R	 t]! ]4       ! R
 R4      4       tR# )é    )ÚproductÚpermutationsN)Úassert_allclose)Úraises)Úorthogonal_procrustes)Úmatrix)Úmake_xp_test_caseÚxp_assert_close)Úskip_xp_invalid_argc                 ó<   € VP                  V ^ R7      pW,
          V3# )r   )Úaxis)Úmean)ÚAÚxpÚmus   && Ús/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/linalg/tests/test_procrustes.pyÚ	_centeredr      s    € Ø	�‰�˜ˆÓ	€BØ�6�2ˆ:Ðó    c                   ó¸   a € ] tR t^t o R tR tR tR t]! 4       R 4       t	R t
R tR tR	 tR
 t]P                   P#                  R. RO4      R 4       tRtV tR# )ÚTestOrthogonalProcrustesc                óî   € \         P                  P                  R 4      pVP                  VP	                  ^4      4      pVP                  VP	                  ^4      4      p\        \        \        W44       R# ©éÒ  N)ÚnpÚrandomÚRandomStateÚasarrayÚrandnÚassert_raisesÚ
ValueErrorr   )Úselfr   Úrngr   ÚBs   &&   r   Ú)test_orthogonal_procrustes_ndim_too_smallÚBTestOrthogonalProcrustes.test_orthogonal_procrustes_ndim_too_small   sO   € Ü�i‰i×#Ñ# DÓ)ˆØ�J‰J�s—y‘y “|Ó$ˆØ�J‰J�s—y‘y “|Ó$ˆÜ”jÔ"7¸Ö>r   c                ó  € \         P                  P                  R 4      pRp\        V^4       FX  w  rEVP	                  VP
                  ! V!  4      pVP	                  VP
                  ! V!  4      p\        \        \        Wg4       KZ  	  R# )r   N))é   r'   )r'   é   )r(   r'   ©r(   r(   )	r   r   r   r   r   r   r   r    r   )r!   r   r"   ÚshapesÚaÚbr   r#   s   &&      r   Ú)test_orthogonal_procrustes_shape_mismatchÚBTestOrthogonalProcrustes.test_orthogonal_procrustes_shape_mismatch   sg   € Ü�i‰i×#Ñ# DÓ)ˆØ1ˆÜ  ¨Ö+‰DˆAØ—
‘
˜3Ÿ9š9 a™=Ó)ˆAØ—
‘
˜3Ÿ9š9 a™=Ó)ˆAÜœ*Ô&;¸QÖBó ,r   c           
     óÖ  € \         P                  P                  R 4      p^^rCVP                  W44      pVP                  W44      p\         P                  \         P                  ) \         P
                  3 Fp  pVP                  4       pWxR&   VP                  4       p	WyR&   WY3W†3W‰33 F9  w  r«\        \        \        VP                  V
4      VP                  V4      4       K;  	  Kr  	  R# )r   N)é   é   )r   r   r   r   ÚinfÚnanÚcopyr   r    r   r   )r!   r   r"   ÚmÚnÚA_goodÚB_goodÚ	bad_valueÚA_badÚB_badr   r#   s   &&          r   Ú0test_orthogonal_procrustes_checkfinite_exceptionÚITestOrthogonalProcrustes.test_orthogonal_procrustes_checkfinite_exception!   s¶   € Ü�i‰i×#Ñ# DÓ)ˆØ�!ˆ1Ø—‘˜1“ˆØ—‘˜1“ˆÜŸ™¤"§&¡& ¬"¯&©&Ó0ˆIØ—K‘K“MˆEØ#�$‰KØ—K‘K“MˆEØ#�$‰KØ ˜¨5¨/¸E¸>ÓJ‘�ÜœjÔ*?ÀÇÁÈAÃØ Ÿj™j¨›mö-ó Kó 1r   c           
     ó>  € \         P                  P                  R 4      p^^rC\        ^4       Fë  pVP	                  VP                  W44      4      pVP	                  VP                  W44      4      p\        Wg4      w  r‰\         P                  ! VP                  ^4      4       Fr  p
\         P                  ! VP                  ^4      4       FF  p\        WaP	                  V
4      ,          WqP	                  V4      ,          4      w  rÉ\        WÈ4       KH  	  Kt  	  Kí  	  R# r   )	r   r   r   Úranger   r   r   Úsquarer
   )r!   r   r"   r5   r6   ÚiÚA_origÚB_origÚR_origÚsÚA_scaleÚB_scaleÚRs   &&           r   Ú+test_orthogonal_procrustes_scale_invarianceÚDTestOrthogonalProcrustes.test_orthogonal_procrustes_scale_invariance/   sË   € Ü�i‰i×#Ñ# DÓ)ˆØ�!ˆ1Ü�q–ˆAØ—Z‘Z §	¡	¨!£Ó0ˆFØ—Z‘Z §	¡	¨!£Ó0ˆFÜ-¨fÓ=‰IˆFÜŸ9š9 S§Y¡Y¨q£\Ö2�Ü!Ÿyšy¨¯©°1«Ö6�GÜ0°¿*¹*ÀWÓ:MÕ1MØ17¿*¹*ÀWÓ:MÕ1MóO‘D�Aä# AÖ.ó  7ó 3ó	 r   c                óÀ  € \         P                  P                  R 4      pR F¸  w  r#VP                  W#4      pVP                  W#4      pWDP	                  4       \        V4      3pWUP	                  4       \        V4      3p\        WE4      w  r‰VP                  V4      p
\        Wg4       F.  w  r¼\        W¼4      w  rÙVP                  V4      p\        Wê4       K0  	  Kº  	  R# )r   N©)é   r(   r)   )r(   rM   )
r   r   r   r   Útolistr   r   Údotr   r   )r!   r"   r5   r6   ÚA_arrÚB_arrÚAsÚBsÚR_arrrE   ÚAR_arrr   r#   rH   ÚARs   &              r   Ú+test_orthogonal_procrustes_array_conversionÚDTestOrthogonalProcrustes.test_orthogonal_procrustes_array_conversion<   s¯   € ä�i‰i×#Ñ# DÓ)ˆÛ,‰DˆAØ—I‘I˜a“OˆEØ—I‘I˜a“OˆEØŸ™›¬°«Ð7ˆBØŸ™›¬°«Ð7ˆBÜ,¨UÓ:‰HˆEØ—Y‘Y˜uÓ%ˆFÜ ž‘�Ü,¨QÓ2‘�Ø—Y‘Y˜q“\�Ü Ö+ó (ó -r   c           	     ó  € \         P                  P                  R 4      pR EFß  w  r4VP                  VP	                  W44      4      pVP                  VP	                  WD4      4      pVP
                  P                  VP                  V,           4      w  rx\        VP
                  P                  V4      VP                  4       WXP                  ,          p	\        W•4      w  r«\        VP
                  P                  V
4      V
P                  4       \        Wš,          V4       V	RVP                  VP	                  W44      4      ,          ,           p\        WÅ4      w  rÛ\        VP
                  P                  V4      VP                  4       WÊ,          pWÍ,          pVP
                  P                  Wå,
          RR7      pVP
                  P                  Wõ,
          RR7      pVP                  VV8  4      '       d   EKà  Q h	  R# )r   g{®Gáz„?Úfro)ÚordNrL   )r   r   r   r   r   ÚlinalgÚeighÚTr
   Úinvr   Úmatrix_normÚall)r!   r   r"   r5   r6   r#   ÚXÚwÚVr   rH   rE   ÚA_perturbedÚR_primeÚnaive_approxÚoptim_approxÚnaive_approx_errorÚoptim_approx_errors   &&                r   Útest_orthogonal_procrustesÚ3TestOrthogonalProcrustes.test_orthogonal_procrustesK   ss  € Ü�i‰i×#Ñ# DÓ)ˆÜ,‰DˆAà—
‘
˜3Ÿ9™9 Q›?Ó+ˆAð —
‘
˜3Ÿ9™9 Q›?Ó+ˆAØ—9‘9—>‘> !§#¡#¨¥'Ó*‰DˆAÜ˜BŸI™IŸM™M¨!Ó,¨a¯c©cÔ2à—C‘C•ˆAä(¨Ó.‰DˆAÜ˜BŸI™IŸM™M¨!Ó,¨a¯c©cÔ2Ü˜A�E 1Ô%à˜d R§Z¡Z°·	±	¸!³Ó%@Õ@Õ@ˆKô /¨{Ó>‰JˆGÜ˜BŸI™IŸM™M¨'Ó2°G·I±IÔ>à&�?ˆLØ&Õ0ˆLà!#§¡×!6Ñ!6°|Õ7GÈUÐ!6Ó!SÐØ!#§¡×!6Ñ!6°|Õ7GÈUÐ!6Ó!SÐà—6‘6Ð,Ð/AÑA×BÕBÐBÐBó9 -r   c                óŽ  € VP                  R^.R^.R^.R^..VP                  R7      pVP                  ^^.^^ .^R.^^ ..VP                  R7      p\        W!4      w  rE\        W14      w  rg\        WF4      w  r‰W‘P                  P                  V4      ^,          ,          p
W¤,          V,          V,           p\        W³RR7       R# )r'   ©Údtypeç:Œ0âŽyE>©ÚatolNéýÿÿÿéþÿÿÿ©r   Úfloat64r   r   r\   r`   r
   )r!   r   rB   rC   r   ÚA_mur#   ÚB_murH   rE   ÚscaleÚB_approxs   &&          r   Ú(test_orthogonal_procrustes_exact_exampleÚATestOrthogonalProcrustes.test_orthogonal_procrustes_exact_examplek   s¼   € ð —‘˜b !˜W r¨1 g°°A¨w¸¸Q¸Ð@ÈÏ
É
�ÓSˆØ—‘˜a ˜V a¨ V¨a°¨W°q¸!°fÐ=ÀRÇZÁZ�ÓPˆÜ˜FÓ'‰ˆÜ˜FÓ'‰ˆÜ$ QÓ*‰ˆØ—I‘I×)Ñ)¨!Ó,¨aÕ/Õ/ˆØ•9˜q•= 4Õ'ˆÜ˜¨t×4r   c                ó  € VP                  R^.R^.R^.R^..VP                  R7      pVP                  ^^(.^^ .^R.^^ ..VP                  R7      p\        W!4      w  rE\        W14      w  rg\        WF4      w  r‰W‘P                  P                  V4      ^,          ,          p
W¤,          V,          V,           pVP                  ^^.R	^ .^R
.^^ ..VP                  R7      p\        W¼RR7       VP                  RVP                  R7      R,          pVP                  P                  W³,
          4      VP                  P                  V4      ,          ^,          p\        Wí4       \        Wd4      w  r‰W‘P                  P                  V4      ^,          ,          p
W¦,          V,          V,           pVP                  P                  Wò,
          4      VP                  P                  V4      ,          ^,          p\        VV4       R# )r'   rn   rp   rq   gñÒÇ×ÎÜ?Nrs   rt   iØÿÿÿiîÿÿÿiëÿÿÿ© ru   )r!   r   rB   rC   r   rw   r#   rx   rH   rE   ry   rz   ÚexpectedÚexpected_disparityÚAB_disparityÚA_approxÚBA_disparitys   &&               r   Ú,test_orthogonal_procrustes_stretched_exampleÚETestOrthogonalProcrustes.test_orthogonal_procrustes_stretched_example‚   s½  € à—‘˜b !˜W r¨1 g°°A¨w¸¸Q¸Ð@ÈÏ
É
�ÓSˆØ—‘˜a ˜W q¨! f¨q°#¨h¸¸A¸Ð?ÀrÇzÁz�ÓRˆÜ˜FÓ'‰ˆÜ˜FÓ'‰ˆÜ$ QÓ*‰ˆØ—I‘I×)Ñ)¨!Ó,¨aÕ/Õ/ˆØ•9˜q•= 4Õ'ˆØ—:‘:  2˜w¨¨a¨°1°c°(¸RÀ¸GÐDÈBÏJÉJ�:ÓWˆÜ˜°Õ6àŸZ™ZÐ(:À"Ç*Á*˜ZÓMÈbÕQÐØŸ	™	×-Ñ-¨hÕ.?Ó@ØŸ)™)×/Ñ/°Ó2õ3Ø56õ7ˆä˜Ô9Ü$ QÓ*‰ˆØ—I‘I×)Ñ)¨!Ó,¨aÕ/Õ/ˆØ•9˜q•= 4Õ'ˆØŸ	™	×-Ñ-¨hÕ.?Ó@ØŸ)™)×/Ñ/°Ó2õ3Ø56õ7ˆä˜Ð&8Ö9r   c                ó2  € VP                  ^R.^R.^R.^R..VP                  R7      pVP                  ^^.^^.^^.^^..VP                  R7      pVP                  R	R.R	R.R	R
.RR
..VP                  R7      p\        W!4      w  rV\        W14      w  rx\        WW4      w  ršW¡P                  P                  V4      ^,          ,          pWµ,          V	,          V,           p\        WÃ4       \        WqP                  P                  V4      ,          V4       R# )r(   rn   gCuRãÎÁ?g”'œ‚aå?gä¯ûT6¨Ù?Nrt   éüÿÿÿiúÿÿÿgCuRãÎÁ¿gä¯ûT6¨Ù¿ru   )r!   r   rB   rC   ÚB_standardizedr   rw   r#   rx   rH   rE   ry   rz   s   &&           r   Ú(test_orthogonal_procrustes_skbio_exampleÚATestOrthogonalProcrustes.test_orthogonal_procrustes_skbio_example™   s  € ð" —‘˜a ˜W q¨" g°°2¨w¸¸B¸Ð@ÈÏ
É
�ÓSˆØ—‘˜a ˜V a¨ V¨a°¨V°a¸°VÐ<ÀBÇJÁJ�ÓOˆØŸ™ k°9Ð%=Ø&1°:Ð%>Ø&1°;Ð%?Ø&0°+Ð%>ð%@ð HJÇzÁzð $ó Sˆô ˜FÓ'‰ˆÜ˜FÓ'‰ˆÜ$ QÓ*‰ˆØ—I‘I×)Ñ)¨!Ó,¨aÕ/Õ/ˆØ•9˜q•= 4Õ'ˆÜ˜Ô)Ü˜ŸI™I×1Ñ1°!Ó4Õ4°nÖEr   c                óæ   € VP                  R4      p\        W"4      w  r4\        W1P                  R4      4       VP                  R4      p\        W"4      w  r4\        W1P                  ^4      4       R# )r   N)r   r   )r   r'   )Úemptyr   r
   Úeye)r!   r   r+   ÚrrE   s   &&   r   Ú
test_emptyÚ#TestOrthogonalProcrustes.test_empty¸   sW   € Ø�H‰H�VÓˆÜ$ QÓ*‰ˆÜ˜Ÿ8™8 FÓ+Ô,à�H‰H�VÓˆÜ$ QÓ*‰ˆÜ˜Ÿ6™6 !›9Ö%r   Úshapec                ó.  € Vw  r4\         P                  P                  R 4      pVP                  VP                  V4      VP                  V4      R,          ,           4      pVP                  VP                  WD34      VP                  WD34      R,          ,           4      pVP                  P                  V4      w  rxWg,          p	\        Wi4      w  r«\        W¢P                  V
4      P                  ,          VP                  WBP                  R7      RR7       \        Wg,          V	4       VR8w  d   \        W§4       VP                  P                  VP                  V4      P                  V	,          4      w  rŒp\        W²P                  V4      4       R# )l   sIHb$y              ð?rn   g›+¡†›„=rq   N©r(   é   )r   r   Údefault_rngr   r\   Úqrr   r
   Úconjr^   r�   Ú
complex128ÚsvdÚsum)r!   r‘   r   r5   r6   r"   r   ÚQÚ_r#   rH   ry   rE   s   &&&          r   Útest_unitaryÚ%TestOrthogonalProcrustes.test_unitaryÁ   s  € ð ‰ˆÜ�i‰i×#Ñ# LÓ1ˆØ�J‰J�s—z‘z %Ó(¨3¯:©:°eÓ+<¸rÕ+AÕAÓBˆØ�J‰J�s—z‘z 1 &Ó)¨C¯J©J¸°vÓ,>ÀÕ,CÕCÓDˆØ�y‰y�|‰|˜A‹‰ˆØ�EˆÜ(¨Ó.‰ˆÜ˜ŸG™G A›JŸL™LÕ(¨"¯&©&°¿-¹-¨&Ó*HÈuÕUÜ˜�˜qÔ!Ø�FŒ?Ü˜AÔ!Ø—)‘)—-‘- §¡¨£
§¡¨qÕ 0Ó1‰ˆˆaÜ˜Ÿv™v a›yÖ)r   r~   N)r“   )r”   r”   )r”   r(   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r$   r-   r<   rI   r   rW   rk   r{   r„   r‰   r�   ÚpytestÚmarkÚparametrizer�   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      st   ø‡ € ò?òCò-ò/ñ Óñ,ó ð,òCò@5ò.:ò.Fò>&ð ‡[�[×Ñ˜WÒ&>Ó?ñ*ó @ö*r   r   )Ú	itertoolsr   r   Únumpyr   r£   Únumpy.testingr   r   r   Úscipy.linalgr   Úscipy.sparse._sputilsr   Úscipy._lib._array_apir	   r
   Úscipy.conftestr   r   r   r~   r   r   Ú<module>r°      sG   ðß +ã Û Ý )Ý *å .Ý (ß DÝ .òñ Ð(Ó)÷*ð *ó *ò*r   