Skip to content

Commit

Permalink
Features:
Browse files Browse the repository at this point in the history
Bug Fixes/Re-organization:

	- Spaces Cover Carl Stephanie Normed Bounds - Entropy Bound Normed B (1)
	- Spaces Cover Carl Stephanie Normed Bounds - Constructor (2)
	- Spaces Cover Carl Stephanie Normed Bounds - Minimum Upper Bound (3)
	- Spaces Cover Carl Stephanie Product Bounds (4, 5, 6)
	- Spaces Cover Carl Stephanie Product Bounds - Function Class R^x -> A (7, 8)
	- Spaces Cover Carl Stephanie Product Bounds - Function Class R^x -> B (9, 10)
	- Spaces Cover Carl Stephanie Product Bounds - Constructor (11)
	- Spaces Cover Carl Stephanie Product Bounds - Population Metric Entropy Number (12)
	- Spaces Cover Carl Stephanie Product Bounds - Population Supremum Entropy Number (13)
	- Spaces Cover Carl Stephanie Product Bounds - Sample Metric Entropy Number (14)
	- Spaces Cover Carl Stephanie Product Bounds - Sample Supremum Entropy Number (15)
	- Spaces Cover Carl Stephanie Product Bounds - Normed Entropy Upper Bound (16, 17)
	- Spaces Cover Carl Stephanie Product Bounds - Population Supremum Entropy Bound (18)
	- Spaces Cover Carl Stephanie Product Bounds - Population Metric Entropy Bound (19)
	- Spaces Cover Carl Stephanie Product Bounds - Sample Supremum Entropy Bound (20)
	- Spaces Cover Carl Stephanie Product Bounds - Sample Metric Entropy Norm (21)
	- Spaces Cover Covering Bounds Helper (22, 23, 24)
	- Spaces Cover Covering Bounds Helper - Dyadic Entropy Number (25, 26)
	- Spaces Cover Covering Bounds Helper - Carl Stephani Product Bound (27, 28)
	- Spaces Cover Covering Bounds Helper - Carl Stephani Product Norm (29, 30, 31)
	- Spaces Cover Function Class Covering Bounds (32, 33, 34)
	- Spaces Cover Function Class Covering Bounds - Log Lower Bound (35)
	- Spaces Cover Function Class Covering Bounds - Log Upper Bound (36)
	- Spaces Cover L^1 R^1 Covering Bounds (37, 38, 39)
	- Spaces Cover L^1 R^1 Covering Bounds - Bound (40, 41)
	- Spaces Cover L^1 R^1 Covering Bounds - Support (42, 43)
	- Spaces Cover L^1 R^1 Covering Bounds - Variation (44, 45)
	- Spaces Cover L^1 R^1 Covering Bounds - Constructor (46, 47)
	- Spaces Cover L^1 R^1 Covering Bounds - Log Lower Bound #1 (48, 49, 50)
	- Spaces Cover L^1 R^1 Covering Bounds - Log Lower Bound #2 (51, 52)
	- Spaces Cover L^1 R^1 Covering Bounds - Log Upper Bound #1 (53, 54)
	- Spaces Cover L^1 R^1 Covering Bounds - Log Upper Bound #2 (55, 56)
	- Spaces Cover Maurey Operator Covering Bounds (57, 58, 59)
	- Spaces Cover Maurey Operator Covering Bounds - Constant - from the Hilbert - Supremum Identity Map Estimate (60)


Samples:

IdeaDRIP:
  • Loading branch information
Lakshmik committed Mar 18, 2024
1 parent 306b586 commit d738223
Show file tree
Hide file tree
Showing 7 changed files with 441 additions and 249 deletions.
44 changes: 44 additions & 0 deletions ReleaseNotes/09_12_2023.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@

Features:

Bug Fixes/Re-organization:

