§
    qŠtjB  ã                   ón  — d Z ddlZddlZddlZddlZddlmZmZ ddl	m
Z
 ddlmZmZ ddlmZmZmZ ddlmZmZmZ  e
j        ¦   «         Zd„ Zej                             d	eez   ez   ¦  «        d
„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/dS )zTests for Incremental PCA.é    N)Úassert_allcloseÚassert_array_equal)Údatasets)ÚPCAÚIncrementalPCA)Úassert_allclose_dense_sparseÚassert_almost_equalÚassert_array_almost_equal)ÚCSC_CONTAINERSÚCSR_CONTAINERSÚLIL_CONTAINERSc                  ó  — t           j        } | j        d         dz  }t          d|¬¦  «        }t	          d¬¦  «        }|                     | ¦  «         |                     | ¦  «        }|j        | j        d         dfk    sJ ‚t          j                             |j	         
                    ¦   «         |j	         
                    ¦   «         d¬¦  «         dd| j        d         fD ]¢}t          ||¬	¦  «        }|                     | ¦  «         |                     ¦   «         }|                     ¦   «         }t          j                             t          j        ||¦  «        t          j        | j        d         ¦  «        d
¬¦  «         Œ£d S )Nr   é   é   ©Ún_componentsÚ
batch_size©r   çü©ñÒMbP?©Úrtolé   ©r   ç‚vIhÂ%<=©Úatol)ÚirisÚdataÚshaper   r   Úfit_transformÚnpÚtestingr   Úexplained_variance_ratio_ÚsumÚfitÚget_covarianceÚget_precisionÚdotÚeye)ÚXr   ÚipcaÚpcaÚX_transformedr   ÚcovÚ	precisions           ún/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/decomposition/tests/test_incremental_pca.pyÚtest_incremental_pcar1      sw  € åŒ	€AØ”˜”˜q‘€JÝ q°ZÐ@Ñ@Ô@€DÝ
˜1Ð
Ñ
Ô
€CØ×Ò�aÑÔÐà×&Ò& qÑ)Ô)€MàÔ 1¤7¨1¤:¨q /Ò1Ð1Ð1Ð1Ý„J×ÒØÔ&×*Ò*Ñ,Ô,ØÔ%×)Ò)Ñ+Ô+Øð ñ ô ð ð ˜A˜qœw qœzÐ*ð 
ð 
ˆÝ˜l°zÐBÑBÔBˆØ�Š�‰ŒˆØ×!Ò!Ñ#Ô#ˆØ×&Ò&Ñ(Ô(ˆ	Ý
Œ
×"Ò"ÝŒF�3˜	Ñ"Ô"¥B¤F¨1¬7°1¬:Ñ$6Ô$6¸Uð 	#ñ 	
ô 	
ð 	
ð 	
ð
ð 
ó    Úsparse_containerc                 ó¶  — t           j        }t          d¬¦  «        }|                     |¦  «          | |¦  «        }|j        d         dz  }t          d|¬¦  «        }|                     |¦  «        }|j        |j        d         dfk    sJ ‚t          j                             |j	         
                    ¦   «         |j	         
                    ¦   «         d¬¦  «         dd|j        d         fD ]¢}t          ||¬	¦  «        }|                     |¦  «         |                     ¦   «         }|                     ¦   «         }	t          j                             t          j        ||	¦  «        t          j        |j        d         ¦  «        d
¬¦  «         Œ£t!          j        t$          d¬¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   r   r   r   r   r   r   r   r   r   z…IncrementalPCA.partial_fit does not support sparse input. Either convert data to dense or use IncrementalPCA.fit to do so in batches.©Úmatch)r   r   r   r    r   r   r!   r"   r   r#   r$   r%   r&   r'   r(   r)   ÚpytestÚraisesÚ	TypeErrorÚpartial_fit)
r3   r*   r,   ÚX_sparser   r+   r-   r   r.   r/   s
             r0   Útest_incremental_pca_sparser<   1   s"  € õ
 	Œ	€AÝ
