
    g"                         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+dS )    )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           d S )N      Mc                  (    t          d dd          S )Nr   g333333?r   )r   r   s   g/var/www/html/ai-engine/env/lib/python3.11/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'      sg    11v1v&67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          
          |                                           |dt          z  t!          t#          |                     z  z  k    sJ  t          
          ddgddgg                                          t!          d          t          d          z  d	t          z  z  k    sJ t          ddd          } t          d
dd          } t          
          | |g                                          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          |          |                              |	          sJ t/          t0          
fd           t/          t2          
fd           t/          t2          d            t/          t2          d            t/          t2          d            t/          t2          d            d S )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                  4     t                     d          S Nr   r;   r    s   r!   r"   z"test_MatrixGamma.<locals>.<lambda>0       zwqzz!}} r#   c                  2    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H r#   c                  2    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I r#   c                  2    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                  0    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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      sG   CAAA/00A8 $	!Q(@(@@@@@gajj"9:::::S!QA
eFaddU1WaL1qtteAg,788:;;
<
<C71::a==3"T+a..-A-A(A#BBBBB71::1v1v&'',,..$q''#b''/2b52IIIIIS!QAS!QA71::q!f""$$QtWHQJ4,B(C(CQrT$ !$$!D'!D'/ AKC KC FC )D D D D D 54(((DAqdD111AS!QAS!QA	dAq	!	!B	T1a	$	$B	T1a1a&1a&!1	2	2Bc

A!QUAqA2a4y(UBqD"r(?13D-E-E *
 *
 

b//QB
  +AQqS1Q4461A BCCJqbdQh1a  1a)D- D--E 72;;q>>""5)))))
 : : : : : :;;;
:,,,,---
:HHIII
:IIJJJ
:HHIII
:EEFFFF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                    |                                           |t          |           z  dt          z  z  k    sJ  t                    ddgddgg                                          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                    |                              |          sJ t)          t*          fd           t)          t*          d            t)          t*          d            t)          t*          d            d S )NW   r   r   r   r)      r,      nTr/   r1   r2   r.   r5   r8   r*   r9   c                  4     t                     d          S r=   r;   )rT   s   r!   r"   ztest_Wishart.<locals>.<lambda>G   r>   r#   c                  0    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A r#   c                  0    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   s   Q!Q!Q())A8 $	!Q(@(@@@@@S!QAf!uQwlQ1aL9::1<==>>E71::a==5;q>>#92b5#AAAAA71::1v1v&'',,..#b''1R4.@@@@d###AdD111AS!QA	dAq	!	!BQAc

A1QKaRQZ\**3uqttAvYrBx5G5I/J/J , , "oo1)!nnBqD1Q3J1a r!taczAaDDF':!;!;aAYGGHE 71::a==!!%(((((
:,,,,---
:AABBB
:AABBB
:>>?????r#   c                  d  	 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          	          |                                           t          d          |z  dt          z  z  k    sJ  t          	          ddgg                                          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          	          |                                          |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            d S )Nr   rU      r*   r   r   r)   r+   rV      rW   zd nTr2   SM2SM1LMr.   r9   c                  4     t                     d          S r=   r;   r    s   r!   r"   z#test_MatrixNormal.<locals>.<lambda>]   r>   r#   c                  B    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>^   6    |C!Q1a&1a&9IQPQFUVXYTZK[\\ r#   c                  B    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                  B    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ggddgddgg          S rk   rl   rB   r#   r!   r"   z#test_MatrixNormal.<locals>.<lambda>a   s2    |C!Q1a&1#!QRSUVQWHXYY r#   c                  @    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   s2    |C!Q1a&1a&9IQPQFUVTW=YY r#   c                  >    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V r#   c                  4    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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8 $	!Q(@(@@@@@S!QAv1a!A$$q1QqTTE!GQqTT!V3DEFFRD2$<  13&((.1az(:(:;<BRH:<N<NQR<RT U U UUVW X XE71::a==DGGu#4be#<<<<<71::1vh$$&&$q''#qtteAg,,*>2*FFFFF54666DAq
ua
#
#C
ua
#
#C	dAq	!	!BS!QAS"c3''ArTaRT!VS%b	BD513;(?b	(IB3QR7(S #
 #
 "

"   1%&&1#&6&6!A&>?E71::a==5((((
:,,,,---
:\\]]]
:\\]]]
:\\]]]
:YYZZZ
:YYZZZ
:VVWWW
:IIJJJJ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            d S )Nr   r   rU   rb   r   r*   r)   g      g      rc   rd   r+   vTr/   )r   r   OmegaSigmaLocationr.   r9   c                  4     t                     d          S r=   r;   r    s   r!   r"   z%test_MatrixStudentT.<locals>.<lambda>|   r>   r#   c            	      D    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>}   :    ~c1q!f1v1v>NRSUVQWZ[]^Y_P`aa r#   c            	      D    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            	      D    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            	      B    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>   s5    ~c1q!f1vsmqRSfWXZ[V\M]^^ r#   c                  @    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>   s4    ~c1q!f1v1v>NRSQTWXVYPZ[[ r#   c                  @    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>   s3    ~c11vh!Q!Q@PTUWXSYRZ[[ r#   c                  6    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N r#   c                  :    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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8 $	!Q(@(@@@@@S!QA
t{6A3%==11d;;k&STVWRX[\^_Z`QaJbJb>c>c? 	1
| 4 4Rz8J8JQ8N O"(1Q44!8addUQY*?1Q44%!)QqTTTUXAV)W"X"X!Y(.rd|(<(<qs(B!DFLqcUmm!T U UXYZ	ZA 71::a==Ad###ADAq!Q''E!Q''EJ1--HS!QAsAx66A!A#'NN;vse}}ur{XIPQM7RSX[]S^7^aiak`knonq`q7r'rsswxvxyzvz}~v~ac

]4E 2 2333K4F4FFHE 71::a==E!!!!
:,,,,---
:aabbb
:aabbb
:aabbb
:^^___
:[[\\\
:[[\\\
:NNOOO
:UUVVVVVr#   c                     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
           d S | D ]:}t	          ||          }|D ]$}t          |          |j        j        j        v sJ %;t          dddddgddgg          t          t          fd           d S )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CCCC 	@ 	@A14(((E @ @c{{ah&;&??????@QQFQF#34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           d S | D ];}t	          ||d          }|D ]$}t          |          |j        j        j        v sJ %<t          dddddgddgg          t          t          fd           d S )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OQ!Q!Q())M D  D ?CDDDDD 	@ 	@A14888E @ @c{{ah&;&??????@QQFQF#34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          |          }|rg g g }}}t          | d
|d          }t          | d
|d          }t          | d
|d          }t          d
          D ]N}||         ||         k                                    sJ ||         ||         k                                    sJ O# t
          $ r Y w xY wd S )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      sJ   SAq6Aq6*aVaV,<1v1v>NOOA***I  	(--L 2RBAB!<<<AB!<<<AB!<<<r 2 2AqERUN//11111qERUN//111111" 	 	 	H	 s   B.C
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      s   + + + + + + ! ! ! ! ! ! " " " " " " . . . . . . . . 6 6 6 6 6 6 9 9 9 9 9 9 9 9 9 9 9 9 N N N N N N N N N N N N N N ' ' ' ' ' ' ' 'R R R R R R R R R R R R R R R R - - - - - - - - ( ( ( ( ( (= = =G G G@@ @ @,K K K4W W W@? ? ?$? ? ?"    r#   