You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2021/06/09 14:46:33 UTC

[commons-math] branch master updated (ff7adb8 -> 9f92370)

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

erans pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/commons-math.git.


    from ff7adb8  neuralnet.twod.NeuronSquareMesh2D: Allow switch statement fallthrough
     new a5b1aa0  Typo.
     new 1d83419  Adapt to "Commons Numbers" API updates.
     new d26f50b  MATH-1603: Userguide update.
     new 9f92370  Merge branch 'master' of https://gitbox.apache.org/repos/asf/commons-math

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../core/ExtendedFieldElementAbstractTest.java     |   2 +-
 .../math4/legacy/analysis/FunctionUtils.java       |   2 +-
 .../analysis/differentiation/DSCompiler.java       |   2 +-
 .../differentiation/DerivativeStructure.java       |   2 +-
 .../analysis/differentiation/SparseGradient.java   |   2 +-
 .../BicubicInterpolatingFunction.java              |   2 +-
 .../interpolation/InterpolatingMicrosphere.java    |   6 +-
 .../field/ExtendedFieldElementAbstractTest.java    |   2 +-
 .../AbstractLeastSquaresOptimizerAbstractTest.java |  56 ++++++-------
 .../GaussNewtonOptimizerWithSVDTest.java           |   7 +-
 .../math4/legacy/ode/nonstiff/Decimal64.java       |   2 +-
 .../userguide/real_distribution_examples.png       | Bin 180657 -> 0 bytes
 src/site/xdoc/userguide/distribution.xml           |  92 +++++----------------
 src/site/xdoc/userguide/index.xml                  |   2 -
 14 files changed, 61 insertions(+), 118 deletions(-)
 delete mode 100644 src/site/resources/images/userguide/real_distribution_examples.png

[commons-math] 03/04: MATH-1603: Userguide update.

Posted by er...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit d26f50b97bcfa25e896261d1363563ef32cbca7f
Author: Gilles Sadowski <gi...@gmail.com>
AuthorDate: Wed Jun 9 16:41:11 2021 +0200

    MATH-1603: Userguide update.
---
 .../userguide/real_distribution_examples.png       | Bin 180657 -> 0 bytes
 src/site/xdoc/userguide/distribution.xml           |  92 +++++----------------
 src/site/xdoc/userguide/index.xml                  |   2 -
 3 files changed, 19 insertions(+), 75 deletions(-)

diff --git a/src/site/resources/images/userguide/real_distribution_examples.png b/src/site/resources/images/userguide/real_distribution_examples.png
deleted file mode 100644
index c7dac77..0000000
Binary files a/src/site/resources/images/userguide/real_distribution_examples.png and /dev/null differ
diff --git a/src/site/xdoc/userguide/distribution.xml b/src/site/xdoc/userguide/distribution.xml
index 6fa61f8..74a3e3d 100644
--- a/src/site/xdoc/userguide/distribution.xml
+++ b/src/site/xdoc/userguide/distribution.xml
@@ -16,7 +16,7 @@
    See the License for the specific language governing permissions and
    limitations under the License.
   -->
-  
+
 <?xml-stylesheet type="text/xsl" href="./xdoc.xsl"?>
 <document url="distribution.html">
   <properties>
@@ -26,92 +26,38 @@
     <section name="8 Probability Distributions">
       <subsection name="8.1 Overview" href="overview">
         <p>
-          The distributions package provides a framework and implementations for some commonly used
-          probability distributions. Continuous univariate distributions are represented by implementations of
-          the <a href="../apidocs/org/apache/commons/math4/distribution/RealDistribution.html">RealDistribution</a>
-          interface.  Discrete distributions implement
-          <a href="../apidocs/org/apache/commons/math4/distribution/IntegerDistribution.html">IntegerDistribution</a>
-          (values must be mapped to integers) and there is an
-          <a href="../apidocs/org/apache/commons/math4/distribution/EnumeratedDistribution.html">EnumeratedDistribution</a>
-          class representing discrete distributions with a finite, enumerated set of values.  Finally, multivariate
-          real-valued distributions can be represented via the 
-          <a href="../apidocs/org/apache/commons/math4/distribution/MultiVariateRealDistribution.html">MultivariateRealDistribution</a>
-          interface.
-        </p>
-        <p>
-          An overview of available continuous distributions:<br/>
-          <img src="../images/userguide/real_distribution_examples.png" alt="Overview of continuous distributions"/>
-        </p>
-      </subsection>
-      <subsection name="8.2 Distribution Framework" href="distributions">
-        <p>
-          The distribution framework provides the means to compute probability density
-          functions (<code>density(&middot;)</code>), probability mass functions
-          (<code>probability(&middot;)</code>) and distribution functions
-          (<code>cumulativeProbability(&middot;)</code>) for both
-          discrete (integer-valued) and continuous probability distributions.
-          The framework also allows for the computation of inverse cumulative probabilities
-          and sampling from distributions.
+          Standard distributions are now available in the
+          <a href="https://commons.apache.org/proper/commons-statistics/userguide/index.html">
+          Commons Statistics</a> component.
         </p>
         <p>