˜1Ð
Ñ
Ô
€CØ×Ò�aÑÔÐØÐ Ñ"Ô"€HØ” Ô" aÑ'€JÝ q°ZÐ@Ñ@Ô@€Dà×&Ò& xÑ0Ô0€MàÔ 8¤>°!Ô#4°aÐ"8Ò8Ð8Ð8Ð8Ý„J×ÒØÔ&×*Ò*Ñ,Ô,ØÔ%×)Ò)Ñ+Ô+Øð ñ ô ð ð ˜A˜qœw qœzÐ*ð 
ð 
ˆÝ˜l°zÐBÑBÔBˆØ�Š�ÑÔÐØ×!Ò!Ñ#Ô#ˆØ×&Ò&Ñ(Ô(ˆ	Ý
Œ
×"Ò"ÝŒF�3˜	Ñ"Ô"¥B¤F¨8¬>¸!Ô+<Ñ$=Ô$=ÀEð 	#ñ 	
ô 	
ð 	
ð 	
õ 
ŒÝð=ð
ñ 
ô 
ð #ð #ð 	×Ò˜Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   Æ+GÇGÇGc                 óN  — t           j                             | ¦  «        }d\  }}|                     ||¦  «        dz  }|d d…xx         t          j        g d¢¦  «        z  cc<   d|                     d|¦  «        z  t          j        g d¢¦  «        z   }t          d¬¦  «                             |¦  «                             |¦  «        }|t          j        |dz   	                    ¦   «         ¦  «        z  }t          t          j        |d         d         ¦  «        d	d¦  «         d S )
N)éd   r   gš™™™™™¹?é
   )r   é   é   r   r   r   r   ç      ð?)r!   ÚrandomÚRandomStateÚrandnÚarrayr   r%   Ú	transformÚsqrtr$   r	   Úabs)Úglobal_random_seedÚrngÚnÚpr*   ÚXtÚYts          r0   Ú%test_incremental_pca_check_projectionrP   Z   s  € å
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ�D€A€qØ�	Š	�!�Q‰Œ˜#Ñ€AØ€c€r€c€F€F„F�bŒh�y�y�yÑ!Ô!Ñ!€F€F�FØ	ˆs�yŠy˜˜A‰ŒÑ	¥¤¨)¨)¨)Ñ!4Ô!4Ñ	4€Bõ
 
 QÐ	'Ñ	'Ô	'×	+Ò	+¨AÑ	.Ô	.×	8Ò	8¸Ñ	<Ô	<€Bð �"Œ'�2�q‘5—+’+‘-”-Ñ
 Ô
 Ñ €Bõ �œ˜r !œu QœxÑ(Ô(¨#¨qÑ1Ô1Ð1Ð1Ð1r2   c                 óp  — t           j                             | ¦  «        }d\  }}|                     ||¦  «        }|d d …dfxx         dz  cc<   |g d¢z  }t	          dd¬¦  «                             |¦  «        }|                     |¦  «        }|                     |¦  «        }t          ||d¬	¦  «         d S )
N©é2   r   r   çñhãˆµøä>©rA   r@   r   r   r?   r   r   ©Údecimal)	r!   rC   rD   rE   r   r%   rG   Úinverse_transformr	   )rJ   rK   rL   rM   r*   r+   ÚYÚ	Y_inverses           r0   Útest_incremental_pca_inverser[   o   s¾   € å
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ�D€A€qØ�	Š	�!�Q‰Œ€AØ€a€a€aˆ€d€G€G„GˆwÑ€G€G�GØˆˆˆ�N€Aõ  q°RÐ8Ñ8Ô8×<Ò<¸QÑ?Ô?€DØ�Š�qÑÔ€AØ×&Ò& qÑ)Ô)€IÝ˜˜9¨aÐ0Ñ0Ô0Ð0Ð0Ð0r2   c                  óè  — t          j        g d¢g d¢g¦  «        } | j        \  }}d}t          j        t
          d                     ||¦  «        ¬¦  «        5  t          |d¬¦  «                             | ¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t
          d	|› d
