+
    –°³jÙ  ã                   ót   € ^ RI 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 lt ! R	 R]4      tR# )é    N©ÚTensor)Úconstraints)ÚExponentialFamily)Úbroadcast_all)Ú_NumberÚ_sizeÚGammac                 ó0   € \         P                  ! WR 7      # )©Ú	generator)ÚtorchÚ_standard_gamma)Úconcentrationr   s   &&ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributions/gamma.pyr   r      s   € Ü× Ò  ÔDÐDó    c                   ó¨  a a€ ] tR t^t oRtR]P                  R]P                  /t]P                  t	Rt
^ 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V 3R llltRV 3R llt]P&                  ! 4       3RR/V3R lR lllt]P&                  ! 4       R3V3R lR lltR tR t]V3R lR l4       tR tR tRtVtV ;t# )r
   a#  
Creates a Gamma distribution parameterized by shape :attr:`concentration` and :attr:`rate`.

Example::

    >>> # xdoctest: +IGNORE_WANT("non-deterministic")
    >>> m = Gamma(torch.tensor([1.0]), torch.tensor([1.0]))
    >>> m.sample()  # Gamma distributed with concentration=1 and rate=1
    tensor([ 0.1046])

Args:
    concentration (float or Tensor): shape parameter of the distribution
        (often referred to as alpha)
    rate (float or Tensor): rate parameter of the distribution
        (often referred to as beta), rate = 1 / scale