-          For an instance <code>f</code> of a distribution <code>F</code>,
-          and a domain value, <code>x</code>, <code>f.cumulativeProbability(x)</code>
-          computes <code>P(X &lt;= x)</code> where <code>X</code> is a random variable distributed
-          as <code>f</code>, i.e., <code>f.cumulativeProbability(&middot;)</code> represents
-          the distribution function of <code>f</code>. If <code>f</code> is continuous,
-          (implementing the <code>RealDistribution</code> interface) the probability density
-          function of <code>f</code> is represented by <code>f.density(&middot;)</code>.
-          For discrete <code>f</code> (implementing <code>IntegerDistribution</code>), the probability
-          mass function is represented by <code>f.probability(&middot;)</code>.  Continuous
-          distributions also implement <code>probability(&middot;)</code> with the same
-          definition (<code>f.probability(x)</code> represents <code>P(X = x)</code>
-          where <code>X</code> is distributed as <code>f</code>), though in the continuous
-          case, this will usually be identically 0. 
-        </p>
-<source>TDistribution t = new TDistribution(29);
-double lowerTail = t.cumulativeProbability(-2.656);     // P(T(29) &lt;= -2.656)
-double upperTail = 1.0 - t.cumulativeProbability(2.75); // P(T(29) &gt;= 2.75)</source>
-        <p>
-          All distributions implement a <code>sample()</code> method to support random sampling from the
-          distribution. Implementation classes expose constructors allowing the default 
-          <a href="../apidocs/org/apache/commons/math4/random/RandomGenerator.html">RandomGenerator</a>
-          used by the sampling algorithm to be overridden.  If sampling is not going to be used, providing
-          a null <code>RandomGenerator</code> constructor argument will avoid the overhead of initializing
-          the default generator.
+          Commons Math provides
+          <ul>
+            <li>
+              an <a href="../apidocs/org/apache/commons/math4/legacy/distribution/EnumeratedDistribution.html">
+              EnumeratedDistribution</a> class that represents discrete distributions of a finite,
+              enumerated set of values.
+            </li>
+            <li>
+              a <a href="../apidocs/org/apache/commons/math4/legacy/distribution/MultiVariateNormalDistribution.html">
+              MultivariateNormalDistribution</a> interface that represents multivariate Gaussian
+              distributions.
+            </li>
+          </ul>
         </p>
         <p>
           Inverse distribution functions can be computed using the
           <code>inverseCumulativeProbability</code> methods.  For continuous <code>f</code>
           and <code>p</code> a probability, <code>f.inverseCumulativeProbability(p)</code> returns
           <code><ul>
-            <li>inf{x in R | P(X&le;x) &ge; p} for 0 &lt; p &lt; 1},</li>
-            <li>inf{x in R | P(X&le;x) &gt; 0} for p = 0}.</li>
+            <li>inf{x in R | P(X&le;x) &ge; p} for 0 &lt; p &lt; 1,</li>
+            <li>inf{x in R | P(X&le;x) &gt; 0} for p = 0.</li>
           </ul></code> where <code>X</code> is distributed as <code>f</code>.<br/>
           For discrete <code>f</code>, the definition is the same, with <code>Z</code> (the integers)
           in place of <code>R</code>.  Note that in the discrete case, the &ge; in the definition
           can make a difference when <code>p</code> is an attained value of the distribution.
         </p>
       </subsection>
