Skip to content

Commit

Permalink
Features:
Browse files Browse the repository at this point in the history
	- Realized Minima R^1 Rate Distribution (2, 3)


Bug Fixes/Re-organization:

	- Two IID Sum Quadrature #1 (25, 26, 27)
	- Two IID Sum Quadrature #2 (28, 29, 30)
	- Two IID Sum Quadrature #3 (31, 32, 33)
	- Two IID Sum Quadrature #4 (34, 35, 36)
	- Two IID Sum Quadrature #5 (37, 38, 39)
	- Two IID Sum Quadrature #6 (40, 41, 42)


Samples:

	- R^1 Minimum Rate Distribution #1 (1)
	- R^1 Minimum Rate Distribution #2 (4, 5, 6)
	- R^1 Minimum Rate Distribution #3 (7, 8, 9)
	- R^1 Minimum Rate Distribution #4 (10, 11, 12)
	- R^1 Minimum Rate Distribution #5 (13, 14, 15)
	- R^1 Two IID Significant Statistics #1 (16, 17, 18)
	- R^1 Two IID Significant Statistics #2 (19, 20, 21)
	- R^1 Two IID Significant Statistics #3 (22, 23, 24)
	- R^1 Two IID Significant Statistics #4 (43, 44, 45)
	- R^1 Two IID Significant Statistics #5 (46, 47, 48)
	- R^1 Two IID Significant Statistics #6 (49, 50, 51)
	- R^1 Two IID Significant Statistics #7 (52, 53, 54)
	- R^1 Two IID Significant Statistics #8 (55, 56, 57)
	- R^1 Two IID Significant Statistics #9 (58, 59, 60)


IdeaDRIP:
  • Loading branch information
Lakshmik committed Aug 14, 2023
1 parent e605b39 commit 6b264e0
Show file tree
Hide file tree
Showing 6 changed files with 331 additions and 8 deletions.
35 changes: 35 additions & 0 deletions ReleaseNotes/12_26_2022.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@

Features:

- Realized Minima R^1 Rate Distribution (2, 3)


Bug Fixes/Re-organization:

- Two IID Sum Quadrature #1 (25, 26, 27)
- Two IID Sum Quadrature #2 (28, 29, 30)
- Two IID Sum Quadrature #3 (31, 32, 33)
- Two IID Sum Quadrature #4 (34, 35, 36)
- Two IID Sum Quadrature #5 (37, 38, 39)
- Two IID Sum Quadrature #6 (40, 41, 42)


Samples:

- R^1 Minimum Rate Distribution #1 (1)
- R^1 Minimum Rate Distribution #2 (4, 5, 6)
- R^1 Minimum Rate Distribution #3 (7, 8, 9)
- R^1 Minimum Rate Distribution #4 (10, 11, 12)
- R^1 Minimum Rate Distribution #5 (13, 14, 15)
- R^1 Two IID Significant Statistics #1 (16, 17, 18)
- R^1 Two IID Significant Statistics #2 (19, 20, 21)
- R^1 Two IID Significant Statistics #3 (22, 23, 24)
- R^1 Two IID Significant Statistics #4 (43, 44, 45)
- R^1 Two IID Significant Statistics #5 (46, 47, 48)
- R^1 Two IID Significant Statistics #6 (49, 50, 51)
- R^1 Two IID Significant Statistics #7 (52, 53, 54)
- R^1 Two IID Significant Statistics #8 (55, 56, 57)
- R^1 Two IID Significant Statistics #9 (58, 59, 60)


IdeaDRIP:
Original file line number Diff line number Diff line change
Expand Up @@ -120,21 +120,21 @@ public class RealizedMinimaR1RateDistribution
/**
* Standard Instance of RealizedMinimaR1RateDistribution
*
* @param r1RateDistributionArray R<sup>1</sup> Exponential Distribution Array
* @param lambdaArray Array of the Distribution Lambdas
*
* @return Standard Instance of RealizedMinimaR1RateDistribution
*/

