+
    –°³jÀ  ã                   ób   € ^ RI Ht ^ RIHtHt ^ RIHt ^ RIHt ^ RI	H
t
 R.t ! R R]4      tR# )	é    ©ÚTensor)ÚconstraintsÚIndependent)ÚNormal)ÚTransformedDistribution)ÚStickBreakingTransformÚLogisticNormalc                   óê   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tRtVtV ;t# )r
   aù  
Creates a logistic-normal distribution parameterized by :attr:`loc` and :attr:`scale`
that define the base `Normal` distribution transformed with the
`StickBreakingTransform` such that::

    X ~ LogisticNormal(loc, scale)
    Y = log(X / (1 - X.cumsum(-1)))[..., :-1] ~ Normal(loc, scale)

Args:
    loc (float or Tensor): mean of the base distribution
    scale (float or Tensor): standard deviation of the base distribution

Example::

    >>> # logistic-normal distributed with mean=(0, 0, 0) and stddev=(1, 1, 1)
    >>> # of the base Normal distribution
    >>> # xdoctest: +IGNORE_WANT("non-deterministic")
    >>> m = LogisticNormal(torch.tensor([0.0] * 3), torch.tensor([1.0] * 3))
    >>> m.sample()
    tensor([ 0.7653,  0.0341,  0.0579,  0.1427])

ÚlocÚscaleTc                ó^   <€ 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   "€Úd/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributions/logistic_normal.pyÚ__annotate__ÚLogisticNormal.__annotate__,   s?   ø€ ÷ 
ñ 
á‘e�^ð
ñ ™�~ð
ñ ˜d•{ð	
ð
 
ñ
ó    c                óž   <€ \        WVR 7      pVP                  '       g   VP                  ^.4      p\        SV `  V\        4       VR 7       R# ))r   N)r   Úbatch_shapeÚexpandÚsuperÚ__init__r	   )Úselfr   r   r   Ú	base_distÚ	__class__s   &&&& €r   r   ÚLogisticNormal.__init__,   sL   ø€ ô ˜3°]ÔCˆ	Ø×$×$Ð$Ø!×(Ñ(¨!¨Ó-ˆIÜ‰ÑØÔ-Ó/¸}ð 	ö 	
r   c                óP   <€ V P                  \        V4      p\        SV `  WR 7      # ))Ú	_instance)Ú_get_checked_instancer
   r   r   )r   r   r$   Únewr!   s   &&& €r   r   ÚLogisticNormal.expand9   s&   ø€ Ø×(Ñ(¬¸ÓCˆÜ‰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                óB   € V P                   P                   P                  # ©N)r    r   ©r   s   &r   r   ÚLogisticNormal.loc=   s   € à�~‰~×'Ñ'×+Ñ+Ð+r   c                ó    <€ V ^8„  d   QhRS[ /# r)   r   )r   r   s   "€r   r   r   B   s   ø€ ÷ .ñ .‘vñ .r   c                óB   € V P                   P                   P                  # r+   )r    r   r,   s   &r   r   ÚLogisticNormal.scaleA   s   € à�~‰~×'Ñ'×-Ñ-Ð-r   c                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # )r   r    )r   r   )r   r   s   "€r   r   r      s   ø‡ ‚ ñ: ™6Õ"Ñ"ò; r   © r+   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   ÚrealÚpositiveÚarg_constraintsÚsimplexÚsupportÚhas_rsampler   r   Úpropertyr   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r!   r   s   @@r   r
   r
      su   ù‡ € ñð. ˜k×.Ñ.°¸×9MÑ9MÐN€Oà×!Ñ!€GØ€K÷
õ 
÷:ð ÷,ó ð,ð ÷.ó ð.÷k … r   N)Útorchr   Útorch.distributionsr   r   Útorch.distributions.normalr   Ú,torch.distributions.transformed_distributionr   Útorch.distributions.transformsr	   Ú__all__r
   r2   r   r   Ú<module>rI      s-   ðõ ß 8Ý -Ý PÝ Að Ð
€ô6.Ð,ö 6.r   