I forgot to "svn add" classes (in revision 1402607).


git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1402611 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Gilles Sadowski 2012-10-26 18:27:34 +00:00
parent d0d4760c97
commit 4fe86d82eb
2 changed files with 120 additions and 0 deletions

View File

@ -0,0 +1,49 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.commons.math3.optimization;
/**
* Target of the optimization procedure.
* They are the values which the objective vector function must reproduce
* When the parameters of the model have been optimized.
* <br/>
* Immutable class.
*
* @version $Id$
* @since 3.1
*/
public class Target implements OptimizationData {
/** Target values (of the objective vector function). */
private final double[] target;
/**
* @param observations Target values.
*/
public Target(double[] observations) {
target = observations.clone();
}
/**
* Gets the initial guess.
*
* @return the initial guess.
*/
public double[] getTarget() {
return target.clone();
}
}

View File

@ -0,0 +1,71 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.commons.math3.optimization;
import org.apache.commons.math3.linear.RealMatrix;
import org.apache.commons.math3.linear.Array2DRowRealMatrix;
import org.apache.commons.math3.linear.NonSquareMatrixException;
/**
* Weight matrix of the residuals between model and observations.
* <br/>
* Immutable class.
*
* @version $Id$
* @since 3.1
*/
public class Weight implements OptimizationData {
/** Weight matrix. */
private final RealMatrix weightMatrix;
/**
* Creates a diagonal weight matrix.
*
* @param weight List of the values of the diagonal.
*/
public Weight(double[] weight) {
final int dim = weight.length;
weightMatrix = new Array2DRowRealMatrix(dim, dim);
for (int i = 0; i < dim; i++) {
weightMatrix.setEntry(i, i, weight[i]);
}
}
/**
* @param weight Weight matrix.
* @throws NonSquareMatrixException if the argument is not
* a square matrix.
*/
public Weight(RealMatrix weight) {
if (weight.getColumnDimension() != weight.getRowDimension()) {
throw new NonSquareMatrixException(weight.getColumnDimension(),
weight.getRowDimension());
}
weightMatrix = weight.copy();
}
/**
* Gets the initial guess.
*
* @return the initial guess.
*/
public RealMatrix getWeight() {
return weightMatrix.copy();
}
}