Ë
    ÷Q(hÀ  ã                   óZ   — d dl mZ d dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZmZ d„ Zy)é    )ÚcombinationsN)ÚFactorAnalysis)Ú_ortho_rotation)ÚConvergenceWarning)Úassert_almost_equalÚassert_array_almost_equalc                 ó<	  — t         j                  j                  | «      }d\  }}}|j                  ||«      }|j                  ||«      }|j	                  d|¬«      |j                  ||«      z  }t        j
                  ||«      |z   }g }	dD �]Í  }
t        ||
¬«      }|j                  |«       |	j                  |«       |j                  |«      }|j                  ||fk(  sJ ‚t        |j                  d   |j                  |«      j                  «       «       t        |j                  |«      j                  «       |j!                  |«      «       t        j"                  t        j$                  |j                  «      «      }|dkD  sJ d«       ‚t        j&                  |dd	¬
«      }|j)                  «       }t        j                  t        j*                  ||z
  «      «      |j,                  z  }|dk  s
J d|z  «       ‚t        |t        j.                  |«      ¬«      }t1        j2                  t4        «      5  |j                  |d d …d d…f   «       d d d «       �ŒÐ d„ }|	\  }}dD ]  }t         |||«       |||«      «       Œ d|_        d|_        t1        j:                  t<        «      5  |j                  |«       d d d «       dd|j                  d   fD ]{  }|_        |j                  |«       |j)                  «       }|jA                  «       }tC        t        j
                  ||«      t        jD                  |j                  d   «      d«       Œ} d}i i }}dD ]6  }