-      <!--
-          TODO: add section on multivariate distributions
-      -->
-      <subsection name="8.3 User Defined Distributions" href="userdefined">
-        <p>
-        User-defined distributions can be implemented using
-        <a href="../apidocs/org/apache/commons/math4/distribution/RealDistribution.html">RealDistribution</a>,
-        <a href="../apidocs/org/apache/commons/math4/distribution/IntegerDistribution.html">IntegerDistribution</a> and
-        <a href="../apidocs/org/apache/commons/math4/distribution/MultivariateRealDistribution.html">MultivariateRealDistribution</a>
-        interfaces serve as base types.  These serve as the basis for all the distributions directly supported by
-        Apache Commons Math.  To aid in implementing distributions,
-        the <a href="../apidocs/org/apache/commons/math4/distribution/AbstractRealDistribution.html">AbstractRealDistribution</a>,
-        <a href="../apidocs/org/apache/commons/math4/distribution/AbstractIntegerDistribution.html">AbstractIntegerDistribution</a> and 
-        <a href="../apidocs/org/apache/commons/math4/distribution/AbstractMultivariateRealDistribution.html">AbstractMultivariateRealDistribution</a>
-        provide implementation building blocks and offer basic distribution functionality.
-        By extending these abstract classes directly, much of the repetitive distribution
-        implementation is already developed and should save time and effort in developing
-        user-defined distributions.
-        </p>
-      </subsection>
     </section>
   </body>
 </document>
diff --git a/src/site/xdoc/userguide/index.xml b/src/site/xdoc/userguide/index.xml
index 81bdd22..2608aa8 100644
--- a/src/site/xdoc/userguide/index.xml
+++ b/src/site/xdoc/userguide/index.xml
@@ -103,8 +103,6 @@
         <li><a href="distribution.html">8. Probability Distributions</a>
                 <ul>
                 <li><a href="distribution.html#a8.1_Overview">8.1 Overview</a></li>
-                <li><a href="distribution.html#a8.2_Distribution_Framework">8.2 Distribution Framework</a></li>
-                <li><a href="distribution.html#a8.3_User_Defined_Distributions">8.3 User Defined Distributions</a></li>
                 </ul></li>                                 
         <li><a href="fraction.html">9. Fractions</a>
                 <ul>

[commons-math] 01/04: Typo.

Posted by er...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit a5b1aa029457e69b98064413dd4e32ed3a68512a
Author: Gilles Sadowski <gi...@gmail.com>
AuthorDate: Wed Jun 9 16:18:57 2021 +0200

    Typo.
---
 .../AbstractLeastSquaresOptimizerAbstractTest.java | 56 +++++++++++-----------
 .../GaussNewtonOptimizerWithSVDTest.java           |  7 ++-
 2 files changed, 31 insertions(+), 32 deletions(-)

diff --git a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/fitting/leastsquares/AbstractLeastSquaresOptimizerAbstractTest.java b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/fitting/leastsquares/AbstractLeastSquaresOptimizerAbstractTest.java
index bd0aed4..d7f2768 100644
--- a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/fitting/leastsquares/AbstractLeastSquaresOptimizerAbstractTest.java
+++ b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/fitting/leastsquares/AbstractLeastSquaresOptimizerAbstractTest.java
@@ -55,7 +55,7 @@ import static org.hamcrest.CoreMatchers.sameInstance;
 public abstract class AbstractLeastSquaresOptimizerAbstractTest {
 
     /** default absolute tolerance of comparisons */
-    public static final double TOl = 1e-10;
+    public static final double TOL = 1e-10;
 
     public LeastSquaresBuilder base() {
         return new LeastSquaresBuilder()
@@ -160,9 +160,9 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
 
         Optimum optimum = optimizer.optimize(ls);
 
-        Assert.assertEquals(0, optimum.getRMS(), TOl);
-        assertEquals(TOl, optimum.getPoint(), 1.5);
-        Assert.assertEquals(0.0, optimum.getResiduals().getEntry(0), TOl);
+        Assert.assertEquals(0, optimum.getRMS(), TOL);
+        assertEquals(TOL, optimum.getPoint(), 1.5);
+        Assert.assertEquals(0.0, optimum.getResiduals().getEntry(0), TOL);
     }
 
     @Test
@@ -173,9 +173,9 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
 
         Optimum optimum = optimizer.optimize(problem.getBuilder().build());
 
-        Assert.assertEquals(0, optimum.getRMS(), TOl);
-        assertEquals(TOl, optimum.getPoint(), 7, 3);
-        assertEquals(TOl, optimum.getResiduals(), 0, 0, 0);
+        Assert.assertEquals(0, optimum.getRMS(), TOL);
+        assertEquals(TOL, optimum.getPoint(), 7, 3);
+        assertEquals(TOL, optimum.getResiduals(), 0, 0, 0);
     }
 
     @Test
