
    \hH                     T   S SK Jr  S SKJr  S SKJrJrJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJrJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJ r   S SK!J"r"  S SK#J$r$J%r%  S SK&J'r'  S SK(J)r)J*r*  S SKJ+r+  S SK,J-r-  S SK.J/r/J0r0  S SK1J2r2  S SK3J4r4J5r5J6r6J7r7J8r8J9r9J:r:  S SK;J<r<J=r=J>r>J?r?J@r@JArBJCrCJDrEJFrFJGrGJHrHJIrIJJrJ  S SKKJLrLJMrMJNrNJOrO  S SKPJQrQ  S SKRJSrSJTrT  S rUS rVS rWS  rXS! rYS" rZS# r[S$ r\S% r]\OS& 5       r^S' r_S( r`\MS) 5       raS* rbS+ rcS, rdS- reS. rf\MS/ 5       rgg0)1    )Product)Sum)Rationaloopi)Eq)S)symbols)RisingFactorial	factorial)
polar_lift)exp)sqrt)	Piecewise)besselk)gamma)eye)Determinant)Range)Interval
ProductSet)simplify)IndexedIndexedBase)comp)	integrate)MatrixMatrixSymbol)MatrixElement)densitymedianmarginal_distributionNormalLaplaceEsample)JointRVMultivariateNormalDistributionJointDistributionHandmadeMultivariateTNormalGamma$GeneralizedMultivariateLogGammaOmegaMultivariateBetaGeneralizedMultivariateLogGammaMultivariateEwensMultinomialNegativeMultinomialMultivariateNormalMultivariateLaplace)raisesXFAILskipslow)import_module)xyc                  	  ^ [        SSS/SS/SS//5      m[        SSS/SS/SS//5      n TU :X  d   e[        T5      " SS5      SS[        -  -  :X  d   eTR                  R
                  R                  [        [        R                  [        R                  5      :X  d   e[        [        U4S j5        [        S/ SQ/ SQ/ S	Q/ S
Q/5      n[        S[        SS/5      [        SS/SS//5      5      n[        T5      " [        [        5      [        U5      " [        [        5      :X  d   e[        USS5      " SS5      SS[        -  -  :X  d   e[        [        U4S j5        [!        [        T5      " [        [        5      [        ["        * ["        4[        ["        * ["        45      R%                  5       S:X  d   e[        SSS/[        S/S[        //5      n[        U5      " SS5      ['        S[        -  [        -   S[        -  [        -  -  * 5      S[        -  [)        [        [        -  5      -  -  :X  d   e[        [        S 5        [+        SSSS9n[-        SUS5      n[-        SX5      n[        SXE5      n[        U5      [/        XE5      :X  d   e[        [0        U4S j5        Sn[-        SX5      n[-        SUS5      n[-        SUS5      n[        SXG5      n[        U5      n	U	" U5      R3                  U[5        S5      U[        / SQ5      U[        / SQ5      05      R7                  5       n
U	" SSS5      R3                  U[5        S5      U[        / SQ5      05      R7                  5       nU
[)        S5      S[        [9        S5      -  -  -  :X  d   eU[)        S5      S[        [9        S5      -  -  -  :X  d   e[+        SSSS9n[-        SX5      n[-        SUS5      n[-        SUS5      n[        SXG5      n[        U5      " U5      n[;        ['        [        S5      S-  UR<                  UR<                  -
  -  US-  -  U* U-   -  5      [)        S[        -  U-  [?        U5      -  5      -  SS5      nX:X  d   eg )NA      r   c                     > T S   $ )Nr>    ms   W/var/www/auris/envauris/lib/python3.13/site-packages/sympy/stats/tests/test_joint_rv.py<lambda>test_Normal.<locals>.<lambda>,   s	    qt    B)r=   r>      r=   r   r   r   r=   r   r   r   r=   Cc                     > [        T 5      $ N)r"   rA   s   rC   rD   rE   1   s    4Q7rF         ?N   c                  ,    [        SSS/SS/SS//5      $ )NMr=   r>   )r#   r@   rF   rC   rD   rE   6   s    sQFaVaW4E FrF   nT)integerpositivemusigmaXc                     > [        T 5      $ rN   )r!   rA   s   rC   rD   rE   =   s	    rF   rH   Sgobsr   r   r   g      ?rT   ) r#   r2   r    r   pspacedistributionsetr   r	   Realsr4   
ValueErrorr   r9   r:   r"   r   r   evalfr   r   r
   r   r(   NotImplementedErrorsubsr   doitr   r   Tr   )r<   rU   prP   rX   rY   rZ   r\   r]   	density_Xeval_aeval_bdensity_X_at_obsexpected_densityrB   s                 @rC   test_Normalro   &   s   sQFaVaV,-A3A!Q!Q(89A6M61:aq!B$x'''88  $$
177AGG(DDDD
J$sI	9i@AAsVQF^VaVaV,<%=>A1:awqz!Q//// Aq)!Q/1ad8;;;
:78WQZ1%B3|a"b\BHHJcQQQsQFaVaV,-A1:asacAg!A%6#78!B$tAaCy.IIII
JFGTD1A	dAq	!B!'EsBA1:7BBBB
!23 	
A	dA	!B	dAq	!B
ua
#C3'A
Is^  "c!f
F9sF9$5"7 88< q!Q$$b#a&"fY6G%HINNPFT!WaHSM 112222T!WaHSM 112222TD1A	dA	!B	dAq	!B
ua
#C3'Aqz#$QqT!Vsuu%R0RC#I>?adQYR()	*+,a1 ///rF   c                     [        SSS/SS/SS//S5      n [        U 5      " SS5      SS[        -  -  :X  d   eU R                  R                  R
                  [        [        R                  [        R                  5      :X  d   e[        [        U 5      " [        [        5      [        [        * [        4[        [        * [        45      R                  5       S:X  d   e[        [        S 5        [        SSS/[        S/S[        //S5      n[        U5      " SS5      SS[        -  [!        [        [        -  5      -  -  :X  d   eg )	Nrh   r   r=   r>      rO   c                  .    [        SSS/SS/SS//S5      $ )Nrh   r=   r>   rT   )r*   r@   rF   rC   rD   (test_MultivariateTDist.<locals>.<lambda>i   s     }S1a&Aq6Ar7:KQOrF   t2)r*   r    r   r_   r`   ra   r   r	   rb   r   r9   r:   r   rd   r4   rc   r   )t1rt   s     rC   test_MultivariateTDistrv   c   s   	sQFaVaV$4a	8B2;1
AbD
))
)99!!%%AGGQWW)EEEEWR[A&RC	
RCeg% % %
:OP	taVq!fq!f%5q	9B2;q!1R4QqS	> 2222rF   c            
         [        [        S 5        [        SSS/SS/SS//5      n [        SSS/SS/SS//5      n[	        U 5      " SS5      [        S5      [        S[        S5      5      -  [        -  :X  d   e[        S	SS/[        S/S[        //5      n[	        U5      " SS5      [        S[        -  5      [        S[        SS
[        -  -   S[        -  -   [        -  5      5      -  [        [        [        [        -  5      -  -  :X  d   eU R                  R                  R                  [        [        R                   [        R                   5      :X  d   eU R                  R                  UR                  R                  :X  d   eg )Nc                  ,    [        SSS/SS/SS//5      $ )Nrh   r=   r>   )r$   r@   rF   rC   rD   +test_multivariate_laplace.<locals>.<lambda>o   s    wsQFaVaV4DErF   Lr=   r   L2r>   rH   '   L1rQ   )r4   rc   r$   r3   r    r   r   r   r   r9   r:   r_   r`   ra   r   r	   rb   )rz   r{   r}   s      rC   test_multivariate_laplacer~   n   sM   
:EFaVq!fq!f-.A	TAq6QFQF+;	<B1:as1vgab&::2====	1vAA/	0B2;q!AaCD!ac'AaC-!2344baclCD D D88  $$
177AGG(DDDD88  BII$:$::::rF   c            	         [        SSSSS5      n [        U 5      " SS5      S[        S5      -  [        [        5      -  :X  d   eU R
                  R                  R                  [        [        R                  [        S[        5      5      :X  d   e[        [        S	 5        [        U S5      " S5      S[        S
5      -  [!        [#        SS5      5      -  S
[        [        5      -  [!        [#        SS5      5      -  -  :X  d   e[        U [$        5      " S5      [        [#        SS5      5      S-  :X  d   e[        U SS/5      " [&        5      [&        S-  [        [&        * S-  5      -  S-  :X  d   eg )NGr=   r>   rH   rQ       r   c                       [        SSSSS5      $ )Nr   r=   r>   rH   rT   )r+   r@   rF   rC   rD   "test_NormalGamma.<locals>.<lambda>~   s    k#q!Q;rF   
         rT      )r+   r    r   r   r   r_   r`   ra   r   r	   rb   r   r   r4   rc   r"   r   r   r:   r9   )ngs    rC   test_NormalGammar   z   s0   	S!Q1	%B2;q!3r7
48 333399!!%%AGGXa_)MMMM
:;< Q'*	$r(
5!Q(("T"X+eHQN6K*KLM M M Q'*c(2q/.B3.FFFF QqE*1-Ac1"Q$i1CCCCrF   c                    ^^^^^^^^^^^^^^^ [         R                  n [        SX U /U SX /X SU /X U S//5      mS/ SQ/ SQsmmm[        SSS9u  pp4[        SSS9n[	        S	TTTT5      n[        S
UTTT5      nSn[        [        U5      " XX45      5      U:X  d   eSn	[        [        U5      " XX45      5      U	:X  d   eSn
[        [        XfS   5      " U5      5      U
:X  d   e[        SX //5      m[        SX U /U SSU /X SU /X U S//5      m[        SX U /U SSU /X SU /X U S//5      m[        SSSS9mSSTS/mTSSS/m[        SX X /U SX U /X SX /X U SU /X X S//5      m/ SQm[        S//5      mS/=mm[        [        UUUU4S j5        [        [        UUUU4S j5        [        [        UUUU4S j5        [        [        UUUU4S j5        [        [        UUUU4S j5        [        [        UUUU4S j5        [        [        UUUU4S j5        [        [        UUUU4S j5        [        [        UUUU4S j5        [        [        UUU4S j5        g ) Nr=   rQ   )r=   r>   rH   rQ   zy_1:5T)realdrW   r   Gdzd**4*Sum(4*24**(-n - 4)*(1 - d)**n*exp((n + 4)*(y_1 + 2*y_2 + 3*y_3 + 4*y_4) - exp(y_1) - exp(2*y_2)/2 - exp(3*y_3)/3 - exp(4*y_4)/4)/(gamma(n + 1)*gamma(n + 4)**3), (n, 0, oo))z5*2**(2/3)*5**(1/3)*Sum(4*24**(-n - 4)*(-2**(2/3)*5**(1/3)/4 + 1)**n*exp((n + 4)*(y_1 + 2*y_2 + 3*y_3 + 4*y_4) - exp(y_1) - exp(2*y_2)/2 - exp(3*y_3)/3 - exp(4*y_4)/4)/(gamma(n + 1)*gamma(n + 4)**3), (n, 0, oo))/64ay  5*2**(2/3)*5**(1/3)*exp(4*y_1)*exp(-exp(y_1))*Integral(exp(-exp(4*G[3])/4)*exp(16*G[3])*Integral(exp(-exp(3*G[2])/3)*exp(12*G[2])*Integral(exp(-exp(2*G[1])/2)*exp(8*G[1])*Sum((-1/4)**n*(-4 + 2**(2/3)*5**(1/3))**n*exp(n*y_1)*exp(2*n*G[1])*exp(3*n*G[2])*exp(4*n*G[3])/(24**n*gamma(n + 1)*gamma(n + 4)**3), (n, 0, oo)), (G[1], -oo, oo)), (G[2], -oo, oo)), (G[3], -oo, oo))/5308416r   r>      v_fFrW   r   rH   )r=   r>   rH   rQ   r   c                  "   > [        STTT T5      $ Nr   GMVLGO)lrX   omega_f1vs   rC   rD   Btest_GeneralizedMultivariateLogGammaDistribution.<locals>.<lambda>       vc8Q2>rF   c                  "   > [        STTT T5      $ r   r   )r   rX   omega_f2r   s   rC   rD   r      r   rF   c                  "   > [        STTT T5      $ r   r   )r   rX   omega_f3r   s   rC   rD   r      r   rF   c                  "   > [        STTT T5      $ r   r   )r   rX   omegar   s   rC   rD   r      s    vc5#q"=rF   c                  "   > [        STTT T5      $ r   r   )l_frX   r   r   s   rC   rD   r      s    vc5!S"=rF   c                  "   > [        STTT T5      $ r   r   )r   m_fr   r   s   rC   rD   r      s    vc5!Q<rF   c                  "   > [        STTT T5      $ r   r   )r   rX   omega_f4r   s   rC   rD   r      r   rF   c                  "   > [        STTT T5      $ r   r   )l_f1rX   r   r   s   rC   rD   r      s    vc5!T2>rF   c                  "   > [        STTT T5      $ r   r   )l_f5mu_f5omega_f5r   s   rC   rD   r      s    vc8QeDrF   c                  6   > [        S[        SS5      TT T5      $ )Nr   rH   r>   )GMVLGr   )r   rX   r   s   rC   rD   r      s    uS(1a.!QCrF   )r	   Halfr   r
   r   r   strr    r"   r4   rc   )hy_1y_2y_3y_4deltar   r   denddenmargr   r   r   r   r   rX   r   r   r   r   r   r   r   r   r   s              @@@@@@@@@@@@@@@rC   0test_GeneralizedMultivariateLogGammaDistributionr      s|   	AQaLA\Aq\Aq\# $E <HAq" t4CcC$'EsE1a$A	tUAq"	%B:D wr{3S./4777XC wqz#C-.#555"D $Q!-c23t;;;1yk"H1|Aq\Aq\Aq\# $H 1|Aq\Aq\Aq\# $H %%d
3Caa.C1a.C1A!_Aq_Aq!_A!_	& 'H
 Dse}H3ED
:>?
:>?
:>?
:=>
:=>
:<=
:>?
:>?
:DE
:CDrF   c                    ^^^^ [        SSS9u  mm[        SSSS9u  mm[        STT/5      n [        STT5      n[        U 5      " SS	5      [        S	5      TS-
  -  [	        TT-   5      -  [	        T5      [	        T5      -  -  :X  d   e[        US
5      " S5      [        S5      TS-
  -  [	        TT-   5      -  T[	        T5      -  [	        T5      -  -  :X  d   e[        [        UU4S j5        [        [        UU4S j5        [        [        S 5        [        [        UU4S j5        U R                  R                  R                  [        [        S
S5      [        S
S5      5      :X  d   eg )Nza1, a2Tr   Fr   rG   rL   r=   r>   r   rH   c                      > [        ST T/5      $ )Nb1r-   )a1_fa2s   rC   rD   'test_MultivariateBeta.<locals>.<lambda>   s    /tRjArF   c                      > [        ST T/5      $ Nb2r   )a1a2_fs   rC   rD   r      s    /r4jArF   c                      [        SSS/5      $ )Nb3r   r   r@   rF   rC   rD   r      s    /q!f=rF   c                      > [        ST T/5      $ )Nb4r   )r   r   s   rC   rD   r      s    /tTlCrF   )r
   r-   r    r	   r   r"   r4   rc   r_   r`   ra   r   r   )mbmb_cr   r   r   r   s     @@@@rC   test_MultivariateBetar      sD   X-FBE=JD$	#Bx	(BCR(D2;q!!rAvuR"W~ =!&r59!4!6 6 6 6 q)!,!rAvuR"W~0M13E"IeBi1G1I I I I
:AB
:AB
:=>
:CD99!!%%HQNHQPQN)SSSSrF   c                    ^	 [        SSS9u  pn[        SSS9m	[        SSSS9n[        SS	U5      n[        U5      " US
   US   US   5      [        SSUS   * -  -  S	US   * -  -  XS
   -  -  XS   -  -  XS   -  -  XS-   -  US-   -  [	        US
   5      -  [	        US   5      -  [	        US   5      -  -  [        US
   SUS   -  -   S	US   -  -   S	5      4S5      :X  d   e[        XDS   5      " US   5      [        SSUS   * -  -  XS   -  -  US-   US-   -  [	        US   5      -  -  [        SUS   -  S-   S	5      4S5      :X  d   e[        [        U	4S j5        UR                  R                  R                  [        [        S
SS5      [        S
SS5      [        S
SS5      5      :X  d   e[        SX5      n[        S5      n[        S5      u  pg[        [	        U 5      [        XU   -  US-   X6   * -  -  [	        X6   5      -  US
U S-
  45      -  [!        X5      -  [        U [#        US-   X7   -  US
U S-
  45      5      4S5      n[        U5      " U5      R%                  U5      (       d   eg )Nz	n theta iTr   t_fnegativeza_1:4)rW   rV   r%   rH   r   r=   r>   r   r   Tc                     > [        SST 5      $ )Ne1r   )r/   )theta_fs   rC   rD   (test_MultivariateEwens.<locals>.<lambda>   s    0q'BrF   rQ   azj, k)r
   r/   r    r   r   r   r"   r4   rc   r_   r`   ra   r   r   r   r   r   r   dummy_eq)
rU   thetair   ededsjkr   r   s
            @rC   test_MultivariateEwensr      s   +5KAa ed+GDD9A	35	)B2;qtQqT1Q4(IqadU|A1J7N,1Q4K888=t8DDIQ4K8P-2AI->	-J,5adO.<<EadO.L,5adO.<8= ?A1!A$,-adFB345?7	78
 :C-D D D D !U+AaD1Y!qte*49Q4KA@BG!)5:QYB@@I!A$BPAQ 57q1vz14E@G IR6S S S S :BC99!!%%E!QN,1!QNE!QN*L L L L C
*CCA6?DA
Yq\'%1+q1u6F*FQT?+1q5M#+ ++:5+DEq#q1uadlQ1q5M2356?AC 3<?##C((((rF   c            	        ^^^	^
^^^ [        SSSS9u  mpp#[        SSS9u  m	mmm[        SSS9u  m
m[        STT	TTT/5      n[        S	S
T	TT5      n[        n[        U5      " XX#5      [	        T	U -  TU-  -  TU-  -  TU-  -  U" T5      -  U" U 5      U" U5      -  U" U5      -  U" U5      -  -  [        TX-   U-   U-   5      4S5      :X  d   e[        XUS   5      " U 5      R                  U S5      S
T	-  TS-  -  ST	-  T-  T-  -   S
T	-  TS-  -  -   :X  d   e[        [        U	U
UU4S j5        [        [        UU	UUU4S j5        [        [        U4S j5        g )Nzn, x1, x2, x3, x4TnonnegativerV   p1, p2, p3, p4r   z	p1_f, n_fr   rS   rL   rH   r   r   r=   r>   r   c                  &   > [        SST TTT/5      $ Nr   r   r0   p1p1_fp2p3s   rC   rD   "test_Multinomial.<locals>.<lambda>   s    {4RR4FGrF   c                  &   > [        ST TTTT/5      $ r   r   )n_fr   r   r   p4s   rC   rD   r      s    {4r2r26FGrF   c                  $   > [        ST SSSS5      $ )Nr         ?皙?333333?皙?r   )rU   s   rC   rD   r      s    {4Cc3GrF   )
r
   r0   r   r    r   r   r"   rf   r4   rc   )x1x2x3x4rS   rL   frU   r   r   r   r   r   r   s          @@@@@@@rC   test_Multinomialr      s    3tTArr-=NBBd3ID#CRR,-ACBB'AA1:bb%BF2r6M"b&4HR4O,-aD5123B%"+ae2CAbE2I5K,.q"'B,2C,D4FGP*R R R R !aD)"-222q9<=bDQJ<=bDGBJ=G<=bDQJ=GG G G :GH
:GGH
:GHrF   c                  v  ^	^
^^^ [        SSSS9u  m	pp#[        SSS9u  m
mmn[        SSS9m[        SS	T
TTU/5      n[        S
S	SSS5      n[        n[        n[	        [        U5      " XX#5      T
U -  TU-  -  TU-  -  XC-  -  T
* T-
  T-
  U-
  S-   S	-  -  U" X-   U-   U-   S	-   5      -  SU" U 5      -  U" U5      -  U" U5      -  U" U5      -  -  -
  5      [        R                  L d   e[        [        XfS   5      " S5      R                  5       SS5      (       d   e[        [        U
UUU4S j5        [        [        U	4S j5        UR                  R                  R                  [!        [#        S[$        S5      [#        S[$        S5      [#        S[$        S5      [#        S[$        S5      5      :X  d   eg )Nzk0, x1, x2, x3, x4Tr   r   r   r   r   rP   rQ   rL   r   皙?r   r=   r   r   gQ?{Gz?c                  &   > [        SST TTT/5      $ r   r1   r   s   rC   rD   *test_NegativeMultinomial.<locals>.<lambda>  s    24RR<NOrF   c                  $   > [        ST SSSS5      $ )Nr   r   r   r   r   )k0s   rC   rD   r    s    24S#sCPrF   )r
   r1   r   r   r   r    r	   Zeror   r"   rd   r4   rc   r_   r`   ra   r   r   r   )r   r   r   r   r   rP   rL   gr   r  r   r   r   r   s            @@@@@rC   test_NegativeMultinomialr    s    !54QUVB-=NBB6D)DCRR$45ACCc2AAAGAJrr.F2r6M"b& '"rB);a)?!(CCAbgGGG E AbE'!B%-"-ae355 69:@ @ @ %a1.q17794EEEE
:OP
:PQ88  $$
5B?!ROU1b!_eAr1o)G G G GrF   c                     [        SSS/SS/SS//S5      n [        X S   5      " [        5      n[        S5      [        S-  S-  S-   -  S[	        [        S-  S-  S-   5      [        S5      S-  -  -  -  nX:X  d   U5       e[        [        U S5      " [        5      [        [        * [        45      S:X  d   e[        S/ SQ/ SQ/ S	Q/ S
Q/S5      n[        [        US5      " S5      R                  5       SS5      (       d   eg )Nrh   r   r=   r>   rQ   r   r^   rI   rJ   rK   rH   r   r   )
r*   r"   r9   r   r   r	   r   r   r   rd   )rh   gotansts       rC   &test_JointPSpace_marginal_distributionr    s    cAq6QFQF#3Q7A
Q4
(
+C
q'1a46A:
*QT!VaZ"81Q46"B B
CC:s:*1a03a"b\BaGGGc9y)Y&GKA%a+A.446SAAAArF   c                     S S 5       u  p[        U S-  * S-  U -   US-  S-  -
  [        R                  -
  5      S[        -  -  n[	        SU5      n[        U5      " SS5      [        S5      S[        -  -  :X  d   e[        UR                  R                  [        5      (       d   e[        US5      " S5      [        S5      [        [        SS5      5      -  S[        [        5      -  -  :X  d   eg )	Nc              3   :   #    U  H  n[        S U5      v   M     g7fr9   Nr   .0r   s     rC   	<genexpr>test_JointRV.<locals>.<genexpr>!       .v!gc1oov   r=   r>   r>   r9   r=   r   rT   )r   r	   r   r   r'   r    
isinstancer_   r`   r)   r"   r   r   )r   r   pdfrZ   s       rC   test_JointRVr     s    .v.FB
r1ufQhmb!eAg%.
/2
6CSA1:as2w"~---ahh++-FGGGG A&q)T!WS"a5I-I1TRTX:-VVVVrF   c                      [        S[        [        /SS/SS//5      n [        [	        U S   5      5      [        :X  d   eg Nr<   r=   r   )r#   r9   r:   r   r%   rA   s    rC   test_expectationr  )  s<    sQFaVaV,-AAadG!!!rF   c                  t    [        S[        [        /SS/SS//5      n [        U 5      [        [        4:X  d   eg r  )r#   r9   r:   r%   rA   s    rC   test_joint_vector_expectationr  .  s5    sQFaVaV,-AQ4Aq6>>rF   c                    ^ [        SSS/SS/SS//5      [        S/ SQ5      [        SS	/ S
Q5      /n Sn[        S5      nU(       d  [	        S5        g U  HE  n[        X1SS9nU H2  n[        U5      UR                  R                  R                  ;   a  M2   e   MG     [        SSSSS5      m[        [        U4S j5        g )NrS   rH   rQ   r>   r=   rG   )r   r      2      rP   r"  )r   r   r   g      ?g333333?numpyz6Numpy is not installed. Abort tests for _sample_numpy.sizelibraryr   c                     > [        T SS9$ )Nr$  r'  r&   N_cs   rC   rD   #test_sample_numpy.<locals>.<lambda>D  s    F3,HrF   )r2   r-   r0   r8   r6   r&   tupler_   r`   ra   r1   r4   re   )distribs_numpyr&  r$  rZ   sampssamr,  s         @rC   test_sample_numpyr2  4  s    3A!Q!Q(8934C89N
 D'"EEFA19ESzQXX%:%:%>%>>>>    "#q#sC8"$HIrF   c                  F  ^	 [        SSS/SS/SS//5      [        S/ SQ5      [        SS/ S	Q5      /n S
n[        S5      nU(       d  [	        S5        g U  H  n[        X1S9n[        USS9nU H2  n[        U5      UR                  R                  R                  ;   a  M2   e   [        S5       HI  n[        S5       H7  n[        XW   U   5      UR                  R                  R                  ;   a  M7   e   MK     M     [        SS
SSS5      m	[        [        U	4S j5        g )NrS   r   r   g?rG   r   r   r!  rP   rq   r   r   r   r   rH   scipyz3Scipy not installed. Abort tests for _sample_scipy.)r&  )r>   r>   r>   c                     > [        T 5      $ rN   r*  r+  s   rC   rD   #test_sample_scipy.<locals>.<lambda>\  s	    F3KrF   )r2   r-   r0   r8   r6   r&   r.  r_   r`   ra   ranger1   r4   re   )
distribs_scipyr&  r6  rZ   r0  samps2r1  r   r   r,  s
            @rC   test_sample_scipyr<  G  s   3A#us|(DEl+C01N D'"EBCA1(EAF+FSzQXX%:%:%>%>>>> 1XqA 1.!((2G2G2K2KKKK "    "#q#sC8"$78rF   c                    ^ [        SSS/SS/SS//5      [        S/ SQ5      [        SS	/ S
Q5      /n Sn[        S5      nU(       d  [	        S5        g U  HS  n[        X1SS9nU H@  n[        UR                  5       5      UR                  R                  R                  ;   a  M@   e   MU     [        SSSSS5      m[        [        U4S j5        g )NrS   r   r>   r=   r   rG   r4  rP   rQ   r5  rH   pymcz4PyMC is not installed. Abort tests for _sample_pymc.r%  r   c                     > [        T SS9$ )Nr>  r)  r*  r+  s   rC   rD   "test_sample_pymc.<locals>.<lambda>o  s    F3,GrF   )r2   r-   r0   r8   r6   r&   r.  flattenr_   r`   ra   r1   r4   re   )distribs_pymcr&  r>  rZ   r0  r1  r,  s         @rC   test_sample_pymcrC  _  s    3A!Q!Q(89l+C01M
 D DCDA18ES[[]+qxx/D/D/H/HHHH   "#q#sC8"$GHrF   c                     S S 5       u  p[        U S-  * S-  U -   US-  S-  -
  [        R                  -
  5      S[        -  -  n[	        SU5      n/ SQnU Hi  n [        U5      nU(       aS  / / / pn[        USUSS9n[        USUSS9n[        USUS	S9n	[        Xx:H  5      (       d   e[        X:g  5      (       d   eMi  Mk     g ! [         a     M{  f = f)
Nc              3   :   #    U  H  n[        S U5      v   M     g7fr  r  r  s     rC   r  #test_sample_seed.<locals>.<genexpr>s  r  r  r  r>   r9   )r6  r$  r>  r   r   )r&  r'  seedr=   )	r   r	   r   r   r'   r8   r&   allre   )
r   r   r  rZ   	librarieslibimported_libs0s1s2s
             rC   test_sample_seedrO  r  s    .v.FB
r1ufQhmb!eAg%.
/2
6CSA*I
	(-LRAB!<AB!<AB!<28}}$}28}}$}   # 		s   A#C
CCc                  ,   [        SSS/SS/SS//5      n [        SSS/SS/SS//5      n[        SSS/SS/SS//5      nX:X  d   eSnU H  n [        U5      nU(       a  [        U SUS9n[        USUS9n[        USUS9n[	        UR                  5       5      [	        UR                  5       5      :X  d   eU H@  n	[	        U	R                  5       5      UR                  R                  R                  ;   a  M@   e   M  M     g ! [         a     M  f = f)Nr9   r   r=   )r6  r$  rq   r%  
r#   r2   r8   r&   r.  rA  r_   r`   ra   re   
rB   rU   ri   rI  r'  rK  rM  rN  s3ss
             rC   test_issue_21057rU    s#   sQFaVaV,-A3A!Q!Q(89AsQFaVaV,-A6M6"I
	(1LAAw7AAw7AAw7RZZ\*eBJJL.AAAAA -1F1F1J1JJJJ    # 		   B'D:D
DDc                  ,   [        SSS/SS/SS//5      n [        SSS/SS/SS//5      n[        SSS/SS/SS//5      nX:X  d   eSnU H  n [        U5      nU(       a  [        U SUS9n[        USUS9n[        USUS9n[	        UR                  5       5      [	        UR                  5       5      :X  d   eU H@  n	[	        U	R                  5       5      UR                  R                  R                  ;   a  M@   e   M  M     g ! [         a     M  f = f)Nr9   r   r=   )r>  rq   r%  rQ  rR  s
             rC   test_issue_21057_pymcrX    s#   sQFaVaV,-A3A!Q!Q(89AsQFaVaV,-A6M6I
	(1LAAw7AAw7AAw7RZZ\*eBJJL.AAAAA -1F1F1J1JJJJ    # 		rV  N)hsympy.concrete.productsr   sympy.concrete.summationsr   sympy.core.numbersr   r   r   sympy.core.relationalr   sympy.core.singletonr	   sympy.core.symbolr
   (sympy.functions.combinatorial.factorialsr   r   $sympy.functions.elementary.complexesr   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   sympy.functions.special.besselr   'sympy.functions.special.gamma_functionsr   sympy.matrices.denser   &sympy.matrices.expressions.determinantr   sympy.sets.fancysetsr   sympy.sets.setsr   r   sympy.simplify.simplifyr   sympy.tensor.indexedr   r   r   sympy.integrals.integralsr   sympy.matricesr   r   "sympy.matrices.expressions.matexprr   sympy.statsr    r!   r"   r#   r$   r%   r&   sympy.stats.joint_rv_typesr'   r(   r)   r*   r+   r,   r   r-   r.   r   r/   r0   r1   r2   r3   sympy.testing.pytestr4   r5   r6   r7   sympy.externalr8   	sympy.abcr9   r:   ro   rv   r~   r   r   r   r   r   r  r  r  r  r  r2  r<  rC  rO  rU  rX  r@   rF   rC   <module>rt     s   + ) 1 1 $ " % Q ; 6 9 : 2 9 $ > & 2 , 7 # / / < Z Z Z% % % % ; : ( :0z3	;D8EvT )>I&G$ B BW"
  
J&90I&00  rF   