|› d�¬¦  «        5  t          |¬¦  «         	                    | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)r   r   r   )r   r   r   r@   zdn_components={} invalid for n_features={}, need more rows than columns for IncrementalPCA processingr5   r?   r   r   zn_components=z6 must be less or equal to the batch number of samples z  for the first partial_fit call.r   )
r!   rF   r   r7   r8   Ú
ValueErrorÚformatr   r%   r:   )r*   Ú	n_samplesÚ
n_featuresr   s       r0   Útest_incremental_pca_validationra      sº  € å
Œ�)�)�)˜Y˜Y˜YÐ'Ñ(Ô(€AØœGÑ€IˆzØ€LÝ	ŒÝð÷ !š& ¨zÑ:Ô:ð
ñ 
ô 
ð 	;ð 	;õ 	�|°Ð3Ñ3Ô3×7Ò7¸Ñ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð €LÝ	ŒÝðM˜Lð Mð MØ!*ðMð Mð Mð
ñ 
ô 
ð Að Aõ 	 LÐ1Ñ1Ô1×=Ò=¸aÑ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Að Aøøøð Að Að Að Að Að As$   Á%BÂBÂBÂ6$C'Ã'C+Ã.C+c                  ó  — t          d¬¦  «        } t          j        ¦   «         5  t          j        dt          ¦  «         |                      t          j                             dd¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «         5  t          j        dt          ¦  «         |  	                    t          j                             dd¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrA   r   Úerroré   )
r   ÚwarningsÚcatch_warningsÚsimplefilterÚRuntimeWarningr:   r!   rC   rE   r%   )r+   s    r0   Ú!test_n_samples_equal_n_componentsri   ›   sY  € õ  qÐ)Ñ)Ô)€DÝ	Ô	 Ñ	"Ô	"ð 0ð 0ÝÔ˜g¥~Ñ6Ô6Ð6Ø×Ò�œŸš¨¨AÑ.Ô.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0õ 
Ô	 Ñ	"Ô	"ð (ð (ÝÔ˜g¥~Ñ6Ô6Ð6Ø�Š•”—’  AÑ&Ô&Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s%   ¤AA>Á>BÂBÂAC7Ã7C;Ã>C;c                  ól  — t           j                             d¦  «        } dD ]‘\  }}|                      ||¦  «        }t	          d ¬¦  «        }|                     |¦  «         |j        t          |j        ¦  «        k    sJ ‚|                     |¦  «         |j        |j	        j        d         k    sJ ‚Œ’d S )NéÏ  ))rS   r?   )r?   rS   r   r   )
r!   rC   rD   Úrandr   r:   Ún_components_Úminr   Úcomponents_)rK   r_   r`   r*   r+   s        r0   Útest_n_components_nonerp   §   sÂ   € å
Œ)×
Ò
 Ñ
%Ô
%€CØ!5ð ?ð ?Ñˆ	�:Ø�HŠH�Y 
Ñ+Ô+ˆÝ¨4Ð0Ñ0Ô0ˆð 	×Ò˜ÑÔÐØÔ!¥S¨¬¡\¤\Ò1Ð1Ð1Ð1ð 	×Ò˜ÑÔÐØÔ! TÔ%5Ô%;¸AÔ%>Ò>Ð>Ð>Ð>Ð>ð?ð ?r2   c                  óà  — t           j                             d¦  «        } d}d}|                      ||¦  «        }|                      ||¦  «        }|                      ||¦  «        }t	          d¬¦  «        }|                     |¦  «         |                     d¬¦  «         t          j        t          ¦  «        5  | 
                    |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d¬¦  «         t          j        t          ¦  «        5  | 
                    |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d¬¦  «         | 
                    |¦  «         d S )Nrk   r>   é   r   r?   é   )r!   rC   rD   rE   r   r%   Ú
set_paramsr7   r8   r]   r:   )rK   r_   r`   r*   ÚX2ÚX3r+   s          r0   Útest_incremental_pca_set_paramsrw   ¹   sÅ  € å
Œ)×
Ò
 Ñ
%Ô
%€CØ€IØ€JØ�	Š	�)˜ZÑ(Ô(€AØ	�Š�9˜jÑ	)Ô	)€BØ	�Š�9˜jÑ	)Ô	)€BÝ rÐ*Ñ*Ô*€DØ‡H‚HˆQ�K„K€Kà‡O‚O €OÑ$Ô$Ð$Ý	Œ•zÑ	"Ô	"ð ð Ø×Ò˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 	‡O‚O €OÑ$Ô$Ð$Ý	Œ•zÑ	"Ô	"ð ð Ø×Ò˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 	‡O‚O €OÑ$Ô$Ð$Ø×Ò�QÑÔÐÐÐs$   Â:CÃC Ã#C ÄD8Ä8D<Ä?D<c                  óx  — t           j                             d¦  «        } d}|                      |d¦  «        }|                      |d¦  «        }t	          d ¬¦  «        }|                     |¦  «         t          j        t          ¦  «        5  | 	                    |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrk   r>   rr   rS   r   )
r!   rC   rD   rE   r   r%   r7   r8   r]   r:   )rK   r_   r*   ru   r+   s        r0   Ú(test_incremental_pca_num_features_changery   Ð   sé   € å
Œ)×
Ò
 Ñ