- Spaces Cover Carl Stephanie Normed Bounds - Entropy Bound Normed B (1)
- Spaces Cover Carl Stephanie Normed Bounds - Constructor (2)
- Spaces Cover Carl Stephanie Normed Bounds - Minimum Upper Bound (3)
- Spaces Cover Carl Stephanie Product Bounds (4, 5, 6)
- Spaces Cover Carl Stephanie Product Bounds - Function Class R^x -> A (7, 8)
- Spaces Cover Carl Stephanie Product Bounds - Function Class R^x -> B (9, 10)
- Spaces Cover Carl Stephanie Product Bounds - Constructor (11)
- Spaces Cover Carl Stephanie Product Bounds - Population Metric Entropy Number (12)
- Spaces Cover Carl Stephanie Product Bounds - Population Supremum Entropy Number (13)
- Spaces Cover Carl Stephanie Product Bounds - Sample Metric Entropy Number (14)
- Spaces Cover Carl Stephanie Product Bounds - Sample Supremum Entropy Number (15)
- Spaces Cover Carl Stephanie Product Bounds - Normed Entropy Upper Bound (16, 17)
- Spaces Cover Carl Stephanie Product Bounds - Population Supremum Entropy Bound (18)
- Spaces Cover Carl Stephanie Product Bounds - Population Metric Entropy Bound (19)
- Spaces Cover Carl Stephanie Product Bounds - Sample Supremum Entropy Bound (20)
- Spaces Cover Carl Stephanie Product Bounds - Sample Metric Entropy Norm (21)
- Spaces Cover Covering Bounds Helper (22, 23, 24)
- Spaces Cover Covering Bounds Helper - Dyadic Entropy Number (25, 26)
- Spaces Cover Covering Bounds Helper - Carl Stephani Product Bound (27, 28)
- Spaces Cover Covering Bounds Helper - Carl Stephani Product Norm (29, 30, 31)
- Spaces Cover Function Class Covering Bounds (32, 33, 34)
- Spaces Cover Function Class Covering Bounds - Log Lower Bound (35)
- Spaces Cover Function Class Covering Bounds - Log Upper Bound (36)
- Spaces Cover L^1 R^1 Covering Bounds (37, 38, 39)
- Spaces Cover L^1 R^1 Covering Bounds - Bound (40, 41)
- Spaces Cover L^1 R^1 Covering Bounds - Support (42, 43)
- Spaces Cover L^1 R^1 Covering Bounds - Variation (44, 45)
- Spaces Cover L^1 R^1 Covering Bounds - Constructor (46, 47)
- Spaces Cover L^1 R^1 Covering Bounds - Log Lower Bound #1 (48, 49, 50)
- Spaces Cover L^1 R^1 Covering Bounds - Log Lower Bound #2 (51, 52)
- Spaces Cover L^1 R^1 Covering Bounds - Log Upper Bound #1 (53, 54)
- Spaces Cover L^1 R^1 Covering Bounds - Log Upper Bound #2 (55, 56)
- Spaces Cover Maurey Operator Covering Bounds (57, 58, 59)
- Spaces Cover Maurey Operator Covering Bounds - Constant - from the Hilbert - Supremum Identity Map Estimate (60)


Samples:

IdeaDRIP:
Binary file modified ScheduleSheet.xlsx
Binary file not shown.
304 changes: 182 additions & 122 deletions src/main/java/org/drip/spaces/cover/CarlStephaniProductBounds.java

Large diffs are not rendered by default.

123 changes: 74 additions & 49 deletions src/main/java/org/drip/spaces/cover/CoveringBoundsHelper.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@

package org.drip.spaces.cover;

import org.drip.numerical.common.NumberUtil;

/*
* -*- mode: java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*/

