From 306b5867ea1a35b6e9c2426233b5a32fd617781a Mon Sep 17 00:00:00 2001 From: Lakshmi Krishnamurthy Date: Sun, 17 Mar 2024 20:17:29 -0400 Subject: [PATCH] Features: Bug Fixes/Re-organization: - Spaces Big Sub-matrix Set Extractor - Lean Max Composite (1, 2) - Spaces Big Sub-string Set Extractor (3, 4, 5) - Spaces Big Sub-string Set Extractor - Receding Permutation Scan #1 (6, 7, 8) - Spaces Big Sub-string Set Extractor - Receding Permutation Scan #2 (9, 10, 11) - Spaces Big Sub-string Set Extractor - Receding Permutation Scan #3 (12, 13, 14) - Spaces Big Sub-string Set Extractor - Exhaustive Permutation Scan #1 (15, 16, 17) - Spaces Big Sub-string Set Extractor - Exhaustive Permutation Scan #2 (18, 19, 20) - Spaces Big Sub-string Set Extractor - Exhaustive Permutation Scan #3 (21, 22, 23) - Spaces Big Sub-string Set Extractor - Contiguous #1 (24, 25, 26) - Spaces Big Sub-string Set Extractor - Contiguous #2 (27, 28) - Spaces Big Zombie Matrix (29, 30, 31) - Spaces Big Zombie Matrix - Row Count (32, 33) - Spaces Big Zombie Matrix - Column Count (34, 35) - Spaces Big Zombie Matrix - Uninfected Cell Set (36, 37) - Spaces Big Zombie Matrix - Infectable #1 (38, 39) - Spaces Big Zombie Matrix - Infectable #2 (40, 41, 42) - Spaces Big Zombie Matrix - Infectable #3 (43, 44, 45) - Spaces Big Zombie Matrix - Constructor #1 (46, 47, 48) - Spaces Big Zombie Matrix - Constructor #2 (49, 50) - Spaces Big Zombie Matrix - Infection Period #1 (51, 52) - Spaces Big Zombie Matrix - Infection Period #2 (53, 54) - Spaces Cover Carl Stephanie Normed Bounds (55, 56, 57) - Spaces Cover Carl Stephanie Normed Bounds - Entropy Bound Normed A (58, 59) - Spaces Cover Carl Stephanie Normed Bounds - Entropy Bound Normed B (60) Samples: IdeaDRIP: --- ReleaseNotes/09_11_2023.txt | 34 ++++ ScheduleSheet.xlsx | Bin 56234 -> 56134 bytes .../spaces/big/SubStringSetExtractor.java | 148 +++++++++++------- .../org/drip/spaces/big/ZombieMatrix.java | 141 +++++++---------- .../cover/CarlStephaniNormedBounds.java | 67 +++++--- 5 files changed, 224 insertions(+), 166 deletions(-) create mode 100644 ReleaseNotes/09_11_2023.txt diff --git a/ReleaseNotes/09_11_2023.txt b/ReleaseNotes/09_11_2023.txt new file mode 100644 index 000000000000..40a51ce1dba6 --- /dev/null +++ b/ReleaseNotes/09_11_2023.txt @@ -0,0 +1,34 @@ + +Features: + +Bug Fixes/Re-organization: + + - Spaces Big Sub-matrix Set Extractor - Lean Max Composite (1, 2) + - Spaces Big Sub-string Set Extractor (3, 4, 5) + - Spaces Big Sub-string Set Extractor - Receding Permutation Scan #1 (6, 7, 8) + - Spaces Big Sub-string Set Extractor - Receding Permutation Scan #2 (9, 10, 11) + - Spaces Big Sub-string Set Extractor - Receding Permutation Scan #3 (12, 13, 14) + - Spaces Big Sub-string Set Extractor - Exhaustive Permutation Scan #1 (15, 16, 17) + - Spaces Big Sub-string Set Extractor - Exhaustive Permutation Scan #2 (18, 19, 20) + - Spaces Big Sub-string Set Extractor - Exhaustive Permutation Scan #3 (21, 22, 23) + - Spaces Big Sub-string Set Extractor - Contiguous #1 (24, 25, 26) + - Spaces Big Sub-string Set Extractor - Contiguous #2 (27, 28) + - Spaces Big Zombie Matrix (29, 30, 31) + - Spaces Big Zombie Matrix - Row Count (32, 33) + - Spaces Big Zombie Matrix - Column Count (34, 35) + - Spaces Big Zombie Matrix - Uninfected Cell Set (36, 37) + - Spaces Big Zombie Matrix - Infectable #1 (38, 39) + - Spaces Big Zombie Matrix - Infectable #2 (40, 41, 42) + - Spaces Big Zombie Matrix - Infectable #3 (43, 44, 45) + - Spaces Big Zombie Matrix - Constructor #1 (46, 47, 48) + - Spaces Big Zombie Matrix - Constructor #2 (49, 50) + - Spaces Big Zombie Matrix - Infection Period #1 (51, 52) + - Spaces Big Zombie Matrix - Infection Period #2 (53, 54) + - Spaces Cover Carl Stephanie Normed Bounds (55, 56, 57) + - Spaces Cover Carl Stephanie Normed Bounds - Entropy Bound Normed A (58, 59) + - Spaces Cover Carl Stephanie Normed Bounds - Entropy Bound Normed B (60) + + +Samples: + +IdeaDRIP: diff --git a/ScheduleSheet.xlsx b/ScheduleSheet.xlsx index 4a4f7cecd8dff95c7224e17a9254cdb06ffba6eb..f8bd0cf27a9d372b8cc786172dac010b2759cd3e 100644 GIT binary patch delta 7049 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 E2cSubStringSetExtractor contains the Functionality to extract the Full Suite of the Sub-strings - * contained inside of the given String. - * - *

