Class ScaledExponentialEstimator

java.lang.Object
org.drip.function.definition.R1ToR1
org.drip.specialfunction.definition.ScaledExponentialEstimator

public class ScaledExponentialEstimator
extends R1ToR1
ScaledExponentialEstimator exposes the Estimator for the Scaled (i.e., Stretched/Compressed) Exponential Function. The References are:

  • Gradshteyn, I. S., I. M. Ryzhik, Y. V. Geronimus, M. Y. Tseytlin, and A. Jeffrey (2015): Tables of Integrals, Series, and Products Academic Press
  • Hilfer, J. (2002): H-function Representations for Stretched Exponential Relaxation and non-Debye Susceptibilities in Glassy Systems Physical Review E 65 (6) 061510
  • Wikipedia (2019): Stretched Exponential Function https://en.wikipedia.org/wiki/Stretched_exponential_function
  • Wuttke, J. (2012): Laplace-Fourier Transform of the Stretched Exponential Function: Analytic Error-Bounds, Double Exponential Transform, and Open Source Implementation libkw Algorithm 5 (4) 604-628
  • Zorn, R. (2002): Logarithmic Moments of Relaxation Time Distributions Journal of Chemical Physics 116 (8) 3204-3209
It provides the following functionality:
  • ScaledExponentialEstimator Constructor
  • Retrieve the Exponent
  • Retrieve the Characteristic Relaxation Time
  • Evaluate using the Relaxation Time Density
  • Indicate if the Function is Compressed Exponential
  • Indicate if the Function is Stretched Exponential
  • Indicate if the Function is Unscaled (i.e., Standard) Exponential
  • Indicate if the Function is Normal (i.e., Gaussian) Exponential
  • Compute the First Moment
  • Compute the Higher Moment
  • Compute the Higher Moment using the Relaxation Time Density
  • Compute the First Moment of Log Relaxation Time

Module Product Core Module
Library Fixed Income Analytics
Project Special Function Implementation and Analysis
Package Definition of Special Function Estimators
Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • ScaledExponentialEstimator

      public ScaledExponentialEstimator​(double exponent, double characteristicRelaxationTime) throws java.lang.Exception
      ScaledExponentialEstimator Constructor
      Parameters:
      exponent - The Exponent
      characteristicRelaxationTime - The Characteristic Relaxation Time
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • exponent

      public double exponent()
      Retrieve the Exponent
      Returns:
      The Exponent
    • characteristicRelaxationTime

      public double characteristicRelaxationTime()
      Retrieve the Characteristic Relaxation Time
      Returns:
      The Characteristic Relaxation Time
    • evaluate

      public double evaluate​(double t) throws java.lang.Exception
      Description copied from class: R1ToR1
      Evaluate for the given variate
      Specified by:
      evaluate in class R1ToR1
      Parameters:
      t - Variate
      Returns:
      Returns the calculated value
      Throws:
      java.lang.Exception - Thrown if evaluation cannot be done
    • evaluateUsingDensity

      public double evaluateUsingDensity​(double t, RelaxationTimeDistributionEstimator relaxationTimeDistributionEstimator) throws java.lang.Exception
      Evaluate using the Relaxation Time Density
      Parameters:
      t - Time
      relaxationTimeDistributionEstimator - Relaxation Time Distribution Estimator
      Returns:
      The Evaluation using the Relaxation Time Density
      Throws:
      java.lang.Exception - Thrown if the Evaluation cannot be done
    • isCompressed

      public boolean isCompressed()
      Indicate if the Function is Compressed Exponential
      Returns:
      TRUE - The Function is Compressed Exponential
    • isStretched

      public boolean isStretched()
      Indicate if the Function is Stretched Exponential
      Returns:
      TRUE - The Function is Stretched Exponential
    • isUnscaled

      public boolean isUnscaled()
      Indicate if the Function is Unscaled (i.e., Standard) Exponential
      Returns:
      TRUE - The Function is Unscaled Exponential
    • isNormal

      public boolean isNormal()
      Indicate if the Function is Normal (i.e., Gaussian) Exponential
      Returns:
      TRUE - The Function is Normal Exponential
    • firstMoment

      public double firstMoment​(R1ToR1 gammaEstimator) throws java.lang.Exception
      Compute the First Moment
      Parameters:
      gammaEstimator - Gamma Estimator
      Returns:
      The First Moment
      Throws:
      java.lang.Exception - Thrown if the First Moment cannot be calculated
    • higherMoment

      public double higherMoment​(int momentOrder, R1ToR1 gammaEstimator) throws java.lang.Exception
      Compute the Higher Moment
      Parameters:
      momentOrder - The Moment Order
      gammaEstimator - Gamma Estimator
      Returns:
      The Higher Moment
      Throws:
      java.lang.Exception - Thrown if the Higher Moment cannot be calculated
    • higherMomentUsingDensity

      public double higherMomentUsingDensity​(int momentOrder, RelaxationTimeDistributionEstimator relaxationTimeDistributionEstimator, R1ToR1 gammaEstimator) throws java.lang.Exception
      Compute the Higher Moment using the Relaxation Time Density
      Parameters:
      momentOrder - The Moment Order
      relaxationTimeDistributionEstimator - Relaxation Time Distribution Estimator
      gammaEstimator - Gamma Estimator
      Returns:
      The Higher Moment using the Relaxation Time Density
      Throws:
      java.lang.Exception - Thrown if the Higher Moment cannot be calculated
    • logRelaxationFirstMoment

      public double logRelaxationFirstMoment()
      Compute the First Moment of Log Relaxation Time
      Returns:
      The First Moment of Log Relaxation Time