K i$RdZddlmZddlmZddlmZmZddlm Z m Z m Z ddl m Z mZddlmZddlmZmZdd lmZmZdd lmZdd lmZdd lmZdd lmZddlm Z m!Z!ddl"m#Z#m$Z$ddl%m&Z&ddl'm(Z(ddl)m*Z*ddl+m,Z,m-Z-m.Z.m/Z/ddl0m1Z1ddl2m3Z3ddl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;mZ>Gdde5Z?Gdde?e6Z@Gdde9e?ZAGdde?e7ZBGdd e>ZCGd!d"eCe=ZDGd#d$e:ZEGd%d&eEe;ZFd'ZGd(ZHy))*zl Continuous Random Variables Module See Also ======== sympy.stats.crv_types sympy.stats.rv sympy.stats.frv )Basic)cacheit)Lambda PoleError)Inanoo)EqNe)S)Dummysymbols)_sympifysympify) factorial)exp) Piecewise) DiracDelta)Integral integrate)AndOr)PolynomialError)poly)series) FiniteSet IntersectionIntervalUnion)solveset)reduce_rational_inequalities) RandomDomain SingleDomainConditionalDomain is_random ProductDomainPSpace SinglePSpacerandom_symbolsNamedArgsMixin DistributionceZdZdZdZdZy)ContinuousDomainzX A domain with continuous support Represented using symbols and Intervals. Tctd)Nz#Not Implemented for generic Domains)NotImplementedErrorselfs U/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/stats/crv.py as_booleanzContinuousDomain.as_boolean,s!"GHHN)__name__ __module__ __qualname____doc__ is_Continuousr3r4r2r-r-$s MIr4r-ceZdZdZddZdZy)SingleContinuousDomainzj A univariate domain with continuous support Represented using a single symbol and interval. Nc | |j}|s|St|t|jk7r tdt||j|j ffi|S)NzValues should be equal)r frozenset ValueErrorrsymbolset)r1expr variableskwargss r2compute_expectationz*SingleContinuousDomain.compute_expectation6sZ   IK Y 9T\\#: :56 6t{{DHH5@@@r4cL|jj|jSN)rA as_relationalr@r0s r2r3z!SingleContinuousDomain.as_boolean@sxx%%dkk22r4rGr5r6r7r8rEr3r:r4r2r<r<0s A3r4r<ceZdZdZddZdZy)ProductContinuousDomainzE A collection of independent domains with continuous support Nc | |j}|jD]:}t|t|jz}|s'|j||fi|}<|SrG)rdomainsr>rE)r1rBrCrDdomain domain_varss r2rEz+ProductContinuousDomain.compute_expectationIsa   Ill OF#I.6>>1JJK1v11$ NvN O r4cht|jDcgc]}|jc}Scc}wrG)rrMr3)r1rNs r2r3z"ProductContinuousDomain.as_booleanRs(t||DVV&&(DEEDs/rGrIr:r4r2rKrKDsFr4rKc.eZdZdZddZdZedZy)ConditionalContinuousDomainzo A domain with continuous support that has been further restricted by a condition such as $x > 3$. Nc | |j}|s|S|jj||}|jt |j }}|j g}|ri|j}|jrIt|tr|j|jnt|tr td|jr|j r&|t#|j$|j&z z}n|j(t+|jz} t-| dk7r td| j} t/|D]Y\} } | d| k(st1|| } t3| d| d}| j5|}| |j6|j8f|| <[nt;d|z|rit=|g|i|S)NzOr not implemented herez-Multivariate Inequalities not yet implementedrz+Condition %s is not a relational or Boolean)r fulldomainrEfunctionlistlimits conditionpop is_Boolean isinstancerextendargsrr/ is_Relational is_Equalityrlhsrhs free_symbolsrAlen enumerate!reduce_rational_inequalities_wrapr intersectleftright TypeErrorr)r1rBrCrD fullintgrl integrandrY conditionscondrr@ilimitcintvllintvlintvls r2rEz/ConditionalContinuousDomain.compute_expectation\s   IK__88yI &//j6G6G1H6 nn% >>#DdC(%%dii0b)-.GHH####DHHtxx,?!@@I"//#dll2CCG7|q(1KMM)W[[]F$-f$5 J5 8v-%F $f&.F&.eAha%AF$*$4$4V$z7ContinuousPSpace.compute_expectation..Hs";299";)valuesr>xreplacer@rNrEr|)r1rBrvsrrDrdomain_symbolss r2rEz$ContinuousPSpace.compute_expectation@s} ;++CC.C}}c:b"))m:;"";s";;.t{{..txx$*"(* * ;sBc ||jvr{tt|jt|gz }td|D}|jj |j |fi|}t|j|Stdd}t||j t||z fi|S)Nc34K|]}|jywrGr)rrss r2rz3ContinuousPSpace.compute_density..Rs>"BII>rrTr) rrwrAr>rNrEr|rr@r r)r1rBrD randomsymbolsrr|rs r2compute_densityz ContinuousPSpace.compute_densityMs 4;; !#dkk"2Yv5F"FGM> >>G1$++11$((GNvNC$++s+ + #D !a111*TAX2FQ&QRRr4c N|jjjs td|j|fi|}t ddt \}}|jjj}t|||||ffi|}t|||k\fd}t||S)Nz0CDF not well defined on multivariate expressionsrTrr) rNrA is_Intervalr?rrr rrrr)r1rBrDdrrrrs r2rzContinuousPSpace.compute_cdfYs{{**BD D !D  0 0vDe41[[__** !q*a0;F;a:o. :a~r4c *|jjjs td|j|fi|}t ddt \}}ttt|z|z||z|t tffi|}t||S)NzCCharacteristic function of multivariate expressions not implementedrTr) rNrArr/rrr rrrr r)r1rBrDrrrrs r2rz0ContinuousPSpace.compute_characteristic_functionis{{**%&kl l D  0 0vDe41 s1Q3q5z!A$RC ? ?a}r4c |jjjs td|j|fi|}t ddt \}}tt||z||z|t tffi|}t||S)NzFMoment generating function of multivariate expressions not implementedrTr) rNrArr/rrr rrr r)r1rBrDrrrrs r2rz3ContinuousPSpace.compute_moment_generating_functionss~{{**%&no o D  0 0vDe41AE QqT)AsB<B6Ba~r4c |jjjs td|j|fi|}t dd}t dd}t |||z ||j}t||S)Nz5Quantile not well defined on multivariate expressionsrTrr)positive)rNrArr?rr r r)r1rBrDrrrrs r2rz!ContinuousPSpace.compute_quantile}s}{{**GI I D  T ,V , #D ! # %AaD1Ha2a""r4c  tddd}t|tr(t|jd|jd}d} |j |}|j Dcgc]}|j|jk(s| c}d}|j|fi |jtjust|jtr"|stjStjSt|jtr*t! fd|jjDSt# |jffiScc}w#t$$rddlm}|j*|j,z }t/|s|j(}|j,} n ||fi}d} t|t0s$dd lm} | ||j6j }t9|} | j;|j=| j>| } |s| cYStj| z cYSwxYw) NrTrFrrTc3hK|])}t|trt|ffi+ywrG)r]rr)rsubsetrDr|rs r2rz/ContinuousPSpace.probability..s9FAG(268(Dc!fq&k>!,innQ.?@IH >ZZ *F#{{Ibii6==.H"I!LB&$&&r4V4CzzQZZ':fjj)+L%-qvv81558&**e,FZZ__FFFCFQ O>v> >J# > .==9==0DT?|| }}t.v.d$:;P5d P*1d3E&&y':':5;;'MNF!)6 =quuv~ = >sE E'+E" E"A E'/E'?AE'E'"E''CI/IIc<tt|}t|dk(r|j|js t dt |d}t||}|j|jj}t|j|S)NrTz2Multiple continuous random variables not supportedr) r>r)reissubsetrr/rwrgrhrNrAr<r@)r1rZrrintervals r2rzContinuousPSpace.wheresy12CA #,,t{{";%DF F 3Z]4YC%%dkkoo6%bii::r4c |j|jDcic]}||jc}}t|j|}|r|j Dcic]}|t t|}}|j|jfi|}|j|j|z }tt|j |} t| Scc}wcc}wrG) rrr@rRrNrr strrEr|rrwr) r1rZ normalizerDrrN replacementnormr|rs r2conditional_spacez"ContinuousPSpace.conditional_spaces&& 'L"BII 'LM ,T[[)D  :>F2Bc"g.FKF-6--dhhA&AD((T]];77CU6>>2C8G00(MGs CC$NFr)r5r6r7r8r9is_realrxr|rErrrrrrrrrr:r4r2rr1sMG 22 * S          #  #'>R;1r4rc^eZdZdZedZedZd dZd dZdZ dZ d Z d Z d Z y)ra  A continuous probability space over a single univariate variable. These consist of a Symbol and a SingleContinuousDistribution This class is normally accessed through the various random variable functions, Normal, Exponential, Uniform, etc.... c.|jjSrG) distributionrAr0s r2rAzSingleContinuousPSpace.sets  $$$r4cTtt|j|jSrG)r<rr@rAr0s r2rNzSingleContinuousPSpace.domains%gdkk&:DHHEEr4NcV|j|jj|||iS)zp Internal sample method. Returns dictionary mapping RandomSymbol to realization value. )libraryseed)rrsample)r1sizerrs r2rzSingleContinuousPSpace.samples,  D--44T7QU4VWWr4c |xs |jf}|j|vr|St|}|j|Dcic]}||jc}}|jj} |jj ||fd|i|Scc}w#t $r)t||jz||jffi|cYSwxYw)Nr) rrrr@rrrrr|rA)r1rBrrrDrrs r2rEz*SingleContinuousPSpace.compute_expectations"djj] ::S K~}}c:b"))m:; JJ   F04$$00qV8VvV V ;  FD488Oa]EfE E FsB.B/CCc ||jk(r4tdd}t||jj|fi|St j ||fi|S)NrTr)rr rrrrr)r1rBrDrs r2rz"SingleContinuousPSpace.compute_cdfsX 4:: c%A!2T..221??@ @#//dEfE Er4c ||jk(r4tdd}t||jj|fi|St j ||fi|SNrTr)rr rrrrrr1rBrDrs r2rz6SingleContinuousPSpace.compute_characteristic_functionsY 4:: c%A!FT..FFqSFST T#CCD$YRXY Yr4c ||jk(r4tdd}t||jj|fi|St j ||fi|Sr)rr rrrrrrs r2rz9SingleContinuousPSpace.compute_moment_generating_functionsY 4:: c%A!IT..II!VvVW W#FFtT\U[\ \r4c ||jk(r |jStddt|z |jtj }t |trFt|jdk(r.|jdtj ur|jd}|jstd|d|j|j|jtfd |D}t|S) NyTrrUrrTzCan not solve z for c3dK|]'}|t|jz)ywrG)absdiff)rgfxr s r2rz9SingleContinuousPSpace.compute_density..s&4AAQVVAY'4s-0)rrr r r Realsr]rrer_ is_FiniteSetr?rrr)r1rBrDgsfyrr s @@r2rz&SingleContinuousPSpace.compute_densitys 4:: <<  #D ! dQh AGG 4 b, '277|q RWWQZ177%:WWQZ$ KL L  ! !$** - 44 4a}r4c ||jk(r4tdd}t||jj|fi|St j ||fi|S)NrTr)rr rrrrr)r1rBrDrs r2rz'SingleContinuousPSpace.compute_quantilesX 4:: c%A!7T..77DVDE E#44T4J6J Jr4)r:scipyNr)r5r6r7r8rxrArNrrErrrrrr:r4r2rrsZ%%FFX FFZ]"Kr4rc Z t||fi|S#t$rtd|dzwxYw)Nz!Reduction of condition failed %s r)r!rr?)rnrrDs r2_reduce_inequalitiesr's@O+JFvFF O= 1 MNNOs *c z|jrt|gg|dSt|tr.t |j Dcgc]}t|gg|dc}St|t rG|j Dcgc]}t|gg|d}}|d}|D]}|j|}|Sycc}wcc}w)NF) relationalr)r`rr]rrr_rrh)rZrarg intervalsrrps r2rgrg.s#i[M35II)R  ~~',cUGSUK'( ()S! ~~'*C5'35I' ' aL A AA  "''s B39B8N)Ir8sympy.core.basicrsympy.core.cachersympy.core.functionrrsympy.core.numbersrrr sympy.core.relationalr r sympy.core.singletonr sympy.core.symbolr rsympy.core.sympifyrr(sympy.functions.combinatorial.factorialsr&sympy.functions.elementary.exponentialr$sympy.functions.elementary.piecewiser'sympy.functions.special.delta_functionsrsympy.integrals.integralsrrsympy.logic.boolalgrrsympy.polys.polyerrorsrsympy.polys.polytoolsrsympy.series.seriesrsympy.sets.setsrrrrsympy.solvers.solvesetr sympy.solvers.inequalitiesr!rr"r#r$r%r&r'r(r)r*r+r-r<rKrRrzrrrrrgr:r4r2r/s#$1++*".0>6:>;)2&&FF+C[[[ I| I3-|3(Fm-=F$?="24E?=D\ Q2#9>Q2h]1v]1@TK-|TKlO r4