%Ô
%€CØ€IØ�	Š	�)˜RÑ Ô €AØ	�Š�9˜bÑ	!Ô	!€BÝ tÐ,Ñ,Ô,€DØ‡H‚HˆQ�K„K€KÝ	Œ•zÑ	"Ô	"ð ð Ø×Ò˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÂB/Â/B3Â6B3c                 óÌ  — t           j                             | ¦  «        }d}d}|                     ||¦  «        }g }t          j        dd¦  «        }|D ]@}t          d |¬¦  «                             |¦  «        }|                     |j        ¦  «         ŒAt          j
        |¦  «        D ];\  }	}
t          t          j        |	¦  «        t          j        |
¦  «        d¬¦  «         Œ<d S )Nr>   r   r?   rr   r   é   rV   )r!   rC   rD   rE   Úaranger   r%   Úappendro   Ú	itertoolsÚpairwiser	   Úsign©rJ   rK   r_   r`   r*   Úall_componentsÚbatch_sizesr   r+   ÚiÚjs              r0   Ú test_incremental_pca_batch_signsr†   Ü   sä   € å
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ€IØ€JØ�	Š	�)˜ZÑ(Ô(€AØ€NÝ”)˜B Ñ#Ô#€KØ!ð 0ð 0ˆ
Ý¨4¸JÐGÑGÔG×KÒKÈAÑNÔNˆØ×Ò˜dÔ.Ñ/Ô/Ð/Ð/åÔ" >Ñ2Ô2ð ?ð ?‰ˆˆ1Ý�BœG A™JœJ­¬°©
¬
¸AÐ>Ñ>Ô>Ð>Ð>ð?ð ?r2   c                  óö  — t           j                             d¦  «        } d\  }}|                      ||¦  «        }|d d …dfxx         dz  cc<   |g d¢z  }|}t	          |¬¦  «        }|                     |d |…         ¦  «         t          ||¦  «        D ]"}|                     |||dz   …         ¦  «         Œ#t          |¬¦  «        }|                     |¦  «         t          |j
        |j
        d¬¦  «         d S )	Nrk   rR   r   rT   rU   r   r   r   )r!   rC   rD   rE   r   r:   Úranger   r%   r   ro   )rK   rL   rM   r*   r   ÚpipcaÚidxr,   s           r0   Ú,test_incremental_pca_partial_fit_small_batchr‹   ì   s  € õ Œ)×
Ò
 Ñ
%Ô
%€CØ�D€A€qØ�	Š	�!�Q‰Œ€AØ€a€a€aˆ€d€G€G„GˆwÑ€G€G�GØˆˆˆ�N€Aà€LÝ¨Ð5Ñ5Ô5€EØ	×Ò�a˜˜˜Ô&Ñ'Ô'Ð'Ý�\ 1Ñ%Ô%ð ,ð ,ˆØ×Ò˜!˜C #¨¡'˜MÔ*Ñ+Ô+Ð+Ð+å
˜<Ð
(Ñ
(Ô
(€CØ‡G‚GˆA�J„J€Jå�C”O UÔ%6¸TÐBÑBÔBÐBÐBÐBr2   c                 ó†  — t           j                             | ¦  «        }d}d}|                     ||¦  «        }g }t          j        ddd¦  «        }|D ]@}t          d |¬¦  «                             |¦  «        }|                     |j        ¦  «         ŒAt          j
        |¦  «        D ]\  }	}
t          |	|
d¬¦  «         Œd S )Nr>   r   rr   é(   r   r   rV   )r!   rC   rD   rE   r|   r   r%   r}   ro   r~   r   r	   r�   s              r0   Ú!test_incremental_pca_batch_valuesrŽ     sÖ   € å
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ€IØ€JØ�	Š	�)˜ZÑ(Ô(€AØ€NÝ”)˜B  AÑ&Ô&€KØ!ð 0ð 0ˆ
Ý¨4¸JÐGÑGÔG×KÒKÈAÑNÔNˆØ×Ò˜dÔ.Ñ/Ô/Ð/Ð/åÔ" >Ñ2Ô2ð -ð -‰ˆˆ1Ý˜A˜q¨!Ð,Ñ,Ô,Ð,Ð,ð-ð -r2   c                  ó‚  — t           j                             d¦  «        } d}d}|                      ||¦  «        }g }t          j        ddd¦  «        }|D ]@}t          d|¬¦  «                             |¦  «        }|                     |j        ¦  «         ŒAt          j
        |¦  «        D ]\  }}	t          ||	¦  «         Œd S )Nrk   r>   rr   éZ   r   r   )r!   rC   rD   rE   r|   r   r%   r}   ro   r~   r   r   )
rK   r_   r`   r*   r‚   rƒ   r   r+   Úcomponents_iÚcomponents_js
             r0   Útest_incremental_pca_batch_rankr“     sÕ   € å