/*!
* Copyright (C) 2025 Lakshmi Krishnamurthy
* Copyright (C) 2024 Lakshmi Krishnamurthy
* Copyright (C) 2023 Lakshmi Krishnamurthy
* Copyright (C) 2022 Lakshmi Krishnamurthy
* Copyright (C) 2021 Lakshmi Krishnamurthy
* Copyright (C) 2020 Lakshmi Krishnamurthy
Expand Down Expand Up @@ -82,7 +87,7 @@

/**
* <i>CoveringBoundsHelper</i> contains the assortment of Utilities used in the Computation of Upper Bounds
* for Normed Single Function Spaces and Function Space Products. The References are:
* for Normed Single Function Spaces and Function Space Products. The References are:
*
* <br><br>
* <ul>
Expand All @@ -101,98 +106,118 @@
* </li>
* </ul>
*
* <br><br>
* It provides the following Functionality:
*
* <ul>
* <li><b>Module </b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></li>
* <li><b>Library</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/StatisticalLearningLibrary.md">Statistical Learning Library</a></li>
* <li><b>Project</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/README.md">R<sup>1</sup> and R<sup>d</sup> Vector/Tensor Spaces (Validated and/or Normed), and Function Classes</a></li>
* <li><b>Package</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/cover/README.md">Vector Spaces Covering Number Estimator</a></li>
* <li>Compute the Dyadic Entropy Number from the n<sup>th</sup> Entropy Number</li>
* <li>Compute the Upper Bound for the Entropy Number of the Operator Custom Covering Number Metric Product across both the Function Classes</li>
* <li>Compute the Upper Bound for the Entropy Number of the Operator Custom Covering Number Metric Product across both the Function Classes using the Function Class Norm</li>
* </ul>
* <br><br>
*
* <br>
* <style>table, td, th {
* padding: 1px; border: 2px solid #008000; border-radius: 8px; background-color: #dfff00;
* text-align: center; color: #0000ff;
* }
* </style>
*
* <table style="border:1px solid black;margin-left:auto;margin-right:auto;">
* <tr><td><b>Module </b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></td></tr>
* <tr><td><b>Library</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/StatisticalLearningLibrary.md">Statistical Learning Library</a></td></tr>
* <tr><td><b>Project</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/README.md">R<sup>1</sup> and R<sup>d</sup> Vector/Tensor Spaces (Validated and/or Normed), and Function Classes</a></td></tr>
* <tr><td><b>Package</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/cover/README.md">Vector Spaces Covering Number Estimator</a></td></tr>
* </table>
*
* @author Lakshmi Krishnamurthy
*/

