
    Pi                     \    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dS )    )combinationsN)FactorAnalysis)_ortho_rotation)ConvergenceWarning)assert_almost_equalassert_array_almost_equalc                 
   t           j                            |           }d\  }}}|                    ||          }|                    ||          }|                    d|          |                    ||          z  }t          j        ||          |z   }g }	dD ]	}
t          ||
          }|                    |           |	                    |           |	                    |          }|j
        ||fk    sJ t          |j        d         |                    |                                                     t          |                    |                                          |                    |                     t          j        t          j        |j                            }|dk    s
J d            t          j        |dd	
          }|                                }t          j        t          j        ||z
                      |j        z  }|dk     sJ d|z              t          |t          j        |                    }t1          j        t4                    5  |                    |d d d df                    d d d            n# 1 swxY w Y   d }|	\  }}dD ]&}t           |||           |||                     'd|_        d|_        t1          j        t<                    5  |                    |           d d d            n# 1 swxY w Y   dd|j
        d         fD ]}||_        |                    |           |                                }|                                 }tC          t          j        ||          t          j"        |j
        d                   d           d}i i }}dD ]B}
t          ||
          }|#                    |          ||
<   |                                ||
<   CtI          g dd          D ]M\  }}t          j%        ||         ||                   rJ t          j%        ||         ||         d          sJ Nt          j&        g dg dg dg dg          }t          j&        ddgddgd d!gd"d#gg          }tO          |d d d |f         d$%          j(        }tC          t          j        |          t          j        |          d&           d S )'N)            )size)
randomizedlapack)n_components
svd_methodg        zLog likelihood dif not increaseg      ?)rowvarbiasg?zMean absolute difference is %f)r   noise_variance_init   c                 F    t          j        t          | |                    S )N)npabsgetattr)xys     /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/sklearn/decomposition/tests/test_factor_analysis.pyfztest_factor_analysis.<locals>.f<   s    vgamm$$$    )loglike_components_noise_variance_Tr      )Nvarimax	quartimax)r   rotationr   )atol)gm^?gxֿg1e}Vѿgp1R?)gթ4ܿgJ_JUgvٯ;ݷ?gEq^O)g 5?ḡ]͔g>ȫ?ge<w)g?gq g .>?grzM?gbX9?g9v?g?5^I¿gS?g|?5^?g333333ӿgCl?gMbп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
3C*2'Iz< 			,
++A		)\**A IIajI))CIIi,L,LLE 	q!uA
C*  &III
q			

2ll1ooyY55555BKOR-=-=a-@-@-D-D-F-FGGGB,,Q//4466DDDvbgbk**++czzz<zzz va#...   ""vbfTD[))**QV3czzz;dBzzz%27:;N;N
 
 
 ]:&& 	 	FF1QQQU8	 	 	 	 	 	 	 	 	 	 	 	 	 	 	% % % HC> 8 8AAc4LL!!C,,7777CLCK	(	)	)  


              
 Aqwqz* R R&
q			!!$$&&	!"&i"8"8"&:L:LbQQQQ Lr[G0 6 6\FKKK ..q11$3355F"#A#A#A1EE I I
d;wt}gdm<<<<<{;t,k$.?aHHHHHHH h>>>>>>>>>===		
 G 
&%5&/E6?K J gaaa,&67	JJJLGbfWoorvj/A/A1MMMMMMs$   ,"JJ	!J	?L!!L%(L%)	itertoolsr   numpyr   r=   sklearn.decompositionr   &sklearn.decomposition._factor_analysisr   sklearn.exceptionsr   sklearn.utils._testingr   r   rb    r    r   <module>rj      s    # " " " " "      0 0 0 0 0 0 B B B B B B 1 1 1 1 1 1 Q Q Q Q Q Q Q Q^N ^N ^N ^N ^Nr    