Œ)×
Ò
 Ñ
%Ô
%€CØ€IØ€JØ�	Š	�)˜ZÑ(Ô(€AØ€NÝ”)˜B  AÑ&Ô&€KØ!ð 0ð 0ˆ
Ý¨2¸*ÐEÑEÔE×IÒIÈ!ÑLÔLˆØ×Ò˜dÔ.Ñ/Ô/Ð/Ð/å&/Ô&8¸Ñ&HÔ&Hð Að AÑ"ˆ�lÝ$ \°<Ñ@Ô@Ð@Ð@ðAð Ar2   c                 óþ  — t           j                             | ¦  «        }d\  }}|                     ||¦  «        }|d d …dfxx         dz  cc<   |g d¢z  }d}t	          d|¬¦  «                             |¦  «        }t	          d|¬¦  «        }t          j        d|dz   |¦  «        }t          j        |¦  «        D ]&\  }	}
| 	                    ||	|
…d d …f         ¦  «         Œ't          |j        |j        d	¬
¦  «         d S )NrR   r   rT   rU   r?   r   r   r   r   rV   )r!   rC   rD   rE   r   r%   r|   r~   r   r:   r	   ro   )rJ   rK   rL   rM   r*   r   r+   r‰   Ú	batch_itrr„   r…   s              r0   Ú test_incremental_pca_partial_fitr–   !  s  € å
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ�D€A€qØ�	Š	�!�Q‰Œ€AØ€a€a€aˆ€d€G€G„GˆwÑ€G€G�GØˆˆˆ�N€Að €JÝ q°ZÐ@Ñ@Ô@×DÒDÀQÑGÔG€DÝ¨°jÐAÑAÔA€Eå”	˜!˜Q ™U JÑ/Ô/€IÝÔ" 9Ñ-Ô-ð %ð %‰ˆˆ1Ø×Ò˜!˜A˜a˜C   ˜Fœ)Ñ$Ô$Ð$Ð$Ý˜Ô(¨%Ô*;ÀQÐGÑGÔGÐGÐGÐGr2   c                  ó  — t           j        } t          d¬¦  «                             | ¦  «        }t	          dd¬¦  «                             | ¦  «        }t          t          j        |¦  «        t          j        |¦  «        d¦  «         d S )Nr   r   é   r   r   )r   r   r   r    r   r	   r!   rI   )r*   ÚY_pcaÚY_ipcas      r0   Ú%test_incremental_pca_against_pca_irisr›   5  so   € åŒ	€Aå˜QÐÑÔ×-Ò-¨aÑ0Ô0€EÝ¨°rÐ:Ñ:Ô:×HÒHÈÑKÔK€Få�œ˜u™œ¥r¤v¨f¡~¤~°qÑ9Ô9Ð9Ð9Ð9r2   c                 ó¤  — t           j                             | ¦  «        }d}d}|                     ||¦  «        d|                     d|¦  «        z  z   }t          d¬¦  «                             |¦  «        }t          dd¬¦  «                             |¦  «        }t          t          j	        |¦  «        t          j	        |¦  «        d¦  «         d S )Nr>   r   rA   r   r   r˜   r   )
r!   rC   rD   rE   rl   r   r    r   r	   rI   )rJ   rK   r_   r`   r*   r™   rš   s          r0   Ú,test_incremental_pca_against_pca_random_datar�   ?  s³   € å
Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ€IØ€JØ�	Š	�)˜ZÑ(Ô(¨1¨s¯xªx¸¸:Ñ/FÔ/FÑ+FÑF€Aå˜QÐÑÔ×-Ò-¨aÑ0Ô0€EÝ¨°rÐ:Ñ:Ô:×HÒHÈÑKÔK€Få�œ˜u™œ¥r¤v¨f¡~¤~°qÑ9Ô9Ð9Ð9Ð9r2   c                  ó�  — t          j        ddddd¬¦  «        } d}| j        \  }}dD ]�}t          |¬	¦  «                             | ¦  «        }t          |d¬
¦  «                             | ¦  «        }t          |j        |j        |¬¦  «         t          |j        |j        |¬¦  «         t          |j	        |j	        |¬¦  «         Œžd S )Néè  r>   ç        r?   rk   ©Útail_strengthÚeffective_rankÚrandom_stater   )Néc   r   r   rV   )
r   Úmake_low_rank_matrixr   r   r%   r   r	   Úexplained_variance_r#   Únoise_variance_)r*   Úprecr_   r`   Úncr,   r+   s          r0   Útest_explained_variancesr«   L  sý   € åÔ%Øˆc °RÀdð	ñ 	ô 	€Að €DØœGÑ€IˆzØð 	Uð 	UˆÝ˜rÐ"Ñ"Ô"×&Ò& qÑ)Ô)ˆÝ¨2¸#Ð>Ñ>Ô>×BÒBÀ1ÑEÔEˆÝØÔ# TÔ%=Àtð	
ñ 	
ô 	
ð 	
õ 	ØÔ)¨4Ô+IÐSWð	
ñ 	
ô 	
ð 	
õ 	˜CÔ/°Ô1EÈtÐTÑTÔTÐTÐTð	Uð 	Ur2   c           	      óB  — t           j                             | ¦  «        }d}d}t          j        ||dd|¬¦  «        }t          dd|¬¦  «                             |¦  «        }t          dd¬	¦  «                             |¦  «        }t          |j	        |j	        d
¦  «         | 
                    |¦  «        }| 
                    |¦  «        }t          t          j        |j	        dz  ¦  «        t           j                             |d¦  «        dz  d¦  «         t          t          j        |j	        dz  ¦  «        t           j                             |d¦  «        dz  d
