
    sg"                         d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZmZmZmZmZ d d	lmZmZ d d
lmZmZmZmZmZmZ d dlm Z m!Z! d dl"m#Z# d Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+y)    )Product)pi)S)Dummysymbols)exp)sqrt)gamma)DeterminantMatrixTraceMatrixSymbol	MatrixSet)densitysample)MatrixGammaDistributionMatrixGammaMatrixPSpaceWishartMatrixNormalMatrixStudentT)raisesskip)import_modulec                      t        ddddgddgg      t        ddd      } | j                  k(  sJ t        t        fd       y )N      Mc                       t        d dd      S )Nr   g333333?r   )r   r   s   ^/var/www/html/venv/lib/python3.12/site-packages/sympy/stats/tests/test_matrix_distributions.py<lambda>z#test_MatrixPSpace.<locals>.<lambda>   s    |CC;     )r   r   distributionr   
ValueError)MPr   s    @r!   test_MatrixPSpacer'      sK    11v1v&67A	c1a	#B??a
:;<r#   c                    
 t        dddddgddgg      

j                  j                  j                  t	        ddt
        j                        k(  sJ t        t        
      t              sJ t        ddd      } t        t        t        t        d       dz  dgdt        d       dz  gg      | z              } t        
      |       j                         |dt        z  t!        t#        |             z  z  k(  sJ  t        
      ddgddgg      j                         t!        d      t        d      z  d	t        z  z  k(  sJ t        ddd      } t        d
dd      } t        
      | |g      j                         t        | d    dz  |d   dz  z
        dt        z  t!        | d   |d   z  | d   |d   z  z
        z  z  k(  sJ t%        dd      \  }}t%        ddd      }t        d
||      }t        ddd      t        d||      }t        d|||      }t        dddddgddgg      t'        d      }t        | |dz
  z  dz  z  || |z  z  z  t        t        d|z  |dz  z  |z              z  t#        |      | z  z  t#        |      ||dz  z
  t        d      dz  z
  z  z  t)        t+        | dz  |z   t        d      dz  z         |d|f      z  }	 t        |      |      j-                  |	      sJ t/        t0        
fd       t/        t2        
fd       t/        t2        d        t/        t2        d        t/        t2        d        t/        t2        d        y )Nr   r   r   r   X         Y)r   r   )r   r   za bTpositivedr0   integerZSMM2M3kc                  ,     t         z               S )Nr   )r   r7   r4   s   r!   r"   z"test_MatrixGamma.<locals>.<lambda>/   s    Q(: r#   c                  &     t               d      S Nr   r;   r    s   r!   r"   z"test_MatrixGamma.<locals>.<lambda>0       zwqz!} r#   c                  *    t        dddddgddgg      S Nr   r9   r   r   r   r    r#   r!   r"   z"test_MatrixGamma.<locals>.<lambda>1       {3AAA7GH r#   c                  *    t        dddddgddgg      S )Nr   r9   r,   r   r   rA   rB   r#   r!   r"   z"test_MatrixGamma.<locals>.<lambda>2   s    {3B!Q!Q8HI r#   c                  *    t        dddddgddgg      S r@   rA   rB   r#   r!   r"   z"test_MatrixGamma.<locals>.<lambda>3   rC   r#   c                  (    t        dddddgdgg      S r@   rA   rB   r#   r!   r"   z"test_MatrixGamma.<locals>.<lambda>4   s    {3AA}E r#   )r   pspacer$   setr   r   Reals
isinstancer   r   r   r   r   r   doitr   r	   r   r   r   r   r
   dummy_eqr   NotImplementedErrorr%   )r)   numr.   abr1   r5   r6   r8   exprdr   r7   r4   s             @@@r!   test_MatrixGammarR      sd   CAAA/0A88  $$	!Q(@@@@gaj"9:::S!QA
eFadU1WaL1qteAg,78:;
<C71:a=3"T+a.-A(A#BBBB71:1v1v&',,.$q'#b'/2b52IIIIS!QAS!QA71:q!f""$QtWHQJ4,B(CQrT$ !$$!D'!D'/ AKC FC )D D D D 54(DAqdD1AS!QAS!QA	dAq	!B	T1a	$B	T1a1a&1a&!1	2Bc
A!QUAqA2a4y(UBqD"r(?13D-E *
 

b/QB
  +AQqS1Q461A BCCJqbdQh1a 1a)D--E 72;q>""5)))
 :;
