
    Yh'Y                     (   d dl mZmZmZ d dlZd dlmZmZm	Z	m
Z
mZmZ d dlZd dlmZ d Zd Zej                            dd ej        d	ej        j        g
          g          d             Zej                            dd ej        d	ej        j        g
          g          d             Zd Zd Z G d dej                  Z G d dej                  Z G d dej                  Zd Zd Zd Z d Z!g dZ"ej                            de"ddgz             ej                            de"          d                         Z#d Z$d  Z%d! Z&d" Z'ej        j        d#             Z(d$ Z)ej        j        d%             Z*d& Z+d' Z,d( Z-d) Z.d* Z/dS )+    )statslinalg	integrateN)assert_almost_equalassert_assert_equalassert_array_almost_equalassert_array_almost_equal_nulpassert_allclose)raisesc                     t           j                            d          } d}|                     dd|          }|                                }|                    d          }t          j        |          }t          j        g d          }|j	        t          j
        |j                  }}t           ||          t          j                            |d d d f         ||                              d	          |j        z  d
           t          j        ddd          }	|                    |	          }
t          j                            |	||          }|	d         |	d         z
  }t'          t          j        |
|z
  dz            |z  dk                |                    |t           j                  }|                    t           j         |          }t-          |dd           t-          |dd           t-          |                    |t           j                  |d           t-          |                    t           j         |          |d           t-          |                    |          |
dz                                  |z  d           t-          |                    ||dz            |
|z                                  |z  d           d S )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                  o/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/scipy/stats/tests/test_kdeoth.pytest_kde_1drI   
   s   
)


(
(CL	Aq,	'	'BWWYYFFFFNNE b!!D 
OOO	$	$Brwt77CR
r!!!T'{599==2=FFO    
RC	 	 B]]2FjnnRV5n99G11IBFFW$q()))3d:;;;!!&"&11E!!26'622EsA....sA....**626::E2NNNN**BF7F;;UBOOOO**400)))3Q@ @ @ @//qAA,,..y8!E E E E E E    c            
         t           j                            d          } d}|                     dd|          }|                     |          }t          j        ||          }t          j        t          j        ||z
  dz  |                    }t          j        ||          }t          j        g d          }|j	        t          j        |j
                  }	}t          j        j        }