¦  «         t          |j	        t          j        t          j        |dz  d¬¦  «        ¦  «        d¦  «         t          |j	        t          j        t          j        |dz  d¬¦  «        ¦  «        d
¦  «         t           j                             | ¦  «        }d}d}t          j        ||dd|¬¦  «        }t          dd|¬¦  «        }t          dd¬	¦  «        }|                     |¦  «        }|t          j        t          j        |dz  d¬¦  «        ¦  «        z  }|d d …dfxx         dz  cc<   |d d …dfxx         dz  cc<   t          j        ||j        ¦  «        }	|                     |	¦  «         |                     |	¦  «         t          |j	        g d¢d¦  «         t          |j	        g d¢d¦  «         d S )NrŸ   r>   r    r?   r¡   Úfull)r   Ú
svd_solverr¤   é–   r   r   g       @Úfroé   r   )Úaxisén   r   ç‰A`åÐ"	@r   çX9´Èv¾@)r´   rµ   rB   é   )r!   rC   rD   r   r¦   r   r%   r   r
   Úsingular_values_rG   r$   ÚlinalgÚnormrH   r    r(   ro   )
rJ   rK   r_   r`   r*   r,   r+   ÚX_pcaÚX_ipcaÚX_hats
             r0   Útest_singular_valuesr½   _  s  € õ Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ€IØ€JåÔ%Ø�:¨SÀÐRUð	ñ 	ô 	€Aõ ˜2¨&¸sÐ
