§
    ”jÚ	  ã                   óŒ   — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlmZ d dlmZ d	gZ G d
„ d	e	¦  «        ZdS )é    )ÚOptional)ÚTensor)Úconstraints)ÚExponential)ÚTransformedDistribution)ÚAffineTransformÚExpTransform)Úbroadcast_all)Ú_sizeÚParetoc            	       ó6  ‡ — e Zd ZdZej        ej        dœZ	 ddeez  deez  de	dz  ddfˆ fd„Z
	 dd	ed
ed          dd fˆ fd„Zedefd„¦   «         Zedefd„¦   «         Zedefd„¦   «         Z ej        dd¬¦  «        dej        fd„¦   «         Zdefd„Zˆ xZS )r   aÃ  
    Samples from a Pareto Type 1 distribution.

    Example::

        >>> # xdoctest: +IGNORE_WANT("non-deterministic")
        >>> m = Pareto(torch.tensor([1.0]), torch.tensor([1.0]))
        >>> m.sample()  # sample from a Pareto distribution with scale=1 and alpha=1
        tensor([ 1.5623])

    Args:
        scale (float or Tensor): Scale parameter of the distribution
        alpha (float or Tensor): Shape parameter of the distribution
    )ÚalphaÚscaleNr   r   Úvalidate_argsÚreturnc                 óþ   •— t          ||¦  «        \  | _        | _        t          | j        |¬¦  «        }t	          ¦   «         t          d| j        ¬¦  «        g}t          ¦   «                              |||¬¦  «         d S )N)r   r   )Úlocr   )r
   r   r   r   r	   r   ÚsuperÚ__init__)Úselfr   r   r   Ú	base_distÚ
transformsÚ	__class__s         €úd/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/torch/distributions/pareto.pyr   zPareto.__init__!   ss   ø€ õ "/¨u°eÑ!<Ô!<ÑˆŒ
D”JÝ ¤
¸-ÐHÑHÔHˆ	Ý"‘n”n¥o¸!À4Ä:Ð&NÑ&NÔ&NÐOˆ
å‰Œ×Ò˜ J¸mÐÑLÔLÐLÐLÐLó    Úbatch_shapeÚ	_instancec                 óü   •— |                       t          |¦  «        }| j                             |¦  «        |_        | j                             |¦  «        |_        t          ¦   «                              ||¬¦  «        S )N)r   )Ú_get_checked_instancer   r   Úexpandr   r   )r   r   r   Únewr   s       €r   r    zPareto.expand-   sb   ø€ ð ×(Ò(­°Ñ;Ô;ˆØ”J×%Ò% kÑ2Ô2ˆŒ	Ø”J×%Ò% kÑ2Ô2ˆŒ	Ý‰wŒw~Š~˜k°Sˆ~Ñ9Ô9Ð9r   c                 óX   — | j                              d¬¦  «        }|| j        z  |dz
  z  S )Né   ©Úmin)r   Úclampr   ©r   Úas     r   ÚmeanzPareto.mean5   s1   € ð ŒJ×Ò ÐÑ#Ô#ˆØ4”:‰~  Q¡Ñ'Ð'r   c                 ó   — | j         S ©N)r   ©r   s    r   ÚmodezPareto.mode;   s
   € àŒzÐr   c                 ó°   — | j                              d¬¦  «        }| j                             d¦  «        |z  |dz
                       d¦  «        |dz
  z  z  S )Né   r$   r#   )r   r&   r   Úpowr'   s     r   ÚvariancezPareto.variance?   sQ   € ð ŒJ×Ò ÐÑ#Ô#ˆØŒz~Š~˜aÑ Ô  1Ñ$¨¨Q©¯ª°A©¬¸!¸a¹%Ñ(@ÑAÐAr   Fr   )Úis_discreteÚ	event_dimc                 ó4   — t          j        | j        ¦  «        S r+   )r   Úgreater_than_eqr   r,   s    r   ÚsupportzPareto.supportE   s   € åÔ*¨4¬:Ñ6Ô6Ð6r   c                 ó~   — | j         | j        z                       ¦   «         d| j                             ¦   «         z   z   S )Nr#   )r   r   ÚlogÚ
reciprocalr,   s    r   ÚentropyzPareto.entropyI   s5   € Ø”
˜TœZÑ'×,Ò,Ñ.Ô.°!°d´j×6KÒ6KÑ6MÔ6MÑ2MÑNÐNr   r+   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚpositiveÚarg_constraintsr   ÚfloatÚboolr   r   r   r    Úpropertyr)   r-   r1   Údependent_propertyÚ
Constraintr6   r:   Ú__classcell__)r   s   @r   r   r      sÆ  ø€ € € € € ðð ð !,Ô 4¸{Ô?SÐTÐT€Oð &*ð	
Mð 
Mà˜‰~ð
Mð ˜‰~ð
Mð ˜d‘{ð	
Mð
 
ð
Mð 
Mð 
Mð 
Mð 
Mð 
Mð CGð:ð :Ø ð:Ø-5°hÔ-?ð:à	ð:ð :ð :ð :ð :ð :ð ð(fð (ð (ð (ñ „Xð(ð
 ðfð ð ð ñ „Xðð ðB˜&ð Bð Bð Bñ „XðBð
 $€[Ô#°ÀÐCÑCÔCð7˜Ô/ð 7ð 7ð 7ñ DÔCð7ðO˜ð Oð Oð Oð Oð Oð Oð Oð Or   N)Útypingr   Útorchr   Útorch.distributionsr   Útorch.distributions.exponentialr   Ú,torch.distributions.transformed_distributionr   Útorch.distributions.transformsr   r	   Útorch.distributions.utilsr
   Útorch.typesr   Ú__all__r   © r   r   ú<module>rQ      sã   ðØ Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø PÐ PÐ PÐ PÐ PÐ PØ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø Ð Ð Ð Ð Ð ð ˆ*€ð;Oð ;Oð ;Oð ;Oð ;OÐ$ñ ;Oô ;Oð ;Oð ;Oð ;Or   