+
    i[>                        R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
Ht ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHtHt ^ RIHt ^ RIHtHt ^ RIHtHtHt ^ RI H!t!H"t" ^ RI#H$t$H%t% ^ RI&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t. ^ RI/H0t0 ^ RI1H2t2 ^ RI3H4t4  ! R R]'4      t5 ! R R4      t6 ! R R4      t7 ! R R4      t8R]6R]8R]8R]7/t9 ! R  R!])](4      t: ! R" R#]+4      t; ! R$ R%])4      t<R&# )'zq
Joint Random Variables Module

See Also
========
sympy.stats.rv
sympy.stats.frv
sympy.stats.crv
sympy.stats.drv
)prod)Basic)Lambda)S)DummySymbol)sympify)
ProductSetIndexed)Product)Sum	summation)Tuple)Integral	integrate)ImmutableMatrixmatrix2numpy
list2numpy)SingleContinuousDistributionSingleContinuousPSpace)SingleDiscreteDistributionSingleDiscretePSpace)ProductPSpaceNamedArgsMixinDistributionProductDomainRandomSymbolrandom_symbolsSingleDomain_symbol_converter)iterable)
filldedent)import_modulec                      a  ] tR t^$t o RtR t]R 4       t]R 4       t]R 4       t	]R 4       t
]R 4       t]R 4       t]R	 4       tR
 tR tRR ltR tR tRR ltR tRtV tR# )JointPSpacezh