t        ||
¬«      }|jG                  |«      ||
<   |j)                  «       ||
<   Œ8 tI        g d¢d«      D ]C  \  }}t        jJ                  ||   ||   «      rJ ‚t        jJ                  ||   ||   d¬«      rŒCJ ‚ t        jL                  g d¢g d¢g d¢g d¢g«      }t        jL                  ddgddgd d!gd"d#gg«      }tO        |d d …d |…f   d$¬%«      jP                  }tC        t        j*                  |«      t        j*                  |«      d¬&«       y # 1 sw Y   �ŒxY w# 1 sw Y   �ŒÓxY w)'N)é   é   é   é   )Úsize)Ú
randomizedÚlapack)Ún_componentsÚ
svd_methodéÿÿÿÿg        zLog likelihood dif not increaseg      ð?)ÚrowvarÚbiasgš™™™™™É?zMean absolute difference is %f)r   Únoise_variance_inité   c                 ó@   — t        j                  t        | |«      «      S )N)ÚnpÚabsÚgetattr)ÚxÚys     ún/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/decomposition/tests/test_factor_analysis.pyÚfztest_factor_analysis.<locals>.f<   s   € Ü�v‰v”g˜a “mÓ$Ð$ó    )Úloglike_Úcomponents_Únoise_variance_Tr   é   )NÚvarimaxÚ	quartimax)r   Úrotationr   )Úatol)gÿm ^�ì?gŸ­æ­xòÖ¿g1e}VÛÅÑ¿g½pÑ1R£?)gÙÑÕ©4ÚÜ¿gJ_JUÁ…ì¿gÿvÙ¯;Ý·?gEûq^O’¿)gô 5×ï?gƒÌ„]Í”¿gåÔï>žÈ«?gÏeÍ<wŠ½¿)g›à�ºûî?gqãõäŠ °¿g ÂÉ.ÿ>Ï?gãrzæþM³?gbX9´Èî?g9´Èv¾Ÿª?g?5^ºIÂ¿gÙÎ÷Sã¥ï?g‘í|?5^î?g333333Ó¿g–C‹lçûí?gªñÒMbÐ¿r%   )Úmethod)Údecimal))r   ÚrandomÚRandomStateÚrandnÚgammaÚdotr   ÚfitÚappendÚ	transformÚshaper   r!   Úscore_samplesÚsumÚmeanÚscoreÚallÚdiffÚcovÚget_covariancer   r   ÚonesÚpytestÚraisesÚ
ValueErrorÚmax_iterÚverboseÚwarnsr   r   Úget_precisionr   ÚeyeÚfit_transformr   ÚallcloseÚarrayr   ÚT)Úglobal_random_seedÚrngÚ	n_samplesÚ
n_featuresr   ÚWÚhÚnoiseÚXÚfasr)   ÚfaÚX_tr9   ÚscovÚmcovr   Úfa1Úfa2Úattrr:   Ú	precisionÚresultsÚprojectionsÚfa_varÚrot1Úrot2ÚfactorsÚ
r_solutionÚrotateds                                 r   Útest_factor_analysisrb      s-  € ä
�)‰)×
Ñ
Ð 2Ó
3€CØ*2Ñ'€Iˆz˜<ð 	�	‰	�, 
Ó+€Aà�	‰	�)˜\Ó*€Að �I‰I�a˜jˆIÓ)¨C¯I©I°iÀÓ,LÑL€Eô 	�‰ˆq�!‹�uÑ€Aà
€CØ*ó ˆÜ¨À&ÔIˆØ
�‰ˆqŒ	Ø�
‰
�2Œà�l‰l˜1‹oˆØ�y‰y˜Y¨Ð5Ò5Ð5Ð5ä˜BŸK™K¨™O¨R×-=Ñ-=¸aÓ-@×-DÑ-DÓ-FÔGÜ˜B×,Ñ,¨QÓ/×4Ñ4Ó6¸¿¹À»ÔDä�v‰v”b—g‘g˜bŸk™kÓ*Ó+ˆØ�cŠzÐ<Ð<Ó<ˆzô �v‰v�a ¨#Ô.ˆð × Ñ Ó"ˆÜ�v‰v”b—f‘f˜T D™[Ó)Ó*¨Q¯V©VÑ3ˆØ�cŠzÐBÐ;¸dÑBÓBˆzÜØ%¼2¿7¹7À:Ó;Nô
ˆô �]‰]œ:Ó&ñ 	Ø�F‰F�1’Q˜˜˜�U‘8Ô÷	ñ 	ð1ò6%ð �H€CˆØ>ò 8ˆÜ™A˜c 4›L©!¨C°«,Õ7ð8ð €C„LØ€C„KÜ	�‰Ô(Ó	)ñ Ø�‰�Œ
÷ð
 ˜A˜qŸw™w q™zÐ*ò RˆØ&ˆŒØ
�‰ˆqŒ	Ø×ÑÓ!ˆØ×$Ñ$Ó&ˆ	Ü!¤"§&¡&¨¨iÓ"8¼"¿&¹&ÀÇÁÈÁÓ:LÈbÕQðRð €Là˜rˆ[€GØ0ò 6ˆÜ¨\ÀFÔKˆØ ×.Ñ.¨qÓ1ˆ�‰Ø$×3Ñ3Ó5ˆ�FÒð6ô #Ò#AÀ1ÓEò I‰
ˆˆdÜ—;‘;˜w t™}¨g°d©mÔ<Ð<Ð<Ü�{‰{˜; tÑ,¨k¸$Ñ.?ÀaÖHÐHÐHðIô �h‰hâ>Ú>Ú>Ú=ð		
ó€Gô —‘Ø
�ˆ˜& %˜¨5°&¨/¸EÀ6¸?ÐKó€Jô ˜g¢a¨¨,¨Ð&6Ñ7À	ÔJ×LÑL€GÜœbŸf™f W›o¬r¯v©v°jÓ/AÈ1ÖM÷i	ñ 	ú÷ñ ús   È8RÊ.RÒR	ÒR)Ú	itertoolsr   Únumpyr   r=   Úsklearn.decompositionr   Ú&sklearn.decomposition._factor_analysisr   Úsklearn.exceptionsr   Úsklearn.utils._testingr   r   rb   © r    r   ú<module>rj      s#   ðõ #ã Û å 0Ý BÝ 1ß Qó^Nr    