This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-statistics.git


The following commit(s) were added to refs/heads/master by this push:
     new 41ea0d6e Add zeta distribution to the examples application
41ea0d6e is described below

commit 41ea0d6eb893fe1048cbac27957fc3dc652a195b
Author: Alex Herbert <[email protected]>
AuthorDate: Wed Sep 16 19:05:53 2026 +0100

    Add zeta distribution to the examples application
---
 .../distribution/DistributionsApplication.java     |  1 +
 .../{ZipfCommand.java => ZetaCommand.java}         | 60 +++++++++-------------
 .../examples/distribution/ZipfCommand.java         |  2 +-
 3 files changed, 25 insertions(+), 38 deletions(-)

diff --git 
a/commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/DistributionsApplication.java
 
b/commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/DistributionsApplication.java
index b9a2aba8..5db8c4c5 100644
--- 
a/commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/DistributionsApplication.java
+++ 
b/commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/DistributionsApplication.java
@@ -96,6 +96,7 @@ public final class DistributionsApplication {
                  UniformContinuousCommand.class,
                  UniformDiscreteCommand.class,
                  WeibullCommand.class,
+                 ZetaCommand.class,
                  ZipfCommand.class,
              })
     static class DistributionsCommand extends AbstractDistributionCommand {
diff --git 
a/commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/ZipfCommand.java
 
b/commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/ZetaCommand.java
similarity index 71%
copy from 
commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/ZipfCommand.java
copy to 
commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/ZetaCommand.java
index ba80833d..4cf6145c 100644
--- 
a/commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/ZipfCommand.java
+++ 
b/commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/ZetaCommand.java
@@ -19,26 +19,26 @@ package org.apache.commons.statistics.examples.distribution;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.commons.statistics.distribution.DiscreteDistribution;
-import org.apache.commons.statistics.distribution.ZipfDistribution;
+import org.apache.commons.statistics.distribution.ZetaDistribution;
 import picocli.CommandLine.ArgGroup;
 import picocli.CommandLine.Command;
 import picocli.CommandLine.Option;
 
 /**
- * Command for the {@link ZipfDistribution}.
+ * Command for the {@link ZetaDistribution}.
  */
-@Command(name = "zipf",
-         description = "Zipf distribution.",
+@Command(name = "zeta",
+         description = "Zeta distribution.",
          subcommands = {
-             ZipfCommand.Check.class,
-             ZipfCommand.PMF.class,
-             ZipfCommand.LPMF.class,
-             ZipfCommand.CDF.class,
-             ZipfCommand.SF.class,
-             ZipfCommand.ICDF.class,
-             ZipfCommand.ISF.class,
+             ZetaCommand.Check.class,
+             ZetaCommand.PMF.class,
+             ZetaCommand.LPMF.class,
+             ZetaCommand.CDF.class,
+             ZetaCommand.SF.class,
+             ZetaCommand.ICDF.class,
+             ZetaCommand.ISF.class,
          })
-class ZipfCommand extends AbstractDistributionCommand {
+class ZetaCommand extends AbstractDistributionCommand {
 
     /** Base command for the distribution that defines the parameters. */
     private abstract static class BaseCommand extends 
AbstractDiscreteDistributionCommand {
@@ -48,19 +48,12 @@ class ZipfCommand extends AbstractDistributionCommand {
 
         /** Parameters class. */
         static class Params {
-            /** The distribution number of elements. */
-            @Option(names = {"-n", "--number-of-elements"},
-                    arity = "1..*",
-                    split = ",",
-                    description = {"number of elements (default: 
${DEFAULT-VALUE})."})
-            private int[] n = {10};
-
             /** The distribution exponent. */
             @Option(names = {"-e", "--exponent"},
                     arity = "1..*",
                     split = ",",
                     description = {"exponent (default: ${DEFAULT-VALUE})."})
-            private double[] e = {1, 2, 3, 4};
+            private double[] e = {1.1, 2.1, 3.1};
         }
 
         /** Extend the options to set the default values for this 
distribution. */
@@ -74,18 +67,11 @@ class ZipfCommand extends AbstractDistributionCommand {
 
         @Override
         protected List<Distribution<DiscreteDistribution>> getDistributions() {
-            int[] n = params.n;
-            double[] e = params.e;
-            final int max = DistributionUtils.validateLengths(n.length, 
e.length);
-
-            n = DistributionUtils.expandToLength(n, max);
-            e = DistributionUtils.expandToLength(e, max);
-
             // Create distributions
             final ArrayList<Distribution<DiscreteDistribution>> list = new 
ArrayList<>();
-            for (int i = 0; i < max; i++) {
-                final DiscreteDistribution d = ZipfDistribution.of(n[i], e[i]);
-                list.add(new Distribution<>(d, "n=" + n[i] + ",p=" + e[i]));
+            for (double e : params.e) {
+                final DiscreteDistribution d = ZetaDistribution.of(e);
+                list.add(new Distribution<>(d, "e=" + e));
             }
             return list;
         }
@@ -118,38 +104,38 @@ class ZipfCommand extends AbstractDistributionCommand {
     /** Verification checks command. */
     @Command(name = "check",
              hidden = true,
-             description = "Zipf distribution verification checks.")
+             description = "Zeta distribution verification checks.")
     static class Check extends ProbabilityCommand {}
 
     /** PMF command. */
     @Command(name = "pmf",
              aliases = {"pdf"},
-             description = "Zipf distribution PMF.")
+             description = "Zeta distribution PMF.")
     static class PMF extends ProbabilityCommand {}
 
     /** LPMF command. */
     @Command(name = "lpmf",
              aliases = {"lpdf"},
-             description = "Zipf distribution natural logarithm of the PMF.")
+             description = "Zeta distribution natural logarithm of the PMF.")
     static class LPMF extends ProbabilityCommand {}
 
     /** CDF command. */
     @Command(name = "cdf",
-             description = "Zipf distribution CDF.")
+             description = "Zeta distribution CDF.")
     static class CDF extends ProbabilityCommand {}
 
     /** SF command. */
     @Command(name = "sf",
-             description = "Zipf distribution survival probability.")
+             description = "Zeta distribution survival probability.")
     static class SF extends ProbabilityCommand {}
 
     /** ICDF command. */
     @Command(name = "icdf",
-             description = "Zipf distribution inverse CDF.")
+             description = "Zeta distribution inverse CDF.")
     static class ICDF extends InverseProbabilityCommand {}
 
     /** ISF command. */
     @Command(name = "isf",
-             description = "Zipf distribution inverse SF.")
+             description = "Zeta distribution inverse SF.")
     static class ISF extends InverseProbabilityCommand {}
 }
diff --git 
a/commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/ZipfCommand.java
 
b/commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/ZipfCommand.java
index ba80833d..9f815b8f 100644
--- 
a/commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/ZipfCommand.java
+++ 
b/commons-statistics-examples/examples-distribution/src/main/java/org/apache/commons/statistics/examples/distribution/ZipfCommand.java
@@ -85,7 +85,7 @@ class ZipfCommand extends AbstractDistributionCommand {
             final ArrayList<Distribution<DiscreteDistribution>> list = new 
ArrayList<>();
             for (int i = 0; i < max; i++) {
                 final DiscreteDistribution d = ZipfDistribution.of(n[i], e[i]);
-                list.add(new Distribution<>(d, "n=" + n[i] + ",p=" + e[i]));
+                list.add(new Distribution<>(d, "n=" + n[i] + ",e=" + e[i]));
             }
             return list;
         }

Reply via email to