t           ||          t          j         |
|d d d f         ||	          |j        z  d	
          d           t          j        ddd          }|                    |          }t          j                            |||          }|d         |d         z
  }t%          t          j        ||z
  dz            |z  dk                |                    |t           j                  }|                    t           j         |          }t+          |dd           t+          |dd           t+          |                    |t           j                  |d           t+          |                    t           j         |          |d           t+          |                    |          |dz                                  |z  d           t+          |                    ||dz            ||z                                  |z  d           d S )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ZB'''FGBJ6	A~r:::;;E b"---D 
OOO	$	$Brwt77C
*.CR
ss2aaag;Cu555D2NNN    
RC	 	 B]]2FjnnRV5n99G11IBFFW$q()))3d:;;;!!&"&11E!!26'622EsA....sA....**626::E2NNNN**BF7F;;UBOOOO**400)))3Q@ @ @ @//qAA,,..y8!E E E E E ErJ   r<      r   )marksc           	      b   t           j                            d          }t          j        ddg          }t          j        ddgddgg          }|                    |||           j        }t          j        |          }t          j        ddgd	d
gddgg          }|d d d d d f         |j	        j        z
  }t          j        j
        }t           ||j                   |||j                                      d          |j        z  d           t          j        j        }	ddgddg}}
|
|j	        j        z
  ||j	        j        z
  }}t          |                    |
||           |	|||j        |                              d          |j        z  d           t           j        ddddddf         \  }}t          j        |                                |                                g          }|                    |          }|                    dd          }t          j        
                    t          j        ||g          ||          }|                                d         |                                d         z
  }t/          t          j        ||z
  dz            |dz  z  dk                d}d}|                    ||d         g||g|          }|                    ||g||d         g|          }t1          |dd            t1          |dd            t1          |                    |          |dz                                  |dz  z  d            t1          |                    ||          ||z                                  |dz  z  d            d S )!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8S#JDC:Sz233J 
	 	 z	 	E	E	GB b!!D 
aVaVaV,	-	-B
QQQaaaZ.4<>
)C

#
'CRT

CT_%%%))r)22TV;    
#
'C"X1vBDLN"B$7C2rs++CSdo3???CCCLLtvU    8BqIr!Dy()DAq)QWWYY		233K]];''F^^C%%F'++BIq!f,=,=15: , G GG		!qwwyy|+IBFFW$q())Y\:TABBBEEtAw/%SIIEu~tAw/?SIIEsA....sA....**400))9a<8!E E E E//jAA,,..	1=qJ J J J J JrJ   c                    t           j                            d          }t          j        ddg          }t          j        ddgddgg          }|                    |||           j        }|                    |           }t          j        ||          }t          j	        dd	gd
dgddgg          }|d d d d d f         |j
        j        z
  }t          j        j        }	t           ||j                  t          j         |	||j                  |j        z  d          d           t          j        j        }
ddgddg}}||j
        j        z
  ||j
        j        z
  }}t          |                    |||          t          j         |
|||j        |          |j        z  d          d           t           j        ddddddf         \  }}t          j        |                                |                                g          }|                    |          }|                    dd          }t          j                            t          j        ||g          ||          }|                                d         |                                d         z
  }t1          t          j        ||z
  d	z            |d	z  z  dk                d}d}|                    ||d         g||g|          }|                    ||g||d         g|          }t3          |d d!           t3          |d d!           t3          |                    |          |d	z                                  |d	z  z  d	!           t3          |                    ||          ||z                                  |d	z  z  d	!           d S )"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      s    )


(
(C8S#JDC:Sz233J 
	 	 z	 	E	E	GB	,		B b"---D 
aVaVaV,	-	-B
QQQaaaZ.4<>
)C

#
'CRT


ss3DO,,,t|;"EEE    
#
'C"X1vBDLN"B$7C2rs++
ss3CT_#FFF|"$	& 	& 	&	    8BqIr!Dy()DAq)QWWYY		233K]];''F^^C%%F'++BIq!f,=,=15: , G GG		!qwwyy|+IBFFW$q())Y\:TABBBEEtAw/%SIIEu~tAw/?SIIEsA....sA....**400))9a<8!E E E E//jAA,,..	1=qJ J J J J JrJ   c                  4   d } t           j                            d          }d}|                    dd|          }t	          j        |          }t	          j        ||           }t	          j        ||j                  }t          j        ddd	          }|                    |          }|                    |          }	t          ||	           |                    |          }
t          ||
           t          t          t          j        |d
           d S )Nc                 L    t          j        | j        d| j        dz   z            S z*Same as default, just check that it works.g      r[   )r%   powerr3   dkde_objs    rH   scotts_factorz0test_kde_bandwidth_method.<locals>.scotts_factor   s!    x	3	!#45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 6 6 )


(
(CL	Aq,	'	'B b!!Dr];;;ErT[999E	R"		B]]2FnnR  G(((nnR  G(((*e0"NNNNNNrJ   c                  4   d } t           j                            d          }d}|                    dd|          }t	          j        |          }t	          j        ||           }t	          j        ||j                  }t          j        ddd	          }|                    |          }|                    |          }	t          ||	           |                    |          }
t          ||
           t          t          t          j        |d
           d S )Nc                 L    t          j        | j        d| j        dz   z            S r   )r%   r   neffr   r   s    rH   r   z9test_kde_bandwidth_method_weighted.<locals>.scotts_factor   s!    xc79Q;&7888rJ   r   r   r   r   r   r   r   r   r   r   r   s              rH   "test_kde_bandwidth_method_weightedr      s   9 9 9 )


(
(CL	Aq,	'	'B b!!Dr];;;ErT[999E	R"		B]]2FnnR  G(((nnR  G(((*e0"NNNNNNrJ   c                       e Zd Zd ZdS )_kde_subclass1c                     t          j        |          | _        | j        j        \  | _        | _        | j        | _        |                                  d S N)	r%   
atleast_2dr-   shaper   r3   r   covariance_factor_compute_covariance)selfr-   s     rH   __init__z_kde_subclass1.__init__  sH    }W--+!%!3  """""rJ   N)__name__
__module____qualname__r    rJ   rH   r   r     s#        # # # # #rJ   r   c                        e Zd Z fdZ xZS )_kde_subclass2c                 b    | j         | _        t                                          |           d S r   )r   r   superr   )r   r-   	__class__s     rH   r   z_kde_subclass2.__init__   s,    !%!3!!!!!rJ   )r   r   r   r   __classcell__)r   s   @rH   r   r     s8        " " " " " " " " "rJ   r   c                       e Zd Zd ZdS )_kde_subclass4c                 0    d|                                  z  S )Nr   )silverman_factor)r   s    rH   r   z _kde_subclass4.covariance_factor&  s    T**,,,,rJ   N)r   r   r   r   r   rJ   rH   r   r   %  s#        - - - - -rJ   r   c                  8   t          j        g dt                    } t          j        ddd          }t	          j        |            |          }t          |           } ||          }t          ||d           t          |           } ||          }t          ||d           t          |           } ||           }g d}	t          |	|d	
           }
fd|
_        |
                                  |
|          }t          ||d           d S )Nr   r   r[   r\   dtype
   r   numnulp)gn,?gǻe??gW[3?ga )?gKd8;?r]   r"   c                       j         S r   )r   )kdes   rH   <lambda>z/test_gaussian_kde_subclassing.<locals>.<lambda>H  s	    SZ rJ   )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   *  sC   	###5	1	1	1B	S""	%	%	%B 
R
 
 C	RB "D	bB"2r3333 "D	bB"2r3333 "D	bBMMMJj"a8888 D////D	bB"2r333333rJ   c                  0   t          j        g dt                    } t          j        ddd          }g d}t	          j        |           }|                    d	           |                    d
	            ||          }t          ||d           d S )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  s    	###5	1	1	1B	S"!	$	$	$B NMMJ 
R
 
 C$$$(((	RBj"a888888rJ   c                  R   t          j        g dt                    } t          j        ddd          }t	          j        |           }|j        |_        |                                  ||          }t	          j        | d          } ||          }t          ||d	           d
S )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	1	1	1B	S""	%	%	%B 
R
 
 C0C	RB bK888D	bB"2r333333rJ   c                      t          j        d          } t          j        |           }g d}t	           ||           |d           dS )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  sM    	1B

R
 
 CMMMJcc"ggz1======rJ   )float32float64float96float128int32int64bw_typer   r   r   c                     t          t          | d           } |dv r|}n%t          t          |d           }|r |d          nd }t          d | |fD                       rt          j                     t          j        d|           }t          j        d|           }t          j        |||          }t          j        d|           } ||          }|j        t          j	        ||t          j
        |          |j                  k    sJ d S )N)r   r   rZ   c              3      K   | ]}|d u V  	d S r   r   ).0dts     rH   	<genexpr>z(test_kde_output_dtype.<locals>.<genexpr>  s&      
,
,"2:
,
,
,
,
,
,rJ   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,,",WWQZZZ

,
,
,
,
,,, i'''Gi'''G7b'BBBAYq&&&FQvYYF<2>'62:g;N;N*+(4 4 4 4 4 4 4 4rJ   c                  V   t           j                            d          } |                     d          }t	          j        |          }|                     d          }d}t          j        t          |          5  |	                    |           d d d            d S # 1 swxY w Y   d S )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     s    
)

 F
G
GC			W	%	%Bb!!D			W	%	%B
<C	z	-	-	-  B                 s   ;BB"%B"c                  |   t           j                            d          } d}|                     dd|          }t	          j        |          }t          j        ddd          }|                    |          }|                    |          }t          ||d           t          j
        |          }|                    |          }t          ||d           t	          j        |          }t          j
        |                    |                    }|                    |          }t          ||d           d S )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T2....VC[[Fkk"ooG4444 b!!D
&r""
#
#C;;r??DT2......rJ   c                     t           j                            d          } d}|                     dd|          }|                     |          }t	          j        ||          }t          j        ddd          }|                    |          }|                    |          }t          ||d           t          j
        |          }|                    |          }	t          ||	d           t	          j        |t           j                            t          |                              }t          j
        |                    |                    }|                    |          }t          ||d           d S )	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    sB   
)


"
"CL	Aq,	'	'B	L	!	!B b"---D	S"b	!	!B
--

C88B<<DT2....VC[[Fkk"ooG4444 b")..R*A*ABBBD
&r""
#
#C;;r??DT2......rJ   c                    	
 t           j                            d          } d}d}|                     ||f          }|                     |df          }t          j        g d          	t          j        |          

                    	          }|                    |	                   }	
fdfd} ||          }t          ||d	
           d S )N   K b1d& r   r   rX   rZ   )	r   r    rZ   r[   r\   r]   r      	   c                 v      fd}t          j        |t          j         t          j                  d         S )Nc                 t    t          j        | g         f          }                     |           d         S Nr   )r%   concatenater1   )rv   
dimensionsr   points    rH   fz<test_marginal_1_axis.<locals>.marginal_pdf_single.<locals>.f  s2    U:%6788A771::a= rJ   r   )r   quadr%   r7   r  r  r
  r   s   ` rH   marginal_pdf_singlez1test_marginal_1_axis.<locals>.marginal_pdf_single  sH    	! 	! 	! 	! 	! 	! 	! ~a"&"&11!44rJ   c                 2    t          j        d|           S )Nr   r   arrr%   apply_along_axis)r   r  s    rH   marginal_pdfz*test_marginal_1_axis.<locals>.marginal_pdf  s    "#6QFKK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
4
4CFEjjufoj..GZZeQZZ((F55566J

W
%
%C||J''H
,,vj)
*
*C5 5 5 5 5 5L L L L L ,v

CC4((((((rJ   c                    	
 t           j                            d          } d}d}|                     ||f          }|                     |df          }t          j        ddg          	t          j        |          

                    	          }|                    |	                   }	
fd} ||          }t          ||d	           d S )
Nr     r[   rX   rZ   r   c                 >    fd}t          j        |d|           S )Nc                       fd}t          j        |t          j         t          j        t          j         t          j                  d         S )Nc                              \  }}t          j        ||| |g          }                    |          d         S r  )r%   rh   r1   )rw   rv   wzr
  r   r  s       rH   r  zRtest_marginal_2_axis.<locals>.marginal_pdf.<locals>.marginal_pdf_single.<locals>.f  s<    Z(1HaAq\**wwqzz!}$rJ   r   )r   dblquadr%   r7   r  s   ` rH   r  zGtest_marginal_2_axis.<locals>.marginal_pdf.<locals>.marginal_pdf_single  sS    % % % % % % % $Q"&"&II!LLrJ   r   r  r  )r   r  r
  r   s     rH   r  z*test_marginal_2_axis.<locals>.marginal_pdf  sB    	M 	M 	M 	M 	M 	M "#6QFKKKKrJ   r  r   r  )r;   r  r  r-   r   r  r1   r  r  r
  r   s            @@rH   test_marginal_2_axisr%    s    
)

 3
4
4CFEjjufoj..GZZeQZZ((F1a&!!J

W
%
%C||J''H
,,vj)
*
*CL L L L L L ,v

CC4((((((rJ   c                     t           j                            d          } d}d}|                     ||f          }|                     |df          }t	          j        |          }ddg}|                    |          }|                    ||                   }ddg}	|                    |	          }
|
                    ||	                   }t          ||           d	}t          j
        t          |
          5  |                    ddg           d d d            n# 1 swxY w Y   d}t          j
        t          |
          5  |                    g d           d d d            n# 1 swxY w Y   d}t          j
        t          |
          5  |                    g d           d d d            d S # 1 swxY w Y   d S )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.    sw   
)

 3
4
4CFEjjufoj..GZZeQZZ((F

W
%
%C q'K[))I==,--Db'K[))I==,--Dt =G	z	1	1	1  aX               =G	z	1	1	1    YYY                              NG	z	1	1	1 ! !ZZZ   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s6   =D!!D%(D%	E--E14E1F::F>F>c                     t           j                            d          d} dt          j        fdt	          d|           D                       }t          j        |          }|                    t          j        d|                     }t           j	        
                    t          j        |d                   d           t           j	        
                    t          j        |d                   d           d S )Nr   i	  i  c                 D    g | ]}                     d d          |z   S )r   r   )r(   )r   r3   	n_samplesr;   s     rH   
<listcomp>z(test_logpdf_overflow.<locals>.<listcomp>7  s:       3::aI..!4   rJ   r   F)r%   r&   r'   rh   ranger   r+   r   r   testingr   isneginfisnan)n_dimensionsr=   r@   r   r1  r;   s       @@rH   test_logpdf_overflowr8  0  s     )


"
"CLI	     e	<? ?    
 
B b!!D[[1l3344FJBKq	22E:::JBHVAY//77777rJ   c                  J   t           j                            d          } |                     d          }|                     g d|j                  }|                                }t          j        t          j	        |          |           t          ||dd           d S )Ni90  d   rX   )rT   g      $@r:  rL   +=atolr   )r%   r&   r'   	lognormalchoicerY   copyr   r+   log10r   )r;   valsrM   orig_weightss       rH   test_weights_intactrD  B  s    
)


&
&C==c=""Djj)))	j::G<<>>L	rx~~w7777G\EBBBBBBrJ   c                     g d} g d}t          j        | |          }t          j        | t          j        |                    }g d}t	          |                    |          |                    |          dd           d S )N)g?g      +@g      5@g     R@g     X@)r   r    r[   r     rL   )g333333?   X   r;  r<  )r   r+   r%   r   r   r5   )valuesrM   pdf_ipdf_fr=   s        rH   test_weights_integerrL  M  s    ***FGvw777Evrz'/B/BCCCE	BENN2&&NN2&&U@ @ @ @ @ @rJ   c                  @   d } t           j                            d          }d}|                    |          }|                    dd|          }t	          j        |          } | |           t	          j        ||          } | |           t          j        ddg          }t          j        dd	gd	d
gg          }|                    |||          j        }	t	          j        |	          }
 | |
           t	          j        |	|          } | |           d S )Nc                    d}|                      |          }|                      |          }t          t          t          ||d           d}|                      ||          }|                      ||          }t          ||d           t          j                            d          }|                      ||          }t          j                            d          }|                      ||          }t          ||d           t          t          j        d          r8t          j                            d          }|                      ||           d S d S )	N   gvIh%<=)r=  i?  )seed   r'   i  )	resampler   AssertionErrorr   r%   r&   r}   hasattrr'   )
gkde_trailn_samplesamp1samp2rP  rstate1rstate2r;   s           rH   test_seed_subz test_seed.<locals>.test_seed_sub[  sd   ##H--##H--OUE	
 	
 	
 	
 ##H4#88##H4#88u51111)''S'11##H7#;;)''S'11##H7#;;u51111 29m,, 	4)''--Cs33333	4 	4rJ   r   r   r   r   rL   rT   rU   rV   rW   rX   )	r%   r&   r'   r(   r   r+   rh   ri   rj   )r[  r;   r<   rO   xn_1dgkde_1dgkde_1d_weightedr)   r/   xn_2dgkde_2dgkde_2d_weighteds               rH   	test_seedrb  Y  s5   4 4 44 )


(
(CL	L	!	!BJJq!\**E ''GM')%<<<M"### 8S#JDC:Sz233J##D*<#HHJE ''GM')%<<<M"#####rJ   c                     t           j                            d          } t          j        g d          }t          j        g dg dg dg          }|                     ||d          }	 t          j        |j                   d S # t          j	        $ rT d}t          t          j	        |          5  t          j        |j                   d d d            Y d S # 1 swxY w Y   Y d S w xY w)	Nl   SDG. )r   r   rQ   )r[   r   r   )r   r   r   )r   r   r:  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_gh10205rh    s>    )

 3
4
4C	+++		BHjjj+++{{{;<<E""2ud33D'46""""" ' ' 'J6-S999 	' 	'tv&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	''s6   +B ,C)2CC)C	C)!C	"C)(C)c                  P   t           j                            d          } |                     t          j        d          t          j        d          d          }d}t          j        t          |          5  t          j
        |           d d d            d S # 1 swxY w Y   d S )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_gh17436rm    s     )

 3
4
4C

!
!"(1++rvayyq
!
A
ACIG	z	1	1	1    3                                   s   9B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  r%  r.  r8  rD  rL  rb  rh  rm  r   rJ   rH   <module>rv     s   * * * * * * * * * *    L L L L L L L L L L L L L L L L  * * * * * *$E $E $EN(E (E (EV (FLV[5F4GHHH 7J 7J 7Jt (FLV[5F4GHHH :J :J :JzO O O4O O O<# # # # #U' # # #" " " " "U' " " "- - - - -U' - - -
!4 !4 !4H9 9 9 4 4 4*> > > J
I
I Gw.D$DEE'**4 4 +* FE4.  / / /0/ / /2) ) )6 ) ) )8"! "! "!J 8 8 8"C C C	@ 	@ 	@/$ /$ /$d' ' '
  
  
  
  
 rJ   