Class R1Central

java.lang.Object
org.drip.measure.continuous.R1Univariate
org.drip.measure.chisquare.R1Central

public class R1Central
extends R1Univariate
R1Central implements the Probability Density Function for the R1 Central Chi-Square Distribution. The References are:

  • Abramowitz, M., and I. A. Stegun (2007): Handbook of Mathematics Functions Dover Book on Mathematics
  • Backstrom, T., and J. Fischer (2018): Fast Randomization for Distributed Low Bit-rate Coding of Speech and Audio IEEE/ACM Transactions on Audio, Speech, and Language Processing 26 (1) 19-30
  • Chi-Squared Distribution (2019): Chi-Squared Function https://en.wikipedia.org/wiki/Chi-squared_distribution
  • Johnson, N. L., S. Kotz, and N. Balakrishnan (1994): Continuous Univariate Distributions 2nd Edition John Wiley and Sons
  • National Institute of Standards and Technology (2019): Chi-Squared Distribution https://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm


Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • R1Central

      public R1Central​(double degreesOfFreedom, R1ToR1 gammaEstimator, R1ToR1 digammaEstimator, R2ToR1 lowerIncompleteGammaEstimator) throws java.lang.Exception
      R1Central Constructor
      Parameters:
      degreesOfFreedom - Degrees of Freedom
      gammaEstimator - Gamma Estimator
      digammaEstimator - Digamma Estimator
      lowerIncompleteGammaEstimator - Lower Incomplete Gamma Estimator
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • FromIndependentChiSquared

      public static final R1Central FromIndependentChiSquared​(R1Central[] chiSquaredDistributionArray)
      Generate a Consolidated Chi-squared Distribution from Independent Component Distributions
      Parameters:
      chiSquaredDistributionArray - Independent Component Distribution Array
      Returns:
      Consolidated Chi-squared Distribution
    • degreesOfFreedom

      public double degreesOfFreedom()
      Retrieve the Degrees of Freedom
      Returns:
      The Degrees of Freedom
    • gammaEstimator

      public R1ToR1 gammaEstimator()
      Retrieve the Gamma Estimator
      Returns:
      Gamma Estimator
    • digammaEstimator

      public R1ToR1 digammaEstimator()
      Retrieve the Digamma Estimator
      Returns:
      Digamma Estimator
    • lowerIncompleteGammaEstimator

      public R2ToR1 lowerIncompleteGammaEstimator()
      Retrieve the Lower Incomplete Gamma Estimator
      Returns:
      Lower Incomplete Gamma Estimator
    • support

      public double[] support()
      Description copied from class: R1Univariate
      Lay out the Support of the PDF Range
      Specified by:
      support in class R1Univariate
      Returns:
      Support of the PDF Range
    • density

      public double density​(double t) throws java.lang.Exception
      Description copied from class: R1Univariate
      Compute the Density under the Distribution at the given Variate
      Specified by:
      density in class R1Univariate
      Parameters:
      t - Variate at which the Density needs to be computed
      Returns:
      The Density
      Throws:
      java.lang.Exception - Thrown if the input is invalid
    • cumulative

      public double cumulative​(double t) throws java.lang.Exception
      Description copied from class: R1Univariate
      Compute the cumulative under the distribution to the given value
      Specified by:
      cumulative in class R1Univariate
      Parameters:
      t - Variate to which the cumulative is to be computed
      Returns:
      The cumulative
      Throws:
      java.lang.Exception - Thrown if the inputs are invalid
    • mean

      public double mean() throws java.lang.Exception
      Description copied from class: R1Univariate
      Retrieve the Mean of the Distribution
      Specified by:
      mean in class R1Univariate
      Returns:
      The Mean of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Mean cannot be estimated
    • median

      public double median() throws java.lang.Exception
      Description copied from class: R1Univariate
      Retrieve the Median of the Distribution
      Overrides:
      median in class R1Univariate
      Returns:
      The Median of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Median cannot be estimated
    • mode

      public double mode() throws java.lang.Exception
      Description copied from class: R1Univariate
      Retrieve the Mode of the Distribution
      Overrides:
      mode in class R1Univariate
      Returns:
      The Mode of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Mode cannot be estimated
    • variance

      public double variance() throws java.lang.Exception
      Description copied from class: R1Univariate
      Retrieve the Variance of the Distribution
      Specified by:
      variance in class R1Univariate
      Returns:
      The Variance of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Variance cannot be estimated
    • skewness

      public double skewness() throws java.lang.Exception
      Description copied from class: R1Univariate
      Retrieve the Skewness of the Distribution
      Overrides:
      skewness in class R1Univariate
      Returns:
      The Skewness of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Skewness cannot be estimated
    • excessKurtosis

      public double excessKurtosis() throws java.lang.Exception
      Description copied from class: R1Univariate
      Retrieve the Excess Kurtosis of the Distribution
      Overrides:
      excessKurtosis in class R1Univariate
      Returns:
      The Excess Kurtosis of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Skewness cannot be estimated
    • differentialEntropy

      public double differentialEntropy() throws java.lang.Exception
      Description copied from class: R1Univariate
      Retrieve the Differential Entropy of the Distribution
      Overrides:
      differentialEntropy in class R1Univariate
      Returns:
      The Differential Entropy of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Entropy cannot be estimated
    • momentGeneratingFunction

      public R1ToR1 momentGeneratingFunction()
      Description copied from class: R1Univariate
      Construct the Moment Generating Function
      Overrides:
      momentGeneratingFunction in class R1Univariate
      Returns:
      The Moment Generating Function
    • probabilityGeneratingFunction

      public R1ToR1 probabilityGeneratingFunction()
      Description copied from class: R1Univariate
      Construct the Probability Generating Function
      Overrides:
      probabilityGeneratingFunction in class R1Univariate
      Returns:
      The Probability Generating Function
    • random

      public double random() throws java.lang.Exception
      Description copied from class: R1Univariate
      Generate a Random Variable corresponding to the Distribution
      Overrides:
      random in class R1Univariate
      Returns:
      Random Variable corresponding to the Distribution
      Throws:
      java.lang.Exception - Thrown if the Random Instance cannot be estimated
    • normalizer

      public double normalizer()
      Retrieve the Normalizer
      Returns:
      Normalizer
    • cdfScaler

      public double cdfScaler()
      Retrieve the CDF Scaler
      Returns:
      CDF Scaler
    • chernoffBound

      public double chernoffBound​(double x) throws java.lang.Exception
      Compute the Chernoff Upper Bound
      Parameters:
      x - A
      Returns:
      The Chernoff Upper Bound
      Throws:
      java.lang.Exception - Thrown if the Chernoff Upper Bound cannot be calculated
    • nonCentralMoment

      public double nonCentralMoment​(int m) throws java.lang.Exception
      Compute the Non-central Moment about Zero
      Overrides:
      nonCentralMoment in class R1Univariate
      Parameters:
      m - Non-central Moment Index
      Returns:
      The Non-central Moment about Zero
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • cumulant

      public double cumulant​(int n) throws java.lang.Exception
      Compute the Cumulant
      Parameters:
      n - Cumulant Index
      Returns:
      The Cumulant
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • cltProxy

      public R1UnivariateNormal cltProxy()
      Retrieve the Central Limit Theorem Equivalent Normal Distribution Proxy
      Returns:
      The Central Limit Theorem Equivalent Normal Distribution Proxy
    • validCLTProxy

      public boolean validCLTProxy()
      Indicate if the Current Distribution is a Valid Proxy as a CLT
      Returns:
      TRUE - The Current Distribution is a Valid Proxy as a CLT
    • gammaDistribution

      public R1ShapeScaleDistribution gammaDistribution​(double scale)
      Generate a Gamma-distribution off of the Scaled Chi-Square Distribution
      Parameters:
      scale - The Scale
      Returns:
      The Gamma Distribution
    • randomLogProxy

      public double randomLogProxy() throws java.lang.Exception
      Generate Logarithm Proxy Based Random Number - Proxy to Univariate Normal Distribution
      Returns:
      Logarithm Proxy Based Random Number - Proxy to Univariate Normal Distribution
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • randomCLTProxy

      public double randomCLTProxy() throws java.lang.Exception
      Generate CLT Proxy Based Random Number - Proxy to Univariate Normal Distribution
      Returns:
      CLT Proxy Based Random Number - Proxy to Univariate Normal Distribution
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • randomFisherProxy

      public double randomFisherProxy() throws java.lang.Exception
      Generate Fisher Proxy Random Number - Proxy to Univariate Normal Distribution
      Returns:
      Fisher Proxy Random Number - Proxy to Univariate Normal Distribution
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • randomWilsonHilferty

      public double randomWilsonHilferty() throws java.lang.Exception
      Generate Wilson-Hilferty Proxy Random Number - Proxy to Univariate Normal Distribution
      Returns:
      Wilson-Hilferty Proxy Random Number - Proxy to Univariate Normal Distribution
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • randomGamma

      public double randomGamma​(double c) throws java.lang.Exception
      Generate Gamma Distributed Random Number
      Parameters:
      c - The Scale Parameter
      Returns:
      Gamma Distributed Random Number
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • randomChi

      public double randomChi() throws java.lang.Exception
      Generate the Chi Distributed Random Number
      Returns:
      Chi Distributed Random Number
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • randomExponentialHalf

      public double randomExponentialHalf() throws java.lang.Exception
      Generate Exponential (0.5) Distributed Random Number
      Returns:
      Exponential (0.5) Distributed Random Number
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • randomRayleigh1

      public double randomRayleigh1() throws java.lang.Exception
      Generate Rayleigh (1) Distributed Random Number
      Returns:
      Rayleigh (1) Distributed Random Number
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • randomMaxwell1

      public double randomMaxwell1() throws java.lang.Exception
      Generate Maxwell (1) Distributed Random Number
      Returns:
      Maxwell (1) Distributed Random Number
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid