diff --git a/src/site/xdoc/userguide/analysis.xml b/src/site/xdoc/userguide/analysis.xml
index 2def6bd..6bd64a2 100644
--- a/src/site/xdoc/userguide/analysis.xml
+++ b/src/site/xdoc/userguide/analysis.xml
@@ -88,13 +88,13 @@
       </subsection>
       <subsection name="4.3 Root-finding" href="rootfinding">
         <p>
-          <a href="../apidocs/org/apache/commons/math4/analysis/solvers/UnivariateSolver.html">
-          UnivariateSolver</a>, <a href="../apidocs/org/apache/commons/math4/analysis/solvers/UnivariateDifferentiableSolver.html">
-          UnivariateDifferentiableSolver</a> and <a href="../apidocs/org/apache/commons/math4/analysis/solvers/PolynomialSolver.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/UnivariateSolver.html">
+          UnivariateSolver</a>, <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/UnivariateDifferentiableSolver.html">
+          UnivariateDifferentiableSolver</a> and <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/PolynomialSolver.html">
           PolynomialSolver</a> provide means to find roots of
-          <a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a>,
-          <a href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateDifferentiable.html">differentiable univariate real-valued functions</a>,
-          and <a href="../apidocs/org/apache/commons/math4/analysis/polynomials/PolynomialFunction.html">polynomial functions</a> respectively.
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a>,
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateDifferentiable.html">differentiable univariate real-valued functions</a>,
+          and <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialFunction.html">polynomial functions</a> respectively.
           A root is the value where the function takes the value 0.  Commons-Math
           includes implementations of the several root-finding algorithms:
         </p>
@@ -102,85 +102,85 @@
             <tr BGCOLOR="#CCCCFF"><td colspan="5"><font size="+1">Root solvers</font></td></tr>
             <tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>Function type</td><td>Convergence</td><td>Needs initial bracketing</td><td>Bracket side selection</td></font></tr>
             <tr>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/BisectionSolver.html">Bisection</a></td>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/BisectionSolver.html">Bisection</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
               <td>linear, guaranteed</td>
               <td>yes</td>
               <td>yes</td>
             </tr>
             <tr>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/BrentSolver.html">Brent-Dekker</a></td>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/BrentSolver.html">Brent-Dekker</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
               <td>super-linear, guaranteed</td>
               <td>yes</td>
               <td>no</td>
             </tr>
             <tr>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/BracketingNthOrderBrentSolver.html">bracketing n<sup>th</sup> order Brent</a></td>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/BracketingNthOrderBrentSolver.html">bracketing n<sup>th</sup> order Brent</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
               <td>variable order, guaranteed</td>
               <td>yes</td>
               <td>yes</td>
             </tr>
             <tr>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/IllinoisSolver.html">Illinois Method</a></td>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/IllinoisSolver.html">Illinois Method</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
               <td>super-linear, guaranteed</td>
               <td>yes</td>
               <td>yes</td>
             </tr>
             <tr>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/LaguerreSolver.html">Laguerre's Method</a></td>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/polynomials/PolynomialFunction.html">polynomial functions</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/LaguerreSolver.html">Laguerre's Method</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialFunction.html">polynomial functions</a></td>
               <td>cubic for simple root, linear for multiple root</td>
               <td>yes</td>
               <td>no</td>
             </tr>
             <tr>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/MullerSolver.html">Muller's Method</a> using bracketing to deal with real-valued functions</td>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/MullerSolver.html">Muller's Method</a> using bracketing to deal with real-valued functions</td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
               <td>quadratic close to roots</td>
               <td>yes</td>
               <td>no</td>
             </tr>
             <tr>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/MullerSolver2.html">Muller's Method</a> using modulus to deal with real-valued functions</td>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/MullerSolver2.html">Muller's Method</a> using modulus to deal with real-valued functions</td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
               <td>quadratic close to root</td>
               <td>yes</td>
               <td>no</td>
             </tr>
             <tr>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/NewtonRaphsonSolver.html">Newton-Raphson's Method</a></td>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateDifferentiableFunction.html">differentiable univariate real-valued functions</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/NewtonRaphsonSolver.html">Newton-Raphson's Method</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateDifferentiableFunction.html">differentiable univariate real-valued functions</a></td>
               <td>quadratic, non-guaranteed</td>
               <td>no</td>
               <td>no</td>
             </tr>
             <tr>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/PegasusSolver.html">Pegasus Method</a></td>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/PegasusSolver.html">Pegasus Method</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
               <td>super-linear, guaranteed</td>
               <td>yes</td>
               <td>yes</td>
             </tr>
             <tr>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/RegulaFalsiSolver.html">Regula Falsi (false position) Method</a></td>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/RegulaFalsiSolver.html">Regula Falsi (false position) Method</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
               <td>linear, guaranteed</td>
               <td>yes</td>
               <td>yes</td>
             </tr>
             <tr>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/RiddersSolver.html">Ridder's Method</a></td>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/RiddersSolver.html">Ridder's Method</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
               <td>super-linear</td>
               <td>yes</td>
               <td>no</td>
             </tr>
             <tr>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/solvers/SecantSolver.html">Secant Method</a></td>
-              <td><a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/SecantSolver.html">Secant Method</a></td>
+              <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">univariate real-valued functions</a></td>
               <td>super-linear, non-guaranteed</td>
               <td>yes</td>
               <td>no</td>
@@ -236,9 +236,9 @@
           ill-conditioned problems is to be solved, this number can be decreased in order
           to avoid wasting time.
           <a
-          href="../apidocs/org/apache/commons/math4/analysis/solvers/BracketedUnivariateSolver.html">Bracketed
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/BracketedUnivariateSolver.html">Bracketed
           solvers</a> also take an <a
-          href="../apidocs/org/apache/commons/math4/analysis/solvers/AllowedSolution.html">allowed solution</a>
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/AllowedSolution.html">allowed solution</a>
           enum parameter to specify which side of the final convergence interval should be
           selected as the root. It can be <code>ANY_SIDE</code>, <code>LEFT_SIDE</code>, <code>RIGHT_SIDE</code>,
           <code>BELOW_SIDE</code> or <code>ABOVE_SIDE</code>. Left and right are used to specify the root along
@@ -372,13 +372,13 @@
       </subsection>
       <subsection name="4.4 Interpolation" href="interpolation">
         <p>
-          A <a href="../apidocs/org/apache/commons/math4/analysis/interpolation/UnivariateInterpolator.html">
+          A <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/UnivariateInterpolator.html">
           UnivariateInterpolator</a> is used to find a univariate real-valued
           function <code>f</code> which for a given set of ordered pairs
           (<code>x<sub>i</sub></code>,<code>y<sub>i</sub></code>) yields
           <code>f(x<sub>i</sub>)=y<sub>i</sub></code> to the best accuracy possible. The result
           is provided as an object implementing the <a
-          href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">
           UnivariateFunction</a> interface. It can therefore be evaluated at any point,
           including point not belonging to the original set.
           Currently, only an interpolator for generating natural cubic splines and a polynomial
@@ -435,7 +435,7 @@
         <p>
           <a href="http://en.wikipedia.org/wiki/Hermite_interpolation">Hermite interpolation</a>
           is an interpolation method that can use derivatives in addition to function values at sample points. The <a
-          href="../apidocs/org/apache/commons/math4/analysis/interpolation/HermiteInterpolator.html">HermiteInterpolator</a>
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/HermiteInterpolator.html">HermiteInterpolator</a>
           class implements this method for vector-valued functions. The sampling points can have any spacing (there are
           no requirements for a regular grid) and some points may provide derivatives while others don't provide them
           (or provide derivatives to a smaller order). Points are added one at a time, as shown in the following example:
@@ -454,13 +454,13 @@
 // should print "interpolation polynomial: 1 + 2 x + 4 x^2 - 4 x^3 + x^4"
 System.out.println("interpolation polynomial: " + interpolator.getPolynomials()[0]);</source>
         <p>
-          A <a href="../apidocs/org/apache/commons/math4/analysis/interpolation/BivariateGridInterpolator.html">
+          A <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/BivariateGridInterpolator.html">
           BivariateGridInterpolator</a> is used to find a bivariate real-valued
           function <code>f</code> which for a given set of tuples
           (<code>x<sub>i</sub></code>,<code>y<sub>j</sub></code>,<code>f<sub>ij</sub></code>)
           yields <code>f(x<sub>i</sub>,y<sub>j</sub>)=f<sub>ij</sub></code> to the best accuracy
           possible. The result is provided as an object implementing the
-          <a href="../apidocs/org/apache/commons/math4/analysis/BivariateFunction.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/BivariateFunction.html">
           BivariateFunction</a> interface. It can therefore be evaluated at any point,
           including a point not belonging to the original set.
           The arrays <code>x<sub>i</sub></code> and <code>y<sub>j</sub></code> must be
@@ -472,25 +472,25 @@
           are computed from the function values sampled on a grid, as well as the values of the
           partial derivatives of the function at those grid points.
           From two-dimensional data sampled on a grid, the
-          <a href="../apidocs/org/apache/commons/math4/analysis/interpolation/BicubicSplineInterpolator.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/BicubicSplineInterpolator.html">
           BicubicSplineInterpolator</a> computes a
-          <a href="../apidocs/org/apache/commons/math4/analysis/interpolation/BicubicSplineInterpolatingFunction.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/BicubicSplineInterpolatingFunction.html">
           bicubic interpolating function</a>.
           Prior to computing an interpolating function, the
-          <a href="../apidocs/org/apache/commons/math4/analysis/interpolation/SmoothingPolynomialBicubicSplineInterpolator.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/SmoothingPolynomialBicubicSplineInterpolator.html">
           SmoothingPolynomialBicubicSplineInterpolator</a> class performs smoothing of
           the data by computing the polynomial that best fits each of the one-dimensional
           curves along each of the coordinate axes.
         </p>
         <p>
-          A <a href="../apidocs/org/apache/commons/math4/analysis/interpolation/TrivariateGridInterpolator.html">
+          A <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/TrivariateGridInterpolator.html">
           TrivariateGridInterpolator</a> is used to find a trivariate real-valued
           function <code>f</code> which for a given set of tuples
           (<code>x<sub>i</sub></code>,<code>y<sub>j</sub></code>,<code>z<sub>k</sub></code>,
           <code>f<sub>ijk</sub></code>)
           yields <code>f(x<sub>i</sub>,y<sub>j</sub>,z<sub>k</sub>)=f<sub>ijk</sub></code>
           to the best accuracy possible. The result is provided as an object implementing the
-          <a href="../apidocs/org/apache/commons/math4/analysis/TrivariateFunction.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/TrivariateFunction.html">
           TrivariateFunction</a> interface. It can therefore be evaluated at any point,
           including a point not belonging to the original set.
           The arrays <code>x<sub>i</sub></code>, <code>y<sub>j</sub></code> and
@@ -503,41 +503,41 @@
           are computed from the function values sampled on a grid, as well as the values of the
           partial derivatives of the function at those grid points.
           From three-dimensional data sampled on a grid, the
-          <a href="../apidocs/org/apache/commons/math4/analysis/interpolation/TricubicSplineInterpolator.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/TricubicSplineInterpolator.html">
           TricubicSplineInterpolator</a> computes a
-          <a href="../apidocs/org/apache/commons/math4/analysis/interpolation/TricubicSplineInterpolatingFunction.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/interpolation/TricubicSplineInterpolatingFunction.html">
           tricubic interpolating function</a>.
         </p>
       </subsection>
       <subsection name="4.5 Integration" href="integration">
         <p>
-          A <a href="../apidocs/org/apache/commons/math4/analysis/integration/UnivariateIntegrator.html">
+          A <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/integration/UnivariateIntegrator.html">
           UnivariateIntegrator</a> provides the means to numerically integrate
-          <a href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">
           univariate real-valued functions</a>.
           Commons-Math includes implementations of the following integration algorithms: <ul>
-          <li><a href="../apidocs/org/apache/commons/math4/analysis/integration/RombergIntegrator.html">
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/integration/RombergIntegrator.html">
           Romberg's method</a></li>
-          <li><a href="../apidocs/org/apache/commons/math4/analysis/integration/SimpsonIntegrator.html">
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/integration/SimpsonIntegrator.html">
           Simpson's method</a></li>
-          <li><a href="../apidocs/org/apache/commons/math4/analysis/integration/TrapezoidIntegrator.html">
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/integration/TrapezoidIntegrator.html">
           trapezoid method</a></li>
-          <li><a href="../apidocs/org/apache/commons/math4/analysis/integration/LegendreGaussIntegrator.html">
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/integration/LegendreGaussIntegrator.html">
           Legendre-Gauss method</a></li>
           </ul>
         </p>
       </subsection>
       <subsection name="4.6 Polynomials" href="polynomials">
         <p>
-          The <a href="../apidocs/org/apache/commons/math4/analysis/polynomials/package-summary.html">
+          The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/polynomials/package-summary.html">
           org.apache.commons.math4.analysis.polynomials</a> package provides real
           coefficients polynomials.
         </p>
         <p>
-          The <a href="../apidocs/org/apache/commons/math4/analysis/polynomials/PolynomialFunction.html">
+          The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialFunction.html">
           PolynomialFunction</a> class is the most general one, using traditional
           coefficients arrays. The
-          <a href="../apidocs/org/apache/commons/math4/analysis/polynomials/PolynomialsUtils.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialsUtils.html">
           PolynomialsUtils</a> utility class provides static factory methods to build
           Chebyshev, Hermite, Jacobi, Laguerre and Legendre polynomials. Coefficients are
           computed using exact fractions so these factory methods can build polynomials
@@ -546,21 +546,21 @@
       </subsection>
       <subsection name="4.7 Differentiation" href="differentiation">
         <p>
-          The <a href="../apidocs/org/apache/commons/math4/analysis/differentiation/package-summary.html">
+          The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/package-summary.html">
           org.apache.commons.math4.analysis.differentiation</a> package provides a general-purpose
           differentiation framework.
         </p>
         <p>
-          The core class is <a href="../apidocs/org/apache/commons/math4/analysis/differentiation/DerivativeStructure.html">
+          The core class is <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.html">
           DerivativeStructure</a> which holds the value and the differentials of a function. This class
           handles some arbitrary number of free parameters and arbitrary derivation order. It is used
           both as the input and the output type for the <a
-          href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateDifferentiableFunction.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateDifferentiableFunction.html">
           UnivariateDifferentiableFunction</a> interface. Any differentiable function should implement this
           interface.
         </p>
         <p>
