Weight.java

  1. /*
  2.  * Licensed to the Apache Software Foundation (ASF) under one or more
  3.  * contributor license agreements.  See the NOTICE file distributed with
  4.  * this work for additional information regarding copyright ownership.
  5.  * The ASF licenses this file to You under the Apache License, Version 2.0
  6.  * (the "License"); you may not use this file except in compliance with
  7.  * the License.  You may obtain a copy of the License at
  8.  *
  9.  *      http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package org.apache.commons.math3.optim.nonlinear.vector;

  18. import org.apache.commons.math3.optim.OptimizationData;
  19. import org.apache.commons.math3.linear.RealMatrix;
  20. import org.apache.commons.math3.linear.DiagonalMatrix;
  21. import org.apache.commons.math3.linear.NonSquareMatrixException;

  22. /**
  23.  * Weight matrix of the residuals between model and observations.
  24.  * <br/>
  25.  * Immutable class.
  26.  *
  27.  * @since 3.1
  28.  * @deprecated All classes and interfaces in this package are deprecated.
  29.  * The optimizers that were provided here were moved to the
  30.  * {@link org.apache.commons.math3.fitting.leastsquares} package
  31.  * (cf. MATH-1008).
  32.  */
  33. @Deprecated
  34. public class Weight implements OptimizationData {
  35.     /** Weight matrix. */
  36.     private final RealMatrix weightMatrix;

  37.     /**
  38.      * Creates a diagonal weight matrix.
  39.      *
  40.      * @param weight List of the values of the diagonal.
  41.      */
  42.     public Weight(double[] weight) {
  43.         weightMatrix = new DiagonalMatrix(weight);
  44.     }

  45.     /**
  46.      * @param weight Weight matrix.
  47.      * @throws NonSquareMatrixException if the argument is not
  48.      * a square matrix.
  49.      */
  50.     public Weight(RealMatrix weight) {
  51.         if (weight.getColumnDimension() != weight.getRowDimension()) {
  52.             throw new NonSquareMatrixException(weight.getColumnDimension(),
  53.                                                weight.getRowDimension());
  54.         }

  55.         weightMatrix = weight.copy();
  56.     }

  57.     /**
  58.      * Gets the initial guess.
  59.      *
  60.      * @return the initial guess.
  61.      */
  62.     public RealMatrix getWeight() {
  63.         return weightMatrix.copy();
  64.     }
  65. }