r   ÚrateTc                ó    <€ V ^8„  d   QhRS[ /# ©é   Úreturnr   )ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚGamma.__annotate__.   s   ø€ ÷ .ñ .‘fñ .r   c                ó<   € V P                   V P                  ,          # ©N©r   r   ©Úselfs   &r   ÚmeanÚ
Gamma.mean-   s   € à×!Ñ! D§I¡IÕ-Ð-r   c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   r   2   s   ø€ ÷ Cñ C‘fñ Cr   c                ój   € V P                   ^,
          V P                  ,          P                  ^ R7      # )é   ©Úmin)r   r   Úclampr    s   &r   ÚmodeÚ
Gamma.mode1   s*   € à×#Ñ# aÕ'¨4¯9©9Õ4×;Ñ;ÀÐ;ÓBÐBr   c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   r   6   s   ø€ ÷ 5ñ 5™&ñ 5r   c                óZ   € V P                   V P                  P                  ^4      ,          # )r   )r   r   Úpowr    s   &r   ÚvarianceÚGamma.variance5   s    € à×!Ñ! D§I¡I§M¡M°!Ó$4Õ4Ð4r   Nc                ó^   <€ V ^8„  d   QhRS[ S[,          RS[ S[,          RS[R,          RR/# )r   r   r   Úvalidate_argsNr   )r   ÚfloatÚbool)r   r   s   "€r   r   r   9   sE   ø€ ÷ Cñ Cá¡•~ðCñ ‘u�nðCñ ˜d•{ð	Cð
 
ñCr   c                ó  <€ \        W4      w  V n        V n        \        V\        4      '       d-   \        V\        4      '       d   \
        P                  ! 4       pMV P                  P                  4       p\        SV `%  WCR 7       R# )©r2   N)
r   r   r   Ú
isinstancer   r   ÚSizeÚsizeÚsuperÚ__init__)r!   r   r   r2   Úbatch_shapeÚ	__class__s   &&&& €r   r;   ÚGamma.__init__9   sa   ø€ ô )6°mÓ(JÑ%ˆÔ˜DœIÜ�m¤W×-Ò-´*¸TÄ7×2KÒ2KÜŸ*š*›,‰Kà×,Ñ,×1Ñ1Ó3ˆKÜ‰Ñ˜ÐÖBr   c                ó,  <€ V P                  \        V4      p\        P                  ! V4      pV P                  P                  V4      Vn        V P                  P                  V4      Vn        \        \        V`#  VR R7       V P                  Vn	        V# )Fr6   )
Ú_get_checked_instancer
   r   r8   r   Úexpandr   r:   r;   Ú_validate_args)r!   r<   Ú	_instanceÚnewr=   s   &&& €r   rA   ÚGamma.expandF   sy   ø€ Ø×(Ñ(¬°	Ó:ˆÜ—j’j Ó-ˆØ ×.Ñ.×5Ñ5°kÓBˆÔØ—9‘9×#Ñ# KÓ0ˆŒÜŒe�SÑ" ;¸eÐ"ÔDØ!×0Ñ0ˆÔØˆ
r   r   c                óN   <€ V ^8„  d   QhRS[ RS[P                  R,          RS[/# ©r   Úsample_shaper   Nr   ©r	   r   Ú	Generatorr   )r   r   s   "€r   r   r   O   s7   ø€ ÷ Cñ CáðCñ —?‘? TÕ)ð	Cñ
 
ñCr   c               óž   € \         P                  ! 4       ;_uu_ 4        V P                  WR 7      uuRRR4       #   + '       g   i     R# ; i)r   N)r   Úno_gradÚrsample)r!   rH   r   s   &&$r   ÚsampleÚGamma.sampleO   s)   € ô �]Š]�_�_Ø—<‘< �<ÓB÷ �_�_‹_ús	   ž;»A	c                óN   <€ V ^8„  d   QhRS[ RS[P                  R,          RS[/# rG   rI   )r   r   s   "€r   r   r   X   s2   ø€ ÷ ñ áðñ —?‘? TÕ)ðñ 
ñ	r   c                óD  € V P                  V4      p\        V P                  P                  V4      VR 7      V P                  P                  V4      ,          pVP                  4       P                  \        P                  ! VP                  4      P                  R7       V# )r   r'   )Ú_extended_shaper   r   rA   r   ÚdetachÚclamp_r   ÚfinfoÚdtypeÚtiny)r!   rH   r   ÚshapeÚvalues   &&&  r   rM   ÚGamma.rsampleX   sƒ   € ð
 ×$Ñ$ \Ó2ˆÜØ×Ñ×%Ñ% eÓ,¸	ô
à�I‰I×Ñ˜UÓ#õ$ˆð 	�‰‹×ÑÜ—’˜EŸK™KÓ(×-Ñ-ð 	ô 	
ð ˆr   c                óò  € \         P                  ! WP                  P                  V P                  P                  R 7      pV P
                  '       d   V P                  V4       \         P                  ! V P                  V P                  4      \         P                  ! V P                  ^,
          V4      ,           V P                  V,          ,
          \         P                  ! V P                  4      ,
          # ))rV   Údevice)
r   Ú	as_tensorr   rV   r\   rB   Ú_validate_sampleÚxlogyr   Úlgamma©r!   rY   s   &&r   Úlog_probÚGamma.log_probf   s£   € Ü—’ ¯Y©Y¯_©_ÀTÇYÁY×EUÑEUÔVˆØ××ÐØ×!Ñ! %Ô(ä�KŠK˜×*Ñ*¨D¯I©IÓ6Ü�kŠk˜$×,Ñ,¨qÕ0°%Ó8õ9à�i‰i˜%Õõ ô �lŠl˜4×-Ñ-Ó.õ/ð	
r   c                ó(  € V P                   \        P                  ! V P                  4      ,
          \        P                  ! V P                   4      ,           R V P                   ,
          \        P
                  ! V P                   4      ,          ,           # )g      ð?)r   r   Úlogr   r`   Údigammar    s   &r   ÚentropyÚGamma.entropyq   sf   € à×ÑÜ�iŠi˜Ÿ	™	Ó"õ#ä�lŠl˜4×-Ñ-Ó.õ/ð �T×'Ñ'Õ'¬5¯=ª=¸×9KÑ9KÓ+LÕLõMð	
r   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r   )Útupler   )r   r   s   "€r   r   r   z   s   ø€ ÷ 4ñ 4¡¡v©v ~Õ!6ñ 4r   c                óB   € V P                   ^,
          V P                  ) 3# ©r&   r   r    s   &r   Ú_natural_paramsÚGamma._natural_paramsy   s   € à×"Ñ" QÕ&¨¯©¨
Ð3Ð3r   c                ó¬   € \         P                  ! V^,           4      V^,           \         P                  ! VP                  4       ) 4      ,          ,           # rl   )r   r`   re   Ú
reciprocal)r!   ÚxÚys   &&&r   Ú_log_normalizerÚGamma._log_normalizer~   s4   € Ü�|Š|˜A �EÓ" a¨!¥e¬u¯yªy¸!¿,¹,».¸Ó/IÕ%IÕIÐIr   c                ó¾   € V P                   '       d   V P                  V4       \        P                  P	                  V P
                  V P                  V,          4      # r   )rB   r^   r   ÚspecialÚgammaincr   r   ra   s   &&r   ÚcdfÚ	Gamma.cdf�   sB   € Ø××ÐØ×!Ñ! %Ô(Ü�}‰}×%Ñ% d×&8Ñ&8¸$¿)¹)ÀeÕ:KÓLÐLr   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   ÚpositiveÚarg_constraintsÚnonnegativeÚsupportÚhas_rsampleÚ_mean_carrier_measureÚpropertyr"   r*   r/   r;   rA   r   r8   rN   rM   rb   rg   rm   rs   rx   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r=   r   s   @@r   r
   r
      sø   ù‡ € ñð& 	˜×-Ñ-Ø�×$Ñ$ð€Oð ×%Ñ%€GØ€KØÐà÷.ó ð.ð ÷Có ðCð ÷5ó ð5÷Cõ C÷ð $Ÿjšj›lñCð -1÷	Có Cð $Ÿjšj›lØ,0÷ò ò	
ò
ð ÷4ó ð4òJ÷Mò Mr   r   )r   r   Útorch.distributionsr   Útorch.distributions.exp_familyr   Útorch.distributions.utilsr   Útorch.typesr   r	   Ú__all__r   r
   © r   r   Ú<module>r�      s9   ðó Ý Ý +Ý <Ý 3ß &ð ˆ)€ôEôrMÐö rMr   