public class CoveringBoundsHelper {
public class CoveringBoundsHelper
{

/**
* Compute the Dyadic Entropy Number from the nth Entropy Number
* Compute the Dyadic Entropy Number from the n<sup>th</sup> Entropy Number
*
* @param dblLogNEntropyNumber Log of the nth Entropy Number
* @param logNEntropyNumber Log of the n<sup>th</sup> Entropy Number
*
* @return The Dyadic Entropy Number
*
* @throws java.lang.Exception Thrown if the Dyadic Entropy Number cannot be calculated
* @throws Exception Thrown if the Dyadic Entropy Number cannot be calculated
*/

public static final double DyadicEntropyNumber (
final double dblLogNEntropyNumber)
throws java.lang.Exception
final double logNEntropyNumber)
throws Exception
{
if (!org.drip.numerical.common.NumberUtil.IsValid (dblLogNEntropyNumber))
throw new java.lang.Exception ("CoveringBoundsHelper::DyadicEntropyNumber => Invalid Inputs");
if (!NumberUtil.IsValid (logNEntropyNumber)) {
throw new Exception ("CoveringBoundsHelper::DyadicEntropyNumber => Invalid Inputs");
}

return 1. + (dblLogNEntropyNumber / java.lang.Math.log (2.));
return 1. + (logNEntropyNumber / Math.log (2.));
}

/**
* Compute the Upper Bound for the Entropy Number of the Operator Custom Covering Number Metric Product
* across both the Function Classes
*
* @param mocbA The Maurey Operator Covering Bounds for Class A
* @param mocbB The Maurey Operator Covering Bounds for Class B
* @param iEntropyNumberIndexA Entropy Number Index for Class A
* @param iEntropyNumberIndexB Entropy Number Index for Class B
* @param maureyOperatorCoveringBoundsA The Maurey Operator Covering Bounds for Class A
* @param maureyOperatorCoveringBoundsB The Maurey Operator Covering Bounds for Class B
* @param entropyNumberIndexA Entropy Number Index for Class A
* @param entropyNumberIndexB Entropy Number Index for Class B
*
* @return The Upper Bound for the Entropy Number of the Operator Custom Covering Number Metric Product
* across both the Function Classes
*
* @throws java.lang.Exception Thrown if the Inputs are Invalid
* @throws Exception Thrown if the Inputs are Invalid
*/

public static final double CarlStephaniProductBound (
final org.drip.spaces.cover.MaureyOperatorCoveringBounds mocbA,
final org.drip.spaces.cover.MaureyOperatorCoveringBounds mocbB,
final int iEntropyNumberIndexA,
final int iEntropyNumberIndexB)
throws java.lang.Exception
final MaureyOperatorCoveringBounds maureyOperatorCoveringBoundsA,
final MaureyOperatorCoveringBounds maureyOperatorCoveringBoundsB,
final int entropyNumberIndexA,
final int entropyNumberIndexB)
throws Exception
{
if (null == mocbA || null == mocbB)
throw new java.lang.Exception
("CoveringBoundsHelper::CarlStephaniProductBound => Invalid Maurey Bounds for the Function Class");
if (null == maureyOperatorCoveringBoundsA || null == maureyOperatorCoveringBoundsB) {
throw new Exception (
"CoveringBoundsHelper::CarlStephaniProductBound => Invalid Maurey Bounds for the Function Class"
);
}

return mocbA.entropyNumberUpperBound (iEntropyNumberIndexA) * mocbB.entropyNumberUpperBound
(iEntropyNumberIndexB);
return maureyOperatorCoveringBoundsA.entropyNumberUpperBound (entropyNumberIndexA) *
maureyOperatorCoveringBoundsB.entropyNumberUpperBound (entropyNumberIndexB);
}

/**
* Compute the Upper Bound for the Entropy Number of the Operator Custom Covering Number Metric Product
* across both the Function Classes using the Function Class Norm
*
* @param mocbA The Maurey Operator Covering Bounds for Class A
* @param mocbB The Maurey Operator Covering Bounds for Class B
* @param dblNormA The Function Class A Norm
* @param dblNormB The Function Class B Norm
* @param iEntropyNumberIndex Entropy Number Index for either Class
* @param maureyOperatorCoveringBoundsA The Maurey Operator Covering Bounds for Class A
* @param maureyOperatorCoveringBoundsB The Maurey Operator Covering Bounds for Class B
* @param normA The Function Class A Norm
* @param normB The Function Class B Norm
* @param entropyNumberIndex Entropy Number Index for either Class
*
* @return The Upper Bound for the Entropy Number of the Operator Custom Covering Number Metric
* Product across both the Function Classes using the Function Norm
* @return The Upper Bound for the Entropy Number of the Operator Custom Covering Number Metric Product
* across both the Function Classes using the Function Norm
*/

