Author: erans
Date: Fri Nov 9 14:57:10 2012
New Revision: 1407478
URL: http://svn.apache.org/viewvc?rev=1407478&view=rev
Log:
MATH-887
Renamed "computeJacobian" to "computeWeightedJacobian" to relect what is
actually done.
Made "setCost" a "protected" method (as it should only be modified according
to the optimum found by the subclass's algorithm (defined in "doOptimize()").
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.java
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/GaussNewtonOptimizer.java
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.java
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.java
URL:
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.java?rev=1407478&r1=1407477&r2=1407478&view=diff
==============================================================================
---
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.java
(original)
+++
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.java
Fri Nov 9 14:57:10 2012
@@ -73,7 +73,7 @@ public abstract class AbstractLeastSquar
* in the derived class (the {@link LevenbergMarquardtOptimizer
* Levenberg-Marquardt optimizer} does this).
* @deprecated As of 3.1. To be removed in 4.0. Please use
- * {@link #computeJacobian(double[])} instead.
+ * {@link #computeWeightedJacobian(double[])} instead.
*/
@Deprecated
protected double[][] weightedResidualJacobian;
@@ -143,12 +143,12 @@ public abstract class AbstractLeastSquar
*
* @throws DimensionMismatchException if the Jacobian dimension does not
* match problem dimension.
- * @deprecated As of 3.1. Please use {@link #computeJacobian(double[])}
+ * @deprecated As of 3.1. Please use {@link
#computeWeightedJacobian(double[])}
* instead.
*/
@Deprecated
protected void updateJacobian() {
- computeJacobian(point);
+ computeWeightedJacobian(point);
}
/**
@@ -160,7 +160,7 @@ public abstract class AbstractLeastSquar
* match problem dimension.
* @since 3.1
*/
- protected RealMatrix computeJacobian(double[] params) {
+ protected RealMatrix computeWeightedJacobian(double[] params) {
++jacobianEvaluations;
final DerivativeStructure[] dsPoint = new
DerivativeStructure[params.length];
@@ -269,7 +269,7 @@ public abstract class AbstractLeastSquar
* @param cost Cost value.
* @since 3.1
*/
- public void setCost(double cost) {
+ protected void setCost(double cost) {
this.cost = cost;
}
@@ -329,7 +329,7 @@ public abstract class AbstractLeastSquar
public double[][] computeCovariances(double[] params,
double threshold) {
// Set up the Jacobian.
- final RealMatrix j = computeJacobian(params);
+ final RealMatrix j = computeWeightedJacobian(params);
// Compute transpose(J)J.
final RealMatrix jTj = j.transpose().multiply(j);
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/GaussNewtonOptimizer.java
URL:
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/GaussNewtonOptimizer.java?rev=1407478&r1=1407477&r2=1407478&view=diff
==============================================================================
---
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/GaussNewtonOptimizer.java
(original)
+++
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/GaussNewtonOptimizer.java
Fri Nov 9 14:57:10 2012
@@ -132,7 +132,7 @@ public class GaussNewtonOptimizer extend
// Value of the objective function at "currentPoint".
final double[] currentObjective =
computeObjectiveValue(currentPoint);
final double[] currentResiduals =
computeResiduals(currentObjective);
- final RealMatrix weightedJacobian = computeJacobian(currentPoint);
+ final RealMatrix weightedJacobian =
computeWeightedJacobian(currentPoint);
current = new PointVectorValuePair(currentPoint, currentObjective);
// build the linear problem
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.java
URL:
http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.java?rev=1407478&r1=1407477&r2=1407478&view=diff
==============================================================================
---
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.java
(original)
+++
commons/proper/math/trunk/src/main/java/org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.java
Fri Nov 9 14:57:10 2012
@@ -318,7 +318,7 @@ public class LevenbergMarquardtOptimizer
final PointVectorValuePair previous = current;
// QR decomposition of the jacobian matrix
- qrDecomposition(computeJacobian(currentPoint));
+ qrDecomposition(computeWeightedJacobian(currentPoint));
weightedResidual = weightMatrixSqrt.operate(currentResiduals);
for (int i = 0; i < nR; i++) {