public static final RealizedMinimaR1RateDistribution Standard (
final R1RateDistribution[] r1RateDistributionArray)
final double[] lambdaArray)
{
if (null == r1RateDistributionArray)
if (null == lambdaArray)
{
return null;
}

double compositeDistributionLambda = 0.;
int exponentialDistributionCount = r1RateDistributionArray.length;
int exponentialDistributionCount = lambdaArray.length;

if (0 == exponentialDistributionCount)
{
Expand All @@ -143,11 +143,17 @@ public static final RealizedMinimaR1RateDistribution Standard (

try
{
R1RateDistribution[] r1RateDistributionArray =
new R1RateDistribution[exponentialDistributionCount];

for (int distributionIndex = 0;
distributionIndex < exponentialDistributionCount;
++distributionIndex)
{
compositeDistributionLambda += r1RateDistributionArray[distributionIndex].rate();
r1RateDistributionArray[distributionIndex] =
new R1RateDistribution (lambdaArray[distributionIndex]);

compositeDistributionLambda += lambdaArray[distributionIndex];
}

return new RealizedMinimaR1RateDistribution (
Expand Down
27 changes: 25 additions & 2 deletions src/main/java/org/drip/measure/exponential/TwoIIDSum.java
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,13 @@ public R1RateDistribution smallerR1RateDistribution()
final double t)
throws Exception
{
if (Double.isInfinite (
t
))
{
return 0.;
}

if (!supported (
t
))
Expand Down Expand Up @@ -231,7 +238,7 @@ public R1RateDistribution smallerR1RateDistribution()
@Override public double mean()
throws Exception
{
return NewtonCotesQuadratureGenerator.GaussLaguerreRightDefinite (
return NewtonCotesQuadratureGenerator.GaussLaguerreLeftDefinite (
0.,
QUADRATURE_POINT_COUNT
).integrate (
Expand All @@ -251,12 +258,28 @@ public R1RateDistribution smallerR1RateDistribution()
);
}

@Override public double mode()
throws Exception
{
double largerRate = _largerR1RateDistribution.rate();

double smallerRate = _smallerR1RateDistribution.rate();

return largerRate == smallerRate ? 1. / largerRate : (
Math.log (
largerRate
) - Math.log (
smallerRate
)
) / (largerRate - smallerRate);
}

@Override public double variance()
throws Exception
{
final double mean = mean();

return NewtonCotesQuadratureGenerator.GaussLaguerreRightDefinite (
return NewtonCotesQuadratureGenerator.GaussLaguerreLeftDefinite (
0.,
QUADRATURE_POINT_COUNT
).integrate (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ public static final AbscissaTransform GaussLaguerreLeftDefinite (
@Override public double evaluate (
final double x)
{
return left + (x / (1. - x));
return 1. == x ? left : left + (x / (1. - x));
}
},
new org.drip.function.definition.R1ToR1 (null)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@

package org.drip.sample.exponential;

import org.drip.measure.exponential.RealizedMinimaR1RateDistribution;
import org.drip.service.common.FormatUtil;
import org.drip.service.env.EnvManager;

/*
Expand Down Expand Up @@ -131,6 +133,38 @@ public static final void main (
{
EnvManager.InitEnv ("");

double[] lambdaArray = {0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1., 2., 3., 4., 5.};

RealizedMinimaR1RateDistribution realizedMinimaR1RateDistribution =
RealizedMinimaR1RateDistribution.Standard (lambdaArray);

System.out.println ("\t||----------------------------------------------------------------------||");

System.out.println ("\t|| Realized R^1 Minimum Rate Distribution Likelihood ||");

System.out.println ("\t||----------------------------------------------------------------------||");

for (int i = 0; i < lambdaArray.length; ++i)
{
System.out.println (
"\t|| Index:" + FormatUtil.FormatDouble (i + 1, 2, 0, 1.) + "; Lambda:" +
FormatUtil.FormatDouble (lambdaArray[i], 1, 2, 1.) +
" => Probability as Realized Minimum:" + FormatUtil.FormatDouble (
realizedMinimaR1RateDistribution.probabilityOfIndexAsMinimum (i), 1, 6, 1.
) + " ||"
);
}

System.out.println ("\t||----------------------------------------------------------------------||");

System.out.println (
"\t|| Realized R^1 Minimum Rate Distribution Lambda =>" + FormatUtil.FormatDouble (
realizedMinimaR1RateDistribution.lambda(), 2, 2, 1.
)
);

System.out.println ("\t||----------------------------------------------------------------------||");

EnvManager.TerminateEnv();
}
}
Loading

0 comments on commit 6b264e0

Please sign in to comment.