+
    –°³j   ã                   óv   € ^ RI t ^ RI 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.t ! R	 R]4      tR# )
é    N©ÚTensor)Úconstraints)Ú	Dirichlet)ÚExponentialFamily)Úbroadcast_all)Ú_NumberÚ_sizeÚBetac                   óv  a a€ ] tR t^t oRtR]P                  R]P                  /t]P                  t	Rt
RV3R lV 3R llltRV 3R llt]V3R lR	 l4       t]V3R
 lR l4       t]V3R lR l4       tRV3R lR lltR tR t]V3R lR l4       t]V3R lR l4       t]V3R lR l4       tR tRtVtV ;t# )r   aB  
Beta distribution parameterized by :attr:`concentration1` and :attr:`concentration0`.

Example::

    >>> # xdoctest: +IGNORE_WANT("non-deterministic")
    >>> m = Beta(torch.tensor([0.5]), torch.tensor([0.5]))
    >>> m.sample()  # Beta distributed with concentration concentration1 and concentration0
    tensor([ 0.1046])

Args:
    concentration1 (float or Tensor): 1st concentration parameter of the distribution
        (often referred to as alpha)
    concentration0 (float or Tensor): 2nd concentration parameter of the distribution
        (often referred to as beta)
Úconcentration1Úconcentration0Tc                ó^   <€ V ^8„  d   QhRS[ S[,          RS[ S[,          RS[R,          RR/# )é   r   r   Úvalidate_argsNÚreturn)r   ÚfloatÚbool)ÚformatÚ__classdict__s   "€ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributions/beta.pyÚ__annotate__ÚBeta.__annotate__)   sE   ø€ ÷ Tñ Tá¡�ðTñ ¡�ðTñ ˜d•{ð	Tð
 
ñTó    c                ól  <€ \        V\        4      '       dB   \        V\        4      '       d,   \        P                  ! \	        V4      \	        V4      .4      pM%\        W4      w  r\        P                  ! W.R4      p\        WCR7      V n        \        SV `)  V P                  P                  VR7       R# )é   ©r   Néÿÿÿÿ)Ú
isinstancer	   ÚtorchÚtensorr   r   Ústackr   Ú
_dirichletÚsuperÚ__init__Ú_batch_shape)Úselfr   r   r   Úconcentration1_concentration0Ú	__class__s   &&&& €r   r%   ÚBeta.__init__)   s™   ø€ ô �n¤g×.Ò.´:¸nÌg×3VÒ3VÜ,1¯LªLÜ�~Ó&¬¨nÓ(=Ð>ó-Ñ)ô .;Øó.Ñ*ˆNô -2¯KªKØÐ0°"ó-Ð)ô $Ø)ô
ˆŒô 	‰Ñ˜Ÿ™×5Ñ5À]ÐÖSr   c                óì   <€ V P                  \        V4      p\        P                  ! V4      pV P                  P                  V4      Vn        \        \        V`  VR R7       V P                  Vn        V# )Fr   )	Ú_get_checked_instancer   r    ÚSizer#   Úexpandr$   r%   Ú_validate_args)r'   Úbatch_shapeÚ	_instanceÚnewr)   s   &&& €r   r.   ÚBeta.expand?   s`   ø€ Ø×(Ñ(¬¨yÓ9ˆÜ—j’j Ó-ˆØŸ™×/Ñ/°Ó<ˆŒÜŒd�CÑ! +¸UÐ!ÔCØ!×0Ñ0ˆÔØˆ
r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   r   )r   r   s   "€r   r   r   H   s   ø€ ÷ Qñ Q‘fñ Qr   c                ó^   € V P                   V P                   V P                  ,           ,          # ©N©r   r   ©r'   s   &r   ÚmeanÚ	Beta.meanG   s$   € à×"Ñ" d×&9Ñ&9¸D×<OÑ<OÕ&OÕPÐPr   c                ó    <€ V ^8„  d   QhRS[ /# r5   r   )r   r   s   "€r   r   r   L   s   ø€ ÷ ,ñ ,‘fñ ,r   c                ó<   € V P                   P                  R,          # ©.).r   )r#   Úmoder9   s   &r   r?   Ú	Beta.modeK   s   € à�‰×#Ñ# FÕ+Ð+r   c                ó    <€ V ^8„  d   QhRS[ /# r5   r   )r   r   s   "€r   r   r   P   s   ø€ ÷ Xñ X™&ñ Xr   c                ó¾   € V P                   V P                  ,           pV P                   V P                  ,          VP                  ^4      V^,           ,          ,          # )r   )r   r   Úpow)r'   Útotals   & r   ÚvarianceÚBeta.varianceO   sF   € à×#Ñ# d×&9Ñ&9Õ9ˆØ×"Ñ" T×%8Ñ%8Õ8¸E¿I¹IÀa»LÈEÐTUÍIÕ<VÕWÐWr   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Úsample_shaper   )r
   r   )r   r   s   "€r   r   r   T   s   ø€ ÷ Cñ C¡Eð C±6ñ Cr   c                óX   € V P                   P                  V4      P                  R^ 4      # )r   r   )r#   ÚrsampleÚselect)r'   rH   s   &&r   rJ   ÚBeta.rsampleT   s$   € Ø�‰×&Ñ& |Ó4×;Ñ;¸BÀÓBÐBr   c                ó¾   € V P                   '       d   V P                  V4       \        P                  ! VR V,
          .R4      pV P                  P                  V4      # )g      ð?r   )r/   Ú_validate_sampler    r"   r#   Úlog_prob)r'   ÚvalueÚheads_tailss   && r   rO   ÚBeta.log_probW   sJ   € Ø××ÐØ×!Ñ! %Ô(Ü—k’k 5¨#°­+Ð"6¸Ó;ˆØ�‰×'Ñ'¨Ó4Ð4r   c                ó6   € V P                   P                  4       # r7   )r#   Úentropyr9   s   &r   rT   ÚBeta.entropy]   s   € Ø�‰×&Ñ&Ó(Ð(r   c                ó    <€ V ^8„  d   QhRS[ /# r5   r   )r   r   s   "€r   r   r   a   ó   ø€ ÷ ñ ¡ñ r   c                óš   € V P                   P                  R,          p\        V\        4      '       d   \        P
                  ! V.4      # V# r>   ©r#   Úconcentrationr   r	   r    r!   ©r'   Úresults   & r   r   ÚBeta.concentration1`   ó9   € à—‘×.Ñ.¨vÕ6ˆÜ�fœg×&Ò&Ü—<’<  Ó)Ð)àˆMr   c                ó    <€ V ^8„  d   QhRS[ /# r5   r   )r   r   s   "€r   r   r   i   rW   r   c                óš   € V P                   P                  R,          p\        V\        4      '       d   \        P
                  ! V.4      # V# ).).r   rY   r[   s   & r   r   ÚBeta.concentration0h   r^   r   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r5   )Útupler   )r   r   s   "€r   r   r   q   s   ø€ ÷ :ñ :¡¡v©v ~Õ!6ñ :r   c                ó2   € V P                   V P                  3# r7   r8   r9   s   &r   Ú_natural_paramsÚBeta._natural_paramsp   s   € à×#Ñ# T×%8Ñ%8Ð9Ð9r   c                ó¦   € \         P                  ! V4      \         P                  ! V4      ,           \         P                  ! W,           4      ,
          # r7   )r    Úlgamma)r'   ÚxÚys   &&&r   Ú_log_normalizerÚBeta._log_normalizeru   s-   € Ü�|Š|˜A‹¤§¢¨a£Õ0´5·<²<ÀÅÓ3FÕFÐFr   )r#   r7   )© )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   ÚpositiveÚarg_constraintsÚunit_intervalÚsupportÚhas_rsampler%   r.   Úpropertyr:   r?   rE   rJ   rO   rT   r   r   re   rk   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r)   r   s   @@r   r   r      sê   ù‡ € ñð& 	˜+×.Ñ.Ø˜+×.Ñ.ð€Oð ×'Ñ'€GØ€K÷Tõ T÷,ð ÷Qó ðQð ÷,ó ð,ð ÷Xó ðX÷Cò Cò5ò)ð ÷ó ðð ÷ó ðð ÷:ó ð:÷Gò Gr   )r    r   Útorch.distributionsr   Útorch.distributions.dirichletr   Útorch.distributions.exp_familyr   Útorch.distributions.utilsr   Útorch.typesr	   r
   Ú__all__r   rm   r   r   Ú<module>r‚      s6   ðó Ý Ý +Ý 3Ý <Ý 3ß &ð ˆ(€ôgGÐö gGr   