@@ -191,9 +191,9 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
 
         Optimum optimum = optimizer.optimize(problem.getBuilder().build());
 
-        Assert.assertEquals(0, optimum.getRMS(), TOl);
+        Assert.assertEquals(0, optimum.getRMS(), TOL);
         for (int i = 0; i < problem.target.length; ++i) {
-            Assert.assertEquals(0.55 * i, optimum.getPoint().getEntry(i), TOl);
+            Assert.assertEquals(0.55 * i, optimum.getPoint().getEntry(i), TOL);
         }
     }
 
@@ -207,8 +207,8 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
 
         Optimum optimum = optimizer.optimize(problem.getBuilder().build());
 
-        Assert.assertEquals(0, optimum.getRMS(), TOl);
-        assertEquals(TOl, optimum.getPoint(), 1, 2, 3);
+        Assert.assertEquals(0, optimum.getRMS(), TOL);
+        assertEquals(TOL, optimum.getPoint(), 1, 2, 3);
     }
 
     @Test
@@ -225,8 +225,8 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
 
         Optimum optimum = optimizer.optimize(problem.getBuilder().build());
 
-        Assert.assertEquals(0, optimum.getRMS(), TOl);
-        assertEquals(TOl, optimum.getPoint(), 3, 4, -1, -2, 1 + epsilon, 1 - epsilon);
+        Assert.assertEquals(0, optimum.getRMS(), TOL);
+        assertEquals(TOL, optimum.getPoint(), 3, 4, -1, -2, 1 + epsilon, 1 - epsilon);
     }
 
     @Test
@@ -259,8 +259,8 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
         Optimum optimum = optimizer
                 .optimize(problem1.getBuilder().start(start).build());
 
-        Assert.assertEquals(0, optimum.getRMS(), TOl);
-        assertEquals(TOl, optimum.getPoint(), 1, 1, 1, 1);
+        Assert.assertEquals(0, optimum.getRMS(), TOL);
+        assertEquals(TOL, optimum.getPoint(), 1, 1, 1, 1);
 
         LinearProblem problem2 = new LinearProblem(new double[][]{
                 {10.00, 7.00, 8.10, 7.20},
@@ -271,7 +271,7 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
 
         optimum = optimizer.optimize(problem2.getBuilder().start(start).build());
 
-        Assert.assertEquals(0, optimum.getRMS(), TOl);
+        Assert.assertEquals(0, optimum.getRMS(), TOL);
         assertEquals(1e-8, optimum.getPoint(), -81, 137, -34, 22);
     }
 
@@ -286,7 +286,7 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
         Optimum optimum = optimizer
                 .optimize(problem.getBuilder().start(new double[]{7, 6, 5, 4}).build());
 
-        Assert.assertEquals(0, optimum.getRMS(), TOl);
+        Assert.assertEquals(0, optimum.getRMS(), TOL);
     }
 
     @Test
@@ -302,13 +302,13 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
         Optimum optimum = optimizer.optimize(
                 problem.getBuilder().start(new double[]{2, 2, 2, 2, 2, 2}).build());
 
-        Assert.assertEquals(0, optimum.getRMS(), TOl);
+        Assert.assertEquals(0, optimum.getRMS(), TOL);
         RealVector point = optimum.getPoint();
         //the first two elements are under constrained
         //check first two elements obey the constraint: sum to 3
-        Assert.assertEquals(3, point.getEntry(0) + point.getEntry(1), TOl);
+        Assert.assertEquals(3, point.getEntry(0) + point.getEntry(1), TOL);
         //#constrains = #states fro the last 4 elements
-        assertEquals(TOl, point.getSubVector(2, 4), 3, 4, 5, 6);
+        assertEquals(TOL, point.getSubVector(2, 4), 3, 4, 5, 6);
     }
 
     @Test
@@ -322,8 +322,8 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
         Optimum optimum = optimizer
                 .optimize(problem.getBuilder().start(new double[]{1, 1}).build());
 
-        Assert.assertEquals(0, optimum.getRMS(), TOl);
-        assertEquals(TOl, optimum.getPoint(), 2, 1);
+        Assert.assertEquals(0, optimum.getRMS(), TOL);
+        assertEquals(TOL, optimum.getPoint(), 2, 1);
     }
 
     @Test