+ * contained inside of the given String. It provides the following Functionality: + * * - *

+ * + *
+ * + * + * + * + * + * + * + *
Module Computational Core Module
Library Statistical Learning Library
Project R1 and Rd Vector/Tensor Spaces (Validated and/or Normed), and Function Classes
Package Big-data In-place Manipulator
* * @author Lakshmi Krishnamurthy */ -public class SubStringSetExtractor { +public class SubStringSetExtractor +{ /** - * Locate the String Set of the Target Size using a Receeding Permutation Scan + * Locate the String Set of the Target Size using a Receding Permutation Scan * - * @param strMaster The Master String - * @param iTargetStringSize The Target String Size + * @param master The Master String + * @param targetStringSize The Target String Size * * @return The List of the Target String */ - public static final java.util.List ReceedingPermutationScan ( - final java.lang.String strMaster, - final int iTargetStringSize) + public static final List ReceedingPermutationScan ( + final String master, + final int targetStringSize) { - int[] aiMax = new int[iTargetStringSize]; - org.drip.spaces.iterator.RdExhaustiveStateSpaceScan mdIter = null; + int[] maxSizeArray = new int[targetStringSize]; + RdExhaustiveStateSpaceScan rdExhaustiveStateSpaceScanIterator = null; - int iMasterStringSize = strMaster.length(); + int masterStringSize = master.length(); - for (int i = 0; i < iTargetStringSize; ++i) - aiMax[i] = iMasterStringSize; + for (int i = 0; i < targetStringSize; ++i) { + maxSizeArray[i] = masterStringSize; + } try { - mdIter = new org.drip.spaces.iterator.RdExhaustiveStateSpaceScan (aiMax, false); - } catch (java.lang.Exception e) { + rdExhaustiveStateSpaceScanIterator = new RdExhaustiveStateSpaceScan (maxSizeArray, false); + } catch (Exception e) { e.printStackTrace(); } - java.util.List lsTarget = new java.util.ArrayList(); + List targetList = new ArrayList(); - int[] aiIndex = mdIter.stateIndexCursor(); + int[] indexCursorArray = rdExhaustiveStateSpaceScanIterator.stateIndexCursor(); - while (null != aiIndex) { - lsTarget.add (org.drip.spaces.iterator.IterationHelper.ComposeFromIndex (strMaster, aiIndex)); + while (null != indexCursorArray) { + targetList.add (IterationHelper.ComposeFromIndex (master, indexCursorArray)); - aiIndex = mdIter.nextStateIndexCursor(); + indexCursorArray = rdExhaustiveStateSpaceScanIterator.nextStateIndexCursor(); } - return lsTarget; + return targetList; } /** * Locate the String Set of the Target Size using an Exhaustive Permutation Scan * - * @param strMaster The Master String - * @param iTargetStringSize The Target String Size + * @param master The Master String + * @param targetStringSize The Target String Size * * @return The List of the Target String */ - public static final java.util.List ExhaustivePermutationScan ( - final java.lang.String strMaster, - final int iTargetStringSize) + public static final List ExhaustivePermutationScan ( + final String master, + final int targetStringSize) { - int[] aiMax = new int[iTargetStringSize]; - org.drip.spaces.iterator.RdExhaustiveStateSpaceScan mdIter = null; + int[] maxSizeArray = new int[targetStringSize]; + RdExhaustiveStateSpaceScan rdExhaustiveStateSpaceScanIterator = null; - int iMasterStringSize = strMaster.length(); + int masterStringSize = master.length(); - for (int i = 0; i < iTargetStringSize; ++i) - aiMax[i] = iMasterStringSize; + for (int i = 0; i < targetStringSize; ++i) { + maxSizeArray[i] = masterStringSize; + } try { - mdIter = new org.drip.spaces.iterator.RdExhaustiveStateSpaceScan (aiMax, false); - } catch (java.lang.Exception e) { + rdExhaustiveStateSpaceScanIterator = new RdExhaustiveStateSpaceScan (maxSizeArray, false); + } catch (Exception e) { e.printStackTrace(); } - java.util.List lsTarget = new java.util.ArrayList(); + List targetList = new ArrayList(); - int[] aiIndex = mdIter.stateIndexCursor(); + int[] indexCursorArray = rdExhaustiveStateSpaceScanIterator.stateIndexCursor(); - while (null != aiIndex) { - if (!org.drip.spaces.iterator.IterationHelper.CheckForRepeatingIndex (aiIndex)) - lsTarget.add (org.drip.spaces.iterator.IterationHelper.ComposeFromIndex (strMaster, - aiIndex)); + while (null != indexCursorArray) { + if (!IterationHelper.CheckForRepeatingIndex (indexCursorArray)) { + targetList.add (IterationHelper.ComposeFromIndex (master, indexCursorArray)); + } - aiIndex = mdIter.nextStateIndexCursor(); + indexCursorArray = rdExhaustiveStateSpaceScanIterator.nextStateIndexCursor(); } - return lsTarget; + return targetList; } /** * Extract all the Contiguous Strings available inside the specified Master String * - * @param strMaster The Master String + * @param master The Master String * - * @return The Full Set of Contiguous Strings + * @return The Full List of Contiguous Strings */ - public static final java.util.List Contiguous ( - final java.lang.String strMaster) + public static final List Contiguous ( + final String master) { - if (null == strMaster) return null; + if (null == master) { + return null; + } - int iMasterStringLength = strMaster.length(); + int masterStringLength = master.length(); - java.util.List lsTarget = new java.util.ArrayList(); + List targetList = new ArrayList(); - if (0 == iMasterStringLength) return lsTarget; + if (0 == masterStringLength) { + return targetList; + } - for (int iStartIndex = 0; iStartIndex < iMasterStringLength; ++iStartIndex) { - for (int iFinishIndex = iStartIndex + 1; iFinishIndex <= iMasterStringLength; ++iFinishIndex) - lsTarget.add (strMaster.substring (iStartIndex, iFinishIndex)); + for (int startIndex = 0; startIndex < masterStringLength; ++startIndex) { + for (int finishIndex = startIndex + 1; finishIndex <= masterStringLength; ++finishIndex) { + targetList.add (master.substring (startIndex, finishIndex)); + } } - return lsTarget; + return targetList; } } diff --git a/src/main/java/org/drip/spaces/big/ZombieMatrix.java b/src/main/java/org/drip/spaces/big/ZombieMatrix.java index bb0a95bbfcfa..fd31230261e7 100644 --- a/src/main/java/org/drip/spaces/big/ZombieMatrix.java +++ b/src/main/java/org/drip/spaces/big/ZombieMatrix.java @@ -1,11 +1,17 @@ package org.drip.spaces.big; +import java.util.Set; +import java.util.TreeSet; + /* * -*- 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 @@ -76,16 +82,29 @@ */ /** - * ZombieMatrix implements a Zombie Adjacency Migration. - * - *

+ * ZombieMatrix implements a Zombie Adjacency Migration. It provides the following Functionality: + * * - *

+ * + *
+ * + * + * + * + * + * + * + *
Module Computational Core Module
Library Statistical Learning Library
Project R1 and Rd Vector/Tensor Spaces (Validated and/or Normed), and Function Classes
Package Big-data In-place Manipulator
* * @author Lakshmi Krishnamurthy */ @@ -95,7 +114,7 @@ public class ZombieMatrix private int _rowCount = -1; private int _columnCount = -1; - private java.util.Set _uninfectedCellSet = new java.util.TreeSet(); + private Set _uninfectedCellSet = new TreeSet(); private boolean infectable ( final int cell) @@ -105,31 +124,19 @@ private boolean infectable ( int up = cell - _rowCount; int down = cell + _rowCount; - if (0 < up && !_uninfectedCellSet.contains ( - up - )) - { + if (0 < up && !_uninfectedCellSet.contains (up)) { return true; } - if (_rowCount * _columnCount > down && !_uninfectedCellSet.contains ( - down - )) - { + if (_rowCount * _columnCount > down && !_uninfectedCellSet.contains (down)) { return true; } - if (0 < left && !_uninfectedCellSet.contains ( - left - )) - { + if (0 < left && !_uninfectedCellSet.contains (left)) { return true; } - if (_rowCount * _columnCount > right && !_uninfectedCellSet.contains ( - right - )) - { + if (_rowCount * _columnCount > right && !_uninfectedCellSet.contains (right)) { return true; } @@ -137,65 +144,39 @@ private boolean infectable ( } /** - * ZombieMatrix Constructor + * ZombieMatrix Constructor * - * @param a Zombie Matrix Grid + * @param matrix Zombie Matrix Grid * - * @throws java.lang.Exception Thrown if the Inputs are Invalid + * @throws Exception Thrown if the Inputs are Invalid */ public ZombieMatrix ( - final boolean[][] a) - throws java.lang.Exception + final boolean[][] matrix) + throws Exception { - if (null == a) - { - throw new java.lang.Exception ( - "ZombieMatrix Constructor => Invalid Inputs" - ); + if (null == matrix) { + throw new Exception ("ZombieMatrix Constructor => Invalid Inputs"); } - if (0 == (_rowCount = a.length)) - { - throw new java.lang.Exception ( - "ZombieMatrix Constructor => Invalid Inputs" - ); + if (0 == (_rowCount = matrix.length)) { + throw new Exception ("ZombieMatrix Constructor => Invalid Inputs"); } - for (int rowIndex = 0; - rowIndex < _rowCount; - ++rowIndex) - { - if (-1 == _columnCount) - { - if (0 == (_columnCount = a[rowIndex].length)) - { - throw new java.lang.Exception ( - "ZombieMatrix Constructor => Invalid Inputs" - ); + for (int rowIndex = 0; rowIndex < _rowCount; ++rowIndex) { + if (-1 == _columnCount) { + if (0 == (_columnCount = matrix[rowIndex].length)) { + throw new Exception ("ZombieMatrix Constructor => Invalid Inputs"); } - } - else if (_columnCount != a[rowIndex].length) - { - throw new java.lang.Exception ( - "ZombieMatrix Constructor => Invalid Inputs" - ); + } else if (_columnCount != matrix[rowIndex].length) { + throw new Exception ("ZombieMatrix Constructor => Invalid Inputs"); } } - for (int rowIndex = 0; - rowIndex < _rowCount; - ++rowIndex) - { - for (int columnIndex = 0; - columnIndex < _columnCount; - ++columnIndex) - { - if (a[rowIndex][columnIndex]) - { - _uninfectedCellSet.add ( - rowIndex * _rowCount + columnIndex - ); + for (int rowIndex = 0; rowIndex < _rowCount; ++rowIndex) { + for (int columnIndex = 0; columnIndex < _columnCount; ++columnIndex) { + if (matrix[rowIndex][columnIndex]) { + _uninfectedCellSet.add (rowIndex * _rowCount + columnIndex); } } } @@ -207,7 +188,7 @@ else if (_columnCount != a[rowIndex].length) * @return The Uninfected Cell Set */ - public java.util.Set uninfectedCellSet() + public Set uninfectedCellSet() { return _uninfectedCellSet; } @@ -244,20 +225,12 @@ public int infectionPeriod() { int infectionPeriod = 0; - while (!_uninfectedCellSet.isEmpty()) - { - java.util.Set uninfectedCellSetUpdate = - new java.util.TreeSet(); + while (!_uninfectedCellSet.isEmpty()) { + Set uninfectedCellSetUpdate = new TreeSet(); - for (int cell : _uninfectedCellSet) - { - if (!infectable ( - cell - )) - { - uninfectedCellSetUpdate.add ( - cell - ); + for (int cell : _uninfectedCellSet) { + if (!infectable (cell)) { + uninfectedCellSetUpdate.add (cell); } } diff --git a/src/main/java/org/drip/spaces/cover/CarlStephaniNormedBounds.java b/src/main/java/org/drip/spaces/cover/CarlStephaniNormedBounds.java index cd0877e8fe50..eecab48758ac 100644 --- a/src/main/java/org/drip/spaces/cover/CarlStephaniNormedBounds.java +++ b/src/main/java/org/drip/spaces/cover/CarlStephaniNormedBounds.java @@ -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 @@ -82,7 +87,7 @@ /** * CarlStephaniNormedBounds contains the Normed Bounds that result from the Convolution Product of 2 - * Normed Rx To Normed Rx Function Spaces. The References are: + * Normed Rx To Normed Rx Function Spaces. The References are: * *

*
    @@ -101,39 +106,57 @@ * *
* - *

+ * It provides the following Functionality: + * * - *

+ * + *
+ * + * + * + * + * + * + * + *
Module Computational Core Module
Library Statistical Learning Library
Project R1 and Rd Vector/Tensor Spaces (Validated and/or Normed), and Function Classes
Package Vector Spaces Covering Number Estimator
* * @author Lakshmi Krishnamurthy */ -public class CarlStephaniNormedBounds { - private double _dblEntropyBoundNormA = java.lang.Double.NaN; - private double _dblEntropyBoundNormB = java.lang.Double.NaN; +public class CarlStephaniNormedBounds +{ + private double _entropyBoundNormA = Double.NaN; + private double _entropyBoundNormB = java.lang.Double.NaN; /** * CarlStephaniNormedBounds Constructor * - * @param dblEntropyBoundNormA The Entropy Bound using the Function Class Norm A - * @param dblEntropyBoundNormB The Entropy Bound using the Function Class Norm B + * @param entropyBoundNormA The Entropy Bound using the Function Class Norm A + * @param entropyBoundNormB The Entropy Bound using the Function Class Norm B * - * @throws java.lang.Exception Thrown if the Inputs are Invalid + * @throws Exception Thrown if the Inputs are Invalid */ public CarlStephaniNormedBounds ( - final double dblEntropyBoundNormA, - final double dblEntropyBoundNormB) - throws java.lang.Exception + final double entropyBoundNormA, + final double entropyBoundNormB) + throws Exception { - if (!org.drip.numerical.common.NumberUtil.IsValid (_dblEntropyBoundNormA = dblEntropyBoundNormA) || - !org.drip.numerical.common.NumberUtil.IsValid (_dblEntropyBoundNormB = dblEntropyBoundNormB)) - throw new java.lang.Exception ("CarlStephaniNormedBounds Constructor => Invalid Inputs"); + if (!NumberUtil.IsValid (_entropyBoundNormA = entropyBoundNormA) || + !NumberUtil.IsValid (_entropyBoundNormB = entropyBoundNormB)) + { + throw new Exception ("CarlStephaniNormedBounds Constructor => Invalid Inputs"); + } } /** @@ -144,7 +167,7 @@ public CarlStephaniNormedBounds ( public double entropyBoundNormA() { - return _dblEntropyBoundNormA; + return _entropyBoundNormA; } /** @@ -155,7 +178,7 @@ public double entropyBoundNormA() public double entropyBoundNormB() { - return _dblEntropyBoundNormB; + return _entropyBoundNormB; } /** @@ -166,6 +189,6 @@ public double entropyBoundNormB() public double minimumUpperBound() { - return _dblEntropyBoundNormA < _dblEntropyBoundNormB ? _dblEntropyBoundNormA : _dblEntropyBoundNormB; + return _entropyBoundNormA < _entropyBoundNormB ? _entropyBoundNormA : _entropyBoundNormB; } }