+
    &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   "p/Users/jameslopez/projects/CWCArchive/cwc-podcast/.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     ng..:ng3V3V,1LL~&n(=>-) .;.*N -2KK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jj-//<dC!+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&9D<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8EIIaLETUI<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    !!%(kk5#+"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fg&&<<))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     : :vv~!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05<<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   