@@ -352,8 +352,8 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
             //TODO why is this part here? hasn't it been tested already?
             Optimum optimum = optimizer.optimize(problem.getBuilder().build());
 
-            Assert.assertEquals(0, optimum.getRMS(), TOl);
-            assertEquals(TOl, optimum.getPoint(), -1, 1);
+            Assert.assertEquals(0, optimum.getRMS(), TOL);
+            assertEquals(TOL, optimum.getPoint(), -1, 1);
 
             //TODO move to builder test
             optimizer.optimize(
@@ -374,8 +374,8 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
 
             Optimum optimum = optimizer.optimize(problem.getBuilder().build());
 
-            Assert.assertEquals(0, optimum.getRMS(), TOl);
-            assertEquals(TOl, optimum.getPoint(), -1, 1);
+            Assert.assertEquals(0, optimum.getRMS(), TOL);
+            assertEquals(TOL, optimum.getPoint(), -1, 1);
 
             //TODO move to builder test
             optimizer.optimize(
@@ -406,7 +406,7 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
         Assert.assertTrue(optimum.getEvaluations() < 10);
 
         double rms = optimum.getRMS();
-        Assert.assertEquals(1.768262623567235, AccurateMath.sqrt(circle.getN()) * rms, TOl);
+        Assert.assertEquals(1.768262623567235, AccurateMath.sqrt(circle.getN()) * rms, TOL);
 
         Vector2D center = Vector2D.of(optimum.getPoint().getEntry(0), optimum.getPoint().getEntry(1));
         Assert.assertEquals(69.96016176931406, circle.getRadius(center), 1e-6);
@@ -553,7 +553,7 @@ public abstract class AbstractLeastSquaresOptimizerAbstractTest {
                                 previous.getPoint(),
                                 not(sameInstance(current.getPoint())));
                         Assert.assertArrayEquals(new double[3], previous.getPoint().toArray(), 0);
-                        Assert.assertArrayEquals(new double[] {1, 2, 3}, current.getPoint().toArray(), TOl);
+                        Assert.assertArrayEquals(new double[] {1, 2, 3}, current.getPoint().toArray(), TOL);
                         checked[0] = true;
                         return true;
                     }
diff --git a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/fitting/leastsquares/GaussNewtonOptimizerWithSVDTest.java b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/fitting/leastsquares/GaussNewtonOptimizerWithSVDTest.java
index 87d0ee7..2df8fb8 100644
--- a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/fitting/leastsquares/GaussNewtonOptimizerWithSVDTest.java
+++ b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/fitting/leastsquares/GaussNewtonOptimizerWithSVDTest.java
@@ -17,10 +17,10 @@
 
 package org.apache.commons.math4.legacy.fitting.leastsquares;
 
+import org.apache.commons.numbers.core.Precision;
 import org.apache.commons.geometry.euclidean.threed.Plane;
 import org.apache.commons.geometry.euclidean.threed.Planes;
 import org.apache.commons.geometry.euclidean.threed.Vector3D;
-import org.apache.commons.geometry.core.precision.EpsilonDoublePrecisionContext;
 import org.apache.commons.math4.legacy.exception.ConvergenceException;
 import org.apache.commons.math4.legacy.exception.TooManyEvaluationsException;
 import org.apache.commons.math4.legacy.fitting.leastsquares.GaussNewtonOptimizer.Decomposition;
@@ -140,12 +140,11 @@ public class GaussNewtonOptimizerWithSVDTest
         Optimum optimum = optimizer.optimize(problem.getBuilder().build());
 
         Plane span = Planes.fromPoints(Vector3D.ZERO, Vector3D.of(1, 2, -3), Vector3D.of(2, 1, 0),
-                                       new EpsilonDoublePrecisionContext(TOl));
+                                       Precision.doubleEquivalenceOfEpsilon(TOL));
         double expected = AccurateMath.abs(span.offset(Vector3D.of(1, 1, 1)));
         double actual = optimum.getResiduals().getNorm();
 
         //verify
-        Assert.assertEquals(expected, actual, TOl);
+        Assert.assertEquals(expected, actual, TOL);
     }
-
 }

[commons-math] 04/04: Merge branch 'master' of https://gitbox.apache.org/repos/asf/commons-math