Represents a joint probability space. Represented using symbols for
each component and a distribution.
c                    \        V\        4      '       d   \        W4      # \        V\        4      '       d   \	        W4      # \        V4      p\        P                  ! WV4      # N)
isinstancer   r   r   r   r    r   __new__)clssymdists   &&&t/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/stats/joint_rv.pyr)   JointPSpace.__new__)   sO    d899)#44d677'22$}}St,,    c                .    V P                   P                  # r'   )domainsetselfs   &r-   r2   JointPSpace.set1   s    {{r/   c                (    V P                   ^ ,          # )    argsr3   s   &r-   symbolJointPSpace.symbol5       yy|r/   c                (    V P                   ^,          #    r8   r3   s   &r-   distributionJointPSpace.distribution9   r<   r/   c                .    \        V P                  V 4      # r'   )JointRandomSymbolr:   r3   s   &r-   valueJointPSpace.value=   s     d33r/   c                   V P                   P                  p\        V\        4      '       d   \	        \        VP                  4      4      # \        V\        4      '       d   VP                  ^ ,          R,          # \        P                  # )r7   )
r@   r2   r(   r	   r   lenr9   r   limitsOne)r4   _sets   & r-   component_countJointPSpace.component_countA   s\      $$dJ''S^$$g&&;;q>"%%uur/   c                    \        V P                  4       Uu. uF  p\        V P                  V4      NK  	  ppV P                  ! V!  # u upi r'   )rangerL   r   r:   r@   )r4   ir+   s   &  r-   pdfJointPSpace.pdfJ   sE    05d6J6J0KL0K1wt{{A&0KL  #&& Ms   A	c                    \        V P                  4      pV'       g+   \        V P                  V P                  P                  4      # \        V Uu. uF  q"P                  P                  NK  	  up!  # u upi r'   )r   r@   r   r:   r2   r   pspacer1   r4   rvsrvs   &  r-   r1   JointPSpace.domainO   sW    T../T->->-B-BCC#>#Byy//#>??>s   A4c                <    V P                   P                  V,          # r'   )r2   r9   )r4   indexs   &&r-   component_domainJointPSpace.component_domainV   s    xx}}U##r/   c           	       a  S P                   pVP                  \        4      '       d   \        R 4      h\	        V4       Uu. uF  p\        S P                  V4      NK  	  ppV Uu. uF  p\        \        V4      4      NK  	  pp\        \        WT4      4      p\        ;QJ d    . V 3R lV 4       F  NK  	  5M! V 3R lV 4       4      pV Uu. uF  q3V9  g   K  V.NK  	  pp^ p	\	        V4       Fc  pW19  g   K  W,          P                  S P                  P                  P                  V,          4       \        W,          4      W&   V	^,          p	Ke  	  S P                  P                  '       d'   \!        V\#        S P                  ! V!  .VO5!  4      p
MAS P                  P$                  '       d&   \!        V\'        S P                  ! V!  .VO5!  4      p
X
P)                  V4      # u upi u upi u upi )z_Marginal distributions cannot be computed for symbolic dimensions. It is a work under progress.c           	   3   t   <"   T F-  p\        \        \        SP                  V4      4      4      x  K/  	  R # 5ir'   )r   strr   r:   .0rP   r4   s   & r-   	<genexpr>4JointPSpace.marginal_distribution.<locals>.<genexpr>a   s)     J'QF3wt{{A6788's   58)rL   atomsr   
ValueErrorrO   r   r:   r_   dictziptupleappendr@   r2   r9   is_Continuousr   r   is_Discreter   xreplace)r4   indicescountrP   origall_symsreplace_dictr+   rI   rZ   fs   f*         r-   marginal_distribution!JointPSpace.marginal_distributionY   s   $$;;v X Y Y16u>AQ'>,01DqF3q6ND1C/0eJ'JeeJ'JJ (91SL$1$9uA$$T%6%6%:%:%?%?%BC %fm 4
	 
 ***sId&7&7&BLVLMA***sId&7&7&BLVLMAzz,'' ?1 :s   G-&G2G7G7Nc           	     ~  a a \         ;QJ d*    . V 3R  l\        S P                  4       4       F  NK  	  5M#! V 3R  l\        S P                  4       4       4      pS;'       g    To\        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       g   V# VS P                  ,          pS F  p\        V\        4      '       dD   VP                  V\        \        VP                  4      VP                  ^,          4      /4      pK\  \        V\        4      '       g   Kt  VP                  WfP                  /4      pK  	  S P                  \        V4      9   d   \        \!        R4      4      h\         ;QJ d    . V 3R lV 4       F  NK  	  5M! V 3R lV 4       4      p\#        V.VO5!  # )c              3   J   <"   T F  pSP                   V,          x  K  	  R # 5ir'   )rD   r`   s   & r-   rb   2JointPSpace.compute_expectation.<locals>.<genexpr>p   s     H,GqTZZ]],Gs    #c              3   ,   <"   T F	  qS9   x  K  	  R # 5ir'    )ra   rP   rV   s   & r-   rb   rw   r   s     *T8Ts   TFzq
            Expectations of expression with unindexed joint random symbols
            cannot be calculated yet.c              3      <"   T Fm  p\        \        VP                  4      VP                  ^,          4      SP                  P
                  P                  VP                  ^,          ,          3x  Ko  	  R# 5i)r?   N)r   r_   baser9   r@   r2   )ra   rW   r4   s   & r-   rb   rw   ~   sW      D>B  BGGRWWQZ8!!&&rwwqz24>Bs   A5A8)rh   rO   rL   anyrQ   r(   r   rl   r_   r{   r9   r   r:   rD   r   NotImplementedErrorr"   r   )r4   exprrV   evaluatekwargssymsrW   rI   s   f&f&,   r-   compute_expectationJointPSpace.compute_expectationo   sD   uHE$2F2F,GHuuHE$2F2F,GHHkkTs*T*sss*T***KDHH}B"g&&}}b'#bgg,
*K%LMB--}}b))_5	 
 ::--%j 2) '* + +  D>BD D>BD D&v&&r/   c                    \        4       hr'   r}   r4   	conditions   &&r-   whereJointPSpace.where       !##r/   c                    \        4       hr'   r   )r4   r~   s   &&r-   compute_densityJointPSpace.compute_density   r   r/   c                h    \        V P                  V 4      V P                  P                  VW#R7      /# )zW
Internal sample method

