This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datasketches-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new c9ae1dc3 Automatic Site Publish by Buildbot
c9ae1dc3 is described below
commit c9ae1dc3dd4e2d16c211bc17d9576752deff2f1c
Author: buildbot <[email protected]>
AuthorDate: Fri Aug 2 20:09:52 2024 +0000
Automatic Site Publish by Buildbot
---
output/docs/Architecture/Components.html | 1 +
output/docs/Architecture/Concurrency.html | 1 +
output/docs/Architecture/KeyFeatures.html | 1 +
output/docs/Architecture/LargeScale.html | 1 +
output/docs/Architecture/MajorSketchFamilies.html | 1 +
output/docs/Architecture/OrderSensitivity.html | 1 +
.../RunningCharacterizationRemotely.html | 1 +
output/docs/Architecture/SketchCriteria.html | 1 +
output/docs/Architecture/SketchFeaturesMatrix.html | 1 +
output/docs/Architecture/SketchesByComponent.html | 1 +
output/docs/Background/Presentations.html | 1 +
output/docs/Background/SketchElements.html | 1 +
output/docs/Background/SketchOrigins.html | 1 +
output/docs/Background/TheChallenge.html | 1 +
output/docs/CPC/CPC.html | 1 +
output/docs/CPC/CpcCppExample.html | 1 +
output/docs/CPC/CpcHiveExample.html | 1 +
output/docs/CPC/CpcJavaExample.html | 1 +
output/docs/CPC/CpcPerformance.html | 1 +
output/docs/CPC/CpcPigExample.html | 1 +
output/docs/Community/Downloads.html | 1 +
output/docs/Community/NewCommitterProcess.html | 1 +
.../Community/ReleaseProcessForCppComponents.html | 1 +
.../Community/ReleaseProcessForJavaComponents.html | 1 +
output/docs/Community/Research.html | 1 +
output/docs/Community/Transitioning.html | 1 +
output/docs/Community/WhoUses.html | 1 +
output/docs/Community/index.html | 1 +
output/docs/DistinctCountFeaturesMatrix.html | 1 +
output/docs/DistinctCountMeritComparisons.html | 1 +
.../docs/Frequency/FrequencySketchesOverview.html | 1 +
.../Frequency/FrequentDistinctTuplesSketch.html | 1 +
output/docs/Frequency/FrequentItemsCppExample.html | 1 +
output/docs/Frequency/FrequentItemsHiveUDFs.html | 1 +
.../docs/Frequency/FrequentItemsJavaExample.html | 1 +
output/docs/Frequency/FrequentItemsOverview.html | 1 +
.../docs/Frequency/FrequentItemsPerformance.html | 1 +
output/docs/Frequency/FrequentItemsPigUDFs.html | 1 +
output/docs/Frequency/FrequentItemsReferences.html | 1 +
output/docs/Governance/ChairResponsibilities.html | 1 +
output/docs/Graduation/GraduationCheckList.html | 1 +
output/docs/Graduation/Maturity.html | 1 +
output/docs/Graduation/Resolution.html | 1 +
output/docs/HLL/HLL.html | 1 +
output/docs/HLL/HllCppExample.html | 1 +
output/docs/HLL/HllHiveUDFs.html | 1 +
output/docs/HLL/HllJavaExample.html | 1 +
output/docs/HLL/HllMap.html | 1 +
output/docs/HLL/HllPerformance.html | 1 +
output/docs/HLL/HllPigUDFs.html | 1 +
.../HLL/HllSketchVsDruidHyperLogLogCollector.html | 1 +
output/docs/HLL/Hll_vs_CS_Hllpp.html | 1 +
output/docs/HLL/Hll_vs_G_Hllpp.html | 1 +
output/docs/KLL/KLLAccuracyAndSize.html | 1 +
output/docs/KLL/KLLCppExample.html | 1 +
output/docs/KLL/KLLSketch.html | 1 +
.../UnderstandingKLLBounds.html} | 143 +++++++++++++++------
output/docs/Memory/MemoryComponent.html | 1 +
output/docs/Memory/MemoryPerformance.html | 1 +
output/docs/Quantiles/ClassicQuantilesSketch.html | 1 +
output/docs/Quantiles/QuantilesHiveUDFs.html | 1 +
output/docs/Quantiles/QuantilesJavaExample.html | 1 +
output/docs/Quantiles/QuantilesOverview.html | 1 +
output/docs/Quantiles/QuantilesPigUDFs.html | 1 +
output/docs/Quantiles/QuantilesReferences.html | 1 +
output/docs/Quantiles/QuantilesSketchOverview.html | 1 +
.../SketchingQuantilesAndRanksTutorial.html | 1 +
.../DruidApproxHistogramStudy.html | 1 +
output/docs/QuantilesStudies/ExactQuantiles.html | 1 +
.../docs/QuantilesStudies/KllSketchVsTDigest.html | 1 +
.../docs/QuantilesStudies/MomentsSketchStudy.html | 1 +
.../QuantilesStudies/QuantilesStreamAStudy.html | 1 +
output/docs/REQ/ReqAccuracyAdversarial.html | 1 +
.../docs/REQ/ReqAccuracyRandomShuffledStreams.html | 1 +
output/docs/REQ/ReqSketch.html | 1 +
output/docs/Sampling/ReservoirSampling.html | 1 +
output/docs/Sampling/ReservoirSamplingJava.html | 1 +
.../Sampling/ReservoirSamplingPerformance.html | 1 +
output/docs/Sampling/ReservoirSamplingPigUDFs.html | 1 +
output/docs/Sampling/VarOptPigUDFs.html | 1 +
output/docs/Sampling/VarOptSampling.html | 1 +
output/docs/Sampling/VarOptSamplingJava.html | 1 +
.../SystemIntegrations/ApacheDruidIntegration.html | 1 +
.../SystemIntegrations/ApacheHiveIntegration.html | 1 +
.../SystemIntegrations/ApachePigIntegration.html | 1 +
.../SystemIntegrations/ApachePinotIntegration.html | 1 +
.../SystemIntegrations/PostgreSQLIntegration.html | 1 +
output/docs/Theta/AccuracyOfDifferentKUnions.html | 1 +
output/docs/Theta/ConcurrentThetaSketch.html | 1 +
output/docs/Theta/InverseEstimate.html | 1 +
output/docs/Theta/KMVbetterEst.html | 1 +
output/docs/Theta/KMVempty.html | 1 +
output/docs/Theta/KMVfirstEst.html | 1 +
output/docs/Theta/KMVrejection.html | 1 +
output/docs/Theta/KMVupdateVkth.html | 1 +
output/docs/Theta/ThetaAccuracy.html | 1 +
output/docs/Theta/ThetaAccuracyPlots.html | 1 +
output/docs/Theta/ThetaConfidenceIntervals.html | 1 +
output/docs/Theta/ThetaErrorTable.html | 1 +
output/docs/Theta/ThetaHiveUDFs.html | 1 +
output/docs/Theta/ThetaJavaExample.html | 1 +
output/docs/Theta/ThetaMergeSpeed.html | 1 +
output/docs/Theta/ThetaMergingAlgorithm.html | 1 +
output/docs/Theta/ThetaPSampling.html | 1 +
output/docs/Theta/ThetaPigUDFs.html | 1 +
output/docs/Theta/ThetaReferences.html | 1 +
output/docs/Theta/ThetaSetOpsCornerCases.html | 1 +
output/docs/Theta/ThetaSize.html | 1 +
output/docs/Theta/ThetaSketchFramework.html | 1 +
output/docs/Theta/ThetaSketchSetOps.html | 1 +
output/docs/Theta/ThetaSketchSetOpsAccuracy.html | 1 +
output/docs/Theta/ThetaSparkExample.html | 1 +
output/docs/Theta/ThetaUpdateSpeed.html | 1 +
output/docs/Tuple/TupleEngagementExample.html | 1 +
output/docs/Tuple/TupleHiveUDFs.html | 1 +
output/docs/Tuple/TupleJavaExample.html | 1 +
output/docs/Tuple/TupleOverview.html | 1 +
output/docs/Tuple/TuplePigUDFs.html | 1 +
output/docs/img/kll/QuantileBounds1.png | Bin 0 -> 140985 bytes
output/docs/img/kll/QuantileBounds2.png | Bin 0 -> 139178 bytes
120 files changed, 219 insertions(+), 41 deletions(-)
diff --git a/output/docs/Architecture/Components.html
b/output/docs/Architecture/Components.html
index 94c89d00..360ce650 100644
--- a/output/docs/Architecture/Components.html
+++ b/output/docs/Architecture/Components.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Architecture/Concurrency.html
b/output/docs/Architecture/Concurrency.html
index ead76093..db54594c 100644
--- a/output/docs/Architecture/Concurrency.html
+++ b/output/docs/Architecture/Concurrency.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Architecture/KeyFeatures.html
b/output/docs/Architecture/KeyFeatures.html
index 301a5106..1d20d98d 100644
--- a/output/docs/Architecture/KeyFeatures.html
+++ b/output/docs/Architecture/KeyFeatures.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Architecture/LargeScale.html
b/output/docs/Architecture/LargeScale.html
index 6d1301ea..5c411310 100644
--- a/output/docs/Architecture/LargeScale.html
+++ b/output/docs/Architecture/LargeScale.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Architecture/MajorSketchFamilies.html
b/output/docs/Architecture/MajorSketchFamilies.html
index 53ea5c75..9379e134 100644
--- a/output/docs/Architecture/MajorSketchFamilies.html
+++ b/output/docs/Architecture/MajorSketchFamilies.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Architecture/OrderSensitivity.html
b/output/docs/Architecture/OrderSensitivity.html
index a2e210cd..14677bf3 100644
--- a/output/docs/Architecture/OrderSensitivity.html
+++ b/output/docs/Architecture/OrderSensitivity.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Architecture/RunningCharacterizationRemotely.html
b/output/docs/Architecture/RunningCharacterizationRemotely.html
index cc71c247..93f82a0f 100644
--- a/output/docs/Architecture/RunningCharacterizationRemotely.html
+++ b/output/docs/Architecture/RunningCharacterizationRemotely.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Architecture/SketchCriteria.html
b/output/docs/Architecture/SketchCriteria.html
index 509f1706..acf86cb9 100644
--- a/output/docs/Architecture/SketchCriteria.html
+++ b/output/docs/Architecture/SketchCriteria.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Architecture/SketchFeaturesMatrix.html
b/output/docs/Architecture/SketchFeaturesMatrix.html
index 219affc4..583d2973 100644
--- a/output/docs/Architecture/SketchFeaturesMatrix.html
+++ b/output/docs/Architecture/SketchFeaturesMatrix.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Architecture/SketchesByComponent.html
b/output/docs/Architecture/SketchesByComponent.html
index 44b7aa53..ab5f9ac6 100644
--- a/output/docs/Architecture/SketchesByComponent.html
+++ b/output/docs/Architecture/SketchesByComponent.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Background/Presentations.html
b/output/docs/Background/Presentations.html
index a5e0d900..e83351ba 100644
--- a/output/docs/Background/Presentations.html
+++ b/output/docs/Background/Presentations.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Background/SketchElements.html
b/output/docs/Background/SketchElements.html
index cb8dd534..ac2b7430 100644
--- a/output/docs/Background/SketchElements.html
+++ b/output/docs/Background/SketchElements.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Background/SketchOrigins.html
b/output/docs/Background/SketchOrigins.html
index 57586211..23e8f0e9 100644
--- a/output/docs/Background/SketchOrigins.html
+++ b/output/docs/Background/SketchOrigins.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Background/TheChallenge.html
b/output/docs/Background/TheChallenge.html
index 3345e0fd..7e803b59 100644
--- a/output/docs/Background/TheChallenge.html
+++ b/output/docs/Background/TheChallenge.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/CPC/CPC.html b/output/docs/CPC/CPC.html
index 559370f8..58d1b7aa 100644
--- a/output/docs/CPC/CPC.html
+++ b/output/docs/CPC/CPC.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/CPC/CpcCppExample.html
b/output/docs/CPC/CpcCppExample.html
index aaf19cc3..64a40666 100644
--- a/output/docs/CPC/CpcCppExample.html
+++ b/output/docs/CPC/CpcCppExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/CPC/CpcHiveExample.html
b/output/docs/CPC/CpcHiveExample.html
index 0865a73d..ee40cdce 100644
--- a/output/docs/CPC/CpcHiveExample.html
+++ b/output/docs/CPC/CpcHiveExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/CPC/CpcJavaExample.html
b/output/docs/CPC/CpcJavaExample.html
index eb8552c8..1ef21264 100644
--- a/output/docs/CPC/CpcJavaExample.html
+++ b/output/docs/CPC/CpcJavaExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/CPC/CpcPerformance.html
b/output/docs/CPC/CpcPerformance.html
index 1866a411..5120f0cc 100644
--- a/output/docs/CPC/CpcPerformance.html
+++ b/output/docs/CPC/CpcPerformance.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/CPC/CpcPigExample.html
b/output/docs/CPC/CpcPigExample.html
index 651b4550..bb4f5804 100644
--- a/output/docs/CPC/CpcPigExample.html
+++ b/output/docs/CPC/CpcPigExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Community/Downloads.html
b/output/docs/Community/Downloads.html
index d18e8ad3..440855dc 100644
--- a/output/docs/Community/Downloads.html
+++ b/output/docs/Community/Downloads.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Community/NewCommitterProcess.html
b/output/docs/Community/NewCommitterProcess.html
index fadc45bd..663e2346 100644
--- a/output/docs/Community/NewCommitterProcess.html
+++ b/output/docs/Community/NewCommitterProcess.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Community/ReleaseProcessForCppComponents.html
b/output/docs/Community/ReleaseProcessForCppComponents.html
index b3fceed9..d30626ad 100644
--- a/output/docs/Community/ReleaseProcessForCppComponents.html
+++ b/output/docs/Community/ReleaseProcessForCppComponents.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Community/ReleaseProcessForJavaComponents.html
b/output/docs/Community/ReleaseProcessForJavaComponents.html
index 4560809a..117ecdfb 100644
--- a/output/docs/Community/ReleaseProcessForJavaComponents.html
+++ b/output/docs/Community/ReleaseProcessForJavaComponents.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Community/Research.html
b/output/docs/Community/Research.html
index e8ab4adc..de63c1f7 100644
--- a/output/docs/Community/Research.html
+++ b/output/docs/Community/Research.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Community/Transitioning.html
b/output/docs/Community/Transitioning.html
index 93186fa1..d77424ac 100644
--- a/output/docs/Community/Transitioning.html
+++ b/output/docs/Community/Transitioning.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Community/WhoUses.html
b/output/docs/Community/WhoUses.html
index c73c4d87..e10c15ba 100644
--- a/output/docs/Community/WhoUses.html
+++ b/output/docs/Community/WhoUses.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Community/index.html b/output/docs/Community/index.html
index 2605e30c..30fca28b 100644
--- a/output/docs/Community/index.html
+++ b/output/docs/Community/index.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/DistinctCountFeaturesMatrix.html
b/output/docs/DistinctCountFeaturesMatrix.html
index 53fee73d..ea9af14a 100644
--- a/output/docs/DistinctCountFeaturesMatrix.html
+++ b/output/docs/DistinctCountFeaturesMatrix.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/DistinctCountMeritComparisons.html
b/output/docs/DistinctCountMeritComparisons.html
index 171c68a3..a8857949 100644
--- a/output/docs/DistinctCountMeritComparisons.html
+++ b/output/docs/DistinctCountMeritComparisons.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Frequency/FrequencySketchesOverview.html
b/output/docs/Frequency/FrequencySketchesOverview.html
index 86da8d20..c1d076b9 100644
--- a/output/docs/Frequency/FrequencySketchesOverview.html
+++ b/output/docs/Frequency/FrequencySketchesOverview.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Frequency/FrequentDistinctTuplesSketch.html
b/output/docs/Frequency/FrequentDistinctTuplesSketch.html
index 05c86962..018c04ef 100644
--- a/output/docs/Frequency/FrequentDistinctTuplesSketch.html
+++ b/output/docs/Frequency/FrequentDistinctTuplesSketch.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Frequency/FrequentItemsCppExample.html
b/output/docs/Frequency/FrequentItemsCppExample.html
index d7c7bd35..7101cd5c 100644
--- a/output/docs/Frequency/FrequentItemsCppExample.html
+++ b/output/docs/Frequency/FrequentItemsCppExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Frequency/FrequentItemsHiveUDFs.html
b/output/docs/Frequency/FrequentItemsHiveUDFs.html
index a0a39b70..7c1a6551 100644
--- a/output/docs/Frequency/FrequentItemsHiveUDFs.html
+++ b/output/docs/Frequency/FrequentItemsHiveUDFs.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Frequency/FrequentItemsJavaExample.html
b/output/docs/Frequency/FrequentItemsJavaExample.html
index 31881bb9..b4b2cb91 100644
--- a/output/docs/Frequency/FrequentItemsJavaExample.html
+++ b/output/docs/Frequency/FrequentItemsJavaExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Frequency/FrequentItemsOverview.html
b/output/docs/Frequency/FrequentItemsOverview.html
index 21e41216..9b872f00 100644
--- a/output/docs/Frequency/FrequentItemsOverview.html
+++ b/output/docs/Frequency/FrequentItemsOverview.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Frequency/FrequentItemsPerformance.html
b/output/docs/Frequency/FrequentItemsPerformance.html
index 9f50b825..68669414 100644
--- a/output/docs/Frequency/FrequentItemsPerformance.html
+++ b/output/docs/Frequency/FrequentItemsPerformance.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Frequency/FrequentItemsPigUDFs.html
b/output/docs/Frequency/FrequentItemsPigUDFs.html
index cd23ddb5..3f07f640 100644
--- a/output/docs/Frequency/FrequentItemsPigUDFs.html
+++ b/output/docs/Frequency/FrequentItemsPigUDFs.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Frequency/FrequentItemsReferences.html
b/output/docs/Frequency/FrequentItemsReferences.html
index 77b3af5e..9ff9275d 100644
--- a/output/docs/Frequency/FrequentItemsReferences.html
+++ b/output/docs/Frequency/FrequentItemsReferences.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Governance/ChairResponsibilities.html
b/output/docs/Governance/ChairResponsibilities.html
index f1928fa0..a61d0e69 100644
--- a/output/docs/Governance/ChairResponsibilities.html
+++ b/output/docs/Governance/ChairResponsibilities.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Graduation/GraduationCheckList.html
b/output/docs/Graduation/GraduationCheckList.html
index b4ba438e..8447857b 100644
--- a/output/docs/Graduation/GraduationCheckList.html
+++ b/output/docs/Graduation/GraduationCheckList.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Graduation/Maturity.html
b/output/docs/Graduation/Maturity.html
index 8703112b..6e92f2f0 100644
--- a/output/docs/Graduation/Maturity.html
+++ b/output/docs/Graduation/Maturity.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Graduation/Resolution.html
b/output/docs/Graduation/Resolution.html
index 3d04200c..b6aca82b 100644
--- a/output/docs/Graduation/Resolution.html
+++ b/output/docs/Graduation/Resolution.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/HLL/HLL.html b/output/docs/HLL/HLL.html
index 7feeae21..146c7ffe 100644
--- a/output/docs/HLL/HLL.html
+++ b/output/docs/HLL/HLL.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/HLL/HllCppExample.html
b/output/docs/HLL/HllCppExample.html
index f2b08ffb..45eb9ffc 100644
--- a/output/docs/HLL/HllCppExample.html
+++ b/output/docs/HLL/HllCppExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/HLL/HllHiveUDFs.html b/output/docs/HLL/HllHiveUDFs.html
index ae9b6aee..23406c5c 100644
--- a/output/docs/HLL/HllHiveUDFs.html
+++ b/output/docs/HLL/HllHiveUDFs.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/HLL/HllJavaExample.html
b/output/docs/HLL/HllJavaExample.html
index 85860c16..2b066f36 100644
--- a/output/docs/HLL/HllJavaExample.html
+++ b/output/docs/HLL/HllJavaExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/HLL/HllMap.html b/output/docs/HLL/HllMap.html
index 902265b0..25346216 100644
--- a/output/docs/HLL/HllMap.html
+++ b/output/docs/HLL/HllMap.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/HLL/HllPerformance.html
b/output/docs/HLL/HllPerformance.html
index 68fe3ad6..7141fb93 100644
--- a/output/docs/HLL/HllPerformance.html
+++ b/output/docs/HLL/HllPerformance.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/HLL/HllPigUDFs.html b/output/docs/HLL/HllPigUDFs.html
index c54ea0b7..19999269 100644
--- a/output/docs/HLL/HllPigUDFs.html
+++ b/output/docs/HLL/HllPigUDFs.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/HLL/HllSketchVsDruidHyperLogLogCollector.html
b/output/docs/HLL/HllSketchVsDruidHyperLogLogCollector.html
index b68b3ef0..71dbe3c1 100644
--- a/output/docs/HLL/HllSketchVsDruidHyperLogLogCollector.html
+++ b/output/docs/HLL/HllSketchVsDruidHyperLogLogCollector.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/HLL/Hll_vs_CS_Hllpp.html
b/output/docs/HLL/Hll_vs_CS_Hllpp.html
index 9b2fe38f..90f412e1 100644
--- a/output/docs/HLL/Hll_vs_CS_Hllpp.html
+++ b/output/docs/HLL/Hll_vs_CS_Hllpp.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/HLL/Hll_vs_G_Hllpp.html
b/output/docs/HLL/Hll_vs_G_Hllpp.html
index e5ed4149..09606925 100644
--- a/output/docs/HLL/Hll_vs_G_Hllpp.html
+++ b/output/docs/HLL/Hll_vs_G_Hllpp.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/KLL/KLLAccuracyAndSize.html
b/output/docs/KLL/KLLAccuracyAndSize.html
index d8c6cc85..c88957c6 100644
--- a/output/docs/KLL/KLLAccuracyAndSize.html
+++ b/output/docs/KLL/KLLAccuracyAndSize.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/KLL/KLLCppExample.html
b/output/docs/KLL/KLLCppExample.html
index f7d5745b..aaf7defd 100644
--- a/output/docs/KLL/KLLCppExample.html
+++ b/output/docs/KLL/KLLCppExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/KLL/KLLSketch.html b/output/docs/KLL/KLLSketch.html
index 381f627e..50343cb3 100644
--- a/output/docs/KLL/KLLSketch.html
+++ b/output/docs/KLL/KLLSketch.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/SystemIntegrations/ApachePinotIntegration.html
b/output/docs/KLL/UnderstandingKLLBounds.html
similarity index 69%
copy from output/docs/SystemIntegrations/ApachePinotIntegration.html
copy to output/docs/KLL/UnderstandingKLLBounds.html
index 32684850..333f2a07 100644
--- a/output/docs/SystemIntegrations/ApachePinotIntegration.html
+++ b/output/docs/KLL/UnderstandingKLLBounds.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
@@ -522,60 +523,120 @@
specific language governing permissions and limitations
under the License.
-->
-<h3 id="apache-pinot-integration">Apache Pinot Integration</h3>
-<p><a href="https://pinot.apache.org/">Apache Pinot</a> has built-in support
for most major sketch families from Apache Datasketches as aggregation and
transformation functions in its SQL dialect.</p>
-
-<p>Example:</p>
-<div class="language-sql highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="k">select</span> <span
class="n">distinctCountThetaSketch</span><span class="p">(</span>
- <span class="n">sketchCol</span><span class="p">,</span>
- <span class="s1">'nominalEntries=1024'</span><span class="p">,</span>
- <span class="s1">'country'</span><span class="o">=</span><span
class="s1">''</span><span class="n">USA</span><span class="s1">''</span> <span
class="k">AND</span> <span class="s1">'state'</span><span
class="o">=</span><span class="s1">''</span><span class="n">CA</span><span
class="s1">''</span><span class="p">,</span> <span
class="s1">'device'</span><span class="o">=</span><span
class="s1">''</span><span class="n">mobile</span><span
class="s1">''</span><span class="p">,</span> <span cl [...]
-<span class="p">)</span>
-<span class="k">from</span> <span class="k">table</span>
-<span class="k">where</span> <span class="n">country</span> <span
class="o">=</span> <span class="s1">'USA'</span> <span class="k">or</span>
<span class="n">device</span> <span class="o">=</span> <span
class="s1">'mobile...'</span>
-</code></pre></div></div>
+<h1 id="understanding-kll-bounds">Understanding KLL Bounds</h1>
-<h3 id="cardinality-estimation">Cardinality Estimation</h3>
-<ul>
- <li><a
href="https://docs.pinot.apache.org/configuration-reference/functions/distinctcountthetasketch">DistinctCountThetaSketch</a></li>
- <li><a
href="https://docs.pinot.apache.org/users/user-guide-query/query-syntax/how-to-handle-unique-counting#compressed-probability-counting-cpc-sketches">CPCSketch</a></li>
- <li><a
href="https://docs.pinot.apache.org/users/user-guide-query/query-syntax/how-to-handle-unique-counting#tuple-sketches">TupleSketches</a></li>
-</ul>
+<p>This code example illustrates the use of 4 important bounds functions
provided by the KLL sketches:</p>
-<h3 id="quantiles">Quantiles</h3>
<ul>
- <li><a
href="https://docs.pinot.apache.org/configuration-reference/functions/percentilekll">PercentileKLL</a></li>
+ <li>getRankLowerBound(normalized rank)</li>
+ <li>getRankUpperBound(normalized rank)</li>
+ <li>getQuantileLowerBound(normalized rank)</li>
+ <li>getQuantileUpperBound(normalized rank)</li>
</ul>
-<h3 id="frequent-items">Frequent Items</h3>
-<ul>
- <li><a
href="https://docs.pinot.apache.org/configuration-reference/functions/frequentlongssketch">FrequentLongsSketch</a></li>
- <li><a
href="https://docs.pinot.apache.org/configuration-reference/functions/frequentstringssketch">FrequentStringsSketch</a></li>
-</ul>
+<p>The input into the sketch is a simple monotonic sequence but with a big
discontinuity in the middle. Then we extract the upper and lower bounds of both
the rank and quantile domains on both sides of the discontinuity.</p>
+
+<h2 id="first-the-code">First the code:</h2>
+
+<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="kn">import</span> <span
class="nn">org.testng.annotations.Test</span><span class="o">;</span>
+
+<span class="kd">public</span> <span class="kd">class</span> <span
class="nc">QuantileBoundsTest</span> <span class="o">{</span>
+ <span class="kd">private</span> <span class="kt">int</span> <span
class="n">n</span> <span class="o">=</span> <span class="mi">1000</span><span
class="o">;</span>
+ <span class="kd">private</span> <span class="kt">int</span> <span
class="n">k</span> <span class="o">=</span> <span class="mi">400</span><span
class="o">;</span>
+
+ <span class="nd">@Test</span>
+ <span class="kd">public</span> <span class="kt">void</span> <span
class="nf">exampleQuantileBounds</span><span class="o">(</span> <span
class="o">)</span> <span class="o">{</span>
+ <span class="nc">KllDoublesSketch</span> <span class="n">sk</span> <span
class="o">=</span> <span class="nc">KllDoublesSketch</span><span
class="o">.</span><span class="na">newHeapInstance</span><span
class="o">(</span><span class="n">k</span><span class="o">);</span>
+ <span class="k">for</span> <span class="o">(</span><span
class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span
class="mi">1</span><span class="o">;</span> <span class="n">i</span> <span
class="o"><=</span> <span class="n">n</span><span class="o">;</span> <span
class="n">i</span><span class="o">++)</span> <span class="o">{</span>
+ <span class="kt">int</span> <span class="n">j</span> <span
class="o">=</span> <span class="o">(</span><span class="n">i</span> <span
class="o">></span> <span class="mi">500</span><span class="o">)?</span>
<span class="n">i</span> <span class="o">+</span> <span class="mi">100</span>
<span class="o">:</span> <span class="n">i</span><span class="o">;</span> <span
class="c1">//note big jump at 501!</span>
+ <span class="n">sk</span><span class="o">.</span><span
class="na">update</span><span class="o">(</span><span class="n">j</span><span
class="o">);</span>
+ <span class="o">}</span>
+
+ <span class="kt">double</span> <span class="n">rankError</span> <span
class="o">=</span> <span class="n">sk</span><span class="o">.</span><span
class="na">getNormalizedRankError</span><span class="o">(</span><span
class="kc">false</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">"Normalized Rank Error: +/- "</span> <span class="o">+</span> <span
class="n">rankError</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">"Absolute Rank Error : +/- "</span> <span class="o">+</span> <span
class="n">rankError</span> <span class="o">*</span> <span
class="n">n</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">""</span><span class="o">);</span>
+
+ <span class="kt">double</span> <span class="n">q1</span> <span
class="o">=</span> <span class="mi">500</span><span class="o">;</span>
+ <span class="n">println</span><span class="o">(</span><span class="s">"q1:
"</span> <span class="o">+</span> <span class="n">q1</span><span
class="o">);</span>
+ <span class="kt">double</span> <span class="n">q2</span> <span
class="o">=</span> <span class="mi">620</span><span class="o">;</span>
+ <span class="n">println</span><span class="o">(</span><span class="s">"q2:
"</span> <span class="o">+</span> <span class="n">q2</span><span
class="o">);</span>
+
+ <span class="kt">double</span> <span class="n">r1</span> <span
class="o">=</span> <span class="n">sk</span><span class="o">.</span><span
class="na">getRank</span><span class="o">(</span><span class="n">q1</span><span
class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span class="s">"r1:
"</span> <span class="o">+</span> <span class="n">r1</span><span
class="o">);</span>
+ <span class="kt">double</span> <span class="n">r2</span> <span
class="o">=</span> <span class="n">sk</span><span class="o">.</span><span
class="na">getRank</span><span class="o">(</span><span class="n">q2</span><span
class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span class="s">"r2:
"</span> <span class="o">+</span> <span class="n">r2</span><span
class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">""</span><span class="o">);</span>
+
+ <span class="kt">double</span> <span class="n">r1LB</span> <span
class="o">=</span> <span class="n">sk</span><span class="o">.</span><span
class="na">getRankLowerBound</span><span class="o">(</span><span
class="n">r1</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">"r1LB: "</span> <span class="o">+</span> <span
class="n">r1LB</span><span class="o">);</span>
+ <span class="kt">double</span> <span class="n">r1UB</span> <span
class="o">=</span> <span class="n">sk</span><span class="o">.</span><span
class="na">getRankUpperBound</span><span class="o">(</span><span
class="n">r1</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">"r1UB: "</span> <span class="o">+</span> <span
class="n">r1UB</span><span class="o">);</span>
+
+ <span class="kt">double</span> <span class="n">r2LB</span> <span
class="o">=</span> <span class="n">sk</span><span class="o">.</span><span
class="na">getRankLowerBound</span><span class="o">(</span><span
class="n">r2</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">"r2LB: "</span> <span class="o">+</span> <span
class="n">r2LB</span><span class="o">);</span>
+ <span class="kt">double</span> <span class="n">r2UB</span> <span
class="o">=</span> <span class="n">sk</span><span class="o">.</span><span
class="na">getRankUpperBound</span><span class="o">(</span><span
class="n">r2</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">"r2UB: "</span> <span class="o">+</span> <span
class="n">r2UB</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">""</span><span class="o">);</span>
+
+ <span class="kt">double</span> <span class="n">q1LB</span> <span
class="o">=</span> <span class="n">sk</span><span class="o">.</span><span
class="na">getQuantileLowerBound</span><span class="o">(</span><span
class="n">r1</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">"q1LB(r1): "</span> <span class="o">+</span> <span
class="n">q1LB</span><span class="o">);</span>
+ <span class="kt">double</span> <span class="n">q1UB</span> <span
class="o">=</span> <span class="n">sk</span><span class="o">.</span><span
class="na">getQuantileUpperBound</span><span class="o">(</span><span
class="n">r1</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">"q1UB(r1): "</span> <span class="o">+</span> <span
class="n">q1UB</span><span class="o">);</span>
+
+ <span class="kt">double</span> <span class="n">q2LB</span> <span
class="o">=</span> <span class="n">sk</span><span class="o">.</span><span
class="na">getQuantileLowerBound</span><span class="o">(</span><span
class="n">r2</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">"q2LB(r2): "</span> <span class="o">+</span> <span
class="n">q2LB</span><span class="o">);</span>
+ <span class="kt">double</span> <span class="n">q2UB</span> <span
class="o">=</span> <span class="n">sk</span><span class="o">.</span><span
class="na">getQuantileUpperBound</span><span class="o">(</span><span
class="n">r2</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">"q2UB(r2): "</span> <span class="o">+</span> <span
class="n">q2UB</span><span class="o">);</span>
+ <span class="n">println</span><span class="o">(</span><span
class="s">""</span><span class="o">);</span>
+ <span class="o">}</span>
+
+ <span class="kd">static</span> <span class="kt">void</span> <span
class="nf">println</span><span class="o">(</span><span class="nc">Object</span>
<span class="n">o</span><span class="o">)</span> <span class="o">{</span> <span
class="nc">System</span><span class="o">.</span><span
class="na">out</span><span class="o">.</span><span
class="na">println</span><span class="o">(</span><span class="n">o</span><span
class="o">.</span><span class="na">toString</span><span class="o">());</span>
<s [...]
+<span class="o">}</span>
+</code></pre></div></div>
-<hr />
+<h2 id="the-output">The Output</h2>
-<h3 id="advanced-integration">Advanced Integration</h3>
-<h4 id="raw-output-mode">Raw Output Mode</h4>
-<p>Supported functions have ‘raw’ variants which can output binary
representations of sketches for further processing.</p>
+<div class="highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>Normalized Rank Error: +/- 0.0067762427270138155
+Absolute Rank Error : +/- 6.776242727013815
-<p>Example:</p>
-<div class="language-sql highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="k">select</span> <span
class="n">percentileRawKll</span><span class="p">(</span><span
class="n">ArrDelayMinutes</span><span class="p">,</span> <span
class="mi">90</span><span class="p">)</span> <span class="k">as</span> <span
class="n">sketch</span>
-<span class="k">from</span> <span class="n">airlineStats</span>
-</code></pre></div></div>
-<p>Returns Base64 encoded string: <code
class="highlighter-rouge">BQEPC...</code></p>
+q1: 500.0
+q2: 620.0
+r1: 0.5
+r2: 0.52
-<p>Output can be processed as:</p>
+r1LB: 0.4932237572729862
+r1UB: 0.5067762427270138
+r2LB: 0.5132237572729862
+r2UB: 0.5267762427270138
-<div class="language-java highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="kt">byte</span><span class="o">[]</span>
<span class="n">decodedBytes</span> <span class="o">=</span> <span
class="nc">Base64</span><span class="o">.</span><span
class="na">getDecoder</span><span class="o">().</span><span
class="na">decode</span><span class="o">(</span><span
class="n">encoded</span><span class="o">);</span>
-<span class="nc">KllDoublesSketch</span> <span class="n">sketch</span> <span
class="o">=</span> <span class="nc">KllDoublesSketch</span><span
class="o">.</span><span class="na">wrap</span><span class="o">(</span><span
class="nc">Memory</span><span class="o">.</span><span
class="na">wrap</span><span class="o">(</span><span
class="n">decodedBytes</span><span class="o">));</span>
+q1LB(r1): 494.0
+q1UB(r1): 608.0
+q2LB(r2): 614.0
+q2UB(r2): 628.0
-<span class="nc">System</span><span class="o">.</span><span
class="na">out</span><span class="o">.</span><span
class="na">println</span><span class="o">(</span><span class="s">"Min, Median,
Max values:"</span><span class="o">);</span>
-<span class="nc">System</span><span class="o">.</span><span
class="na">out</span><span class="o">.</span><span
class="na">println</span><span class="o">(</span><span
class="nc">Arrays</span><span class="o">.</span><span
class="na">toString</span><span class="o">(</span><span
class="n">sketch</span><span class="o">.</span><span
class="na">getQuantiles</span><span class="o">(</span><span
class="k">new</span> <span class="kt">double</span><span
class="o">[]{</span><span class="mi">0</span>< [...]
+PASSED: exampleQuantileBounds
</code></pre></div></div>
-<h4 id="pre-built-sketch-ingestion">Pre-built Sketch Ingestion</h4>
-<p>Apache Pinot can also ingest pre-built sketch objects either via Kafka
(Realtime) or Spark (Batch) and merge them when doing aggregations.</p>
+<h2 id="discussion">Discussion</h2>
+<p>The sketch is configured with a k=400, which results in a normalized rank
error of +/- .68%. Multiplying that by <em>n</em> produces the absolute (or
natural) rank error of 6.8 relative to <em>n</em> of 1000.</p>
+
+<p>The input stream of 1000 values has a big discontinuity starting at
<em>i</em> = 501. So the actual sequence of inputs is 1 to 500 and 601 to
1100.</p>
+
+<p><img class="doc-img-half" src="/docs/img/kll/QuantileBounds1.png"
alt="QuantileBounds1.png" /></p>
+
+<p>We choose two quantiles on either side of the discontinuity, 500 and 620,
and get their respective ranks of 0.5 and 0.52. Note that because of the
discontinuity the difference in the input quantiles is 120/1100 or ~10.9%,
while the difference in their respective ranks is only 2%.</p>
+
+<p>Next we compute the upper and lower rank bounds of the two resulting ranks
of 0.5 and 0.52, which are given above. Note that the UB - LB of each rank is
about .013 which is 2 X .0067. This means that the true rank of each quantile
is within the UB - LB range of ranks with a confidence of 99%, which is about
+/- 2.6 standard deviations from the mean.</p>
+
+<p>Then we compute the upper and lower quantile bounds of the same two
resulting ranks of 0.5 and 0.52. Note that the UB - LB quantile range of
<em>r1</em> is 114/1100 or 10.4%, because in between the rank UB and LB is the
discontinuity. These points are shown in the next image.</p>
+
+<p><img class="doc-img-half" src="/docs/img/kll/QuantileBounds2.png"
alt="QuantileBounds2.png" /></p>
+
+<p>This graphically illustrates why the mathematical guarantee of error
applies only to the rank domain, because the input quantile domian could have
huge discontinuities. Nonetheless, we <strong>can</strong> say that the true
quantile does lie within that UB - LB quantile range with a confidence of 99%.
But we cannot guarantee anything about the UB - LB quantile difference and
relate that to a quantile accuracy compared to the total range of the input
values.</p>
+
+<p>Our Classic, KLL, and REQ quantiles sketches are input insensitive and do
not know or care what the input distribution looks like. It does not have to be
a smooth and well behaved function! This is not the case with other heuristic
quantile algorithms,</p>
+
</div> <!-- End content -->
</div> <!-- End row -->
diff --git a/output/docs/Memory/MemoryComponent.html
b/output/docs/Memory/MemoryComponent.html
index 4a5afaab..79aedbc3 100644
--- a/output/docs/Memory/MemoryComponent.html
+++ b/output/docs/Memory/MemoryComponent.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Memory/MemoryPerformance.html
b/output/docs/Memory/MemoryPerformance.html
index a71b6e11..2cac2888 100644
--- a/output/docs/Memory/MemoryPerformance.html
+++ b/output/docs/Memory/MemoryPerformance.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Quantiles/ClassicQuantilesSketch.html
b/output/docs/Quantiles/ClassicQuantilesSketch.html
index 5cf2b637..cd4ee250 100644
--- a/output/docs/Quantiles/ClassicQuantilesSketch.html
+++ b/output/docs/Quantiles/ClassicQuantilesSketch.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Quantiles/QuantilesHiveUDFs.html
b/output/docs/Quantiles/QuantilesHiveUDFs.html
index 01d1e2df..5e9b0e6c 100644
--- a/output/docs/Quantiles/QuantilesHiveUDFs.html
+++ b/output/docs/Quantiles/QuantilesHiveUDFs.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Quantiles/QuantilesJavaExample.html
b/output/docs/Quantiles/QuantilesJavaExample.html
index f8bf8dfc..0c2ca09f 100644
--- a/output/docs/Quantiles/QuantilesJavaExample.html
+++ b/output/docs/Quantiles/QuantilesJavaExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Quantiles/QuantilesOverview.html
b/output/docs/Quantiles/QuantilesOverview.html
index 1b7a7110..3e89dbc4 100644
--- a/output/docs/Quantiles/QuantilesOverview.html
+++ b/output/docs/Quantiles/QuantilesOverview.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Quantiles/QuantilesPigUDFs.html
b/output/docs/Quantiles/QuantilesPigUDFs.html
index 99fdd0c5..3de65065 100644
--- a/output/docs/Quantiles/QuantilesPigUDFs.html
+++ b/output/docs/Quantiles/QuantilesPigUDFs.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Quantiles/QuantilesReferences.html
b/output/docs/Quantiles/QuantilesReferences.html
index 76a973cf..5462144c 100644
--- a/output/docs/Quantiles/QuantilesReferences.html
+++ b/output/docs/Quantiles/QuantilesReferences.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Quantiles/QuantilesSketchOverview.html
b/output/docs/Quantiles/QuantilesSketchOverview.html
index 57aa876a..a48ae4f1 100644
--- a/output/docs/Quantiles/QuantilesSketchOverview.html
+++ b/output/docs/Quantiles/QuantilesSketchOverview.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Quantiles/SketchingQuantilesAndRanksTutorial.html
b/output/docs/Quantiles/SketchingQuantilesAndRanksTutorial.html
index 84e09f3c..008d8180 100644
--- a/output/docs/Quantiles/SketchingQuantilesAndRanksTutorial.html
+++ b/output/docs/Quantiles/SketchingQuantilesAndRanksTutorial.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/QuantilesStudies/DruidApproxHistogramStudy.html
b/output/docs/QuantilesStudies/DruidApproxHistogramStudy.html
index faf9f05c..d623e525 100644
--- a/output/docs/QuantilesStudies/DruidApproxHistogramStudy.html
+++ b/output/docs/QuantilesStudies/DruidApproxHistogramStudy.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/QuantilesStudies/ExactQuantiles.html
b/output/docs/QuantilesStudies/ExactQuantiles.html
index 124ef45b..0badb945 100644
--- a/output/docs/QuantilesStudies/ExactQuantiles.html
+++ b/output/docs/QuantilesStudies/ExactQuantiles.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/QuantilesStudies/KllSketchVsTDigest.html
b/output/docs/QuantilesStudies/KllSketchVsTDigest.html
index f5bbe3dc..8a53780a 100644
--- a/output/docs/QuantilesStudies/KllSketchVsTDigest.html
+++ b/output/docs/QuantilesStudies/KllSketchVsTDigest.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/QuantilesStudies/MomentsSketchStudy.html
b/output/docs/QuantilesStudies/MomentsSketchStudy.html
index 71b94fba..c8845d4f 100644
--- a/output/docs/QuantilesStudies/MomentsSketchStudy.html
+++ b/output/docs/QuantilesStudies/MomentsSketchStudy.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/QuantilesStudies/QuantilesStreamAStudy.html
b/output/docs/QuantilesStudies/QuantilesStreamAStudy.html
index 0593fe04..e8d8aca6 100644
--- a/output/docs/QuantilesStudies/QuantilesStreamAStudy.html
+++ b/output/docs/QuantilesStudies/QuantilesStreamAStudy.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/REQ/ReqAccuracyAdversarial.html
b/output/docs/REQ/ReqAccuracyAdversarial.html
index 0c5516d8..280af274 100644
--- a/output/docs/REQ/ReqAccuracyAdversarial.html
+++ b/output/docs/REQ/ReqAccuracyAdversarial.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/REQ/ReqAccuracyRandomShuffledStreams.html
b/output/docs/REQ/ReqAccuracyRandomShuffledStreams.html
index 0d73887d..47b398a6 100644
--- a/output/docs/REQ/ReqAccuracyRandomShuffledStreams.html
+++ b/output/docs/REQ/ReqAccuracyRandomShuffledStreams.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/REQ/ReqSketch.html b/output/docs/REQ/ReqSketch.html
index a0b5d59d..22eb9d23 100644
--- a/output/docs/REQ/ReqSketch.html
+++ b/output/docs/REQ/ReqSketch.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Sampling/ReservoirSampling.html
b/output/docs/Sampling/ReservoirSampling.html
index fe6db27d..f88e9eaf 100644
--- a/output/docs/Sampling/ReservoirSampling.html
+++ b/output/docs/Sampling/ReservoirSampling.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Sampling/ReservoirSamplingJava.html
b/output/docs/Sampling/ReservoirSamplingJava.html
index 45410524..7c89f021 100644
--- a/output/docs/Sampling/ReservoirSamplingJava.html
+++ b/output/docs/Sampling/ReservoirSamplingJava.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Sampling/ReservoirSamplingPerformance.html
b/output/docs/Sampling/ReservoirSamplingPerformance.html
index 4a8e98ea..9ca72665 100644
--- a/output/docs/Sampling/ReservoirSamplingPerformance.html
+++ b/output/docs/Sampling/ReservoirSamplingPerformance.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Sampling/ReservoirSamplingPigUDFs.html
b/output/docs/Sampling/ReservoirSamplingPigUDFs.html
index 515c2910..a25f9a61 100644
--- a/output/docs/Sampling/ReservoirSamplingPigUDFs.html
+++ b/output/docs/Sampling/ReservoirSamplingPigUDFs.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Sampling/VarOptPigUDFs.html
b/output/docs/Sampling/VarOptPigUDFs.html
index dc02eda8..0f189855 100644
--- a/output/docs/Sampling/VarOptPigUDFs.html
+++ b/output/docs/Sampling/VarOptPigUDFs.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Sampling/VarOptSampling.html
b/output/docs/Sampling/VarOptSampling.html
index 468e8311..87035702 100644
--- a/output/docs/Sampling/VarOptSampling.html
+++ b/output/docs/Sampling/VarOptSampling.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Sampling/VarOptSamplingJava.html
b/output/docs/Sampling/VarOptSamplingJava.html
index 74cc3b9d..48a2350e 100644
--- a/output/docs/Sampling/VarOptSamplingJava.html
+++ b/output/docs/Sampling/VarOptSamplingJava.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/SystemIntegrations/ApacheDruidIntegration.html
b/output/docs/SystemIntegrations/ApacheDruidIntegration.html
index c988574c..2ca8a844 100644
--- a/output/docs/SystemIntegrations/ApacheDruidIntegration.html
+++ b/output/docs/SystemIntegrations/ApacheDruidIntegration.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/SystemIntegrations/ApacheHiveIntegration.html
b/output/docs/SystemIntegrations/ApacheHiveIntegration.html
index 53481ebc..4fece947 100644
--- a/output/docs/SystemIntegrations/ApacheHiveIntegration.html
+++ b/output/docs/SystemIntegrations/ApacheHiveIntegration.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/SystemIntegrations/ApachePigIntegration.html
b/output/docs/SystemIntegrations/ApachePigIntegration.html
index 068b823a..dbec55e9 100644
--- a/output/docs/SystemIntegrations/ApachePigIntegration.html
+++ b/output/docs/SystemIntegrations/ApachePigIntegration.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/SystemIntegrations/ApachePinotIntegration.html
b/output/docs/SystemIntegrations/ApachePinotIntegration.html
index 32684850..7f99c83a 100644
--- a/output/docs/SystemIntegrations/ApachePinotIntegration.html
+++ b/output/docs/SystemIntegrations/ApachePinotIntegration.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/SystemIntegrations/PostgreSQLIntegration.html
b/output/docs/SystemIntegrations/PostgreSQLIntegration.html
index fd352ef0..b2c133e8 100644
--- a/output/docs/SystemIntegrations/PostgreSQLIntegration.html
+++ b/output/docs/SystemIntegrations/PostgreSQLIntegration.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/AccuracyOfDifferentKUnions.html
b/output/docs/Theta/AccuracyOfDifferentKUnions.html
index ad89b1d3..5537933b 100644
--- a/output/docs/Theta/AccuracyOfDifferentKUnions.html
+++ b/output/docs/Theta/AccuracyOfDifferentKUnions.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ConcurrentThetaSketch.html
b/output/docs/Theta/ConcurrentThetaSketch.html
index b865baaa..8c9494b1 100644
--- a/output/docs/Theta/ConcurrentThetaSketch.html
+++ b/output/docs/Theta/ConcurrentThetaSketch.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/InverseEstimate.html
b/output/docs/Theta/InverseEstimate.html
index 3d7f4ef2..6bf91919 100644
--- a/output/docs/Theta/InverseEstimate.html
+++ b/output/docs/Theta/InverseEstimate.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/KMVbetterEst.html
b/output/docs/Theta/KMVbetterEst.html
index f08b5319..d3086c27 100644
--- a/output/docs/Theta/KMVbetterEst.html
+++ b/output/docs/Theta/KMVbetterEst.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/KMVempty.html b/output/docs/Theta/KMVempty.html
index 752d7ff8..927fded6 100644
--- a/output/docs/Theta/KMVempty.html
+++ b/output/docs/Theta/KMVempty.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/KMVfirstEst.html
b/output/docs/Theta/KMVfirstEst.html
index fe3de6b2..cebe177d 100644
--- a/output/docs/Theta/KMVfirstEst.html
+++ b/output/docs/Theta/KMVfirstEst.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/KMVrejection.html
b/output/docs/Theta/KMVrejection.html
index 1c00332b..30b7f21a 100644
--- a/output/docs/Theta/KMVrejection.html
+++ b/output/docs/Theta/KMVrejection.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/KMVupdateVkth.html
b/output/docs/Theta/KMVupdateVkth.html
index a5917703..64e71ce7 100644
--- a/output/docs/Theta/KMVupdateVkth.html
+++ b/output/docs/Theta/KMVupdateVkth.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaAccuracy.html
b/output/docs/Theta/ThetaAccuracy.html
index f2b07124..5faa1c80 100644
--- a/output/docs/Theta/ThetaAccuracy.html
+++ b/output/docs/Theta/ThetaAccuracy.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaAccuracyPlots.html
b/output/docs/Theta/ThetaAccuracyPlots.html
index 9498872b..6ee1fe4f 100644
--- a/output/docs/Theta/ThetaAccuracyPlots.html
+++ b/output/docs/Theta/ThetaAccuracyPlots.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaConfidenceIntervals.html
b/output/docs/Theta/ThetaConfidenceIntervals.html
index dcfad8f1..fd005766 100644
--- a/output/docs/Theta/ThetaConfidenceIntervals.html
+++ b/output/docs/Theta/ThetaConfidenceIntervals.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaErrorTable.html
b/output/docs/Theta/ThetaErrorTable.html
index 5d40b38d..64ddf245 100644
--- a/output/docs/Theta/ThetaErrorTable.html
+++ b/output/docs/Theta/ThetaErrorTable.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaHiveUDFs.html
b/output/docs/Theta/ThetaHiveUDFs.html
index 3217d243..2de0454b 100644
--- a/output/docs/Theta/ThetaHiveUDFs.html
+++ b/output/docs/Theta/ThetaHiveUDFs.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaJavaExample.html
b/output/docs/Theta/ThetaJavaExample.html
index bdbd146f..ffd7f2c3 100644
--- a/output/docs/Theta/ThetaJavaExample.html
+++ b/output/docs/Theta/ThetaJavaExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaMergeSpeed.html
b/output/docs/Theta/ThetaMergeSpeed.html
index 78c3e461..8aab8234 100644
--- a/output/docs/Theta/ThetaMergeSpeed.html
+++ b/output/docs/Theta/ThetaMergeSpeed.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaMergingAlgorithm.html
b/output/docs/Theta/ThetaMergingAlgorithm.html
index fe8fbe63..2d5d5114 100644
--- a/output/docs/Theta/ThetaMergingAlgorithm.html
+++ b/output/docs/Theta/ThetaMergingAlgorithm.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaPSampling.html
b/output/docs/Theta/ThetaPSampling.html
index 4069015f..666c1d84 100644
--- a/output/docs/Theta/ThetaPSampling.html
+++ b/output/docs/Theta/ThetaPSampling.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaPigUDFs.html
b/output/docs/Theta/ThetaPigUDFs.html
index db99e541..93ecfbfb 100644
--- a/output/docs/Theta/ThetaPigUDFs.html
+++ b/output/docs/Theta/ThetaPigUDFs.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaReferences.html
b/output/docs/Theta/ThetaReferences.html
index 48c7c9a0..d69217e0 100644
--- a/output/docs/Theta/ThetaReferences.html
+++ b/output/docs/Theta/ThetaReferences.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaSetOpsCornerCases.html
b/output/docs/Theta/ThetaSetOpsCornerCases.html
index 2eec14c1..d75d8624 100644
--- a/output/docs/Theta/ThetaSetOpsCornerCases.html
+++ b/output/docs/Theta/ThetaSetOpsCornerCases.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaSize.html b/output/docs/Theta/ThetaSize.html
index 429831c8..42e811ad 100644
--- a/output/docs/Theta/ThetaSize.html
+++ b/output/docs/Theta/ThetaSize.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaSketchFramework.html
b/output/docs/Theta/ThetaSketchFramework.html
index 15fb3616..d0c36658 100644
--- a/output/docs/Theta/ThetaSketchFramework.html
+++ b/output/docs/Theta/ThetaSketchFramework.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaSketchSetOps.html
b/output/docs/Theta/ThetaSketchSetOps.html
index b67c16f1..c69387e4 100644
--- a/output/docs/Theta/ThetaSketchSetOps.html
+++ b/output/docs/Theta/ThetaSketchSetOps.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaSketchSetOpsAccuracy.html
b/output/docs/Theta/ThetaSketchSetOpsAccuracy.html
index 93fd9527..ed21652d 100644
--- a/output/docs/Theta/ThetaSketchSetOpsAccuracy.html
+++ b/output/docs/Theta/ThetaSketchSetOpsAccuracy.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaSparkExample.html
b/output/docs/Theta/ThetaSparkExample.html
index 1642418f..2b3d7a69 100644
--- a/output/docs/Theta/ThetaSparkExample.html
+++ b/output/docs/Theta/ThetaSparkExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Theta/ThetaUpdateSpeed.html
b/output/docs/Theta/ThetaUpdateSpeed.html
index f96bca0b..8bb9c7be 100644
--- a/output/docs/Theta/ThetaUpdateSpeed.html
+++ b/output/docs/Theta/ThetaUpdateSpeed.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Tuple/TupleEngagementExample.html
b/output/docs/Tuple/TupleEngagementExample.html
index ec4c9b4b..ecc86a31 100644
--- a/output/docs/Tuple/TupleEngagementExample.html
+++ b/output/docs/Tuple/TupleEngagementExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Tuple/TupleHiveUDFs.html
b/output/docs/Tuple/TupleHiveUDFs.html
index 51963551..cd8c45d9 100644
--- a/output/docs/Tuple/TupleHiveUDFs.html
+++ b/output/docs/Tuple/TupleHiveUDFs.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Tuple/TupleJavaExample.html
b/output/docs/Tuple/TupleJavaExample.html
index f5ee70f4..9d07061e 100644
--- a/output/docs/Tuple/TupleJavaExample.html
+++ b/output/docs/Tuple/TupleJavaExample.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Tuple/TupleOverview.html
b/output/docs/Tuple/TupleOverview.html
index 6c12c949..b51b582e 100644
--- a/output/docs/Tuple/TupleOverview.html
+++ b/output/docs/Tuple/TupleOverview.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/Tuple/TuplePigUDFs.html
b/output/docs/Tuple/TuplePigUDFs.html
index 7dbeb2f2..61aa2998 100644
--- a/output/docs/Tuple/TuplePigUDFs.html
+++ b/output/docs/Tuple/TuplePigUDFs.html
@@ -359,6 +359,7 @@
<li><a href="/docs/Quantiles/QuantilesOverview.html">•Quantiles
Overview</a></li>
<li><a href="/docs/KLL/KLLSketch.html">•KLL Sketch Family</a></li>
<li><a href="/docs/KLL/KLLAccuracyAndSize.html">•KLL Sketch Accuracy and
Size</a></li>
+ <li><a href="/docs/KLL/UnderstandingKLLBounds.html">•Understanding KLL
Bounds</a></li>
<li><a href="/docs/REQ/ReqSketch.html">•REQ Floats sketch</a></li>
<li><a href="/docs/Quantiles/ClassicQuantilesSketch.html">•Classic
Quantiles Sketches</a></li>
diff --git a/output/docs/img/kll/QuantileBounds1.png
b/output/docs/img/kll/QuantileBounds1.png
new file mode 100644
index 00000000..9ab7e4de
Binary files /dev/null and b/output/docs/img/kll/QuantileBounds1.png differ
diff --git a/output/docs/img/kll/QuantileBounds2.png
b/output/docs/img/kll/QuantileBounds2.png
new file mode 100644
index 00000000..c95ae772
Binary files /dev/null and b/output/docs/img/kll/QuantileBounds2.png differ
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]