Posted by er...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 9f92370627346243071b7424f581ed75f924adc1
Merge: d26f50b ff7adb8
Author: Gilles Sadowski <gi...@gmail.com>
AuthorDate: Wed Jun 9 16:45:59 2021 +0200

    Merge branch 'master' of https://gitbox.apache.org/repos/asf/commons-math

 src/main/resources/spotbugs/spotbugs-exclude-filter.xml | 6 ++++++
 1 file changed, 6 insertions(+)

[commons-math] 02/04: Adapt to "Commons Numbers" API updates.

Posted by er...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 1d83419c90812f7db03707f9ae68d1c95e5acb72
Author: Gilles Sadowski <gi...@gmail.com>
AuthorDate: Wed Jun 9 16:20:39 2021 +0200

    Adapt to "Commons Numbers" API updates.
    
    Cf. NUMBERS-159.
---
 .../commons/math4/legacy/core/ExtendedFieldElementAbstractTest.java | 2 +-
 .../org/apache/commons/math4/legacy/analysis/FunctionUtils.java     | 2 +-
 .../commons/math4/legacy/analysis/differentiation/DSCompiler.java   | 2 +-
 .../math4/legacy/analysis/differentiation/DerivativeStructure.java  | 2 +-
 .../math4/legacy/analysis/differentiation/SparseGradient.java       | 2 +-
 .../legacy/analysis/interpolation/BicubicInterpolatingFunction.java | 2 +-
 .../legacy/analysis/interpolation/InterpolatingMicrosphere.java     | 6 +++---
 .../math4/legacy/field/ExtendedFieldElementAbstractTest.java        | 2 +-
 .../org/apache/commons/math4/legacy/ode/nonstiff/Decimal64.java     | 2 +-
 9 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/commons-math-legacy-core/src/test/java/org/apache/commons/math4/legacy/core/ExtendedFieldElementAbstractTest.java b/commons-math-legacy-core/src/test/java/org/apache/commons/math4/legacy/core/ExtendedFieldElementAbstractTest.java
index ec34fcb..5f6ab7d 100644
--- a/commons-math-legacy-core/src/test/java/org/apache/commons/math4/legacy/core/ExtendedFieldElementAbstractTest.java
+++ b/commons-math-legacy-core/src/test/java/org/apache/commons/math4/legacy/core/ExtendedFieldElementAbstractTest.java
@@ -19,7 +19,7 @@ package org.apache.commons.math4.legacy.core;
 import org.junit.Assert;
 import org.junit.Test;
 
-import org.apache.commons.numbers.arrays.LinearCombination;
+import org.apache.commons.numbers.core.LinearCombination;
 import org.apache.commons.rng.UniformRandomProvider;
 import org.apache.commons.rng.simple.RandomSource;
 import org.apache.commons.math4.legacy.core.jdkmath.AccurateMath;
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/FunctionUtils.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/FunctionUtils.java
index cd4ff48..884209d 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/FunctionUtils.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/FunctionUtils.java
@@ -17,7 +17,7 @@
 
 package org.apache.commons.math4.legacy.analysis;
 
-import org.apache.commons.numbers.arrays.LinearCombination;
+import org.apache.commons.numbers.core.LinearCombination;
 import org.apache.commons.math4.legacy.analysis.differentiation.DerivativeStructure;
 import org.apache.commons.math4.legacy.analysis.differentiation.MultivariateDifferentiableFunction;
 import org.apache.commons.math4.legacy.analysis.differentiation.UnivariateDifferentiableFunction;
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/differentiation/DSCompiler.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/differentiation/DSCompiler.java
index 646d855..c8f52e9 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/differentiation/DSCompiler.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/differentiation/DSCompiler.java
@@ -21,7 +21,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicReference;
 
-import org.apache.commons.numbers.arrays.LinearCombination;
+import org.apache.commons.numbers.core.LinearCombination;
 import org.apache.commons.math4.legacy.exception.DimensionMismatchException;
 import org.apache.commons.math4.legacy.exception.MathArithmeticException;
 import org.apache.commons.math4.legacy.exception.MathInternalError;
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.java
index 36c13f6..3e266e0 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.java
@@ -19,7 +19,7 @@ package org.apache.commons.math4.legacy.analysis.differentiation;
 import java.util.Arrays;
 import java.io.Serializable;
 
