poplar.distributions ==================== .. py:module:: poplar.distributions .. autoapi-nested-parse:: Some standard distributions with vectorised probability density functions (pdfs) and a routine for numerical cumulative density function (CDF) computation and distribution sampling. If the user requires other distributions, they can implement them as their own class by subclassing the Distribution base class and adding their own methods as required. .. !! processed by numpydoc !! Classes ------- .. autoapisummary:: poplar.distributions.FixedLimitsPowerLaw poplar.distributions.VariableLimitsPowerLaw poplar.distributions.FixedLimitsTruncatedGaussian poplar.distributions.UniformDistribution poplar.distributions.FixedLimitBetaDistribution poplar.distributions.FixedLimitTruncatedBetaDistribution poplar.distributions.FixedLimits_PowerLawTruncatedGaussian Module Contents --------------- .. py:class:: FixedLimitsPowerLaw(limits, npoints=1000, grid_spacing='logarithmic', device='cpu') Bases: :py:obj:`Distribution` A power law distribution with fixed limits (i.e. the pdf does not take the limits as arguments, they are fixed at initialisation). :Parameters: **limits** : list [Lower, Upper] limits for this distribution. Used to initialise the CDF computational grid. **npoints** : int, optional number of points in CDF computational grid, by default 1000 **grid_spacing** : str, optional specifies either linear or logarithmic spacing for CDF computational grid, by default 'linear' **device** : str, optional pytorch device this distribution operates using, by default "cpu" .. !! processed by numpydoc !! .. py:class:: VariableLimitsPowerLaw(limits, npoints=1000, grid_spacing='logarithmic', device='cpu') Bases: :py:obj:`Distribution` A power law distribution with variable limits (i.e. the pdf takes the limits as arguments). :Parameters: **limits** : list [Lower, Upper] limits for this distribution. Used to initialise the CDF computational grid. **npoints** : int, optional number of points in CDF computational grid, by default 1000 **grid_spacing** : str, optional specifies either linear or logarithmic spacing for CDF computational grid, by default 'linear' **device** : str, optional pytorch device this distribution operates using, by default "cpu" .. !! processed by numpydoc !! .. py:class:: FixedLimitsTruncatedGaussian(limits, npoints=1000, grid_spacing='linear', device='cpu') Bases: :py:obj:`Distribution` A truncated normal distribution with fixed limits (i.e. the pdf does not take the limits as arguments, they are fixed at initialisation). Ref : http://parker.ad.siu.edu/Olive/ch4.pdf :Parameters: **limits** : list [Lower, Upper] limits for this distribution. Used to initialise the CDF computational grid. **npoints** : int, optional number of points in CDF computational grid, by default 1000 **grid_spacing** : str, optional specifies either linear or logarithmic spacing for CDF computational grid, by default 'linear' **device** : str, optional pytorch device this distribution operates using, by default "cpu" .. !! processed by numpydoc !! .. py:class:: UniformDistribution(limits, npoints=1000, grid_spacing='linear', device='cpu') Bases: :py:obj:`Distribution` A uniform distribution with fixed limits (i.e. the pdf does not take the limits as arguments, they are fixed at initialisation). :Parameters: **limits** : list [Lower, Upper] limits for this distribution. Used to initialise the CDF computational grid. **npoints** : int, optional number of points in CDF computational grid, by default 1000 **grid_spacing** : str, optional specifies either linear or logarithmic spacing for CDF computational grid, by default 'linear' **device** : str, optional pytorch device this distribution operates using, by default "cpu" .. !! processed by numpydoc !! .. py:class:: FixedLimitBetaDistribution(limits, npoints=1000, grid_spacing='linear', device='cpu') Bases: :py:obj:`Distribution` A Beta distribution with fixed limits (i.e. the pdf does not take the limits as arguments, they are fixed at initialisation). :Parameters: **limits** : list [Lower, Upper] limits for this distribution. Used to initialise the CDF computational grid. **npoints** : int, optional number of points in CDF computational grid, by default 1000 **grid_spacing** : str, optional specifies either linear or logarithmic spacing for CDF computational grid, by default 'linear' **device** : str, optional pytorch device this distribution operates using, by default "cpu" .. !! processed by numpydoc !! .. py:class:: FixedLimitTruncatedBetaDistribution(limits, npoints=1000, grid_spacing='linear', device='cpu') Bases: :py:obj:`Distribution` A Truncated Beta distribution with fixed limits (i.e. the pdf does not take the limits as arguments, they are fixed at initialisation). :Parameters: **limits** : list [Lower, Upper] limits for this distribution. Used to initialise the CDF computational grid. **npoints** : int, optional number of points in CDF computational grid, by default 1000 **grid_spacing** : str, optional specifies either linear or logarithmic spacing for CDF computational grid, by default 'linear' **device** : str, optional pytorch device this distribution operates using, by default "cpu" .. !! processed by numpydoc !! .. py:class:: FixedLimits_PowerLawTruncatedGaussian(limits, npoints=1000, grid_spacing='linear', device='cpu') Bases: :py:obj:`Distribution` A distribution similar to Peak+PowerLaw with fixed bounds (i.e. the pdf does not take the limits as arguments, they are fixed at initialisation). Ref : https://arxiv.org/abs/2010.14533 :Parameters: **limits** : list [Lower, Upper] limits for this distribution. Used to initialise the CDF computational grid. **npoints** : int, optional number of points in CDF computational grid, by default 1000 **grid_spacing** : str, optional specifies either linear or logarithmic spacing for CDF computational grid, by default 'linear' **device** : str, optional pytorch device this distribution operates using, by default "cpu" .. !! processed by numpydoc !!