:,-
:HI
:IJ
:HI
:EFr#   c                  
   t        ddddgddgg      j                  j                  j                  t	        ddt
        j                        k(  sJ t        ddd      } t        t        t        t        d       dz  dgdt        d       dz  gg      | z              } t              |       j                         |t        |       z  dt        z  z  k(  sJ  t              ddgddgg      j                         t        d      d	t        z  z  k(  sJ t        d
d      }t        ddd      }t        d||      }t        d||      }t        d||      t!        d      }d| |z  dz  z  t        | |dz
  z  dz  z  z  t        t        t        d      dz   |dz  z  |z              z  t        |      | dz  z  z  t        |      | dz  |dz  z   t        d      dz  z
  z  z  t#        t%        | dz  |dz  z   t        d      dz  z         |d|f      z  } t              |      j'                  |      sJ t)        t*        fd       t)        t*        d        t)        t*        d        t)        t*        d        y )NW   r   r   r   r)      r,      nTr/   r1   r2   r.   r5   r8   r*   r9   c                  &     t               d      S r=   r;   )rT   s   r!   r"   ztest_Wishart.<locals>.<lambda>G   r>   r#   c                  (    t        ddddgddgg      S )NrT   r9   r   r   r   rB   r#   r!   r"   ztest_Wishart.<locals>.<lambda>H       wsB!Q!Q0@A r#   c                  (    t        ddddgddgg      S )NrT   r9   r   r   r   r[   rB   r#   r!   r"   ztest_Wishart.<locals>.<lambda>I   r\   r#   c                  &    t        ddddgdgg      S )NrT   r   r   r   r[   rB   r#   r!   r"   ztest_Wishart.<locals>.<lambda>J   s    wsQ!Q!> r#   )r   rG   r$   rH   r   r   rI   r   r   r   r   r   rK   r   r   r   r   r   r
   rL   r   r%   )	r)   term1rX   r1   r.   r5   r8   rQ   rT   s	           @r!   test_Wishartr`   6   sj   Q!Q!Q()A88  $$	!Q(@@@@S!QAf!uQwlQ1aL9:1<=>E71:a=5;q>#92b5#AAAA71:1v1v&',,.#b'1R4.@@@d#AdD1AS!QA	dAq	!BQAc
A1QKaRQZ\**3uqtAvYrBx5G5I/J , "o1)!nBqD1Q3J1a r!taczAaDF':!;aAYGHE 71:a=!!%(((
:,-
:AB
:AB
:>?r#   c                  &  	 t        dddggdgddgddgg      		j                  j                  j                  t	        ddt
        j                        k(  sJ t        ddd      } t        t        t        t        d      dz  t        d       dz  gt        d       dz  t        d      dz  gg      t        d	gd
gg      | j                  z   z  t        t        d      dz  gg      z  t        d	d
gg      | z   z         dz        } t        	      |       j                         t        d      |z  dt        z  z  k(  sJ  t        	      ddgg      j                         t        d      t        t        d       dz        z  dt        z  z  k(  sJ t!        ddd      \  }}t        d||      }t        d||      }t        d||      }t        d||      }t        d|||      	dt        z  | |z  dz  z  t        t        |dz  |j                   |j                  z   z  |dz  z  | |z   z         dz        z  t#        |      | dz  z  z  t#        |      | dz  z  z  } t        	      |      j                         |k(  sJ t%        t&        	fd       t%        t&        d        t%        t&        d        t%        t&        d        t%        t&        d        t%        t&        d        t%        t&        d        t%        t&        d        y )Nr   rU      r*   r   r   r)   r+   rV      rW   zd nTr2   SM2SM1LMr.   r9   c                  &     t               d      S r=   r;   r    s   r!   r"   z#test_MatrixNormal.<locals>.<lambda>]   r>   r#   c                  :    t        dddgddgddggddgddgg      S Nr   r   r   r   r   rB   r#   r!   r"   z#test_MatrixNormal.<locals>.<lambda>^   3    |C!Q1a&1a&9IQPQFUVXYTZK[\ r#   c                  :    t        dddgddgddggddgddgg      S rk   rl   rB   r#   r!   r"   z#test_MatrixNormal.<locals>.<lambda>_   rm   r#   c                  :    t        dddgddgddggddgddgg      S rk   rl   rB   r#   r!   r"   z#test_MatrixNormal.<locals>.<lambda>`   rm   r#   c                  8    t        dddgddgdggddgddgg      S rk   rl   rB   r#   r!   r"   z#test_MatrixNormal.<locals>.<lambda>a   s/    |C!Q1a&1#!QRSUVQWHXY r#   c                  8    t        dddgddgddggddgdgg      S rk   rl   rB   r#   r!   r"   z#test_MatrixNormal.<locals>.<lambda>b   s/    |C!Q1a&1a&9IQPQFUVTW=Y r#   c                  6    t        dddggddgddggddgg      S rk   rl   rB   r#   r!   r"   z#test_MatrixNormal.<locals>.<lambda>c   s+    |C1a&QFQF;KqRSfXV r#   c                  ,    t        dddggdgddgg      S rk   rl   rB   r#   r!   r"   z#test_MatrixNormal.<locals>.<lambda>d   s    |C1a&A3!QI r#   )r   rG   r$   rH   r   r   rI   r   r   r   r   Tr   rK   r	   r   r   r   r   r%   )
r)   r_   r1   rX   rf   rg   rh   r.   rQ   r   s
            @r!   test_MatrixNormalru   L   s   SAq6(QC1a&1a&)9:A88  $$	!Q(@@@@S!QAv1a!A$q1QqTE!GQqT!V3DEFRD2$< 133&((.1az(:;<BRH:<NQR<RT U UUVW XE71:a=DGu#4be#<<<<71:1vh$$&$q'#qteAg,*>2*FFFF546DAq
ua
#C
ua
#C	dAq	!BS!QAS"c3'ArTaRT!VS%b	BDD5133;(?b	(IB3QR7(S #
 "

"  1%&&1#&6!A&>?E71:a=5(((
:,-
:\]
:\]
:\]
:YZ
:YZ
:VW
:IJr#   c                    
 t        ddddggddgddggdg      

j                  j                  j                  t	        ddt
        j                        k(  sJ t        ddd      } t        dz  t        t        dgg            dz  z  t        t        ddgddgg            d	z  z  t        t        t        d      dz  gg      t        d
dgg      | z   z  t        t        d      dz  t        d       dz  gt        d       dz  t        d      dz  gg      z  t        d
gdgg      | j                  z   z  t        dgg      z         dz  z  } t        
      |       |k(  sJ t        dd      }d\  }}t        d||      }t        d||      }t        d||      }t        d||      }t        d||||      