CÑ
CÔ
C×
GÒ
GÈÑ
JÔ
J€CÝ r°cÐ:Ñ:Ô:×>Ò>¸qÑAÔA€DÝ˜cÔ2°DÔ4IÈ1ÑMÔMÐMð �MŠM˜!ÑÔ€EØ�^Š^˜AÑÔ€FÝÝ
ŒˆsÔ# SÑ(Ñ)Ô)­2¬9¯>ª>¸%ÀÑ+GÔ+GÈ3Ñ+NÐPRñô ð õ Ý
ŒˆtÔ$ cÑ)Ñ*Ô*­B¬I¯NªN¸6À5Ñ,IÔ,IÈSÑ,PÐRSñô ð õ
 ØÔ�bœg¥b¤f¨U°C©Z¸aÐ&@Ñ&@Ô&@ÑAÔAÀ2ñô ð õ ØÔ�rœw¥r¤v¨f°c©kÀÐ'BÑ'BÔ'BÑCÔCÀQñô ð õ
 Œ)×
Ò
Ð 2Ñ
3Ô
3€CØ€IØ€JåÔ%Ø�:¨SÀÐQTð	ñ 	ô 	€Aõ ˜1¨¸cÐ
BÑ
BÔ
B€CÝ q°SÐ9Ñ9Ô9€Dà×Ò˜aÑ Ô €EØ	�RŒW•R”V˜E 3™J¨QÐ/Ñ/Ô/Ñ0Ô0Ñ0€EØ	ˆ!ˆ!ˆ!ˆQˆ$€K€K„K�5Ñ€K€K�KØ	ˆ!ˆ!ˆ!ˆQˆ$€K€K„K�5Ñ€K€K�KåŒF�5˜#œ/Ñ*Ô*€EØ‡G‚GˆE�N„N€NØ‡H‚HˆU�O„O€OÝ˜cÔ2Ð4GÐ4GÐ4GÈÑLÔLÐLÝ˜dÔ3Ð5HÐ5HÐ5HÈ"ÑMÔMÐMÐMÐMr2   c                 óš  — t          j        dddd| ¬¦  «        }d}dD �]+}t          d|¬	¦  «                             |¦  «        }t	          d|d
¬¦  «                             |¦  «        }|j        dk    }|                     |¦  «        }|                     |¦  «        }t          t          j	        |¦  «        d d …|f         t          j	        |¦  «        d d …|f         |¬¦  «         | 
                    |¦  «        }	| 
                    |¦  «        }
t          ||	|¬¦  «         t          ||
|¬¦  «         t          |
|	|¬¦  «         �Œ-d S )NrŸ   r?   r    r   r¡   r   )Né	   T)Úwhitenr   éú   )rÀ   r   r   gê-�™—q=r   )r   r¦   r   r%   r   r#   rG   r   r!   rI   rX   )rJ   r*   r   rª   r,   r+   Ústable_maskÚXt_pcaÚXt_ipcaÚ	Xinv_ipcaÚXinv_pcas              r0   Útest_whiteningrÇ   ˜  sm  € åÔ%Øˆb °AÐDVð	ñ 	ô 	€Að €DØð 8ñ 8ˆÝ˜¨BÐ/Ñ/Ô/×3Ò3°AÑ6Ô6ˆÝ T¸ÀsÐKÑKÔK×OÒOÐPQÑRÔRˆð Ô3°eÒ;ˆà—’˜qÑ!Ô!ˆØ—.’. Ñ#Ô#ˆÝÝŒF�6‰NŒN˜1˜1˜1˜k˜>Ô*ÝŒF�7‰OŒO˜A˜A˜A˜{˜NÔ+Øð	
ñ 	
ô 	
ð 	
ð ×*Ò*¨7Ñ3Ô3ˆ	Ø×(Ò(¨Ñ0Ô0ˆÝ˜˜9¨4Ð0Ñ0Ô0Ð0Ý˜˜8¨$Ð/Ñ/Ô/Ð/Ý˜ )°$Ð7Ñ7Ô7Ð7Ñ7ð38ð 8r2   c                  ó  — t           j                             d¦  «        } |                      dd¦  «        dz   }|                      dd¦  «        dz   }t	          d¬¦  «        }|                     |¦  «         t          |j        ¦  «        |_        |                     |¦  «         |j        }t	          d¬¦  «        }|                     |¦  «         |                     |¦  «         |j        }t           j	         
                    ||¦  «         d S )Nr   rA   r   r   rd   r   )r!   rC   rD   rE   r   r:   ÚfloatÚn_samples_seen_r·   r"   r   )rK   ÚAÚBr,   Ú singular_vals_float_samples_seenÚpca2Úsingular_vals_int_samples_seens          r0   Ú/test_incremental_pca_partial_fit_float_divisionrÐ   º  s   € õ Œ)×
