+
    –°³jÔ
  ã                   óf   € ^ RI t ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 R.t
 ! R R]4      tR# )	é    N©ÚTensor)Úconstraints©ÚGamma)ÚTransformedDistribution)ÚPowerTransformÚInverseGammac                   óD  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]V3R lR l4       t]V3R lR l4       tR tV3R ltRtVtV ;t# )r
   aE  
Creates an inverse gamma distribution parameterized by :attr:`concentration` and :attr:`rate`
where::

    X ~ Gamma(concentration, rate)
    Y = 1 / X ~ InverseGamma(concentration, rate)

Example::

    >>> # xdoctest: +IGNORE_WANT("non-deterministic")
    >>> m = InverseGamma(torch.tensor([2.0]), torch.tensor([3.0]))
    >>> m.sample()
    tensor([ 1.2953])

Args:
    concentration (float or Tensor): shape parameter of the distribution
        (often referred to as alpha)
    rate (float or Tensor): rate = 1 / scale of the distribution
        (often referred to as beta)
ÚconcentrationÚrateTc                ó^   <€ 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   "€Úb/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributions/inverse_gamma.pyÚ__annotate__ÚInverseGamma.__annotate__.   s?   ø€ ÷ 

ñ 

á¡•~ð

ñ ‘u�nð

ñ ˜d•{ð	

ð
 
ñ

ó    c                ó�   <€ \        WVR 7      pVP                  P                  R4      ) p\        SV `  V\        V4      VR 7       R# ))r   N© )r   r   Únew_onesÚsuperÚ__init__r	   )Úselfr   r   r   Ú	base_distÚneg_oneÚ	__class__s   &&&&  €r   r   ÚInverseGamma.__init__.   sF   ø€ ô ˜-¸]ÔKˆ	Ø—>‘>×*Ñ*¨2Ó.Ð.ˆÜ‰ÑØ”~ gÓ.¸mð 	ö 	
r   c                óP   <€ V P                  \        V4      p\        SV `  WR 7      # ))Ú	_instance)Ú_get_checked_instancer
   r   Úexpand)r   Úbatch_shaper%   Únewr"   s   &&& €r   r'   ÚInverseGamma.expand:   s&   ø€ Ø×(Ñ(¬°yÓAˆÜ‰w‰~˜kˆ~Ó9Ð9r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   r   )r   r   s   "€r   r   r   ?   s   ø€ ÷ ,ñ ,™vñ ,r   c                ó.   € V P                   P                  # ©N)r    r   ©r   s   &r   r   ÚInverseGamma.concentration>   s   € à�~‰~×+Ñ+Ð+r   c                ó    <€ V ^8„  d   QhRS[ /# r,   r   )r   r   s   "€r   r   r   C   s   ø€ ÷ #ñ #‘fñ #r   c                ó.   € V P                   P                  # r.   )r    r   r/   s   &r   r   ÚInverseGamma.rateB   s   € à�~‰~×"Ñ"Ð"r   c                ó    <€ V ^8„  d   QhRS[ /# r,   r   )r   r   s   "€r   r   r   G   s   ø€ ÷ Fñ F‘fñ Fr   c                ó°   € V P                   V P                  ^,
          ,          p\        P                  ! V P                  ^8„  V\        P                  4      # ©é   )r   r   ÚtorchÚwhereÚinf©r   Úresults   & r   ÚmeanÚInverseGamma.meanF   s=   € à—‘˜d×0Ñ0°1Õ4Õ5ˆÜ�{Š{˜4×-Ñ-°Ñ1°6¼5¿9¹9ÓEÐEr   c                ó    <€ V ^8„  d   QhRS[ /# r,   r   )r   r   s   "€r   r   r   L   s   ø€ ÷ 4ñ 4‘fñ 4r   c                óJ   € V P                   V P                  ^,           ,          # r6   )r   r   r/   s   &r   ÚmodeÚInverseGamma.modeK   s   € à�y‰y˜D×.Ñ.°Õ2Õ3Ð3r   c                ó    <€ V ^8„  d   QhRS[ /# r,   r   )r   r   s   "€r   r   r   P   s   ø€ ÷ Fñ F™&ñ Fr   c                ó  € V P                   P                  4       V P                  ^,
          P                  4       V P                  ^,
          ,          ,          p\        P                  ! V P                  ^8„  V\        P
                  4      # r6   )r   Úsquarer   r8   r9   r:   r;   s   & r   ÚvarianceÚInverseGamma.varianceO   sd   € à—‘×!Ñ!Ó#Ø×Ñ !Õ#×+Ñ+Ó-°×1CÑ1CÀaÕ1GÕHõ
ˆô �{Š{˜4×-Ñ-°Ñ1°6¼5¿9¹9ÓEÐEr   c                ó  € V P                   V P                  P                  4       ,           V P                   P                  4       ,           ^V P                   ,           V P                   P	                  4       ,          ,
          # r6   )r   r   ÚlogÚlgammaÚdigammar/   s   &r   ÚentropyÚInverseGamma.entropyV   sc   € à×ÑØ�i‰i�m‰m‹oõà× Ñ ×'Ñ'Ó)õ*ð �4×%Ñ%Õ%¨×);Ñ);×)CÑ)CÓ)EÕEõFð	
r   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   r    r   )r   r   s   "€r   r   r      s   ø‡ ‚ ñ< Ñò= r   r   r.   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   ÚpositiveÚarg_constraintsÚsupportÚhas_rsampler   r'   Úpropertyr   r   r=   rA   rF   rL   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r"   r   s   @@r   r
   r
      s¿   ù‡ € ñð, 	˜×-Ñ-Ø�×$Ñ$ð€Oð
 ×"Ñ"€GØ€K÷

õ 

÷:ð ÷,ó ð,ð ÷#ó ð#ð ÷Fó ðFð ÷4ó ð4ð ÷Fó ðFò
÷Q … r   )r8   r   Útorch.distributionsr   Útorch.distributions.gammar   Ú,torch.distributions.transformed_distributionr   Útorch.distributions.transformsr	   Ú__all__r
   r   r   r   Ú<module>rb      s2   ðó Ý Ý +Ý +Ý PÝ 9ð Ð
€ôN
Ð*ö N
r   