-import org.apache.commons.numbers.arrays.LinearCombination;
+import org.apache.commons.numbers.core.LinearCombination;
 import org.apache.commons.math4.legacy.core.Field;
 import org.apache.commons.math4.legacy.core.FieldElement;
 import org.apache.commons.math4.legacy.core.RealFieldElement;
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/differentiation/SparseGradient.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/differentiation/SparseGradient.java
index bb59997..74c2c5d 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/differentiation/SparseGradient.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/differentiation/SparseGradient.java
@@ -21,7 +21,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.commons.numbers.arrays.LinearCombination;
+import org.apache.commons.numbers.core.LinearCombination;
 import org.apache.commons.numbers.core.Precision;
 import org.apache.commons.math4.legacy.core.Field;
 import org.apache.commons.math4.legacy.core.FieldElement;
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/interpolation/BicubicInterpolatingFunction.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/interpolation/BicubicInterpolatingFunction.java
index faf4ce5..7ceb288 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/interpolation/BicubicInterpolatingFunction.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/interpolation/BicubicInterpolatingFunction.java
@@ -18,7 +18,7 @@ package org.apache.commons.math4.legacy.analysis.interpolation;
 
 import java.util.Arrays;
 
-import org.apache.commons.numbers.arrays.LinearCombination;
+import org.apache.commons.numbers.core.LinearCombination;
 import org.apache.commons.math4.legacy.analysis.BivariateFunction;
 import org.apache.commons.math4.legacy.exception.DimensionMismatchException;
 import org.apache.commons.math4.legacy.exception.NoDataException;
diff --git a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/interpolation/InterpolatingMicrosphere.java b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/interpolation/InterpolatingMicrosphere.java
index 525cc21..bb3ffab 100644
--- a/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/interpolation/InterpolatingMicrosphere.java
+++ b/commons-math-legacy/src/main/java/org/apache/commons/math4/legacy/analysis/interpolation/InterpolatingMicrosphere.java
@@ -18,8 +18,8 @@ package org.apache.commons.math4.legacy.analysis.interpolation;
 
 import java.util.List;
 import java.util.ArrayList;
-import org.apache.commons.numbers.arrays.CosAngle;
-import org.apache.commons.numbers.arrays.SafeNorm;
+import org.apache.commons.numbers.core.Norm;
+import org.apache.commons.numbers.angle.CosAngle;
 import org.apache.commons.rng.sampling.UnitSphereSampler;
 import org.apache.commons.math4.legacy.exception.DimensionMismatchException;
 import org.apache.commons.math4.legacy.exception.NotPositiveException;
@@ -222,7 +222,7 @@ public class InterpolatingMicrosphere {
         for (int i = 0; i < numSamples; i++) {
             // Vector between interpolation point and current sample point.
             final double[] diff = MathArrays.ebeSubtract(samplePoints[i], point);
-            final double diffNorm = SafeNorm.value(diff);
+            final double diffNorm = Norm.L2.of(diff);
 
             if (AccurateMath.abs(diffNorm) < noInterpolationTolerance) {
                 // No need to interpolate, as the interpolation point is
diff --git a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/field/ExtendedFieldElementAbstractTest.java b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/field/ExtendedFieldElementAbstractTest.java
index 81a1e60..64e2ae3 100644
--- a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/field/ExtendedFieldElementAbstractTest.java
+++ b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/field/ExtendedFieldElementAbstractTest.java
@@ -19,7 +19,7 @@ package org.apache.commons.math4.legacy.field;
 import org.junit.Assert;
 import org.junit.Test;
 
-import org.apache.commons.numbers.arrays.LinearCombination;
+import org.apache.commons.numbers.core.LinearCombination;
 import org.apache.commons.rng.UniformRandomProvider;
 import org.apache.commons.rng.simple.RandomSource;
 import org.apache.commons.math4.legacy.core.RealFieldElement;
diff --git a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/ode/nonstiff/Decimal64.java b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/ode/nonstiff/Decimal64.java
index 1e5af3f..31d5476 100644
--- a/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/ode/nonstiff/Decimal64.java
+++ b/commons-math-legacy/src/test/java/org/apache/commons/math4/legacy/ode/nonstiff/Decimal64.java
@@ -17,7 +17,7 @@
 package org.apache.commons.math4.legacy.ode.nonstiff;
 
 import org.apache.commons.math4.legacy.core.jdkmath.AccurateMath;
-import org.apache.commons.numbers.arrays.LinearCombination;
+import org.apache.commons.numbers.core.LinearCombination;
 import org.apache.commons.math4.legacy.core.Field;
 import org.apache.commons.math4.legacy.core.RealFieldElement;
 import org.apache.commons.math4.legacy.exception.DimensionMismatchException;