Ò
 Ñ
"Ô
"€CØ�	Š	�!�Q‰Œ˜!Ñ€AØ�	Š	�!�Q‰Œ˜!Ñ€Aå
 aÐ
(Ñ
(Ô
(€CØ‡O‚O�AÑÔÐå Ô 3Ñ4Ô4€CÔØ‡O‚O�AÑÔÐØ'*Ô';Ð$å qÐ)Ñ)Ô)€DØ×Ò�QÑÔÐØ×Ò�QÑÔÐØ%)Ô%:Ð"å„J×ÒØ(Ð*Hñô ð ð ð r2   c                  óZ  — t           j                             d¦  «        } |                      dd¦  «        }t	          dd¬¦  «        }|                     |¦  «         t          d¬¦  «        }|                     |¦  «         t           j                             |j	        |j	        ¦  «         d S )Nr   i ¡ r   i'  r   r   )
r!   rC   rD   rl   r   r%   r   r"   r   r·   )rK   rË   r+   r,   s       r0   Ú'test_incremental_pca_fit_overflow_errorrÒ   Ó  s�   € õ Œ)×
Ò
 Ñ
"Ô
"€CØ�Š�˜ÑÔ€Aå q°UÐ;Ñ;Ô;€DØ‡H‚HˆQ�K„K€Kå
˜1Ð
Ñ
Ô
€CØ‡G‚GˆA�J„J€Jå„J×Ò˜tÔ4°cÔ6JÑKÔKÐKÐKÐKr2   c                  óÖ   — t          d¬¦  «                             t          j        ¦  «        } |                      ¦   «         }t          d„ t          d¦  «        D ¦   «         |¦  «         dS )z+Check feature names out for IncrementalPCA.r   r   c                 ó   — g | ]}d |› �‘ŒS )Úincrementalpca© )Ú.0r„   s     r0   ú
<listcomp>z:test_incremental_pca_feature_names_out.<locals>.<listcomp>ç  s!   € Ð?Ð?Ð?°Ð,¨Ð,Ð,Ð?Ð?Ð?r2   N)r   r%   r   r   Úget_feature_names_outr   rˆ   )r+   Únamess     r0   Ú&test_incremental_pca_feature_names_outrÛ   â  s^   € å qÐ)Ñ)Ô)×-Ò-­d¬iÑ8Ô8€Dà×&Ò&Ñ(Ô(€EÝÐ?Ð?µe¸A±h´hÐ?Ñ?Ô?ÀÑGÔGÐGÐGÐGr2   )0Ú__doc__r~   re   Únumpyr!   r7   Únumpy.testingr   r   Úsklearnr   Úsklearn.decompositionr   r   Úsklearn.utils._testingr   r	   r
   Úsklearn.utils.fixesr   r   r   Ú	load_irisr   r1   ÚmarkÚparametrizer<   rP   r[   ra   ri   rp   rw   ry   r†   r‹   rŽ   r“   r–   r›   r�   r«   r½   rÇ   rÐ   rÒ   rÛ   rÖ   r2   r0   ú<module>ræ      s{  ðØ  Ð  à Ð Ð Ð Ø €€€à Ð Ð Ð Ø €€€Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =à Ð Ð Ð Ð Ð Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5ðð ð ð ð ð ð ð ð ð ð
 OÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ Nà€xÔÑÔ€ð
ð 
ð 
ð6 „×ÒØ˜¨Ñ7¸.ÑHñô ð##ð ##ñô ð##ðL2ð 2ð 2ð*1ð 1ð 1ð Að Að Að8	(ð 	(ð 	(ð?ð ?ð ?ð$ð ð ð.	ð 	ð 	ð?ð ?ð ?ð Cð Cð Cð*-ð -ð -ð Að Að Að Hð Hð Hð(:ð :ð :ð
:ð 
:ð 
:ðUð Uð Uð&6Nð 6Nð 6Nðr8ð 8ð 8ðDð ð ð2Lð Lð LðHð Hð Hð Hð Hr2   