-          The main idea behind the <a href="../apidocs/org/apache/commons/math4/analysis/differentiation/DerivativeStructure.html">
+          The main idea behind the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.html">
           DerivativeStructure</a> class is that it can be used almost as a number (i.e. it can be added,
           multiplied, its square root can be extracted or its cosine computed... However, in addition to
           computed the value itself when doing these computations, the partial derivatives are also computed
@@ -577,7 +577,7 @@
         <p>
           The workflow of computation of a derivatives of an expression <code>y=f(x)</code> is the following
           one. First we configure an input parameter <code>x</code> of type <a
-          href="../apidocs/org/apache/commons/math4/analysis/differentiation/DerivativeStructure.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.html">
           DerivativeStructure</a> so it will drive the function to compute all derivatives up to order 3 for
           example. Then we compute <code>y=f(x)</code> normally by passing this parameter to the f function.At
           the end, we extract from <code>y</code> the value and the derivatives we want. As we have specified
@@ -667,28 +667,28 @@
 System.out.println("d2g/dy2  = " + g.getPartialDerivative(0, 2);</source>
        <p>
           There are several ways a user can create an implementation of the <a
-          href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateDifferentiableFunction.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateDifferentiableFunction.html">
           UnivariateDifferentiableFunction</a> interface. The first method is to simply write it directly using
-          the appropriate methods from <a href="../apidocs/org/apache/commons/math4/analysis/differentiation/DerivativeStructure.html">
+          the appropriate methods from <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.html">
           DerivativeStructure</a> to compute addition, subtraction, sine, cosine... This is often quite
           straigthforward and there is no need to remember the rules for differentiation: the user code only
           represent the function itself, the differentials will be computed automatically under the hood. The
           second method is to write a classical <a
-          href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">UnivariateFunction</a> and to
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">UnivariateFunction</a> and to
           pass it to an existing implementation of the <a
-          href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateFunctionDifferentiator.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateFunctionDifferentiator.html">
           UnivariateFunctionDifferentiator</a> interface to retrieve a differentiated version of the same function.
           The first method is more suited to small functions for which user already control all the underlying code.
           The second method is more suited to either large functions that would be cumbersome to write using the
-          <a href="../apidocs/org/apache/commons/math4/analysis/differentiation/DerivativeStructure.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.html">
           DerivativeStructure</a> API, or functions for which user does not have control to the full underlying code
           (for example functions that call external libraries).
         </p>
         <p>
           Apache Commons Math provides one implementation of the <a
-          href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateFunctionDifferentiator.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateFunctionDifferentiator.html">
           UnivariateFunctionDifferentiator</a> interface: <a
-          href="../apidocs/org/apache/commons/math4/analysis/differentiation/FiniteDifferencesDifferentiator.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/FiniteDifferencesDifferentiator.html">
           FiniteDifferencesDifferentiator</a>. This class creates a wrapper that will call the user-provided function
           on a grid sample and will use finite differences to compute the derivatives. It takes care of boundaries
           if the variable is not defined on the whole real line. It is possible to use more points than strictly
@@ -726,22 +726,22 @@
 }</source>
         <p>
           Note that using <a
-          href="../apidocs/org/apache/commons/math4/analysis/differentiation/FiniteDifferencesDifferentiator.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/FiniteDifferencesDifferentiator.html">
           FiniteDifferencesDifferentiator</a>a> in order to have a <a
-          href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateDifferentiableFunction.html">
-          UnivariateDifferentiableFunction</a> that can be provided to a <a href="../apidocs/org/apache/commons/math4/analysis/solvers/NewtonRaphsonSolver.html">Newton-Raphson's</a>
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateDifferentiableFunction.html">
+          UnivariateDifferentiableFunction</a> that can be provided to a <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/NewtonRaphsonSolver.html">Newton-Raphson's</a>
           solver is a very bad idea. The reason is that finite differences are not really accurate and needs lots
           of additional calls to the basic underlying function. If user initially have only the basic function
           available and needs to find its roots, it is <em>much</em> more accurate and <em>much</em> more
           efficient to use a solver that only requires the function values and not the derivatives. A good choice is
-          to use <a href="../apidocs/org/apache/commons/math4/analysis/solvers/BracketingNthOrderBrentSolver.html">bracketing
+          to use <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/BracketingNthOrderBrentSolver.html">bracketing
           n<sup>th</sup> order Brent</a> method, which in fact converges faster than <a
-          href="../apidocs/org/apache/commons/math4/analysis/solvers/NewtonRaphsonSolver.html">Newton-Raphson's</a> and
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/solvers/NewtonRaphsonSolver.html">Newton-Raphson's</a> and
           can be configured to a highere order (typically 5) than Newton-Raphson which is an order 2 method.
         </p>
         <p>
           Another implementation of the <a
-          href="../apidocs/org/apache/commons/math4/analysis/differentiation/UnivariateFunctionDifferentiator.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/UnivariateFunctionDifferentiator.html">
           UnivariateFunctionDifferentiator</a> interface is under development in the related project
           <a href="http://commons.apache.org/sandbox/nabla/">Apache Commons Nabla</a>. This implementation uses
           automatic code analysis and generation at binary level. However, at time of writing
diff --git a/src/site/xdoc/userguide/distribution.xml b/src/site/xdoc/userguide/distribution.xml
index 2f33bae..8cb9fad 100644
--- a/src/site/xdoc/userguide/distribution.xml
+++ b/src/site/xdoc/userguide/distribution.xml
@@ -33,12 +33,12 @@
           Commons Math provides
           <ul>
             <li>
-              an <a href="../apidocs/org/apache/commons/math4/legacy/distribution/EnumeratedDistribution.html">
+              an <a href="../commons-math-docs/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">
+              a <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/distribution/MultiVariateNormalDistribution.html">
               MultivariateNormalDistribution</a> interface that represents multivariate Gaussian
               distributions.
             </li>
diff --git a/src/site/xdoc/userguide/exceptions.xml b/src/site/xdoc/userguide/exceptions.xml
index 22757df..b3331f0 100644
--- a/src/site/xdoc/userguide/exceptions.xml
+++ b/src/site/xdoc/userguide/exceptions.xml
@@ -53,28 +53,28 @@
             <li>
               <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html">
                 <code>IllegalArgumentException</code></a>:
-              A <a href="../apidocs/org/apache/commons/math4/exception/MathIllegalArgumentException.html">
+              A <a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/MathIllegalArgumentException.html">
                 <code>MathIllegalArgumentException</code></a> is thrown when some input
               parameter fails a precondition check.
             </li>
             <li>
               <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html">
                 <code>IllegalStateException</code></a>:
-              A <a href="../apidocs/org/apache/commons/math4/exception/MathIllegalStateException.html">
+              A <a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/MathIllegalStateException.html">
                 <code>MathIllegalStateException</code></a> is thrown when some inconsistency
               has been detected.
             </li>
             <li>
               <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/MathArithmeticException.html">
                 <code>ArithmeticException</code></a>:
-              A <a href="../apidocs/org/apache/commons/math4/exception/MathArithmeticException.html">
+              A <a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/MathArithmeticException.html">
                 <code>MathArithmeticException</code></a> is thrown when conditions such as
               "division by zero" or "overflow" are encountered.
             </li>
             <li>
               <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/MathUnsupportedOperationException.html">
                 <code>UnsupportedOperationException</code></a>:
-              A <a href="../apidocs/org/apache/commons/math4/exception/MathUnsupportedOperationException.html">
+              A <a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/MathUnsupportedOperationException.html">
                 <code>MathUnsupportedOperationException</code></a> indicates that a feature
               is missing or does not make sense in the given context.
             </li>
@@ -101,11 +101,11 @@
           <li>Exception "context"
             <p>
               Every exception generated by Commons Math implements the
-              <a href="../apidocs/org/apache/commons/math4/exception/util/ExceptionContextProvider.html">
+              <a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/util/ExceptionContextProvider.html">
                 ExceptionContextProvider</a> interface. A call to the
-              <a href="../apidocs/org/apache/commons/math4/exception/util/ExceptionContextProvider.html#getContext()">
+              <a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/util/ExceptionContextProvider.html#getContext()">
                 getContext</a> method will return the
-              <a href="../apidocs/org/apache/commons/math4/exception/util/ExceptionContext.html">
+              <a href="../commons-math-legacy-exception/apidocs/org/apache/commons/math4/legacy/exception/util/ExceptionContext.html">
                 ExceptionContext</a> instance stored in the exception, which the
               user can further customize by adding messages and/or any object.
             </p>
diff --git a/src/site/xdoc/userguide/filter.xml b/src/site/xdoc/userguide/filter.xml
index 50b0733..419e98c 100644
--- a/src/site/xdoc/userguide/filter.xml
+++ b/src/site/xdoc/userguide/filter.xml
@@ -30,12 +30,12 @@
       </subsection>
       <subsection name="17.2 Kalman Filter" href="kalman">
         <p>
-          <a href="../apidocs/org/apache/commons/math4/filter/KalmanFilter.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/filter/KalmanFilter.html">
           KalmanFilter</a> provides a discrete-time filter to estimate
           a stochastic linear process.</p>
 
-        <p>A Kalman filter is initialized with a <a href="../apidocs/org/apache/commons/math4/filter/ProcessModel.html">
-          ProcessModel</a> and a <a href="../apidocs/org/apache/commons/math4/filter/MeasurementModel.html">
+        <p>A Kalman filter is initialized with a <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/filter/ProcessModel.html">
+          ProcessModel</a> and a <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/filter/MeasurementModel.html">
           MeasurementModel</a>, which contain the corresponding transformation and noise covariance matrices.
           The parameter names used in the respective models correspond to the following names commonly used
           in the mathematical literature:
diff --git a/src/site/xdoc/userguide/fitting.xml b/src/site/xdoc/userguide/fitting.xml
index 82eff1e..11c2aa1 100644
--- a/src/site/xdoc/userguide/fitting.xml
+++ b/src/site/xdoc/userguide/fitting.xml
@@ -46,15 +46,15 @@
               appropriate class,
             </li>
             <li>
-              call the <a href="../apidocs/org/apache/commons/math4/fitting/AbstractCurveFitter">fit</a>
-              with a <code>Collection</code> of <a href="../apidocs/org/apache/commons/math4/fitting/WeightedObservedPoint.html">
+              call the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/AbstractCurveFitter">fit</a>
+              with a <code>Collection</code> of <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/WeightedObservedPoint.html">
                 observed data points</a> as argument, which will return an array with the parameters that
               best fit the given data points.
             </li>
           </ul>
 
           The list of observed data points to be passed to <code>fit</code> can be built by incrementally
-          adding instances to an instance of <a href="../apidocs/org/apache/commons/math4/fitting/WeightedObservedPoints.html">WeightedObservedPoints</a>,
+          adding instances to an instance of <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/WeightedObservedPoints.html">WeightedObservedPoints</a>,
           and then retrieve the list of <code>WeightedObservedPoint</code> by calling the <code>toList</code>
           method on that container.
           A weight can be associated with each observed point; it allows to take into account uncertainty
@@ -81,25 +81,25 @@
           Fitting of specific functions are provided through the following classes:
           <ul>
             <li>
-              <a href="../apidocs/org/apache/commons/math4/fitting/PolynomialCurveFitter.html">
+              <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/PolynomialCurveFitter.html">
                 PolynomialFitter</a> fits a
-              <a href="../apidocs/org/apache/commons/math4/analysis/polynomials/PolynomialFunction.Parametric.html">
+              <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/polynomials/PolynomialFunction.Parametric.html">
                 polynomial</a> function.
             </li>
             <li>
-              <a href="../apidocs/org/apache/commons/math4/fitting/HarmonicCurveFitter.html">
+              <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/HarmonicCurveFitter.html">
                 HarmonicFitter</a> fits a
-              <a href="../apidocs/org/apache/commons/math4/analysis/function/HarmonicOscillator.Parametric.html">
+              <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/function/HarmonicOscillator.Parametric.html">
                 harmonic</a> function.
-              An instance of the inner class <a href="../apidocs/org/apache/commons/math4/fitting/HarmonicCurveFitter.ParameterGuesser.html">
+              An instance of the inner class <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/HarmonicCurveFitter.ParameterGuesser.html">
                 ParameterGuesser</a> can be used to retrieve initial values for the fitting procedure.
             </li>
             <li>
-              <a href="../apidocs/org/apache/commons/math4/fitting/GaussianCurveFitter.html">
+              <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/GaussianCurveFitter.html">
                 GaussianFitter</a> fits a
-              <a href="../apidocs/org/apache/commons/math4/analysis/function/Gaussian.Parametric.html">
+              <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/function/Gaussian.Parametric.html">
                 Gaussian</a> function.
-              An instance of the inner class <a href="../apidocs/org/apache/commons/math4/fitting/GaussianCurveFitter.ParameterGuesser.html">
+              An instance of the inner class <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/GaussianCurveFitter.ParameterGuesser.html">
                 ParameterGuesser</a> can be used to retrieve initial values for the fitting procedure.
             </li>
           </ul>
@@ -129,11 +129,11 @@
 
       <subsection name="13.3 General Case" href="general">
         <p>
-          The <a href="../apidocs/org/apache/commons/math4/fitting/AbstractCurveFitter.html">
+          The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/AbstractCurveFitter.html">
             AbstractCurveFitter</a> class provides the basic functionality for implementing other
           curve fitting classes.
           Users must provide their own implementation of the curve template as a class that implements
-          the <a href="../apidocs/org/apache/commons/math4/analysis/ParametricUnivariateFunction.html">
+          the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/ParametricUnivariateFunction.html">
             ParametricUnivariateFunction</a> interface.
         </p>
       </subsection>
diff --git a/src/site/xdoc/userguide/genetics.xml b/src/site/xdoc/userguide/genetics.xml
index bf4c17c..a8e7238 100644
--- a/src/site/xdoc/userguide/genetics.xml
+++ b/src/site/xdoc/userguide/genetics.xml
@@ -31,15 +31,15 @@
       </subsection>
       <subsection name="16.2 GA Framework">
       <p>
-      <a href="../apidocs/org/apache/commons/math4/genetics/GeneticAlgorithm.html">
+      <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/GeneticAlgorithm.html">
       GeneticAlgorithm</a> provides an execution framework for Genetic Algorithms (GA).
-      <a href="../apidocs/org/apache/commons/math4/genetics/Population.html">
-      Populations,</a> consisting of <a href="../apidocs/org/apache/commons/math4/genetics/Chromosome.html">
+      <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/Population.html">
+      Populations,</a> consisting of <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/Chromosome.html">
       Chromosomes</a> are evolved by the <code>GeneticAlgorithm</code> until a
-      <a href="../apidocs/org/apache/commons/math4/genetics/StoppingCondition.html">
-      StoppingCondition</a> is reached. Evolution is determined by <a href="../apidocs/org/apache/commons/math4/genetics/SelectionPolicy.html">
-      SelectionPolicy</a>, <a href="../apidocs/org/apache/commons/math4/genetics/MutationPolicy.html">
-      MutationPolicy</a> and <a href="../apidocs/org/apache/commons/math4/genetics/Fitness.html">
+      <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/StoppingCondition.html">
+      StoppingCondition</a> is reached. Evolution is determined by <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/SelectionPolicy.html">
+      SelectionPolicy</a>, <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/MutationPolicy.html">
+      MutationPolicy</a> and <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/Fitness.html">
       Fitness</a>.
       </p>
       <p>
@@ -62,10 +62,10 @@
           <ul><li>Apply configured <code>SelectionPolicy</code> to select a pair of parents
                  from <code>current</code></li>
              <li>With probability =
-                 <a href="../apidocs/org/apache/commons/math4/genetics/GeneticAlgorithm.html#getCrossoverRate()">
+                 <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/GeneticAlgorithm.html#getCrossoverRate()">
                  getCrossoverRate()</a>, apply configured <code>CrossoverPolicy</code> to parents</li>
              <li>With probability =
-                 <a href="../apidocs/org/apache/commons/math4/genetics/GeneticAlgorithm.html#getMutationRate()">
+                 <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/GeneticAlgorithm.html#getMutationRate()">
                  getMutationRate()</a>,
                  apply configured <code>MutationPolicy</code> to each of the offspring</li>
              <li>Add offspring individually to nextGeneration,
@@ -104,27 +104,27 @@
         <table>
         <tr><th>Parameter</th><th>value in example</th><th>meaning</th></tr>
         <tr><td>crossoverPolicy</td>
-        <td><a href="../apidocs/org/apache/commons/math4/genetics/OnePointCrossover.html">OnePointCrossover</a></td>
+        <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/OnePointCrossover.html">OnePointCrossover</a></td>
         <td>A random crossover point is selected and the first part from each parent is copied to the corresponding
         child, and the second parts are copied crosswise.</td></tr>
         <tr><td>crossoverRate</td>
         <td>1</td>
         <td>Always apply crossover</td></tr>
         <tr><td>mutationPolicy</td>
-        <td><a href="../apidocs/org/apache/commons/math4/genetics/RandomKeyMutation.html">RandomKeyMutation</a></td>
+        <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/RandomKeyMutation.html">RandomKeyMutation</a></td>
         <td>Changes a randomly chosen element of the array representation to a random value uniformly distributed in [0,1].</td></tr>
         <tr><td>mutationRate</td>
         <td>.1</td>
         <td>Apply mutation with probability 0.1 - that is, 10% of the time.</td></tr>
         <tr><td>selectionPolicy</td>
-        <td><a href="../apidocs/org/apache/commons/math4/genetics/TournamentSelection.html">TournamentSelection</a></td>
+        <td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/TournamentSelection.html">TournamentSelection</a></td>
         <td>Each of the two selected chromosomes is selected based on an n-ary tournament -- this is done by drawing
         n random chromosomes without replacement from the population, and then selecting the fittest chromosome among them.</td></tr>
         </table><br/>
         The algorithm starts with an <code>initial</code> population of <code>Chromosomes.</code> and executes until
-        the specified <a href="../apidocs/org/apache/commons/math4/genetics/StoppingCondition.html">StoppingCondition</a>
+        the specified <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/StoppingCondition.html">StoppingCondition</a>
         is reached.  In the example above, a
-        <a href="../apidocs/org/apache/commons/math4/genetics/FixedGenerationCount.html">FixedGenerationCount</a>
+        <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/genetics/FixedGenerationCount.html">FixedGenerationCount</a>
         stopping condition is used, which means the algorithm proceeds through a fixed number of generations.
       </p>
       </subsection>
diff --git a/src/site/xdoc/userguide/leastsquares.xml b/src/site/xdoc/userguide/leastsquares.xml
index 6153de3..d6cd9a9 100644
--- a/src/site/xdoc/userguide/leastsquares.xml
+++ b/src/site/xdoc/userguide/leastsquares.xml
@@ -41,9 +41,9 @@
         </p>
         <p>
           Two engines devoted to least-squares problems are available. The first one is
-          based on the <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/GaussNewtonOptimizer.html">
+          based on the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/GaussNewtonOptimizer.html">
           Gauss-Newton</a> method. The second one is the <a
-          href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LevenbergMarquardtOptimizer.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LevenbergMarquardtOptimizer.html">
           Levenberg-Marquardt</a> method.
         </p>
       </subsection>
@@ -67,12 +67,12 @@
         </p>
         <p>
           The elements of the list above can be provided as an implementation of the
-          <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresProblem.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresProblem.html">
           LeastSquaresProblem</a> interface. However, this is cumbersome to do directly, so some helper
           classes are available. The first helper is a mutable builder:
-          <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresBuilder.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresBuilder.html">
           LeastSquaresBuilder</a>. The second helper is an utility factory:
-          <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresFactory.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresFactory.html">
           LeastSquaresFactory</a>.
         </p>
         <p>
@@ -109,13 +109,13 @@
           be available. There are two ways to provide this:
           <ul>
             <li>provide one
-            <a href="../apidocs/org/apache/commons/math4/analysis/MultivariateVectorFunction.html">MultivariateVectorFunction</a>
+            <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateVectorFunction.html">MultivariateVectorFunction</a>
             instance for computing the components values and one
-            <a href="../apidocs/org/apache/commons/math4/analysis/MultivariateMatrixFunction.html">MultivariateMatrixFunction</a>
+            <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateMatrixFunction.html">MultivariateMatrixFunction</a>
             instance for computing the components derivatives (i.e. the Jacobian matrix) with
             respect to the parameters,</li>
             <li>or provide one
-            <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/MultivariateJacobianFunction.html">MultivariateJacobianFunction</a>
+            <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/MultivariateJacobianFunction.html">MultivariateJacobianFunction</a>
             instance for computing both the components values and their derivatives simultaneously.</li>
           </ul>
           The first alternative is best suited for models which are not computationally intensive
@@ -125,16 +125,16 @@
         </p>
         <p>
           The <code>point</code> parameter of the <code>value</code> methods in the
-          <a href="../apidocs/org/apache/commons/math4/analysis/MultivariateVectorFunction.html">MultivariateVectorFunction</a>,
-          <a href="../apidocs/org/apache/commons/math4/analysis/MultivariateMatrixFunction.html">MultivariateMatrixFunction</a>,
-          or <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/MultivariateJacobianFunction.html">MultivariateJacobianFunction</a>
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateVectorFunction.html">MultivariateVectorFunction</a>,
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateMatrixFunction.html">MultivariateMatrixFunction</a>,
+          or <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/MultivariateJacobianFunction.html">MultivariateJacobianFunction</a>
           interfaces will contain the parameters p<sub>k</sub>. The values will be the model components
           model<sub>i</sub> and the derivatives will be the derivatives of the model components
           with respect to the parameters dmodel<sub>i</sub>/dp<sub>k</sub>.
         </p>
         <p>
           There are no requirements on how to compute value and derivatives. The
-          <a href="../apidocs/org/apache/commons/math4/analysis/differentiation/DerivativeStructure.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/differentiation/DerivativeStructure.html">
           DerivativeStructure</a> class may be useful to compute analytically derivatives in
           difficult cases, but this class is not mandated by the API which only expects the derivatives
           as a Jacobian matrix containing primitive double entries.
@@ -147,7 +147,7 @@
           if the model functions are themselves separated, i.e. it can be used only with the first
           alternative above. Setting up the <code>lazyEvaluation</code> flag to <code>true</code> in the builder
           or factory and setting up the model function as one
-          <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/MultivariateJacobianFunction.html">MultivariateJacobianFunction</a>
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/MultivariateJacobianFunction.html">MultivariateJacobianFunction</a>
           instance at the same time will trigger an illegal state exception telling that the model function
           misses required functionality.
         </p>
@@ -164,7 +164,7 @@
        </p>
        <p>
          Both ways are achieved by setting up a
-         <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/ParameterValidator.html">ParameterValidator</a>
+         <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/ParameterValidator.html">ParameterValidator</a>
          instance. The input of the value and jacobian model functions will always be the output of
          the parameter validator if one exists.
        </p>
@@ -217,26 +217,26 @@
         </p>
         <p>
           Convergence checking is delegated to a dedicated interface from the <code>optim</code>
-          package: <a href="../apidocs/org/apache/commons/math4/optim/ConvergenceChecker.html">
+          package: <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/ConvergenceChecker.html">
           ConvergenceChecker</a>, parameterized with either the specific
-          <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresProblem.Evaluation.html">Evaluation</a>
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresProblem.Evaluation.html">Evaluation</a>
           class used for least squares problems or the general
-          <a href="../apidocs/org/apache/commons/math4/optim/PointVectorValuePair.html">PointVectorValuePair</a>.
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/PointVectorValuePair.html">PointVectorValuePair</a>.
           Each time convergence is checked, both the previous
           and the current evaluations of the least squares problem are provided, so the checker can
           compare them and decide whereas convergence has been reached or not. The predefined convergence
           checker implementations that can be useful for least squares fitting are:
           <ul>
-            <li><a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/EvaluationRmsChecker.html">EvaluationRmsChecker</a>,
+            <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/EvaluationRmsChecker.html">EvaluationRmsChecker</a>,
             which uses only the normalized cost (square-root of the sum of squared of the residuals,
             divided by the number of measurements),</li>
-            <li><a href="../apidocs/org/apache/commons/math4/optim/SimpleVectorValueChecker.html">SimpleVectorValueChecker</a>,
+            <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/SimpleVectorValueChecker.html">SimpleVectorValueChecker</a>,
             which uses the model components themselves (<em>not</em> the residuals),</li>
-            <li><a href="../apidocs/org/apache/commons/math4/optim/SimplePointChecker.html">SimplePointChecker&lt;PointVectorValuePair&gt;</a>,
+            <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/SimplePointChecker.html">SimplePointChecker&lt;PointVectorValuePair&gt;</a>,
             which uses the parameters.</li>
           </ul>
           Of course, users can also provide their own implementation of the
-          <a href="../apidocs/org/apache/commons/math4/optim/ConvergenceChecker.html">ConvergenceChecker</a>
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/ConvergenceChecker.html">ConvergenceChecker</a>
           interface.
         </p>
       </subsection>
@@ -246,9 +246,9 @@
           Once the least squares problem has been created, using either the builder or the factory,
           it is passed to an optimization engine for solving. Two engines devoted to least-squares
           problems are available. The first one is
-          based on the <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/GaussNewtonOptimizer.html">
+          based on the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/GaussNewtonOptimizer.html">
           Gauss-Newton</a> method. The second one is the <a
-          href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LevenbergMarquardtOptimizer.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LevenbergMarquardtOptimizer.html">
           Levenberg-Marquardt</a> method. For both increased readability and in order to leverage
           possible future changes in the configuration, it is recommended to use the fluent-style API to
           build and configure the optimizers. This means creating a first temporary version of the optimizer
@@ -286,12 +286,12 @@
 
         <p>
           The <a
-          href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresOptimizer.Optimum.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresOptimizer.Optimum.html">
           LeastSquaresOptimizer.Optimum</a> class is a specialized
-          <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresProblem.Evaluation.html">Evaluation</a>
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresProblem.Evaluation.html">Evaluation</a>
           with additional methods te retrieve the number of evaluations and number of iterations performed.
           The most important methods are inherited from the
-          <a href="../apidocs/org/apache/commons/math4/fitting/leastsquares/LeastSquaresProblem.Evaluation.html">Evaluation</a>
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fitting/leastsquares/LeastSquaresProblem.Evaluation.html">Evaluation</a>
           class and correspond to the point (i.e. the parameters), cost, Jacobian, RMS, covariance ...
         </p>
       </subsection>
diff --git a/src/site/xdoc/userguide/linear.xml b/src/site/xdoc/userguide/linear.xml
index 8d05eb7..6ba4e34 100644
--- a/src/site/xdoc/userguide/linear.xml
+++ b/src/site/xdoc/userguide/linear.xml
@@ -35,7 +35,7 @@
       </subsection>
       <subsection name="3.2 Real matrices" href="real_matrices">
         <p>
-          The <a href="../apidocs/org/apache/commons/math4/linear/RealMatrix.html">
+          The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/RealMatrix.html">
           RealMatrix</a> interface represents a matrix with real numbers as
           entries.  The following basic matrix operations are supported:
           <ul>
@@ -72,18 +72,18 @@
         </p>
         <p>
         The three main implementations of the interface are <a
-        href="../apidocs/org/apache/commons/math4/linear/Array2DRowRealMatrix.html">
+        href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/Array2DRowRealMatrix.html">
         Array2DRowRealMatrix</a> and <a
-        href="../apidocs/org/apache/commons/math4/linear/BlockRealMatrix.html">
+        href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/BlockRealMatrix.html">
         BlockRealMatrix</a> for dense matrices (the second one being more suited to
         dimensions above 50 or 100) and <a
-        href="../apidocs/org/apache/commons/math4/linear/SparseRealMatrix.html">
+        href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/SparseRealMatrix.html">
         SparseRealMatrix</a> for sparse matrices.
         </p>
       </subsection>
       <subsection name="3.3 Real vectors" href="real_vectors">
         <p>
-          The <a href="../apidocs/org/apache/commons/math4/linear/RealVector.html">
+          The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/RealVector.html">
           RealVector</a> interface represents a vector with real numbers as
           entries.  The following basic matrix operations are supported:
           <ul>
@@ -96,7 +96,7 @@
           </ul>
         </p>
         <p>
-          The <a href="../apidocs/org/apache/commons/math4/linear/RealVectorFormat.html">
+          The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/RealVectorFormat.html">
           RealVectorFormat</a> class handles input/output of vectors in a customizable
           textual format.
         </p>
@@ -104,7 +104,7 @@
       <subsection name="3.4 Solving linear systems" href="solve">
         <p>
           The <code>solve()</code> methods of the <a
-          href="../apidocs/org/apache/commons/math4/linear/DecompositionSolver.html">DecompositionSolver</a>
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/DecompositionSolver.html">DecompositionSolver</a>
           interface support solving linear systems of equations of the form AX=B, either
           in linear sense or in least square sense. A <code>RealMatrix</code> instance is
           used to represent the coefficient matrix of the system. Solving the system is a
@@ -157,11 +157,11 @@
           <table border="1" align="center">
           <tr BGCOLOR="#CCCCFF"><td colspan="3"><font size="+1">Decomposition algorithms</font></td></tr>
           <tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>coefficients matrix</td><td>problem type</td></font></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/linear/LUDecomposition.html">LU</a></td><td>square</td><td>exact solution only</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/linear/CholeskyDecomposition.html">Cholesky</a></td><td>symmetric positive definite</td><td>exact solution only</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/linear/QRDecomposition.html">QR</a></td><td>any</td><td>least squares solution</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/linear/EigenDecomposition.html">eigen decomposition</a></td><td>square</td><td>exact solution only</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/linear/SingularValueDecomposition.html">SVD</a></td><td>any</td><td>least squares solution</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/LUDecomposition.html">LU</a></td><td>square</td><td>exact solution only</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/CholeskyDecomposition.html">Cholesky</a></td><td>symmetric positive definite</td><td>exact solution only</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/QRDecomposition.html">QR</a></td><td>any</td><td>least squares solution</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/EigenDecomposition.html">eigen decomposition</a></td><td>square</td><td>exact solution only</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/linear/SingularValueDecomposition.html">SVD</a></td><td>any</td><td>least squares solution</td></tr>
           </table>
         </p>
         <p>
@@ -196,13 +196,13 @@
       <subsection name="3.6 Non-real fields (complex, fractions ...)" href="field">
         <p>
           In addition to the real field, matrices and vectors using non-real <a
-          href="../apidocs/org/apache/commons/math4/FieldElement.html">field elements</a> can be used.
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/FieldElement.html">field elements</a> can be used.
           The fields already supported by the library are:
           <ul>
-            <li><a href="../apidocs/org/apache/commons/math4/complex/Complex.html">Complex</a></li>
-            <li><a href="../apidocs/org/apache/commons/math4/fraction/Fraction.html">Fraction</a></li>
-            <li><a href="../apidocs/org/apache/commons/math4/fraction/BigFraction.html">BigFraction</a></li>
-            <li><a href="../apidocs/org/apache/commons/math4/util/BigReal.html">BigReal</a></li>
+            <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/complex/Complex.html">Complex</a></li>
+            <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fraction/Fraction.html">Fraction</a></li>
+            <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/fraction/BigFraction.html">BigFraction</a></li>
+            <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/BigReal.html">BigReal</a></li>
           </ul>
         </p>
       </subsection>
diff --git a/src/site/xdoc/userguide/ml.xml b/src/site/xdoc/userguide/ml.xml
index ed063bf..705d777 100644
--- a/src/site/xdoc/userguide/ml.xml
+++ b/src/site/xdoc/userguide/ml.xml
@@ -33,30 +33,30 @@
       </subsection>
       <subsection name="16.2 Clustering algorithms and distance measures" href="clustering">
         <p>
-          The <a href="../apidocs/org/apache/commons/math4/ml/clustering/Clusterer.html">
+          The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/clustering/Clusterer.html">
           Clusterer</a> class represents a clustering algorithm.
           The following algorithms are available:
           <ul>
-          <li><a href="../apidocs/org/apache/commons/math4/ml/clustering/KMeansPlusPlusClusterer.html">KMeans++</a>:
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/clustering/KMeansPlusPlusClusterer.html">KMeans++</a>:
           It is based on the well-known kMeans algorithm, but uses a different method for
           choosing the initial values (or "seeds") and thus avoids cases where KMeans sometimes
           results in poor clusterings. KMeans/KMeans++ clustering aims to partition n observations
           into k clusters in such that each point belongs to the cluster with the nearest center.
           </li>
-          <li><a href="../apidocs/org/apache/commons/math4/ml/clustering/FuzzyKMeansClusterer.html">Fuzzy-KMeans</a>:
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/clustering/FuzzyKMeansClusterer.html">Fuzzy-KMeans</a>:
           A variation of the classical K-Means algorithm, with the major difference that a single
           data point is not uniquely assigned to a single cluster. Instead, each point i has a set
           of weights u<sub>ij</sub> which indicate the degree of membership to the cluster j. The fuzzy
           variant does not require initial values for the cluster centers and is thus more robust, although
           slower than the original kMeans algorithm.
           </li>
-          <li><a href="../apidocs/org/apache/commons/math4/ml/clustering/DBSCANClusterer.html">DBSCAN</a>:
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/clustering/DBSCANClusterer.html">DBSCAN</a>:
           Density-based spatial clustering of applications with noise (DBSCAN) finds a number of
           clusters starting from the estimated density distribution of corresponding nodes. The
           main advantages over KMeans/KMeans++ are that DBSCAN does not require the specification
           of an initial number of clusters and can find arbitrarily shaped clusters.
           </li>
-          <li><a href="../apidocs/org/apache/commons/math4/ml/clustering/MultiKMeansPlusPlusClusterer.html">Multi-KMeans++</a>:
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/clustering/MultiKMeansPlusPlusClusterer.html">Multi-KMeans++</a>:
           Multi-KMeans++ is a meta algorithm that basically performs n runs using KMeans++ and then
           chooses the best clustering (i.e., the one with the lowest distance variance over all clusters)
           from those runs.
@@ -74,11 +74,11 @@
           between two points (either data points or cluster centers).
           The following distance measures are available:
           <ul>
-          <li><a href="../apidocs/org/apache/commons/math4/ml/distance/CanberraDistance.html">Canberra distance</a></li>
-          <li><a href="../apidocs/org/apache/commons/math4/ml/distance/ChebyshevDistance.html">ChebyshevDistance distance</a></li>
-          <li><a href="../apidocs/org/apache/commons/math4/ml/distance/EuclideanDistance.html">EuclideanDistance distance</a></li>
-          <li><a href="../apidocs/org/apache/commons/math4/ml/distance/ManhattanDistance.html">ManhattanDistance distance</a></li>
-          <li><a href="../apidocs/org/apache/commons/math4/ml/distance/EarthMoversDistance.html">Earth Mover's distance</a></li>
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/distance/CanberraDistance.html">Canberra distance</a></li>
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/distance/ChebyshevDistance.html">ChebyshevDistance distance</a></li>
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/distance/EuclideanDistance.html">EuclideanDistance distance</a></li>
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/distance/ManhattanDistance.html">ManhattanDistance distance</a></li>
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/distance/EarthMoversDistance.html">Earth Mover's distance</a></li>
           </ul>
         </p>
       </subsection>
@@ -90,7 +90,7 @@
         10 different clusters based on their euclidean distance.
         </p>
         <p>
-        The cluster algorithms expect a list of <a href="../apidocs/org/apache/commons/math4/ml/cluster/Clusterable.html">Clusterable</a>
+        The cluster algorithms expect a list of <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ml/cluster/Clusterable.html">Clusterable</a>
         as input. Typically, we don't want to pollute our domain objects with interfaces from helper APIs.
         Hence, we first create a wrapper object:
         <source>
diff --git a/src/site/xdoc/userguide/ode.xml b/src/site/xdoc/userguide/ode.xml
index 6a8cd53..49d4be6 100644
--- a/src/site/xdoc/userguide/ode.xml
+++ b/src/site/xdoc/userguide/ode.xml
@@ -38,7 +38,7 @@
           All integrators provide dense output. This means that besides computing the state vector
           at discrete times, they also provide a cheap means to get both the state and its derivative
           between the time steps. They do so through classes extending the
-          <a href="../apidocs/org/apache/commons/math4/ode/sampling/StepInterpolator.html">StepInterpolator</a>
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/StepInterpolator.html">StepInterpolator</a>
           abstract class, which are made available to the user at the end of each step.
         </p>
         <p>
@@ -83,11 +83,11 @@
         </p>
         <p>
           The user should describe his problem in his own classes which should implement the
-          <a href="../apidocs/org/apache/commons/math4/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
-          interface (or  <a href="../apidocs/org/apache/commons/math4/ode/FirstOrderFieldDifferentialEquations.html">FirstOrderFieldDifferentialEquations</a>
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
+          interface (or  <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderFieldDifferentialEquations.html">FirstOrderFieldDifferentialEquations</a>
           interface). Then they should pass it to the integrator they prefer among all the classes that implement
-          the <a href="../apidocs/org/apache/commons/math4/ode/FirstOrderIntegrator.html">FirstOrderIntegrator</a>
-          interface (or the <a href="../apidocs/org/apache/commons/math4/ode/FirstOrderFieldIntegrator.html">FirstOrderFieldIntegrator</a>
+          the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderIntegrator.html">FirstOrderIntegrator</a>
+          interface (or the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderFieldIntegrator.html">FirstOrderFieldIntegrator</a>
           interface). The following example shows how to implement the simple two-dimensional problem using double primitives:
           <ul>
             <li>y'<sub>0</sub>(t) = &#x3c9; &#xD7; (c<sub>1</sub> - y<sub>1</sub>(t))</li>
@@ -137,10 +137,10 @@
           <code>FirstOrderIntegrator.integrate</code> method, as shown by previous example. The second one
           should be used when more in-depth information is needed throughout the integration process. The user
           can register an object implementing the
-          <a href="../apidocs/org/apache/commons/math4/ode/sampling/StepHandler.html">StepHandler</a> interface or a
-          <a href="../apidocs/org/apache/commons/math4/ode/sampling/StepNormalizer.html">StepNormalizer</a> object wrapping
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/StepHandler.html">StepHandler</a> interface or a
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/StepNormalizer.html">StepNormalizer</a> object wrapping
           a user-specified object implementing the
-          <a href="../apidocs/org/apache/commons/math4/ode/sampling/FixedStepHandler.html">FixedStepHandler</a> interface
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/FixedStepHandler.html">FixedStepHandler</a> interface
           into the integrator before calling the <code>FirstOrderIntegrator.integrate</code> method. The user object
           will be called appropriately during the integration process, allowing the user to process intermediate
           results. The default step handler does nothing. Considering again the previous example, we want to print the
@@ -161,7 +161,7 @@
 integrator.addStepHandler(stepHandler);
         </source>
         <p>
-          <a href="../apidocs/org/apache/commons/math4/ode/ContinuousOutputModel.html">ContinuousOutputModel</a>
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/ContinuousOutputModel.html">ContinuousOutputModel</a>
           is a special-purpose step handler that is able to store all steps and to provide transparent access to
           any intermediate result once the integration is over. An important feature of this class is that it
           implements the <code>Serializable</code> interface. This means that a complete continuous model of the
@@ -170,10 +170,10 @@
           Only the result of the integration is stored, there is no reference to the integrated problem by itself.
         </p>
         <p>
-          Other default implementations of the <a href="../apidocs/org/apache/commons/math4/ode/sampling/StepHandler.html">StepHandler</a>
+          Other default implementations of the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/StepHandler.html">StepHandler</a>
           interface are available for general needs
-          (<a href="../apidocs/org/apache/commons/math4/ode/sampling/DummyStepHandler.html">DummyStepHandler</a>,
-          <a href="../apidocs/org/apache/commons/math4/ode/sampling/StepNormalizer.html">StepNormalizer</a>) and custom
+          (<a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/DummyStepHandler.html">DummyStepHandler</a>,
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/StepNormalizer.html">StepNormalizer</a>) and custom
           implementations can be developed for specific needs. As an example, if an application is to be
           completely driven by the integration process, then most of the application code will be run inside a
           step handler specific to this application.
@@ -182,12 +182,12 @@
           Some integrators (the simple ones) use fixed steps that are set at creation time. The more efficient
           integrators use variable steps that are handled internally in order to control the integration error
           of the main state with respect to a specified accuracy (these integrators extend the
-          <a href="../apidocs/org/apache/commons/math4/ode/AdaptiveStepsizeIntegrator.html">AdaptiveStepsizeIntegrator</a>
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/AdaptiveStepsizeIntegrator.html">AdaptiveStepsizeIntegrator</a>
           abstract class). The secondary equations are explicitly ignored for step size control, in order to get reproducible
           results regardless of the secondary equations being integrated or not. The step handler which is called after each
-          successful step shows up the variable stepsize. The <a href="../apidocs/org/apache/commons/math4/ode/sampling/StepNormalizer.html">StepNormalizer</a>
+          successful step shows up the variable stepsize. The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/StepNormalizer.html">StepNormalizer</a>
           class can be used to convert the variable stepsize into a fixed stepsize that can be handled by classes
-          implementing the <a href="../apidocs/org/apache/commons/math4/ode/sampling/FixedStepHandler.html">FixedStepHandler</a>
+          implementing the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/sampling/FixedStepHandler.html">FixedStepHandler</a>
           interface. Adaptive stepsize integrators can automatically compute the initial stepsize by themselves,
           however the user can specify it if they prefer to retain full control over the integration or if the
           automatic guess is wrong.
@@ -202,7 +202,7 @@
         </p>
         <p>
           Discrete events detection is based on switching functions. The user provides
-          a simple <a href="../apidocs/org/apache/commons/math4/ode/events/EventHandler.html">g(t, y)</a>
+          a simple <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/events/EventHandler.html">g(t, y)</a>
           function depending on the current time and state. The integrator will monitor
           the value of the function throughout integration range and will trigger the
           event when its sign changes. The magnitude of the value is almost irrelevant.
@@ -282,24 +282,24 @@
           <table border="1" align="center">
           <tr BGCOLOR="#CCCCFF"><td colspan="2"><font size="+1">Fixed Step Integrators</font></td></tr>
           <tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>Order</td></font></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/EulerIntegrator.html">Euler</a></td><td>1</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/MidpointIntegrator.html">Midpoint</a></td><td>2</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/ClassicalRungeKuttaIntegrator.html">Classical Runge-Kutta</a></td><td>4</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/GillIntegrator.html">Gill</a></td><td>4</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/ThreeEighthesIntegrator.html">3/8</a></td><td>4</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/LutherIntegrator.html">Luther</a></td><td>6</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/EulerIntegrator.html">Euler</a></td><td>1</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/MidpointIntegrator.html">Midpoint</a></td><td>2</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/ClassicalRungeKuttaIntegrator.html">Classical Runge-Kutta</a></td><td>4</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/GillIntegrator.html">Gill</a></td><td>4</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/ThreeEighthesIntegrator.html">3/8</a></td><td>4</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/LutherIntegrator.html">Luther</a></td><td>6</td></tr>
           </table>
         </p>
         <p>
           <table border="1" align="center">
           <tr BGCOLOR="#CCCCFF"><td colspan="3"><font size="+1">Adaptive Stepsize Integrators</font></td></tr>
           <tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>Integration Order</td><td>Error Estimation Order</td></font></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/HighamHall54Integrator.html">Higham and Hall</a></td><td>5</td><td>4</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/DormandPrince54Integrator.html">Dormand-Prince 5(4)</a></td><td>5</td><td>4</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/DormandPrince853Integrator.html">Dormand-Prince 8(5,3)</a></td><td>8</td><td>5 and 3</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/GraggBulirschStoerIntegrator.html">Gragg-Bulirsch-Stoer</a></td><td>variable (up to 18 by default)</td><td>variable</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/AdamsBashforthIntegrator.html">Adams-Bashforth</a></td><td>variable</td><td>variable</td></tr>
-          <tr><td><a href="../apidocs/org/apache/commons/math4/ode/nonstiff/AdamsMoultonIntegrator.html">Adams-Moulton</a></td><td>variable</td><td>variable</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/HighamHall54Integrator.html">Higham and Hall</a></td><td>5</td><td>4</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/DormandPrince54Integrator.html">Dormand-Prince 5(4)</a></td><td>5</td><td>4</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/DormandPrince853Integrator.html">Dormand-Prince 8(5,3)</a></td><td>8</td><td>5 and 3</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/GraggBulirschStoerIntegrator.html">Gragg-Bulirsch-Stoer</a></td><td>variable (up to 18 by default)</td><td>variable</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/AdamsBashforthIntegrator.html">Adams-Bashforth</a></td><td>variable</td><td>variable</td></tr>
+          <tr><td><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/nonstiff/AdamsMoultonIntegrator.html">Adams-Moulton</a></td><td>variable</td><td>variable</td></tr>
           </table>
         </p>
       </subsection>
@@ -311,7 +311,7 @@
           appended to the main state before the integration starts. Then the integration will propagate the compound
           state composed of both the main state and its partial derivatives. At the end of the integration, the Jacobian
           matrices are extracted from the integrated secondary state. The <a
-          href="../apidocs/org/apache/commons/math4/ode/JacobianMatrices.html">JacobianMatrices</a> class can do most of
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/JacobianMatrices.html">JacobianMatrices</a> class can do most of
           this as long as the local derivatives are provided to it. It will set up the variational equations, register
           them as secondary equations into the ODE, and it will set up the initial values and retrieve the intermediate
           and final values as Jacobian matrices.
@@ -321,7 +321,7 @@
           elements array. The first 6 elements will be the original state, the next 36 elements will represent the 6x6
           Jacobian matrix of the final state with respect to the initial state, and the remaining 18 elements will
           represent the 6x3 Jacobian matrix of the final state with respect to the 3 parameters. The <a
-          href="../apidocs/org/apache/commons/math4/ode/JacobianMatrices.html">JacobianMatrices</a> class does the mapping
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/JacobianMatrices.html">JacobianMatrices</a> class does the mapping
           between the 60 elements compound state and the Jacobian matrices and sets up the correcsponding secondary equations.
         </p>
         <p>
@@ -333,22 +333,22 @@
         <p>
           What remains of user responsibility is to provide the local Jacobians df(t, y, p)/dy and df(t, y, p)/dp<sub>k</sub>
           corresponding the the main ODE y'=f(t, y, p). The main ODE is as usual provided by the user as a class implementing
-          the <a href="../apidocs/org/apache/commons/math4/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
+          the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
           interface or a sub-interface.
         </p>
         <p>
           If the ODE is simple enough that the user can implement df(t, y, p)/dy directly, then instead of providing an
           implementation of the <a
-          href="../apidocs/org/apache/commons/math4/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
           interface only, the user should rather provide an implementation of the <a
-          href="../apidocs/org/apache/commons/math4/ode/MainStateJacobianProvider.html">MainStateJacobianProvider</a> interface,
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/MainStateJacobianProvider.html">MainStateJacobianProvider</a> interface,
           which extends the previous interface by adding a method to compute df(t, y, p)/dy. The user class is used as a
-          constructor parameter of the <a href="../apidocs/org/apache/commons/math4/ode/JacobianMatrices.html">JacobianMatrices</a>
+          constructor parameter of the <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/JacobianMatrices.html">JacobianMatrices</a>
           class. If the ODE is too complex or the user simply does not bother implementing df(t, y, p)/dy directly, then
           the ODE can still be implemented using the simple <a
-          href="../apidocs/org/apache/commons/math4/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/FirstOrderDifferentialEquations.html">FirstOrderDifferentialEquations</a>
           interface and given as such to another constructor of the <a
-          href="../apidocs/org/apache/commons/math4/ode/JacobianMatrices.html">JacobianMatrices</a> class, but in this case an array
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/JacobianMatrices.html">JacobianMatrices</a> class, but in this case an array
           hy must also be provided that will contain the step size to use form each component of the main state vector y, and
           the Jacobian f(t, y, p)/dy will be computed internally using finite differences. This will of course trigger more evaluations
           of the ODE at each step and will suffer from finite differences errors, but it is much simpler to implement from a user
@@ -356,10 +356,10 @@
         </p>
         <p>
           The parameters are identified by a name (a simple user-defined string), which are also specified at <a
-          href="../apidocs/org/apache/commons/math4/ode/JacobianMatrices.html">JacobianMatrices</a> class construction. If the ODE
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/JacobianMatrices.html">JacobianMatrices</a> class construction. If the ODE
           is simple enough that the user can implement df(t, y, p)/dp<sub>k</sub> directly for some of the parameters p<sub>k</sub>,
           then they can provide one or more classes implementing the <a
-          href="../apidocs/org/apache/commons/math4/ode/ParameterJacobianProvider.html">ParameterJacobianProvider</a> interface by
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/ode/ParameterJacobianProvider.html">ParameterJacobianProvider</a> interface by
           calling the JacobianMatrices.addParameterJacobianProvide method. The parameters are handled one at a time, but all the calls to
           ParameterJacobianProvider.computeParameterJacobian will be grouped in one sequence after the call to MainStateJacobianProvider.computeMainStateJacobian
           This feature can be used when all the derivatives share a lot of costly computation. In this case, the user
diff --git a/src/site/xdoc/userguide/optimization.xml b/src/site/xdoc/userguide/optimization.xml
index 39d6110..64077e3 100644
--- a/src/site/xdoc/userguide/optimization.xml
+++ b/src/site/xdoc/userguide/optimization.xml
@@ -26,7 +26,7 @@
   <body>
     <section name="12 Optimization">
       <p><em>The contents of this section currently describes deprecated classes.</em>
-        Please refer to the new <a href="../apidocs/org/apache/commons/math4/optim/package-summary.html">API
+        Please refer to the new <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optim/package-summary.html">API
         description</a>.
       </p>
       <p>Least squares optimizers are not in this package anymore, they have been moved
@@ -61,7 +61,7 @@
         </p>
         <p>
         The type of goal, i.e. minimization or maximization, is defined by the enumerated
-        <a href="../apidocs/org/apache/commons/math4/optimization/GoalType.html">
+        <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/GoalType.html">
         GoalType</a> which has only two values: <code>MAXIMIZE</code> and <code>MINIMIZE</code>.
         </p>
         <p>
@@ -70,21 +70,21 @@
         are only four interfaces defining the common behavior of optimizers, one for each
         supported type of objective function:
         <ul>
-          <li><a href="../apidocs/org/apache/commons/math4/optimization/univariate/UnivariateOptimizer.html">
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/univariate/UnivariateOptimizer.html">
               UnivariateOptimizer</a> for <a
-              href="../apidocs/org/apache/commons/math4/analysis/UnivariateFunction.html">
+              href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/UnivariateFunction.html">
               univariate real functions</a></li>
-          <li><a href="../apidocs/org/apache/commons/math4/optimization/MultivariateOptimizer.html">
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/MultivariateOptimizer.html">
               MultivariateOptimizer</a> for <a
-              href="../apidocs/org/apache/commons/math4/analysis/MultivariateFunction.html">
+              href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateFunction.html">
               multivariate real functions</a></li>
-          <li><a href="../apidocs/org/apache/commons/math4/optimization/DifferentiableMultivariateOptimizer.html">
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/DifferentiableMultivariateOptimizer.html">
               DifferentiableMultivariateOptimizer</a> for <a
-              href="../apidocs/org/apache/commons/math4/analysis/DifferentiableMultivariateFunction.html">
+              href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/DifferentiableMultivariateFunction.html">
               differentiable multivariate real functions</a></li>
-          <li><a href="../apidocs/org/apache/commons/math4/optimization/DifferentiableMultivariateVectorOptimizer.html">
+          <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/DifferentiableMultivariateVectorOptimizer.html">
               DifferentiableMultivariateVectorOptimizer</a> for <a
-              href="../apidocs/org/apache/commons/math4/analysis/DifferentiableMultivariateVectorFunction.html">
+              href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/DifferentiableMultivariateVectorFunction.html">
               differentiable multivariate vectorial functions</a></li>
         </ul>
         </p>
@@ -92,14 +92,14 @@
         <p>
         Despite there are only four types of supported optimizers, it is possible to optimize
         a transform a <a
-        href="../apidocs/org/apache/commons/math4/analysis/MultivariateVectorFunction.html">
+        href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateVectorFunction.html">
         non-differentiable multivariate vectorial function</a> by converting it to a <a
-        href="../apidocs/org/apache/commons/math4/analysis/MultivariateFunction.html">
+        href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/MultivariateFunction.html">
         non-differentiable multivariate real function</a> thanks to the <a
-        href="../apidocs/org/apache/commons/math4/optimization/LeastSquaresConverter.html">
+        href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/LeastSquaresConverter.html">
         LeastSquaresConverter</a> helper class. The transformed function can be optimized using
         any implementation of the <a
-        href="../apidocs/org/apache/commons/math4/optimization/MultivariateOptimizer.html">
+        href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/MultivariateOptimizer.html">
         MultivariateOptimizer</a> interface.
         </p>
 
@@ -113,7 +113,7 @@
       </subsection>
       <subsection name="12.2 Univariate Functions" href="univariate">
         <p>
-          A <a href="../apidocs/org/apache/commons/math4/optimization/univariate/UnivariateOptimizer.html">
+          A <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/univariate/UnivariateOptimizer.html">
           UnivariateOptimizer</a> is used to find the minimal values of a univariate real-valued
           function <code>f</code>.
         </p>
@@ -164,16 +164,16 @@
           The <code>direct</code> package provides four solvers:
           <ul>
             <li>the classical <a
-                href="../apidocs/org/apache/commons/math4/optimization/direct/NelderMeadSimplex.html">
+                href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/NelderMeadSimplex.html">
                 Nelder-Mead</a> method,</li>
             <li>Virginia Torczon's <a
-                href="../apidocs/org/apache/commons/math4/optimization/direct/MultiDirectionalSimplex.html">
+                href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/MultiDirectionalSimplex.html">
                 multi-directional</a> method,</li>
             <li>Nikolaus Hansen's <a
-               href="../apidocs/org/apache/commons/math4/optimization/direct/CMAESOptimizer.html">
+               href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/CMAESOptimizer.html">
                </a>Covariance Matrix Adaptation Evolution Strategy (CMA-ES),</li>
             <li>Mike Powell's <a
-               href="../apidocs/org/apache/commons/math4/optimization/direct/BOBYQAOptimizer.html">
+               href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/BOBYQAOptimizer.html">
                BOBYQA</a> method.
             </li>
           </ul>
@@ -181,9 +181,9 @@
         <p>
           The first two simplex-based methods do not handle simple bounds constraints by themselves.
           However there are two adapters(<a
-          href="../apidocs/org/apache/commons/math4/optimization/direct/MultivariateFunctionMappingAdapter.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/MultivariateFunctionMappingAdapter.html">
           MultivariateFunctionMappingAdapter</a> and <a
-          href="../apidocs/org/apache/commons/math4/optimization/direct/MultivariateFunctionPenaltyAdapter.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/MultivariateFunctionPenaltyAdapter.html">
           MultivariateFunctionPenaltyAdapter</a>) that can be used to wrap the user function in
           such a way the wrapped function is unbounded and can be used with these optimizers, despite
           the fact the underlying function is still bounded and will be called only with feasible
@@ -237,15 +237,15 @@
         <p>
           Two optimizers are available in the general package, both devoted to least-squares
           problems. The first one is based on the <a
-          href="../apidocs/org/apache/commons/math4/optimization/general/GaussNewtonOptimizer.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/general/GaussNewtonOptimizer.html">
           Gauss-Newton</a> method. The second one is the <a
-          href="../apidocs/org/apache/commons/math4/optimization/general/LevenbergMarquardtOptimizer.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/general/LevenbergMarquardtOptimizer.html">
           Levenberg-Marquardt</a> method.
         </p>
         <p>
           In order to solve a vectorial optimization problem, the user must provide it as
           an object implementing the <a
-          href="../apidocs/org/apache/commons/math4/analysis/DifferentiableMultivariateVectorFunction.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/DifferentiableMultivariateVectorFunction.html">
           DifferentiableMultivariateVectorFunction</a> interface. The object will be provided to
           the <code>estimate</code> method of the optimizer, along with the target and weight arrays,
           thus allowing the optimizer to compute the residuals at will. The last parameter to the
@@ -311,7 +311,7 @@
 </table>
 
 <p>
-First we need to implement the interface <a href="../apidocs/org/apache/commons/math4/analysis/DifferentiableMultivariateVectorFunction.html">DifferentiableMultivariateVectorFunction</a>.
+First we need to implement the interface <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/DifferentiableMultivariateVectorFunction.html">DifferentiableMultivariateVectorFunction</a>.
 This requires the implementation of the method signatures:
 </p>
 
@@ -571,17 +571,17 @@
     </dd></dl>
         <p>
           In addition to least squares solving, the <a
-          href="../apidocs/org/apache/commons/math4/optimization/general/NonLinearConjugateGradientOptimizer.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/general/NonLinearConjugateGradientOptimizer.html">
           NonLinearConjugateGradientOptimizer</a> class provides a non-linear conjugate gradient algorithm
           to optimize <a
-          href="../apidocs/org/apache/commons/math4/analysis/DifferentiableMultivariateFunction.html">
+          href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/analysis/DifferentiableMultivariateFunction.html">
           DifferentiableMultivariateFunction</a>. Both the Fletcher-Reeves and the Polak-Ribi&#232;re
           search direction update methods are supported. It is also possible to set up a preconditioner
           or to change the line-search algorithm of the inner loop if desired (the default one is a Brent
           solver).
         </p>
         <p>
-          The <a href="../apidocs/org/apache/commons/math4/optimization/direct/PowellOptimizer.html">
+          The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/optimization/direct/PowellOptimizer.html">
           PowellOptimizer</a> provides an optimization method for non-differentiable functions.
         </p>
       </subsection>
diff --git a/src/site/xdoc/userguide/overview.xml b/src/site/xdoc/userguide/overview.xml
index b1ea292..d207053 100644
--- a/src/site/xdoc/userguide/overview.xml
+++ b/src/site/xdoc/userguide/overview.xml
@@ -105,9 +105,9 @@
   <p>
     When the actual parameters provided to a method or the internal state of an object
     make a computation meaningless, a
-    <a href="../apidocs/org/apache/commons/math4/exception/MathIllegalArgumentException.html">
+    <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/exception/MathIllegalArgumentException.html">
       MathIllegalArgumentException</a> or
-    <a href="../apidocs/org/apache/commons/math4/exception/MathIllegalStateException.html">
+    <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/exception/MathIllegalStateException.html">
     MathIllegalStateException</a> may be thrown. Exact conditions under which runtime
     exceptions (and any other exceptions) are thrown are specified in the javadoc method
     comments.
@@ -119,7 +119,7 @@
   <p>
     As of version 2.2, the policy for dealing with null references is as
     follows: When an argument is unexpectedly null, a
-    <a href="../apidocs/org/apache/commons/math4/exception/NullArgumentException.html">
+    <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/exception/NullArgumentException.html">
     NullArgumentException</a> is raised to signal the illegal argument. Note that this
     class does not inherit from the standard <code>NullPointerException</code> but is a subclass
     of <code>MathIllegalArgumentException</code>.
diff --git a/src/site/xdoc/userguide/random.xml b/src/site/xdoc/userguide/random.xml
index 5c3558e..a95e5cb 100644
--- a/src/site/xdoc/userguide/random.xml
+++ b/src/site/xdoc/userguide/random.xml
@@ -30,7 +30,7 @@
   <subsection name="2.1 Overview"
               href="overview">
     <p>
-      Utilities in package <a href="../apidocs/org/apache/commons/math4/legacy/random/package-summary.html">
+      Utilities in package <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/random/package-summary.html">
       o.a.c.m.legacy.random</a> often uses an underlying "source of randomness": A pseudo-random
       number generator (PRNG) that produces sequences of numbers that are uniformly distributed
       within their range.
@@ -48,7 +48,7 @@
     </p>
     <p>
       When the components are correlated however, generating them is more difficult.
-      The <a href="../apidocs/org/apache/commons/math4/legacy/random/CorrelatedVectorFactory.html">
+      The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/random/CorrelatedVectorFactory.html">
       CorrelatedVectorFactory</a> class provides this service.
       In this case, a complete covariance matrix must be provided (instead of a
       simple standard deviations vector) gathering both the variance and the
@@ -114,9 +114,9 @@
       is completely deterministic), their unique properties give them an important advantage for quasi-Monte Carlo simulations.<br/>
       Currently, the following low-discrepancy sequences are supported:
       <ul>
-        <li><a href="../apidocs/org/apache/commons/math4/legacy/random/SobolSequenceGenerator.html">
+        <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/random/SobolSequenceGenerator.html">
         Sobol sequence</a> (pre-configured up to dimension 1000)</li>
-        <li><a href="../apidocs/org/apache/commons/math4/legacy/random/HaltonSequenceGenerator.html">
+        <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/random/HaltonSequenceGenerator.html">
         Halton sequence</a> (pre-configured up to dimension 40)</li>
       </ul>
 
diff --git a/src/site/xdoc/userguide/stat.xml b/src/site/xdoc/userguide/stat.xml
index 2824c03..61ced6c 100644
--- a/src/site/xdoc/userguide/stat.xml
+++ b/src/site/xdoc/userguide/stat.xml
@@ -61,12 +61,12 @@
         </p>
         <p>
           The top level interface is
-          <a href="../apidocs/org/apache/commons/math4/stat/descriptive/UnivariateStatistic.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/UnivariateStatistic.html">
           UnivariateStatistic</a>.
           This interface, implemented by all statistics, consists of
           <code>evaluate()</code> methods that take double[] arrays as arguments
           and return the value of the statistic.   This interface is extended by
-          <a href="../apidocs/org/apache/commons/math4/stat/descriptive/StorelessUnivariateStatistic.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/StorelessUnivariateStatistic.html">
           StorelessUnivariateStatistic</a>, which adds <code>increment(),</code>
           <code>getResult()</code> and associated methods to support
           "storageless" implementations that maintain counters, sums or other
@@ -75,9 +75,9 @@
         </p>
         <p>
           Abstract implementations of the top level interfaces are provided in
-          <a href="../apidocs/org/apache/commons/math4/stat/descriptive/AbstractUnivariateStatistic.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/AbstractUnivariateStatistic.html">
           AbstractUnivariateStatistic</a> and
-          <a href="../apidocs/org/apache/commons/math4/stat/descriptive/AbstractStorelessUnivariateStatistic.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/AbstractStorelessUnivariateStatistic.html">
           AbstractStorelessUnivariateStatistic</a> respectively.
         </p>
         <p>
@@ -87,9 +87,9 @@
           compute the statistic). There are several ways to instantiate and use statistics.
           Statistics can be instantiated and used directly,  but it is generally more convenient
           (and efficient) to access them using the provided aggregates,
-          <a href="../apidocs/org/apache/commons/math4/stat/descriptive/DescriptiveStatistics.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/DescriptiveStatistics.html">
            DescriptiveStatistics</a> and
-           <a href="../apidocs/org/apache/commons/math4/stat/descriptive/SummaryStatistics.html">
+           <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/SummaryStatistics.html">
            SummaryStatistics.</a>
         </p>
         <p>
@@ -107,18 +107,18 @@
           <table>
             <tr><th>Aggregate</th><th>Statistics Included</th><th>Values stored?</th>
             <th>"Rolling" capability?</th></tr><tr><td>
-            <a href="../apidocs/org/apache/commons/math4/stat/descriptive/DescriptiveStatistics.html">
+            <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/DescriptiveStatistics.html">
             DescriptiveStatistics</a></td><td>min, max, mean, geometric mean, n,
             sum, sum of squares, standard deviation, variance, percentiles, skewness,
             kurtosis, median</td><td>Yes</td><td>Yes</td></tr><tr><td>
-            <a href="../apidocs/org/apache/commons/math4/stat/descriptive/SummaryStatistics.html">
+            <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/SummaryStatistics.html">
             SummaryStatistics</a></td><td>min, max, mean, geometric mean, n,
             sum, sum of squares, standard deviation, variance</td><td>No</td><td>No</td></tr>
           </table>
         </p>
         <p>
           <code>SummaryStatistics</code> can be aggregated using
-          <a href="../apidocs/org/apache/commons/math4/stat/descriptive/AggregateSummaryStatistics.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/AggregateSummaryStatistics.html">
           AggregateSummaryStatistics.</a>  This class can be used to concurrently
           gather statistics for multiple datasets as well as for a combined sample
           including all of the data.
@@ -132,19 +132,19 @@
         <p>
            Neither <code>DescriptiveStatistics</code> nor <code>SummaryStatistics</code>
            is thread-safe.
-           <a href="../apidocs/org/apache/commons/math4/stat/descriptive/SynchronizedDescriptiveStatistics.html">
+           <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/SynchronizedDescriptiveStatistics.html">
            SynchronizedDescriptiveStatistics</a> and
-           <a href="../apidocs/org/apache/commons/math4/stat/descriptive/SynchronizedSummaryStatistics.html">
+           <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/SynchronizedSummaryStatistics.html">
            SynchronizedSummaryStatistics</a>, respectively, provide thread-safe
            versions for applications that require concurrent access to statistical
            aggregates by multiple threads.
-           <a href="../apidocs/org/apache/commons/math4/stat/descriptive/SynchronizedMultiVariateSummaryStatistics.html">
+           <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/SynchronizedMultiVariateSummaryStatistics.html">
            SynchronizedMultivariateSummaryStatistics</a> provides thread-safe
            <code>MultivariateSummaryStatistics.</code>
         </p>
         <p>
           There is also a utility class,
-          <a href="../apidocs/org/apache/commons/math4/stat/StatUtils.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/StatUtils.html">
           StatUtils</a>, that provides static methods for computing statistics
           directly from double[] arrays.
         </p>
@@ -243,7 +243,7 @@
         The first is to use an <code>AggregateSummaryStatistics</code> instance
         to accumulate overall statistics contributed by <code>SummaryStatistics</code>
         instances created using
-        <a href="../apidocs/org/apache/commons/math4/stat/descriptive/AggregateSummaryStatistics.html#createContributingStatistics()">
+        <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/AggregateSummaryStatistics.html#createContributingStatistics()">
         AggregateSummaryStatistics.createContributingStatistics()</a>:
         <source>
 // Create a AggregateSummaryStatistics instance to accumulate the overall statistics
@@ -264,7 +264,7 @@
         <code>SummaryStatistics</code> instance maintained by the aggregate and each value addition updates the
         aggregate as well as the subsample. For applications that can wait to do the aggregation until all values
         have been added, a static
-        <a href="../apidocs/org/apache/commons/math4/stat/descriptive/AggregateSummaryStatistics.html#aggregate(java.util.Collection)">
+        <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/AggregateSummaryStatistics.html#aggregate(java.util.Collection)">
           aggregate</a> method is available, as shown in the following example.
         This method should be used when aggregation needs to be done across threads.
         <source>
@@ -292,7 +292,7 @@
       </subsection>
       <subsection name="1.3 Frequency distributions">
         <p>
-          <a href="../apidocs/org/apache/commons/math4/stat/Frequency.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/Frequency.html">
           Frequency</a>
           provides a simple interface for maintaining counts and percentages of discrete
           values.
@@ -356,7 +356,7 @@
       </subsection>
       <subsection name="1.4 Simple regression">
         <p>
-         <a href="../apidocs/org/apache/commons/math4/stat/regression/SimpleRegression.html">
+         <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/SimpleRegression.html">
           SimpleRegression</a> provides ordinary least squares regression with
          one independent variable estimating the linear model:
          </p>
@@ -392,7 +392,7 @@
            "compute" method that updates all statistics.  Each of the getters performs
            the necessary computations to return the requested statistic.</li>
            <li> The intercept term may be suppressed by passing <code>false</code> to the
-           <a href="../apidocs/org/apache/commons/math4/stat/regression/SimpleRegression.html#SimpleRegression(boolean)">
+           <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/SimpleRegression.html#SimpleRegression(boolean)">
            SimpleRegression(boolean)</a> constructor.  When the <code>hasIntercept</code>
            property is false, the model is estimated without a constant term and
            <code>getIntercept()</code> returns <code>0</code>.</li>
@@ -510,9 +510,9 @@
       </subsection>
       <subsection name="1.5 Multiple linear regression">
         <p>
-         <a href="../apidocs/org/apache/commons/math4/stat/regression/OLSMultipleLinearRegression.html">
+         <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/OLSMultipleLinearRegression.html">
          OLSMultipleLinearRegression</a> and
-         <a href="../apidocs/org/apache/commons/math4/stat/regression/GLSMultipleLinearRegression.html">
+         <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/GLSMultipleLinearRegression.html">
          GLSMultipleLinearRegression</a> provide least squares regression to fit the linear model:
          </p>
          <p>
@@ -524,9 +524,9 @@
          of <b>error terms</b> or <b>residuals</b>.
          </p>
          <p>
-          <a href="../apidocs/org/apache/commons/math4/stat/regression/OLSMultipleLinearRegression.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/OLSMultipleLinearRegression.html">
           OLSMultipleLinearRegression</a> provides Ordinary Least Squares Regression, and
-          <a href="../apidocs/org/apache/commons/math4/stat/regression/GLSMultipleLinearRegression.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/GLSMultipleLinearRegression.html">
           GLSMultipleLinearRegression</a> implements Generalized Least Squares.  See the javadoc for these
           classes for details on the algorithms and formulas used.
          </p>
@@ -534,11 +534,11 @@
            Data for OLS models can be loaded in a single double[] array, consisting of concatenated rows of data, each containing
            the regressand (Y) value, followed by regressor values; or using a double[][] array with rows corresponding to
            observations. GLS models also require a double[][] array representing the covariance matrix of the error terms.  See
-           <a href="../apidocs/org/apache/commons/math4/stat/regression/AbstractMultipleLinearRegression.html#newSampleData(double[], int, int)">
+           <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/AbstractMultipleLinearRegression.html#newSampleData(double[], int, int)">
            AbstractMultipleLinearRegression#newSampleData(double[],int,int)</a>,
-           <a href="../apidocs/org/apache/commons/math4/stat/regression/OLSMultipleLinearRegression.html#newSampleData(double[], double[][])">
+           <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/OLSMultipleLinearRegression.html#newSampleData(double[], double[][])">
            OLSMultipleLinearRegression#newSampleData(double[], double[][])</a> and
-           <a href="../apidocs/org/apache/commons/math4/stat/regression/GLSMultipleLinearRegression.html#newSampleData(double[], double[][], double[][])">
+           <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/regression/GLSMultipleLinearRegression.html#newSampleData(double[], double[][], double[][])">
            GLSMultipleLinearRegression#newSampleData(double[],double[][],double[][])</a> for details.
          </p>
          <p>
@@ -616,16 +616,16 @@
       <subsection name="1.6 Rank transformations">
       <p>
          Some statistical algorithms require that input data be replaced by ranks.
-         The <a href="../apidocs/org/apache/commons/math4/stat/ranking/package-summary.html">
+         The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/package-summary.html">
          org.apache.commons.math4.stat.ranking</a> package provides rank transformation.
-         <a href="../apidocs/org/apache/commons/math4/stat/ranking/RankingAlgorithm.html">
+         <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/RankingAlgorithm.html">
          RankingAlgorithm</a> defines the interface for ranking.
-         <a href="../apidocs/org/apache/commons/math4/stat/ranking/NaturalRanking.html">
+         <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/NaturalRanking.html">
          NaturalRanking</a> provides an implementation that has two configuration options.
          <ul>
-         <li><a href="../apidocs/org/apache/commons/math4/stat/ranking/TiesStrategy.html">
+         <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/TiesStrategy.html">
          Ties strategy</a> deterimines how ties in the source data are handled by the ranking</li>
-         <li><a href="../apidocs/org/apache/commons/math4/stat/ranking/NaNStrategy.html">
+         <li><a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/NaNStrategy.html">
          NaN strategy</a> determines how NaN values in the source data are handled.</li>
          </ul>
       </p>
@@ -649,24 +649,24 @@
         values larger than any other value (including <code>Double.POSITIVE_INFINITY</code>). The
         default <code>TiesStrategy</code> is <code>TiesStrategy.AVERAGE,</code> which assigns tied
         values the average of the ranks applicable to the sequence of ties.  See the
-        <a href="../apidocs/org/apache/commons/math4/stat/ranking/NaturalRanking.html">
-        NaturalRanking</a> for more examples and <a href="../apidocs/org/apache/commons/math4/stat/ranking/TiesStrategy.html">
-        TiesStrategy</a> and <a href="../apidocs/org/apache/commons/math4/stat/ranking/NaNStrategy.html">NaNStrategy</a>
+        <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/NaturalRanking.html">
+        NaturalRanking</a> for more examples and <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/TiesStrategy.html">
+        TiesStrategy</a> and <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/NaNStrategy.html">NaNStrategy</a>
         for details on these configuration options.
        </p>
       </subsection>
       <subsection name="1.7 Covariance and correlation">
         <p>
-          The <a href="../apidocs/org/apache/commons/math4/stat/correlation/package-summary.html">
+          The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/package-summary.html">
           org.apache.commons.math4.stat.correlation</a> package computes covariances
           and correlations for pairs of arrays or columns of a matrix.
-          <a href="../apidocs/org/apache/commons/math4/stat/correlation/Covariance.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/Covariance.html">
           Covariance</a> computes covariances,
-          <a href="../apidocs/org/apache/commons/math4/stat/correlation/PearsonsCorrelation.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/PearsonsCorrelation.html">
           PearsonsCorrelation</a> provides Pearson's Product-Moment correlation coefficients,
-          <a href="../apidocs/org/apache/commons/math4/stat/correlation/SpearmansCorrelation.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/SpearmansCorrelation.html">
           SpearmansCorrelation</a> computes Spearman's rank correlation and
-          <a href="../apidocs/org/apache/commons/math4/stat/correlation/KendallsCorrelation.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/KendallsCorrelation.html">
           KendallsCorrelation</a> computes Kendall's tau rank correlation.
         </p>
         <p>
@@ -682,21 +682,21 @@
            defaults to <code>true.</code>
           </li>
           <li>
-          <a href="../apidocs/org/apache/commons/math4/stat/correlation/PearsonsCorrelation.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/PearsonsCorrelation.html">
           PearsonsCorrelation</a> computes correlations defined by the formula <br/>
           <code>cor(X, Y) = sum[(x<sub>i</sub> - E(X))(y<sub>i</sub> - E(Y))] / [(n - 1)s(X)s(Y)]</code><br/>
           where <code>E(X)</code> and <code>E(Y)</code> are means of <code>X</code> and <code>Y</code>
           and <code>s(X)</code>, <code>s(Y)</code> are standard deviations.
           </li>
           <li>
-          <a href="../apidocs/org/apache/commons/math4/stat/correlation/SpearmansCorrelation.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/SpearmansCorrelation.html">
           SpearmansCorrelation</a> applies a rank transformation to the input data and computes Pearson's
           correlation on the ranked data.  The ranking algorithm is configurable. By default,
-          <a href="../apidocs/org/apache/commons/math4/stat/ranking/NaturalRanking.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/ranking/NaturalRanking.html">
           NaturalRanking</a> with default strategies for handling ties and NaN values is used.
           </li>
           <li>
-          <a href="../apidocs/org/apache/commons/math4/stat/correlation/KendallsCorrelation.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/correlation/KendallsCorrelation.html">
           KendallsCorrelation</a> computes the association between two measured quantities. A tau test
           is a non-parametric hypothesis test for statistical dependence based on the tau coefficient.
           </li>
@@ -818,7 +818,7 @@
       </subsection>
             <subsection name="1.8 Statistical tests">
         <p>
-          The <a href="../apidocs/org/apache/commons/math4/stat/inference/">
+          The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/">
           org.apache.commons.math4.stat.inference</a> package provides implementations for
           <a href="http://www.itl.nist.gov/div898/handbook/prc/section2/prc22.htm">
           Student's t</a>,
@@ -838,23 +838,23 @@
           <code>Chi-Square</code>, <code>G</code>, <code>One-Way ANOVA</code>, <code>Mann-Whitney U</code>
           <code>Wilcoxon signed rank</code>, and <code>Kolmogorov-Smirnov</code> tests.
           The respective test classes are
-          <a href="../apidocs/org/apache/commons/math4/stat/inference/TTest.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/TTest.html">
           TTest</a>,
-          <a href="../apidocs/org/apache/commons/math4/stat/inference/ChiSquareTest.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/ChiSquareTest.html">
           ChiSquareTest</a>,
-          <a href="../apidocs/org/apache/commons/math4/stat/inference/GTest.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/GTest.html">
           GTest</a>,
-          <a href="../apidocs/org/apache/commons/math4/stat/inference/OneWayAnova.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/OneWayAnova.html">
           OneWayAnova</a>,
-          <a href="../apidocs/org/apache/commons/math4/stat/inference/MannWhitneyUTest.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/MannWhitneyUTest.html">
           MannWhitneyUTest</a>,
-          <a href="../apidocs/org/apache/commons/math4/stat/inference/WilcoxonSignedRankTest.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/WilcoxonSignedRankTest.html">
           WilcoxonSignedRankTest</a>,
-          <a href="../apidocs/org/apache/commons/math4/stat/inference/BinomialTest.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/BinomialTest.html">
           BinomialTest</a> and
-          <a href="../apidocs/org/apache/commons/math4/stat/inference/KolmogorovSmirnovTest.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/KolmogorovSmirnovTest.html">
           KolmogorovSmirnovTest</a>.
-          The <a href="../apidocs/org/apache/commons/math4/stat/inference/TestUtils.html">
+          The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/inference/TestUtils.html">
           TestUtils</a> class provides static methods to get test instances or
           to compute test statistics directly.  The examples below all use the
           static methods in <code>TestUtils</code> to execute tests.  To get
@@ -936,7 +936,7 @@
            <code>mu.</code>
           </dd>
           <dd>To compare the mean of a dataset described by a
-          <a href="../apidocs/org/apache/commons/math4/stat/descriptive/StatisticalSummary.html">
+          <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/stat/descriptive/StatisticalSummary.html">
           StatisticalSummary</a>  to a fixed value:
           <source>
 double[] observed ={1d, 2d, 3d};
diff --git a/src/site/xdoc/userguide/utilities.xml b/src/site/xdoc/userguide/utilities.xml
index f72ac02..6b90e8a 100644
--- a/src/site/xdoc/userguide/utilities.xml
+++ b/src/site/xdoc/userguide/utilities.xml
@@ -29,7 +29,7 @@
 
 <subsection name="6.1 Overview" href="overview">
     <p>
-    The <a href="../apidocs/org/apache/commons/math4/util/package-summary.html">
+    The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/package-summary.html">
     org.apache.commons.math4.util</a> package collects a group of array utilities,
     value transformers,  and numerical routines used by implementation classes in
     commons-math.
@@ -42,7 +42,7 @@
     array implementation was developed and is provided for reuse in the
     <code>util</code> package.  The core functionality provided is described in
     the documentation for the interface,
-    <a href="../apidocs/org/apache/commons/math4/util/DoubleArray.html">
+    <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/DoubleArray.html">
     DoubleArray</a>.  This interface adds one method,
     <code>addElementRolling(double)</code> to basic list accessors.
     The <code>addElementRolling</code> method adds an element
@@ -50,7 +50,7 @@
      in the list.
     </p>
     <p>
-    The <a href="../apidocs/org/apache/commons/math4/util/ResizableDoubleArray.html">
+    The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/ResizableDoubleArray.html">
     ResizableDoubleArray</a> class provides a configurable, array-backed
     implementation of the <code>DoubleArray</code> interface.
     When <code>addElementRolling</code> is invoked, the underlying
@@ -64,7 +64,7 @@
     automatically, with frequency / effect driven by the configuration
     properties <code>expansionMode</code>, <code>expansionFactor</code> and
     <code>contractionCriteria.</code>  See
-    <a href="../apidocs/org/apache/commons/math4/util/ResizableDoubleArray.html">
+    <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/ResizableDoubleArray.html">
     ResizableDoubleArray</a>
     for details.
     </p>
@@ -72,7 +72,7 @@
 
 <subsection name="6.3 int/double hash map" href="int_double_hash_map">
     <p>
-    The <a href="../apidocs/org/apache/commons/math4/util/OpenIntToDoubleHashMap.html">
+    The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/OpenIntToDoubleHashMap.html">
     OpenIntToDoubleHashMap</a> class provides a specialized hash map
     implementation for int/double. This implementation has a much smaller memory
     overhead than standard <code>java.util.HashMap</code> class. It uses open addressing
@@ -83,7 +83,7 @@
 
 <subsection name="6.4 Continued Fractions" href="continued_fractions">
   <p>
-    The <a href="../apidocs/org/apache/commons/math4/util/ContinuedFraction.html">
+    The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/ContinuedFraction.html">
     ContinuedFraction</a> class provides a generic way to create and evaluate
     continued fractions.  The easiest way to create a continued fraction is
     to subclass <code>ContinuedFraction</code> and override the
@@ -147,7 +147,7 @@
 <subsection name="6.5 Binomial coefficients, factorials, Stirling numbers and other common math functions" href="binomial_coefficients_factorials_and_other_common_math_functions">
     <p>
     A collection of reusable math functions is provided in the
-    <a href="../apidocs/org/apache/commons/math4/util/ArithmeticUtils.html">ArithmeticUtils</a>
+    <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/ArithmeticUtils.html">ArithmeticUtils</a>
     utility class.  ArithmeticUtils currently includes methods to compute the following: <ul>
     <li>
     Binomial coefficients -- "n choose k" available as an (exact) long value,
@@ -233,7 +233,7 @@
 </subsection>
 
 <subsection name="6.7 Miscellaneous" href="miscellaneous">
-  The <a href="../apidocs/org/apache/commons/math4/util/MultidimensionalCounter.html">
+  The <a href="../commons-math-docs/apidocs/org/apache/commons/math4/legacy/util/MultidimensionalCounter.html">
     MultidimensionalCounter</a> is a utility class that converts a set of indices
   (identifying points in a multidimensional space) to a single index (e.g. identifying
   a location in a one-dimensional array.
