
    _Mh                     R    d dl Z d dlZd dlmZ d dlmZ d Zd Zd Z	d Z
d Zd	 ZdS )
    N)special)primes_from_2_toc                 D    t          t          j        |                     S N)r   mathceil)ns    [/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/stats/tests/data/_mvt.py_primesr      s     DIaLL)))    c                 ,    t          j        ||           S r   )r   gammaincinv)abs     r
   _gaminvr      s     q!$$$r   c                    t          dt          j        |                    }t          |||z  ||z            \  }}}	t	          |          }
d}t          j        | |z            }t          j        |          }d}d}t          j        t          d|
z  t          j	        |
dz             z  dz                      }|ddt          j
        f         }d}d}t          |          D ]
}|                                }t          j        |
|f          }t          |
          D ]}t          j        dt          j        ||         t          j        d|dz             z  |                                z   d          z  dz
            }|dk    r1|}|dk    r(t          j        dt%          ||dz            z            }n9t'          |||z  z             }||dxx         ||d|dz
  |f         |z  z  cc<   ||ddf         }|                                }||         |z  |z
  }|                                }|	|         |z  |z
  }d||dk    <   t          |          d	k     }t)          ||                   ||<   d||dk    <   t          |          d	k     }t)          ||                   ||<   ||z
  }||z  }t          j        |          |z
  |dz   z  }||z   }|dz
  |z  |dz   z  |dz  z   }t          j        |          }||fS )
a  Estimates the multivariate t CDF using randomized QMC

    Parameters
    ----------
    m : int
        The number of points
    nu : float
        Degrees of freedom
    sigma : ndarray
        A 2D positive semidefinite covariance matrix
    a : ndarray
        Lower integration limits
    b : ndarray
        Upper integration limits.
    rng : Generator
        Pseudorandom number generator

    Returns
    -------
    p : float
        The estimated CDF.
    e : float
        An absolute error estimate.

       
   r         N   i	   )maxr   sqrt_chlrpslenr   nponesr   lognewaxisrangecopyzerosabsmodarangerandomr   _Phinv_Phimean) mnusigmar   r   rngsnchazbzr	   NPonpepsqcdcSvpsixrysiaidbitls                                    r
   _qsimvtvrH      s   P 
Q	"		BWUAbD!B$-G-G
BE

AA	!A#ARWQZZQA	1TXac]]*1,--	.	.BBqqq"*}4E 	A4b1XX O OWWYYBHaV,,q 	% 	%Aq!RYq!A#%6%6 6 EqIII!KLLAAvv66'!RT"2"2 233A1qt8$$!""ABB!AI**1aaa4Bbggii!beAgl		APRSTPUVWPWZ\P\2AbBhK#b''A+RtBrF||quAbBhK#b''A+RtBrF||quQBR"WWR[[1_q1u%1q5qq1uaiQ6G!Q$6N!!	!Aa4Kr   c                 *    t          j        |           S r   )r   ndtr)zs    r
   r)   r)   v   s    <??r   c                 *    t          j        |           S r   )r   ndtri)r6   s    r
   r(   r(   z   s    =r   c           	      	   d}t          j        | j                  j        }t	          |           }|                                 }|                                }|                                }t          j        t          j        t          j        |          d                    }	t          |          D ]n}
|	|
         dk    r`|dd|
fxx         |	|
         z  cc<   ||
ddfxx         |	|
         z  cc<   ||
xx         |	|
         z  cc<   ||
xx         |	|
         z  cc<   ot          j
        |df          }t          j        dt          j        z            }t          |          D ]}|}d}d}d}t          ||          D ]}
||
|
f         |k    rt          j        t          ||
|
f         d                    }|
dk    r||
d|f         |d|         z  }||
         |z
  |z  }||
         |z
  |z  }t          |          t          |          z
  }||k    r
|}|}|}|}|
}||k    r|||g         |||g<   |||g         |||g<   |||f         |||f<   ||d|f                                         }||d|f         ||d|f<   |||d|f<   ||dz   d|f                                         }||dz   d|f         ||dz   d|f<   |||dz   d|f<   ||dz   ||f                                         }|||dz   |f         j        ||dz   ||f<   |j        |||dz   |f<   |||dz   z  k    r+||||f<   d|||dz   df<   t          |dz   |          D ]V}
||
|f         |z  ||
|f<   ||
|dz   |
dz   f         ||
|f         ||dz   |
dz   |f         j        z  z
  ||
|dz   |
dz   f<   Wt!          |          |k    rAt          j        |dz   dz            t          j        |dz   dz            z
  ||z  z  ||<   n"||z   dz  ||<   |dk     r|||<   n|dk    r|||<   ||d|dz   fxx         |z  cc<   ||xx         |z  cc<   ||xx         |z  cc<   n d||d|f<   ||         ||         z   dz  ||<   |||fS )z
    Computes permuted and scaled lower Cholesky factor c for R which may be
    singular, also permuting and scaling integration limit vectors a and b.
    g|=r   Nr   r   ir   )r   finfodtypeepsr   r"   r   maximumdiagr!   r#   r   pir   r)   Tr$   exp)Rr   r   eprQ   r	   r:   apbprE   r?   rB   sqtpkimckkdemr>   ciirD   rF   deambmts                            r
   r   r   ~   s5   
 
B
(17


CAAAFFHH16688b!&&((R
SUSZ[\S]S]_`HaHa@b@bA1XX ) )Q4!88aaadGGGqtOGGGQq!!!tWWW!_WWWqEEEQqTMEEE2a555AaD=555
!QA1TW9!5!5$1XX  aqa!q! 	B 	BAAw}}iAadGQ00q55a2A2h2A2.!eAgs]"Q%'3BT"XXd2hh=N99CRsbr"266aW+BAwKRB[r2q'{aPQSTPTg!BF)"bqb&	  Aa2A2h!BF)1!RaR%"Q$%%)!!##AAbdeeQhKQr!tuuby\q2a455!8!A#b&!)!!##AAb!A#b&jMOQqs2vqy\UVUXQr1Q3r6z]QqS>>AadG1Q!W:1Q3]] _ _AqD'#+!Q$qAaC!G}qAwqQRSTQTUVWXUXQXZ[Q[}G^7^qAaC!G}}3xx"}}Avax((262q5&(+;+;;SI!R1}!88AaDD"WWAaDa!A#gJJJ#JJJr!uuu|uuuRUUUc\UUUUAabb!eH"Q%"Q%-!2!A$b"9r   )r   numpyr   scipyr   scipy.stats._qmcr   r   r   rH   r)   r(   r    r   r
   <module>ri      s               - - - - - -* * *% % %_ _ _F    - - - - -r   