public static final org.drip.spaces.cover.CarlStephaniNormedBounds CarlStephaniProductNorm (
final org.drip.spaces.cover.MaureyOperatorCoveringBounds mocbA,
final org.drip.spaces.cover.MaureyOperatorCoveringBounds mocbB,
final double dblNormA,
final double dblNormB,
final int iEntropyNumberIndex)
public static final CarlStephaniNormedBounds CarlStephaniProductNorm (
final MaureyOperatorCoveringBounds maureyOperatorCoveringBoundsA,
final MaureyOperatorCoveringBounds maureyOperatorCoveringBoundsB,
final double normA,
final double normB,
final int entropyNumberIndex)
{
if (null == mocbA || null == mocbB) return null;
if (null == maureyOperatorCoveringBoundsA || null == maureyOperatorCoveringBoundsB) {
return null;
}

try {
return new org.drip.spaces.cover.CarlStephaniNormedBounds (mocbA.entropyNumberUpperBound
(iEntropyNumberIndex) * dblNormB, mocbB.entropyNumberUpperBound (iEntropyNumberIndex) *
dblNormA);
} catch (java.lang.Exception e) {
return new CarlStephaniNormedBounds (
maureyOperatorCoveringBoundsA.entropyNumberUpperBound (entropyNumberIndex) * normB,
maureyOperatorCoveringBoundsB.entropyNumberUpperBound (entropyNumberIndex) * normA
);
} catch (Exception e) {
e.printStackTrace();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
*/

/*!
* Copyright (C) 2025 Lakshmi Krishnamurthy
* Copyright (C) 2024 Lakshmi Krishnamurthy
* Copyright (C) 2023 Lakshmi Krishnamurthy
* Copyright (C) 2022 Lakshmi Krishnamurthy
* Copyright (C) 2021 Lakshmi Krishnamurthy
* Copyright (C) 2020 Lakshmi Krishnamurthy
Expand Down Expand Up @@ -82,7 +85,7 @@

/**
* <i>FunctionClassCoveringBounds</i> implements the estimate Lower/Upper Bounds and/or Absolute Values of
* the Covering Number for the Function Class. The Main References are:
* the Covering Number for the Function Class. The Main References are:
*
* <br><br>
* <ul>
Expand All @@ -96,45 +99,58 @@
* </li>
* </ul>
*
* <br><br>
* It provides the following Functionality:
*
* <ul>
* <li><b>Module </b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></li>
* <li><b>Library</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/StatisticalLearningLibrary.md">Statistical Learning Library</a></li>
* <li><b>Project</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/README.md">R<sup>1</sup> and R<sup>d</sup> Vector/Tensor Spaces (Validated and/or Normed), and Function Classes</a></li>
* <li><b>Package</b> = <a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/cover/README.md">Vector Spaces Covering Number Estimator</a></li>
* <li>Log of the Lower Bound of the Function Covering Number</li>
* <li>Log of the Upper Bound of the Function Covering Number</li>
* </ul>
* <br><br>
*
* <br>
* <style>table, td, th {
* padding: 1px; border: 2px solid #008000; border-radius: 8px; background-color: #dfff00;
* text-align: center; color: #0000ff;
* }
* </style>
*
* <table style="border:1px solid black;margin-left:auto;margin-right:auto;">
* <tr><td><b>Module </b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/ComputationalCore.md">Computational Core Module</a></td></tr>
* <tr><td><b>Library</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/StatisticalLearningLibrary.md">Statistical Learning Library</a></td></tr>
* <tr><td><b>Project</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/README.md">R<sup>1</sup> and R<sup>d</sup> Vector/Tensor Spaces (Validated and/or Normed), and Function Classes</a></td></tr>
* <tr><td><b>Package</b></td> <td><a href = "https://github.com/lakshmiDRIP/DROP/tree/master/src/main/java/org/drip/spaces/cover/README.md">Vector Spaces Covering Number Estimator</a></td></tr>
* </table>
*
* @author Lakshmi Krishnamurthy
*/

public interface FunctionClassCoveringBounds {
public interface FunctionClassCoveringBounds
{

/**
* Log of the Lower Bound of the Function Covering Number
*
* @param dblCover The Size of the Cover
* @param cover The Size of the Cover
*
* @return Log of the Lower Bound of the Function Covering Number
*
* @throws java.lang.Exception Thrown if the Inputs are Invalid
* @throws Exception Thrown if the Inputs are Invalid
*/

public abstract double logLowerBound (
final double dblCover)
throws java.lang.Exception;
final double cover
) throws Exception;

/**
* Log of the Upper Bound of the Function Covering Number
*
* @param dblCover The Size of the Cover
* @param cover The Size of the Cover
*
* @return Log of the Upper Bound of the Function Covering Number
*
* @throws java.lang.Exception Thrown if the Inputs are Invalid
*/

public abstract double logUpperBound (
final double dblCover)
throws java.lang.Exception;
final double cover
) throws Exception;
}
Loading

0 comments on commit d738223

Please sign in to comment.