
    9i'Y              	       b   S SK JrJrJr  S SKrS SKJrJrJ	r	J
r
JrJr  S SKrS SKJr  S rS r\R$                  R'                  SS\R(                  " S	\R$                  R*                  /S
9/5      S 5       r\R$                  R'                  SS\R(                  " S	\R$                  R*                  /S
9/5      S 5       rS rS r " S S\R4                  5      r " S S\R4                  5      r " S S\R4                  5      rS rS rS r S r!/ SQr"\R$                  R'                  S\"SS/-   5      \R$                  R'                  S\"5      S 5       5       r#S r$S  r%S! r&S" r'\R$                  R*                  S# 5       r(S$ r)\R$                  R*                  S% 5       r*S& r+S' r,S( r-S) r.S* r/g)+    )statslinalg	integrateN)assert_almost_equalassert_assert_equalassert_array_almost_equalassert_array_almost_equal_nulpassert_allclose)raisesc            	          [         R                  R                  S5      n SnU R                  SSU5      nUR	                  5       nUR                  SS9n[        R                  " U5      n[         R                  " / SQ5      nUR                  [         R                  " UR                  5      p[        U" U5      [        R                  R                  US S 2S 4   XxS9R                  SS	9UR                   -  S
S9  [         R"                  " SSS5      n	UR%                  U	5      n
[        R                  R                  XUS9nU	S   U	S   -
  n['        [         R                  " X-
  S-  5      U-  S:  5        UR)                  U[         R*                  5      nUR)                  [         R*                  * U5      n[-        USSS9  [-        USSS9  [-        UR/                  U[         R*                  5      USS9  [-        UR/                  [         R*                  * U5      USS9  [-        UR1                  U5      U
S-  R                  5       U-  SS9  [-        UR3                  X4S-  5      X-  R                  5       U-  SS9  g )N   r      )ddofg?      ?g?locscaleaxisvIh%,=rtol        {Gz?r   decimal   )nprandomdefault_rngnormalmeanstdr   gaussian_kdeasarraydatasetsqrt
covariancer   normpdfsumnlinspaceevaluater   integrate_box_1dinfr   integrate_boxintegrate_kdeintegrate_gaussian)rngn_basesamplexnxnmeanxnstdgkdexxr   r   xskdepdfnormpdf	intervallprob1prob2s                  ]/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/scipy/stats/tests/test_kdeoth.pytest_kde_1drI   
   s   
))


(CL	Aq,	'BWWYFFFFNE b!D 
O	$Brwwt7R

r!T'{9==2=FO 
RC	 B]]2FjjnnR5n9G11IBFFF$q())3d:;!!&"&&1E!!266'62EsA.sA.**6266:E2N**BFF7F;UBO**40))3Q@//qA,,.y8!E    c                  v   [         R                  R                  S5      n SnU R                  SSU5      nU R                  U5      n[         R                  " X#S9n[         R
                  " [         R                  " X$-
  S-  US95      n[        R                  " X#S9n[         R                  " / SQ5      nUR                  [         R
                  " UR                  5      p[        R                  R                  n
[        U" U5      [         R                  " U
" US S 2S 4   XS9UR                  -  S	S
9SS9  [         R                   " SSS5      nUR#                  U5      n[        R                  R                  XUS9nUS   US   -
  n[%        [         R                  " X-
  S-  5      U-  S:  5        UR'                  U[         R(                  5      nUR'                  [         R(                  * U5      n[+        USSS9  [+        USSS9  [+        UR-                  U[         R(                  5      USS9  [+        UR-                  [         R(                  * U5      USS9  [+        UR/                  U5      US-  R                  5       U-  SS9  [+        UR1                  XES-  5      X-  R                  5       U-  SS9  g )Nr   r   r   r   weightsr    r   r   r   r   r   r   r   r   r   r!   r   r"   r$   )r%   r&   r'   r(   averager.   r   r+   r,   r-   r/   r0   r1   r   r2   rM   r4   r5   r   r6   r7   r   r8   r9   r:   )r;   r<   r=   wnr>   r?   r@   rA   r   r   r1   rB   rC   rD   rE   rF   rG   s                    rH   test_kde_1d_weightedrP   1   s/   
))


(CL	Aq,	'B	L	!BZZ'FGGBJJ	A~r:;E b-D 
O	$Brwwt7
**..CR
s2ag;C5D2N 
RC	 B]]2FjjnnR5n9G11IBFFF$q())3d:;!!&"&&1E!!266'62EsA.sA.**6266:E2N**BFF7F;UBO**40))3Q@//qA,,.y8!ErJ   r<      r   )marksc           
         [         R                  R                  S5      n[         R                  " SS/5      n[         R                  " SS/SS//5      nUR	                  X#U S9R
                  n[        R                  " U5      n[         R                  " SS/S	S
/SS//5      nUS S 2S S S 24   UR                  R
                  -
  n[        R                  R                  n[        U" UR
                  5      U" XuR                  S9R                  SS9UR                  -  SS9  [        R                  R                  n	SS/SS/pXR                  R
                  -
  XR                  R
                  -
  p[        UR!                  XUS9U	" XUR                  US9R                  SS9UR                  -  SS9  [         R"                  SSS2SSS24   u  p[         R$                  " UR'                  5       UR'                  5       /5      nUR)                  U5      nUR+                  SS5      n[        R                  R                  [         R,                  " X/5      X#S9nUR'                  5       S   UR'                  5       S   -
  n[/        [         R                  " UU-
  S-  5      US-  -  S:  5        SnSnUR!                  UUS   /UU/US9nUR!                  UU/UUS   /US9n[1        USSS 9  [1        USSS 9  [1        UR3                  U5      US-  R                  5       US-  -  SS 9  [1        UR5                  X#5      UU-  R                  5       US-  -  SS 9  g )!Nr         ?      @       @      @sizer   r                covr   r   r   r   r   r;   lower_limitr_   r;   gƠ>r   r                @@r   r)   r_   r!   }Ô%I}Ô%ITr   r"   )r%   r&   r'   arraymultivariate_normalTr   r+   r,   r-   r1   r   r/   r2   r3   cdfr8   mgridvstackravelr5   reshapedstackr   r   r9   r:   )r<   r;   r)   r/   r=   r@   rA   argr1   rk   lohilo_hi_xygrid_coordsrC   rD   rE   smalllargerF   rG   s                           rH   test_kde_2dr{   \   s    ))


(C88S#JDC:Sz23J 
	 	 	 	E	G	GB b!D 
aVaVaV,	-B
QaZ.4<<>>
)C

#
#
'
'CRTT
C__%))r)2TVV; 
#
#
'
'C"X1vLLNN"B$72s+Cdoo3?CCCLtvvU 88BqIr!Dy()DA))QWWY	23K]];'F^^C%F''++BIIqf,=15 , GG	!qwwy|+IBFFFW$q()Y\:TABEEtAw/%SIEu~tAw/?SIEsA.sA.**40)9a<8!E//A,,.	1=qJrJ   c                    [         R                  R                  S5      n[         R                  " SS/5      n[         R                  " SS/SS//5      nUR	                  X#U S9R
                  nUR                  U 5      n[        R                  " XES9n[         R                  " SS	/S
S/SS//5      nUS S 2S S S 24   UR                  R
                  -
  n[        R                  R                  n	[        U" UR
                  5      [         R                  " U	" XR                  S9UR                  -  SS9SS9  [        R                  R                   n
SS/SS/pXR                  R
                  -
  XR                  R
                  -
  p[        UR#                  XUS9[         R                  " U
" XUR                  US9UR                  -  SS9SS9  [         R$                  SSS2SSS24   u  nn[         R&                  " UR)                  5       UR)                  5       /5      nUR+                  U5      nUR-                  SS5      n[        R                  R                  [         R.                  " UU/5      X#S9nUR)                  5       S   UR)                  5       S   -
  n[1        [         R                  " UU-
  S	-  5      US	-  -  S:  5        SnSnUR#                  UUS   /UU/US9nUR#                  UU/UUS   /US9n[3        US SS!9  [3        US SS!9  [3        UR5                  U5      US	-  R                  5       US	-  -  S	S!9  [3        UR7                  X#5      UU-  R                  5       US	-  -  S	S!9  g )"Nr   rT   rU   rV   rW   rX   rL   r   r    rZ   r[   r\   r]   r^   r   r   r   r   r`   r   ra   rb   gh㈵>r   r   rd   r   re   r!   rf   rg   r   r"   )r%   r&   RandomStaterh   ri   rj   randr   r+   r,   r-   r1   r   r2   r/   rM   rk   r8   rl   rm   rn   r5   ro   rp   r   r   r9   r:   )r<   r;   r)   r/   r=   rO   r@   rA   rq   r1   rk   rr   rs   rt   ru   rv   rw   rx   rC   rD   rE   ry   rz   rF   rG   s                            rH   test_kde_2d_weightedr      s0    ))


(C88S#JDC:Sz23J 
	 	 	 	E	G	GB	,	B b-D 
aVaVaV,	-B
QaZ.4<<>>
)C

#
#
'
'CRTT

s3OO,t||;"E 
#
#
'
'C"X1vLLNN"B$72s+
s3T__#F||"$	&	 88BqIr!Dy()DAq))QWWY	23K]];'F^^C%F''++BIIq!f,=15 , GG	!qwwy|+IBFFFW$q()Y\:TABEEtAw/%SIEu~tAw/?SIEsA.sA.**40)9a<8!E//A,,.	1=qJrJ   c                      S n [         R                  R                  S5      nSnUR                  SSU5      n[        R
                  " U5      n[        R
                  " X0S9n[        R
                  " X4R                  S9n[         R                  " SSS	5      nUR                  U5      nUR                  U5      n	[        X5        UR                  U5      n
[        X5        [        [        [        R
                  US
S9  g )Nc                 d    [         R                  " U R                  SU R                  S-   -  5      $ z*Same as default, just check that it works.g      r[   )r%   powerr3   dkde_objs    rH   scotts_factor0test_kde_bandwidth_method.<locals>.scotts_factor   s$    xx		3		!#455rJ   r   2   r   r   	bw_methodr   r   3   wrongstringr%   r&   r'   r(   r   r+   factorr4   r5   r   assert_raises
ValueErrorr   r;   r<   r=   r@   gkde2gkde3rB   rC   kdepdf2kdepdf3s              rH   test_kde_bandwidth_methodr      s    6 ))


(CL	Aq,	'B b!Dr;Er[[9E	R"	B]]2FnnR G(nnR G(*e00"NrJ   c                      S n [         R                  R                  S5      nSnUR                  SSU5      n[        R
                  " U5      n[        R
                  " X0S9n[        R
                  " X4R                  S9n[         R                  " SSS	5      nUR                  U5      nUR                  U5      n	[        X5        UR                  U5      n
[        X5        [        [        [        R
                  US
S9  g )Nc                 d    [         R                  " U R                  SU R                  S-   -  5      $ r   )r%   r   neffr   r   s    rH   r   9test_kde_bandwidth_method_weighted.<locals>.scotts_factor   s$    xxc799Q;&788rJ   r   r   r   r   r   r   r   r   r   r   r   s              rH   "test_kde_bandwidth_method_weightedr      s    9 ))


(CL	Aq,	'B b!Dr;Er[[9E	R"	B]]2FnnR G(nnR G(*e00"NrJ   c                       \ rS rSrS rSrg)_kde_subclass1i  c                     [         R                  " U5      U l        U R                  R                  u  U l        U l        U R                  U l        U R                  5         g N)	r%   
atleast_2dr-   shaper   r3   r   covariance_factor_compute_covariance)selfr-   s     rH   __init___kde_subclass1.__init__  sC    }}W-++!%!3!3  "rJ   )r   r   r-   r3   N)__name__
__module____qualname____firstlineno__r   __static_attributes__ rJ   rH   r   r     s    #rJ   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )_kde_subclass2i  c                 F   > U R                   U l        [        TU ]  U5        g r   )r   r   superr   )r   r-   	__class__s     rH   r   _kde_subclass2.__init__   s    !%!3!3!rJ   )r   )r   r   r   r   r   r   __classcell__)r   s   @rH   r   r     s    " "rJ   r   c                       \ rS rSrS rSrg)_kde_subclass4i%  c                 (    SU R                  5       -  $ )Nr   )silverman_factor)r   s    rH   r    _kde_subclass4.covariance_factor&  s    T**,,,rJ   r   N)r   r   r   r   r   r   r   rJ   rH   r   r   %  s    -rJ   r   c                    ^ [         R                  " / SQ[        S9n [         R                  " SSSS9n[        R
                  " U 5      mT" U5      n[        U 5      nU" U5      n[        X$SS9  [        U 5      nU" U5      n[        X&SS9  [        U 5      nU" U 5      n/ SQn	[        XS	S
9  Tn
U4S jU
l        U
R                  5         U
" U5      n[        X+SS9  g )Nr   r   r[   r\   dtype
   r   numnulp)gn,?gǻe??gW[3?ga )?gKd8;?r]   r"   c                     > T R                   $ r   )r   )kdes   rH   <lambda>/test_gaussian_kde_subclassing.<locals>.<lambda>H  s	    SZZrJ   )r%   rh   floatr4   r   r+   r   r
   r   r   r	   r   r   )x1rB   yskde1y1kde2y2kde4y4
y_expectedkde5y5r   s               @rH   test_gaussian_kde_subclassingr   *  s    	#5	1B	S""	%B 

R
 C	RB "D	bB"23 "D	bB"23 "D	bBMJja8 D/D	bB"23rJ   c                      [         R                  " / SQ[        S9n [         R                  " SSSS9n/ SQn[        R
                  " U 5      nUR                  SS	9  UR                  S
S	9  U" U5      n[        X$SS9  g )Nr   r   r   r   r\   r   )g>L\9?gp4=?gH꟫?g8(H	MT?gĲCR?r   r   scottr   r"   )r%   rh   r   r4   r   r+   set_bandwidthr	   )r   rB   r   r   r   s        rH   $test_gaussian_kde_covariance_cachingr   N  st    	#5	1B	S"!	$B NJ 

R
 C$(	RBja8rJ   c                  2   [         R                  " / SQ[        S9n [         R                  " SSSS9n[        R
                  " U 5      nUR                  Ul        UR                  5         U" U5      n[        R
                  " U SS9nU" U5      n[        X5SS	9  g
)zUgly, but people may rely on this.  See scipy pull request 123,
specifically the linked ML thread "Width of the Gaussian in stats.kde".
If it is necessary to break this later on, that is to be discussed on ML.
r   r   r   r   r   r   	silvermanr   r   N)
r%   rh   r   r4   r   r+   r   r   r   r
   )r   rB   r   r   r   r   s         rH   test_gaussian_kde_monkeypatchr   ^  s    
 
#5	1B	S""	%B 

R
 C00C	RB bK8D	bB"23rJ   c                      [         R                  " S5      n [        R                  " U 5      n/ SQn[	        U" U 5      USS9  g)zRegression test for #1181.r\   )B\A?筱ES?g
f?r   r   r]   r"   N)r%   aranger   r+   r	   )r   r   r   s      rH   test_kde_integer_inputr   s  s4    	1B


R
 CMJc"gz1=rJ   )float32float64float96float128int32int64bw_typer   r   r   c                    [        [        U S 5      n US;   a  UnO"[        [        US 5      nU(       a  U" S5      OS n[        S X4 5       5      (       a  [        R                  " 5         [        R
                  " SU S9n[        R
                  " SU S9n[        R                  " XBUS9n[        R
                  " SU S9nU" U5      nUR                  [        R                  " XF[        R                  " U5      UR                  5      :X  d   eg )N)r   r   rZ   c              3   (   #    U  H  oS L v   M
     g 7fr   r   ).0dts     rH   	<genexpr>(test_kde_output_dtype.<locals>.<genexpr>  s     
,":s   r\   r   )r   rM   )getattrr%   anypytestskipr   r   r+   r   result_typer   r   )r   r   bwrM   r-   kpointsresults           rH   test_kde_output_dtyper   ~  s     Bt$E(("gt,"WQZ

,
,,,ii'Gii'G7'BAYYq&FvYF<<2>>'2::g;N*+((4 4 4 4rJ   c                  >   [         R                  R                  S5      n U R                  S5      n[        R
                  " U5      nU R                  S5      nSn[        R                  " [        US9   UR                  U5        S S S 5        g ! , (       d  f       g = f)Nl	   Fgu	\U.lt&0 )r    r   )rZ   r   z0points have dimension 3, dataset has dimension 2match)
r%   r&   r'   standard_normalr   r+   r   r   r   logpdf)r;   r=   r@   rB   msgs        rH   test_pdf_logpdf_validationr     sq    
))

 F
GC			W	%Bb!D			W	%B
<C	z	-B 
.	-	-s   3B
Bc                  .   [         R                  R                  S5      n SnU R                  SSU5      n[        R
                  " U5      n[         R                  " SSS5      nUR                  U5      nUR                  U5      n[        XVSS9  [         R                  " U5      nUR                  U5      n[        XxSS9  [        R
                  " U5      n[         R                  " UR                  U5      5      nUR                  U5      n[        XVSS9  g )Nr   r   r         r"   )r%   r&   r'   r(   r   r+   r4   r5   r1   r   logr   )	r;   r<   r=   r@   rB   r1   pdf2r   logpdf2s	            rH   test_pdf_logpdfr    s    
))


"CL	Aq,	'B b!D	S"b	!B
--
C88B<D2.VVC[Fkk"oG4 b!D
&&r"
#C;;r?D2.rJ   c                     [         R                  R                  S5      n SnU R                  SSU5      nU R                  U5      n[        R
                  " X#S9n[         R                  " SSS5      nUR                  U5      nUR                  U5      n[        XgSS9  [         R                  " U5      nUR                  U5      n	[        XSS9  [        R
                  " U[         R                  R                  [        U5      5      S9n[         R                  " UR                  U5      5      nUR                  U5      n[        XgSS9  g )	Nr   r   r   rL   r  r  r  r"   )r%   r&   r'   r(   r   r+   r4   r5   r1   r   r  r   r~   len)
r;   r<   r=   rO   r@   rB   r1   r  r   r  s
             rH   test_pdf_logpdf_weightedr
    s    
))


"CL	Aq,	'B	L	!B b-D	S"b	!B
--
C88B<D2.VVC[Fkk"oG4 b"))..R*ABD
&&r"
#C;;r?D2.rJ   c                  v  ^	^
^ [         R                  R                  S5      n SnSnU R                  X!4S9nU R                  US4S9n[         R                  " / SQ5      m	[
        R                  " U5      m
T
R                  T	5      nUR                  UT	   5      nU	U
4S jmU4S jnU" U5      n[        XhS	S
9  g )N   K b1d& r   r   rX   rZ   )	r   r    rZ   r[   r\   r]   r      	   c                    >^  UUU 4S jn[         R                  " U[        R                  * [        R                  5      S   $ )Nc                 d   > [         R                  " U /TT   45      n TR                  U 5      S   $ Nr   )r%   concatenater1   )rv   
dimensionsr   points    rH   f<test_marginal_1_axis.<locals>.marginal_pdf_single.<locals>.f  s/    U:%678A771:a= rJ   r   )r   quadr%   r7   r  r  r  r   s   ` rH   marginal_pdf_single1test_marginal_1_axis.<locals>.marginal_pdf_single  s,    	! ~~a"&&"&&1!44rJ   c                 0   > [         R                  " TSU S9$ )Nr   r   arrr%   apply_along_axis)r   r  s    rH   marginal_pdf*test_marginal_1_axis.<locals>.marginal_pdf  s    ""#6QFKKrJ   ư>r   
r%   r&   r'   r(   rh   r   r+   marginalr1   r   )r;   n_datan_dimr-   r   r$  r1   r   refr  r   r  s            @@@rH   test_marginal_1_axisr(    s    
))

 3
4CFEjjuoj.GZZeQZZ(F56J


W
%C||J'H
,,vj)
*C5L v
CC4(rJ   c                  h  ^	^
 [         R                  R                  S5      n SnSnU R                  X!4S9nU R                  US4S9n[         R                  " SS/5      m	[
        R                  " U5      m
T
R                  T	5      nUR                  UT	   5      nU	U
4S jnU" U5      n[        XhSS	9  g )
Nr     r[   rX   rZ   r   c                 >   > UU4S jn[         R                  " USU S9$ )Nc                    >^  UUU 4S jn[         R                  " U[        R                  * [        R                  [        R                  * [        R                  5      S   $ )Nc                 j   > TT   u  p#[         R                  " XX/5      nTR                  U5      S   $ r  )r%   rh   r1   )rw   rv   wzr  r   r  s       rH   r  Rtest_marginal_2_axis.<locals>.marginal_pdf.<locals>.marginal_pdf_single.<locals>.f  s3    Z(HHaA\*wwqz!}$rJ   r   )r   dblquadr%   r7   r  s   ` rH   r  Gtest_marginal_2_axis.<locals>.marginal_pdf.<locals>.marginal_pdf_single  s<    % $$Q"&&"&&I!LLrJ   r   r  r  )r   r  r  r   s     rH   r   *test_marginal_2_axis.<locals>.marginal_pdf  s!    	M ""#6QFKKrJ   r"  r   r#  )r;   r%  r&  r-   r   r$  r1   r   r'  r  r   s            @@rH   test_marginal_2_axisr4    s    
))

 3
4CFEjjuoj.GZZeQZZ(F1a&!J


W
%C||J'H
,,vj)
*CL v
CC4(rJ   c                     [         R                  R                  S5      n SnSnU R                  X!4S9nU R                  US4S9n[        R
                  " U5      nSS/nUR                  U5      nUR                  XF   5      nSS/n	UR                  U	5      n
U
R                  XI   5      n[        X5        S	n[        R                  " [        US
9   UR                  SS/5        S S S 5        Sn[        R                  " [        US
9   UR                  / SQ5        S S S 5        Sn[        R                  " [        US
9   UR                  / SQ5        S S S 5        g ! , (       d  f       N}= f! , (       d  f       NW= f! , (       d  f       g = f)Nr  r*  r[   rX   rZ   r   r   z,Elements of `dimensions` must be integers...r   g      @z,All elements of `dimensions` must be unique.)r   r    r    z;Dimensions \[-5  6\] are invalid for a distribution in 4...)r   r   r]   )r%   r&   r'   r(   r   r+   r$  r1   r   r   r   r   )r;   r%  r&  r-   r   r   dimensions1	marginal1pdf1dimensions2	marginal2r  messages                rH   test_marginal_ivr=    sF   
))

 3
4CFEjjuoj.GZZeQZZ(F


W
%C q'K[)I==,-Db'K[)I==,-D =G	z	1aX 
2 =G	z	1Y 
2 NG	z	1Z  
2	1 
2	1
 
2	1
 
2	1s$   EE-?E>
E*-
E;>
Fc            
      0   [         R                  R                  S5      n SnSn[         R                  " [	        SU5       Vs/ s H  o0R                  SSU5      U-   PM     sn5      n[        R                  " U5      nUR                  [         R                  " SU5      5      n[         R                  R                  [         R                  " US   5      S5        [         R                  R                  [         R                  " US   5      S5        g s  snf )Nr   i	  i  r   F)r%   r&   r'   rh   ranger(   r   r+   r   r   testingr   isneginfisnan)r;   n_dimensions	n_samplesr3   r=   r@   r   s          rH   test_logpdf_overflowrE  0  s     ))


"CLI	e	<?  ?::aI.!4 ?  
B b!D[[1l34FJJBKKq	2E:JJBHHVAY/7s   Dc                      [         R                  R                  S5      n U R                  SS9nU R	                  / SQUR
                  S9nUR                  5       n[        R                  " [         R                  " U5      US9  [        X#SSS9  g )Ni90  d   rX   )rT   g      $@rG  rL   +=atolr   )r%   r&   r'   	lognormalchoicerY   copyr   r+   log10r   )r;   valsrM   orig_weightss       rH   test_weights_intactrQ  B  sl    
))


&C==c="Djj)		j:G<<>L	rxx~w7GEBrJ   c                      / SQn / SQn[         R                  " XS9n[         R                  " U [        R                  " U5      S9n/ SQn[	        UR                  U5      UR                  U5      SSS9  g )N)g?g      +@g      5@g     R@g     X@)r   r    r[   r     rL   )g333333?   X   rH  rI  )r   r+   r%   r   r   r5   )valuesrM   pdf_ipdf_fr=   s        rH   test_weights_integerrY  M  s`    *FGv7Evrzz'/BCE	BENN2&NN2&U@rJ   c                     S n [         R                  R                  S5      nSnUR                  U5      nUR                  SSU5      n[        R
                  " U5      nU " U5        [        R
                  " XCS9nU " U5        [         R                  " SS/5      n[         R                  " SS	/S	S
//5      nUR                  XxUS9R                  n	[        R
                  " U	5      n
U " U
5        [        R
                  " XS9nU " U5        g )Nc                 (   SnU R                  U5      nU R                  U5      n[        [        [        X#SS9  SnU R                  XS9nU R                  XS9n[        X#SS9  [        R
                  R                  SS9nU R                  XS9n[        R
                  R                  SS9nU R                  XS9n[        X#SS9  [        [        R
                  S5      (       a/  [        R
                  R                  S5      nU R                  XS9  g g )	N   gvIh%<=)rJ  i?  )seed   r'   i  )	resampler   AssertionErrorr   r%   r&   r}   hasattrr'   )
gkde_trailn_samplesamp1samp2r]  rstate1rstate2r;   s           rH   test_seed_sub test_seed.<locals>.test_seed_sub[  s
   ##H-##H-OU	
 ##H#8##H#851))''S'1##H#;))''S'1##H#;51 299m,,))''-C3 -rJ   r   r   r   r   rL   rT   rU   rV   rW   rX   )	r%   r&   r'   r(   r   r+   rh   ri   rj   )rh  r;   r<   rO   xn_1dgkde_1dgkde_1d_weightedr)   r/   xn_2dgkde_2dgkde_2d_weighteds               rH   	test_seedrp  Y  s    44 ))


(CL	L	!BJJq!\*E  'G'))%<"# 88S#JDC:Sz23J##D<#HJJE  'G'))%<"#rJ   c                     [         R                  R                  S5      n [         R                  " / SQ5      n[         R                  " / SQ/ SQ/ SQ/5      nU R	                  XS5      n [
        R                  " UR                  5        g ! [        R                   aX    Sn[        [        R                  US9   [
        R                  " UR                  5        S S S 5         g ! , (       d  f        g = ff = f)	Nl   SDG. )r   r   rQ   )r[   r   r   )r   r  r   )r   r   rG  i  z:The data appears to lie in a lower-dimensional subspace...r   )r%   r&   r'   rh   ri   r   r+   rj   r   LinAlgErrorr   )r;   musigmadatar   s        rH   %test_singular_data_covariance_gh10205rv    s     ))

 3
4C	+	BHHj+{;<E""2d3D'466" 'J6--S9tvv& :999's*   * B .C79!C$C7$
C3	.C73C7c                  J   [         R                  R                  S5      n U R                  [         R                  " S5      [         R
                  " S5      SS9nSn[        R                  " [        US9   [        R                  " U5        S S S 5        g ! , (       d  f       g = f)Nl   &8*c rZ   r\   rX   z9Number of dimensions is greater than number of samples...r   )r%   r&   r'   ri   zeroseyer   r   r   r   r+   )r;   rvsr<  s      rH   )test_fewer_points_than_dimensions_gh17436r{    sm     ))

 3
4C

!
!"((1+rvvayq
!
ACIG	z	13 
2	1	1s   4B
B")0scipyr   r   r   numpyr%   numpy.testingr   r   r   r	   r
   r   r   r   r   rI   rP   markparametrizeparamxslowr{   r   r   r   r+   r   r   r   r   r   r   r   _ftypesr   r   r  r
  r(  r4  r=  rE  rQ  rY  rp  rv  r{  r   rJ   rH   <module>r     s   * * L L  *$EN(EV "LLV[[5F5F4GH7J7Jt "LLV[[5F5F4GH:J:JzO4O<#U'' #"U'' "-U'' -
!4H9 4*> J Gw.D$DE'*4 + F4./0/2)6 ) )8"!J 8 8"C	@/$d'
 rJ   