t        |dz  dz         t        t        dgg      |dz  | |z   z  |dz  z  |j                   |j                  z   z  z         | dz  dz
  z  z  t        t        |dz        z  t        t        |            z  t        |      z  z  }	 t        
      |      |	k(  sJ t!        t"        
fd       t!        t"        d        t!        t"        d        t!        t"        d        t!        t"        d        t!        t"        d        t!        t"        d        t!        t"        d        t!        t"        d        y )Nr   r   rU   rb   r   r*   r)   g      g      rc   rd   r+   vTr/   )r   r   OmegaSigmaLocationr.   r9   c                  &     t               d      S r=   r;   r    s   r!   r"   z%test_MatrixStudentT.<locals>.<lambda>|   r>   r#   c            	      <    t        ddddgddgddggddgddgg      S rk   r   rB   r#   r!   r"   z%test_MatrixStudentT.<locals>.<lambda>}   7    ~c1q!f1v1v>NRSUVQWZ[]^Y_P`a r#   c            	      <    t        ddddgddgddggddgddgg      S rk   r}   rB   r#   r!   r"   z%test_MatrixStudentT.<locals>.<lambda>~   r~   r#   c            	      <    t        ddddgddgddggddgddgg      S rk   r}   rB   r#   r!   r"   z%test_MatrixStudentT.<locals>.<lambda>   r~   r#   c            	      :    t        ddddgddgdggddgddgg      S rk   r}   rB   r#   r!   r"   z%test_MatrixStudentT.<locals>.<lambda>   s2    ~c1q!f1vsmqRSfWXZ[V\M]^ r#   c                  8    t        ddddgddgddggdgdgg      S rk   r}   rB   r#   r!   r"   z%test_MatrixStudentT.<locals>.<lambda>   s1    ~c1q!f1v1v>NRSQTWXVYPZ[ r#   c                  8    t        ddddggddgddggddgg      S rk   r}   rB   r#   r!   r"   z%test_MatrixStudentT.<locals>.<lambda>   s0    ~c11vh!Q!Q@PTUWXSYRZ[ r#   c                  .    t        ddddggdgddgg      S rk   r}   rB   r#   r!   r"   z%test_MatrixStudentT.<locals>.<lambda>   s!    ~c11vhq!fXN r#   c                  2    t        ddddgddgddggdg      S )Nr   r9   r   r   r   r*   r}   rB   r#   r!   r"   z%test_MatrixStudentT.<locals>.<lambda>   s(    ~c21vAA?ORSQTU r#   )r   rG   r$   rH   r   r   rI   r   r   r   r   rt   r   r   r
   r	   r   r%   )r)   Drw   rX   prx   ry   rz   r.   rQ   r   s             @r!   test_MatrixStudentTr   f   s   sAAx1a&1a&)9A3?A88  $$	!Q(@@@@S!QA
t{6A3%=1d;;k&STVWRX[\^_Z`QaJb>c? 	1
| 4Rz8JQ8N O"(1Q4!8adUQY*?1Q4%!)QqTTUXAV)W"X!Y(.rd|(<qss(B!DFLqcUm!T UXYZ	ZA 71:a=Ad#ADAq!Q'E!Q'EJ1-HS!QAsAx6A!A#'N;vse}ur{XIPQM7RSX[]S^7^aiakak`knonqnq`q7r'rswxvxyzvz}~v~ac
]4E 233K4FFHE 71:a=E!!!
:,-
:ab
:ab
:ab
:^_
:[\
:[\
:NO
:UVr#   c                  p   t        dddggdgddgddgg      t        ddddgddgg      g} d}t        d	      }|st        d
       y | D ]C  }t	        ||      }|D ]/  }t        |      |j                  j                  j                  v r/J  E t        dddddgddgg      t        t        fd       y )Nr   rU   rb   r*   r   r   rT   r   scipyz3Scipy not installed. Abort tests for _sample_scipy.sizec                      t         d      S Nr+   r   r   r    s   r!   r"   z#test_sample_scipy.<locals>.<lambda>       F11,= r#   r   r   r   r   r   r   rG   r$   rH   r   r   rM   )distribs_scipyr   r   r)   sampssamr   s         @r!   test_sample_scipyr      s    SAq6(QC1a&1a&)9:Q!Q!Q()N
 D'"EBC 	@A14(E @c{ahh&;&;&?&????@	@ QQFQF#34"$=>r#   c                     t        dddgddggddgddggddgddgg      t        d	d