Returns dictionary mapping RandomSymbol to realization value.
)libraryseed)r   r:   r@   sample)r4   sizer   r   s   &&&&r-   r   JointPSpace.sample   s:     T[[$/1B1B1I1I$# 2J 20 1 	1r/   c                    \        4       hr'   r   r   s   &&r-   probabilityJointPSpace.probability   r   r/   ry   )NFry   scipyN)__name__
__module____qualname____firstlineno____doc__r)   propertyr2   r:   r@   rD   rL   rQ   r1   r[   rs   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r-   r%   r%   $   s     -       4 4   ' ' @ @$(,'&$$1$ $r/   r%   c                   >   a  ] tR t^t o RtRR lt]R 4       tRtV t	R# )SampleJointScipyz7Returns the sample from scipy of the given distributionNc                &    V P                  WV4      # r'   )_sample_scipyr*   r,   r   r   s   &&&&r-   r)   SampleJointScipy.__new__         T22r/   c                  a	a
 ^ RI pVe   \        V\        4      '       d   VP                  P	                  VR7      o	MVo	^ RIHo
 RV	V
3R lRV	V
3R lRV	V
3R	 l/pRR
 RR RR /pVP                  4       pVP                  P                  V9  d   R# WQP                  P                  ,          ! W4      pVP                  W&VP                  P                  ,          ! V4      ,           4      # )zSample from SciPy.Nr   )statsMultivariateNormalDistributionc                    < SP                   P                  \        V P                  4      P	                  4       \        V P
                  4      VSR 7      # ))meancovr   random_state)multivariate_normalrV   r   muflattensigmar,   r   
rand_statescipy_statss   &&r-   <lambda>0SampleJointScipy._sample_scipy.<locals>.<lambda>   sD    A`A`AdAd!$''*224 ,4j Be BRr/   MultivariateBetaDistributionc                    < SP                   P                  \        V P                  \        4      P                  4       VSR 7      # ))alphar   r   )	dirichletrV   r   r   floatr   r   s   &&r-   r   r      s;    {?T?T?X?X U3;;=DWa @Y @cr/   MultinomialDistributionc                    < SP                   P                  \        V P                  4      \	        V P
                  \        4      P                  4       VSR 7      # ))npr   r   )multinomialrV   intr   r   r   r   r   r   s   &&r-   r   r      sC    +:Q:Q:U:Udff+DFFE!:!B!B!D4^h ;V ;jr/   c                 \    \        V P                  4      P                  4       P                  # r'   r   r   r   shaper,   s   &r-   r   r          <;P;X;X;Z;`;`r/   c                 \    \        V P                  4      P                  4       P                  # r'   r   r   r   r   r   s   &r-   r   r          DJJ9O9W9W9Y9_9_r/   c                 \    \        V P                  4      P                  4       P                  # r'   r   r   r   r   r   s   &r-   r   r          Jtvv4F4N4N4P4V4Vr/   )numpyr(   r   randomdefault_rngr   r   keys	__class__r   reshape)r*   r,   r   r   r   scipy_rv_mapsample_shape	dist_listsamplesr   r   s   &&&&     @@r-   r   SampleJointScipy._sample_scipy   s     	<:dC0011t1<JJ., /R + -c% (j
 -.`*,_%'V
 !%%'	>>"")3~~667Ct4>>3J3J&KD&QQRRr/   ry   r'   )
r   r   r   r   r   r)   classmethodr   r   r   r   s   @r-   r   r      s#     A3 S Sr/   r   c                   >   a  ] tR t^t o RtRR lt]R 4       tRtV t	R# )SampleJointNumpyz7Returns the sample from numpy of the given distributionNc                &    V P                  WV4      # r'   )_sample_numpyr   s   &&&&r-   r)   SampleJointNumpy.__new__   r   r/   c                  a	 ^ RI pVe   \        V\        4      '       d   VP                  P	                  VR7      o	MVo	RV	3R lRV	3R lRV	3R l/pRR	 RR
 RR /pVP                  4       pVP                  P                  V9  d   R# WQP                  P                  ,          ! V\        V4      4      pVP                  W&VP                  P                  ,          ! V4      ,           4      # )zSample from NumPy.Nr   r   c                    < SP                  \        V P                  \        4      P	                  4       \        V P
                  \        4      VR 7      # ))r   r   r   )r   r   r   r   r   r   r,   r   r   s   &&r-   r   0SampleJointNumpy._sample_numpy.<locals>.<lambda>   s@    A_A_!$''5199; U3$ B` B@r/   r   c                 v   < SP                  \        V P                  \        4      P	                  4       VR 7      # ))r   r   )r   r   r   r   r   r   s   &&r-   r   r      s2    z?S?S U3;;=D @T @Jr/   r   c                    < SP                  \        V P                  4      \        V P                  \
        4      P                  4       VR 7      # ))r   pvalsr   )r   r   r   r   r   r   r   r   s   &&r-   r   r      s:    *:P:Pdff+Z%>%F%F%Ht ;Q ;Ur/   c                 \    \        V P                  4      P                  4       P                  # r'   r   r   s   &r-   r   r      r   r/   c                 \    \        V P                  4      P                  4       P                  # r'   r   r   s   &r-   r   r      r   r/   c                 \    \        V P                  4      P                  4       P                  # r'   r   r   s   &r-   r   r      r   r/   )
r   r(   r   r   r   r   r   r   r   r   )
r*   r,   r   r   r   numpy_rv_mapr   r   r   r   s
   &&&&     @r-   r   SampleJointNumpy._sample_numpy   s     	<:dC0011t1<JJ, /@ + -J% (U
 -.`*,_%'V
 !%%'	>>"")3~~667d4jIt4>>3J3J&KD&QQRRr/   ry   r'   )
r   r   r   r   r   r)   r   r   r   r   r   s   @r-   r   r      s#     A3 S Sr/   r   c                   >   a  ] tR t^t o RtRR lt]R 4       tRtV t	R# )SampleJointPymcz6Returns the sample from pymc of the given distributionNc                &    V P                  WV4      # r'   )_sample_pymcr   s   &&&&r-   r)   SampleJointPymc.__new__   s    D11r/   c                  a	  ^ RI o	RV	3R lRV	3R lRV	3R l/pRR RR	 RR
 /pVP                  4       pVP                  P
                  V9  d   R# ^ RIpVP                  R4      P                  VP                  4       S	P                  4       ;_uu_ 4        WAP                  P
                  ,          ! V4       S	P                  \        V4      ^RVRRR7      R,          R,          pRRR4       XP                  W%VP                  P
                  ,          ! V4      ,           4      #   \         d	    ^ RIo	 EL5i ; i  + '       g   i     L^; i)zSample from PyMC.Nr   c                    < SP                  R \        V P                  \        4      P	                  4       \        V P
                  \        4      ^V P                  P                  ^ ,          3R7      # )X)r   r   r   )MvNormalr   r   r   r   r   r   r,   pymcs   &r-   r   .SampleJointPymc._sample_pymc.<locals>.<lambda>   sO    cl477E&B&J&J&L U3Atww}}Q?O;P  Rr/   r   c                 v   < SP                  R \        V P                  \        4      P	                  4       R7      # )r   )a)	Dirichletr   r   r   r   r   s   &r-   r   r      s'    sjU&C&K&K&MNr/   r   c           	         < SP                  R \        V P                  4      \        V P                  \
        4      P                  4       ^\        V P                  4      3R7      # )r   )r   r   r   )Multinomialr   r   r   r   r   r   rH   r   s   &r-   r   r      sI      DFFTVVU+335aTVV=M ! Or/   c                 \    \        V P                  4      P                  4       P                  # r'   r   r   s   &r-   r   r      r   r/   c                 \    \        V P                  4      P                  4       P                  # r'   r   r   s   &r-   r   r      r   r/   c                 \    \        V P                  4      P                  4       P                  # r'   r   r   s   &r-   r   r      r   r/   pymc3F)drawschainsprogressbarrandom_seedreturn_inferencedatacompute_convergence_checks:NNNr   )r   ImportErrorr  r   r   r   logging	getLoggersetLevelERRORModelr   r   r   )
r*   r,   r   r   pymc_rv_mapr   r   r
  r   r   s
   &&&&     @r-   r   SampleJointPymc._sample_pymc   s<   	! - /R + -O% (O	
 -.`*,_%'V
  $$&	>>"")3'"++GMM:ZZ\\//06kkT
1%]ax}  [`k  a  bc  d  eh  iG  t4>>3J3J&KD&QQRR;  	! 	!4 \s   D* AE *D=<D= E	ry   r'   )
r   r   r   r   r   r)   r   r   r   r   r   s   @r-   r   r      s#     @2 "S "Sr/   r   r   r  r   r   c                   d   a  ] tR tRt o RtRtR t]R 4       t]R 4       t	R t
RR ltR	 tR
tV tR# )JointDistributioni  z
Represented by the random variables part of the joint distribution.
Contains methods for PDF, CDF, sampling, marginal densities, etc.
c                    \        \        \        V4      4      p\        \	        V4      4       F4  p\        W,          \         4      '       g   K!  \        W,          4      W&   K6  	  \        P                  ! V .VO5!  # r'   )	listmapr   rO   rH   r(   r   r   r)   )r*   r9   rP   s   &* r-   r)   JointDistribution.__new__  sY    C&'s4y!A$'4(()$'2 " }}S(4((r/   c                ,    \        V P                  4      # r'   )r   symbolsr3   s   &r-   r1   JointDistribution.domain%  s    T\\**r/   c                <    V P                   P                  ^,          # r>   )densityr9   r3   s   &r-   rQ   JointDistribution.pdf)  s    ||  ##r/   c           	        \        V\        4      '       g   \        V: R \        V4      : 24      hVP	                  4       pV P
                  P                  P                  pT P                  \        ;QJ d    . R V P                   4       F  NK  	  5M! R V P                   4       4      4      p\        \        V4      4       F  pW%,          P                  '       d5   \        WBV,          W5,          P                  WV,          ,          34      pKO  W%,          P                   '       g   Ki  \#        WBV,          W5,          P                  WV,          ,          34      pK  	  X# )z should be of type dict, got c              3   F   "   T F  qP                   ^ ,          x  K  	  R# 5ir7   Nr8   )ra   rP   s   & r-   rb   (JointDistribution.cdf.<locals>.<genexpr>2  s     >AffQiis   !)r(   rf   re   typer   r1   r2   setsrQ   rh   r  rO   rH   rj   r   infrk   r   )r4   otherrV   rK   r~   rP   r  s   &&     r-   cdfJointDistribution.cdf-  s    %&&%eUVVjjl{{##xx>>>>>?s5z"Av###"4a&$'++a&M*# $###dVTW[[a&M%# $ # r/   Nc                   RpW$9  d   \        R\        V4      ,          4      h\        V4      '       g   \        RV,          4      h\        V,          ! WVR7      pVe   V# \        RV P
                  P                  : RV: 24      h)z+A random realization from the distribution z&Sampling from %s is not supported yet.zFailed to import %sr   zSampling for z# is not currently implemented from )r   r   r  r   )r}   r_   r#   re   _get_sample_class_jrvr   r   )r4   r   r   r   	librariessampss   &&&&  r-   r   JointDistribution.sample<  s     8	#%&N*-g,'7 8 8W%%2W<==%g.tEL!>>**G5 	r/   c                "    V P                   ! V!  # r'   rQ   r4   r9   s   &*r-   __call__JointDistribution.__call__O      xxr/   ry   r-  r   )r   r   r   r   r   	_argnamesr)   r   r1   rQ   r%  r   r/  r   r   r   s   @r-   r  r    sR     
 I) + + $ $& r/   r  c                   *   a  ] tR tRt o RtR tRtV tR# )rC   iR  z[
Representation of random symbols with joint probability distributions
to allow indexing."
c                
   \        V P                  \        4      '       dc   V P                  P                  V8*  R 8X  d:   \	        RV P
                  : RV P                  P                  ^,
          : R24      h\        W4      # R# )TzIndex keys for z can only up to .N)r(   rT   r%   rL   re   namer   )r4   keys   &&r-   __getitem__JointRandomSymbol.__getitem__W  sj    dkk;//++s2t; YY ; ;a ? ?"A B B4%%	 0r/   ry   N)r   r   r   r   r   r8  r   r   r   s   @r-   rC   rC   R  s     & &r/   rC   c                   h   a  ] tR tRt o RtR tR t]R 4       t]R 4       t	R t
R tR	 tR
 tRtV tR# )MarginalDistributioni`  z
Represents the marginal distribution of a joint probability space.

Initialised using a probability distribution and random variables(or
their indexed components) which should be a part of the resultant
distribution.
c                   \        V4      ^8X  d+   \        V^ ,          4      '       d   \        V^ ,          4      p\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \	        \        R4      4      h\        P                  ! R V 4       4      p\        V\        4      '       g   \        \        V4      4      ^ 8X  d   V# \        P                  ! WV4      # )r?   c              3   N   "   T F  p\        V\        \        34      x  K  	  R # 5ir'   )r(   r   r   ra   rW   s   & r-   rb   /MarginalDistribution.__new__.<locals>.<genexpr>l  s     ISr:b7L"9::Ss   #%FTzMarginal distribution can be
             intitialised only in terms of random variables or indexed random
             variablesc              3   $   "   T F  qx  K  	  R # 5ir'   ry   r>  s   & r-   rb   r?  p  s     .#BR#s   )rH   r!   rh   allre   r"   r   fromiterr(   r  r   r   r)   )r*   r,   rV   s   &&*r-   r)   MarginalDistribution.__new__i  s    s8q=Xc!f--A-CsISIsssISIIIZ )    nn.#..$ 122s>$;O7PTU7UK}}S,,r/   c                    R # r'   ry   r3   s   &r-   checkMarginalDistribution.checku  s    r/   c                    V P                   ^,           Uu. uF  p\        V\        4      '       g   K  VNK  	  pp\        V Uu. uF  q3P                  P
                  NK  	  up!  # u upi u upi r>   )r9   r(   r   r	   rT   r2   )r4   rP   rV   rW   s   &   r-   r2   MarginalDistribution.setx  sR    ))A,F,Q*Q*Eqq,FC8CbIIMMC899 G8s   A'A'A,c                |    V P                   ^,          pV Uu0 uF  q"P                  P                  kK  	  up# u upi r>   )r9   rT   r:   rU   s   &  r-   r  MarginalDistribution.symbols}  s/    iil+./3R		  3///s   9c                <  a V P                   ^ ,          V P                   ^,          r2\        V4       Uu. uF  qDV9  g   K  VNK  	  pp\        V\        4      '       dq   \	        VP
                  P                   4      p\        RRR7      o\        ;QJ d    . V3R lV 4       F  NK  	  5M! V3R lV 4       4      pVP                  V4      pM,\        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      p\        WpP                  W%4      4      ! S!  # u upi )r7   xT)realc              3   <   <"   T F  p\        SV4      x  K  	  R # 5ir'   r
   )ra   rP   rL  s   & r-   rb   +MarginalDistribution.pdf.<locals>.<genexpr>  s     61As   c              3      "   T FD  p\        V\        4      '       d   VP                  P                  MVP                  ^ ,          x  KF  	  R# 5ir  )r(   r   rT   r:   r9   r>  s   & r-   rb   rO    s7     hdg^`ZL-I-I))rwwWXzYdgs   AA)r9   r   r(   r  rH   r1   r   rh   rQ   r   compute_pdf)r4   rL  r~   rV   rP   marginalise_outrn   r   s   &j      r-   rQ   MarginalDistribution.pdf  s    IIaL$))A,c&4T&:K&:sl11&:Kd-..(()Ec%A56655666D88D>D5hdgh55hdghhDd,,TCDaHH Ls   DDc                    V FI  p^p\        V\        4      '       d   VP                  P                  pV P	                  W,          V4      pKK  	  V# r>   )r(   r   rT   rQ   rR  )r4   r~   rV   rW   lpdfs   &&&  r-   rQ   MarginalDistribution.compute_pdf  sF    BD"l++yy}}''	26D	 
 r/   c                   ^ RI Hp \        V\        4      '       d   VP                  P
                  pM[\        V\        4      '       dF   VP                  P                  VP                  P                  VP                  ^,          4      4      pVP                  W"P                  P                  /4      pVP                  P                  '       d$   \        WP                  P                  X34      pV# VP                  P                  '       dk   X\        P                   \        P"                  \        P$                  39   d   VP&                  VP(                  3pV! WP                  P                  V34      pV# )r7   )r   )sympy.concrete.summationsr   r(   r   rT   r2   r   r{   r[   r9   rl   r:   rj   r   rk   r   IntegersNaturals	Naturals0r#  sup)r4   r~   rW   r   doms   &&&  r-   rR  $MarginalDistribution.marginalise_out  s   1b,''))--CG$$''**		**2771:68C}}b))"2"23499""" D99#3#3S"9:D  YY"""qzz1::q{{;;ww(tii..45Dr/   c                "    V P                   ! V!  # r'   r-  r.  s   &*r-   r/  MarginalDistribution.__call__  r1  r/   ry   N)r   r   r   r   r   r)   rE  r   r2   r  rQ   rQ  rR  r/  r   r   r   s   @r-   r;  r;  `  sV     
- : : 0 0
I& r/   r;  N)=r   mathr   sympy.core.basicr   sympy.core.functionr   sympy.core.singletonr   sympy.core.symbolr   r   sympy.core.sympifyr   sympy.sets.setsr	   sympy.tensor.indexedr   sympy.concrete.productsr   rX  r   r   sympy.core.containersr   sympy.integrals.integralsr   r   sympy.matricesr   r   r   sympy.stats.crvr   r   sympy.stats.drvr   r   sympy.stats.rvr   r   r   r   r   r   r   r    sympy.utilities.iterablesr!   sympy.utilities.miscr"   sympy.externalr#   r%   r   r   r   r(  r  rC   r;  ry   r/   r-   <module>rs     s   	  " & " - & & ( + 4 ' 9 D D P L= = = / + (n$- n$b%S %SN%S %SN)S )SZ _
O	 :n :x
& 
&J< Jr/   