ddgddgg      g} d}t        d      }|st        d       y | D ]D  }t	        ||d      }|D ]/  }t        |      |j                  j                  j                  v r/J  F t        dddddgddgg      t        t        fd       y )Nr   rU   rb   r+   r*   r   r   r   rT   re   pymcz4PyMC is not installed. Abort tests for _sample_pymc.)r   libraryc                      t         d      S r   r   r    s   r!   r"   z"test_sample_pymc.<locals>.<lambda>   r   r#   r   )distribs_pymcr   r   r)   r   r   r   s         @r!   test_sample_pymcr      s    SAq6Aq6*aVaV,<1v1v>NOQ!Q!Q()M D DCD 	@A148E @c{ahh&;&;&?&????@	@ QQFQF#34"$=>r#   c                     t        dddgddggddgddggddgddgg      } g d	}|D ]  }	 t        |      }|ryg g g }}}t        | d
|d      }t        | d
|d      }t        | d
|d      }t        d
      D ]8  }||   ||   k(  j	                         sJ ||   ||   k7  j	                         r8J   y # t
        $ r Y w xY w)Nr   rU   rb   r+   r*   r   r   r   )r   numpyr   
   )r   r   seed)r   r   r   rangeallrM   )r)   	librarieslibimported_libs0s1s2is           r!   test_sample_seedr      s    SAq6Aq6*aVaV,<1v1v>NOA*I 	(-LRBAB!<AB!<AB!<r 2AqERUN//111qERUN//1112 # 		s   BB4.B44	C ?C N),sympy.concrete.productsr   sympy.core.numbersr   sympy.core.singletonr   sympy.core.symbolr   r   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr	   'sympy.functions.special.gamma_functionsr
   sympy.matricesr   r   r   r   r   sympy.statsr   r    sympy.stats.matrix_distributionsr   r   r   r   r   r   sympy.testing.pytestr   r   sympy.externalr   r'   rR   r`   ru   r   r   r   r   rB   r#   r!   <module>r      sc    + ! " . 6 9 9 N N 'R R - (=G@@,K4W@?$?"r#   