You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by lu...@free.fr on 2011/10/03 10:01:11 UTC

Re: svn commit: r1178306 - in /commons/proper/math/trunk/src: main/java/org/apache/commons/math/exception/util/ main/java/org/apache/commons/math/linear/ test/java/org/apache/commons/math/linear/

Hi Sébastien,

----- Mail original -----
> Author: celestin
> Date: Mon Oct  3 06:33:21 2011
> New Revision: 1178306
> 
> URL: http://svn.apache.org/viewvc?rev=1178306&view=rev
> Log:
> - Replaced LinearOperator with Operator in exception names in order
> to make them shorter (as discussed on the ML).
> - Created IllConditionedOperatorException.
> - Created SingularOperatorException (as discussed on the ML).
> 
> Added:
>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>       (with props)
>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java
>       - copied, changed from r1178288,
>       commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java
>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java
>       - copied, changed from r1178288,
>       commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java
>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java
>       - copied, changed from r1178288,
>       commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java
>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>       (with props)
> Removed:
>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java
>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java
>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java
> Modified:
>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java


Could you also update the French translations in src/main/ressources/META-INF/localization when you change some
parts of Localizedformats enumerate ?

Thanks

Luc

>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java
>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java
>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java
>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java
>     commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java
> 
> Modified:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java?rev=1178306&r1=1178305&r2=1178306&view=diff
> ==============================================================================
> ---
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
> (original)
> +++
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
> Mon Oct  3 06:33:21 2011
> @@ -110,6 +110,7 @@ public enum LocalizedFormats implements
>      GCD_OVERFLOW_64_BITS("overflow: gcd({0}, {1}) is 2^63"),
>      HOLE_BETWEEN_MODELS_TIME_RANGES("{0} wide hole between models
>      time ranges"),
>      IDENTICAL_ABSCISSAS_DIVISION_BY_ZERO("identical abscissas x[{0}]
>      == x[{1}] == {2} cause division by zero"),
> +    ILL_CONDITIONED_OPERATOR("condition number {1} is too high "),
>      INDEX_LARGER_THAN_MAX("the index specified: {0} is larger than
>      the current maximal index {1}"),
>      INDEX_NOT_POSITIVE("index ({0}) is not positive"),
>      INDEX_OUT_OF_RANGE("index {0} out of allowed range [{1}, {2}]"),
> @@ -188,9 +189,9 @@ public enum LocalizedFormats implements
>      NOT_POSITIVE_COLUMNDIMENSION("invalid column dimension: {0}
>      (must be positive)"),
>      NOT_POSITIVE_DEFINITE_MATRIX("not positive definite matrix"), /*
>      keep */
>      NON_POSITIVE_DEFINITE_MATRIX("not positive definite matrix:
>      diagonal element at ({1},{1}) is smaller than {2} ({0})"),
> -    NON_POSITIVE_DEFINITE_LINEAR_OPERATOR("non positive definite
> linear operator"), /* keep */
> -    NON_SELF_ADJOINT_LINEAR_OPERATOR("non self-adjoint linear
> operator"), /* keep */
> -    NON_SQUARE_LINEAR_OPERATOR("non square ({0}x{1}) linear
> operator"), /* keep */
> +    NON_POSITIVE_DEFINITE_OPERATOR("non positive definite linear
> operator"), /* keep */
> +    NON_SELF_ADJOINT_OPERATOR("non self-adjoint linear operator"),
> /* keep */
> +    NON_SQUARE_OPERATOR("non square ({0}x{1}) linear operator"), /*
> keep */
>      DEGREES_OF_FREEDOM("degrees of freedom ({0})"), /* keep */
>      NOT_POSITIVE_DEGREES_OF_FREEDOM("degrees of freedom must be
>      positive ({0})"),
>      NOT_POSITIVE_ELEMENT_AT_INDEX("element {0} is not positive:
>      {1}"),
> @@ -294,6 +295,7 @@ public enum LocalizedFormats implements
>      SIMPLEX_NEED_ONE_POINT("simplex must contain at least one
>      point"),
>      SIMPLE_MESSAGE("{0}"),
>      SINGULAR_MATRIX("matrix is singular"), /* keep */
> +    SINGULAR_OPERATOR("operator is singular"),
>      SUBARRAY_ENDS_AFTER_ARRAY_END("subarray ends after array end"),
>      TOO_LARGE_CUTOFF_SINGULAR_VALUE("cutoff singular value is {0},
>      should be at most {1}"),
>      TOO_MANY_ELEMENTS_TO_DISCARD_FROM_ARRAY("cannot discard {0}
>      elements from a {1} elements array"),
> 
> Modified:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java?rev=1178306&r1=1178305&r2=1178306&view=diff
> ==============================================================================
> ---
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java
> (original)
> +++
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java
> Mon Oct  3 06:33:21 2011
> @@ -47,7 +47,7 @@ import org.apache.commons.math.util.Iter
>   * <h3><a id="context">Exception context</a></h3>
>   * <p>
>   * Besides standard {@link DimensionMismatchException}, this class
>   might throw
> - * {@link NonPositiveDefiniteLinearOperatorException} if the linear
> operator or
> + * {@link NonPositiveDefiniteOperatorException} if the linear
> operator or
>   * the preconditioner are not positive definite. In this case, the
>   * {@link ExceptionContext} provides some more information
>   * <ul>
> @@ -166,7 +166,7 @@ public class ConjugateGradient
>      public RealVector solveInPlace(final RealLinearOperator a,
>                                     final
>                                     InvertibleRealLinearOperator m,
>                                     final RealVector b, final
>                                     RealVector x0)
> -        throws NullArgumentException,
> NonSquareLinearOperatorException,
> +        throws NullArgumentException, NonSquareOperatorException,
>          DimensionMismatchException, MaxCountExceededException {
>          checkParameters(a, m, b, x0);
>          final IterationManager manager = getIterationManager();
> @@ -219,8 +219,8 @@ public class ConjugateGradient
>              }
>              final double rhoNext = r.dotProduct(z);
>              if (check && (rhoNext <= 0.)) {
> -                final NonPositiveDefiniteLinearOperatorException e;
> -                e = new
> NonPositiveDefiniteLinearOperatorException();
> +                final NonPositiveDefiniteOperatorException e;
> +                e = new NonPositiveDefiniteOperatorException();
>                  final ExceptionContext context = e.getContext();
>                  context.setValue(OPERATOR, m);
>                  context.setValue(VECTOR, r);
> @@ -235,8 +235,8 @@ public class ConjugateGradient
>              manager.incrementIterationCount();
>              final double pq = p.dotProduct(q);
>              if (check && (pq <= 0.)) {
> -                final NonPositiveDefiniteLinearOperatorException e;
> -                e = new
> NonPositiveDefiniteLinearOperatorException();
> +                final NonPositiveDefiniteOperatorException e;
> +                e = new NonPositiveDefiniteOperatorException();
>                  final ExceptionContext context = e.getContext();
>                  context.setValue(OPERATOR, a);
>                  context.setValue(VECTOR, p);
> 
> Added:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java?rev=1178306&view=auto
> ==============================================================================
> ---
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
> (added)
> +++
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
> Mon Oct  3 06:33:21 2011
> @@ -0,0 +1,43 @@
> +/*
> + * 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.math.linear;
> +
> +import
> org.apache.commons.math.exception.MathIllegalArgumentException;
> +import org.apache.commons.math.exception.util.LocalizedFormats;
> +
> +/**
> + * An exception to be thrown when the condition number of a
> + * {@link RealLinearOperator} is too high.
> + *
> + * @version $Id$
> + * @since 3.0
> + */
> +public class IllConditionedOperatorException
> +    extends MathIllegalArgumentException {
> +    /** Serializable version Id. */
> +    private static final long serialVersionUID =
> -7883263944530490135L;
> +
> +    /**
> +     * Creates a new instance of this class.
> +     *
> +     * @param cond An estimate of the condition number of the
> offending linear
> +     * operator.
> +     */
> +    public IllConditionedOperatorException(final double cond) {
> +        super(LocalizedFormats.ILL_CONDITIONED_OPERATOR, cond);
> +    }
> +}
> 
> Propchange:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
> ------------------------------------------------------------------------------
>     svn:keywords = Author Date Id Revision
> 
> Modified:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java?rev=1178306&r1=1178305&r2=1178306&view=diff
> ==============================================================================
> ---
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java
> (original)
> +++
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java
> Mon Oct  3 06:33:21 2011
> @@ -67,20 +67,20 @@ public abstract class IterativeLinearSol
>       * @param b Right-hand side vector.
>       * @param x0 Initial guess of the solution.
>       * @throws NullArgumentException if one of the parameters is
>       {@code null}.
> -     * @throws NonSquareLinearOperatorException if {@code a} is not
> square.
> +     * @throws NonSquareOperatorException if {@code a} is not
> square.
>       * @throws DimensionMismatchException if {@code b} or {@code x0}
>       have
>       * dimensions inconsistent with {@code a}.
>       */
>      protected static void checkParameters(final RealLinearOperator
>      a,
>                                            final RealVector b,
>                                            final RealVector x0)
> -        throws NullArgumentException,
> NonSquareLinearOperatorException,
> +        throws NullArgumentException, NonSquareOperatorException,
>          DimensionMismatchException {
>          MathUtils.checkNotNull(a);
>          MathUtils.checkNotNull(b);
>          MathUtils.checkNotNull(x0);
>          if (a.getRowDimension() != a.getColumnDimension()) {
> -            throw new
> NonSquareLinearOperatorException(a.getRowDimension(),
> +            throw new
> NonSquareOperatorException(a.getRowDimension(),
>                                                         a.getColumnDimension());
>          }
>          if (b.getDimension() != a.getRowDimension()) {
> @@ -110,7 +110,7 @@ public abstract class IterativeLinearSol
>       * @param b Right-hand side vector.
>       * @return A new vector containing the solution.
>       * @throws NullArgumentException if one of the parameters is
>       {@code null}.
> -     * @throws NonSquareLinearOperatorException if {@code a} is not
> square.
> +     * @throws NonSquareOperatorException if {@code a} is not
> square.
>       * @throws DimensionMismatchException if {@code b} has
>       dimensions
>       * inconsistent with {@code a}.
>       * @throws MaxCountExceededException at exhaustion of the
>       iteration count,
> @@ -118,7 +118,7 @@ public abstract class IterativeLinearSol
>       * construction.
>       */
>      public RealVector solve(RealLinearOperator a, RealVector b)
> -        throws NullArgumentException,
> NonSquareLinearOperatorException,
> +        throws NullArgumentException, NonSquareOperatorException,
>          DimensionMismatchException, MaxCountExceededException {
>          MathUtils.checkNotNull(a);
>          final RealVector x = new
>          ArrayRealVector(a.getColumnDimension());
> @@ -135,7 +135,7 @@ public abstract class IterativeLinearSol
>       * @param x0 Initial guess of the solution.
>       * @return A new vector containing the solution.
>       * @throws NullArgumentException if one of the parameters is
>       {@code null}.
> -     * @throws NonSquareLinearOperatorException if {@code a} is not
> square.
> +     * @throws NonSquareOperatorException if {@code a} is not
> square.
>       * @throws DimensionMismatchException if {@code b} or {@code x0}
>       have
>       * dimensions inconsistent with {@code a}.
>       * @throws MaxCountExceededException at exhaustion of the
>       iteration count,
> @@ -143,7 +143,7 @@ public abstract class IterativeLinearSol
>       * construction.
>       */
>      public RealVector solve(RealLinearOperator a, RealVector b,
>      RealVector x0)
> -        throws NullArgumentException,
> NonSquareLinearOperatorException,
> +        throws NullArgumentException, NonSquareOperatorException,
>          DimensionMismatchException, MaxCountExceededException {
>          MathUtils.checkNotNull(x0);
>          return solveInPlace(a, b, x0.copy());
> @@ -159,7 +159,7 @@ public abstract class IterativeLinearSol
>       * @return A reference to {@code x0} (shallow copy) updated with
>       the
>       * solution.
>       * @throws NullArgumentException if one of the parameters is
>       {@code null}.
> -     * @throws NonSquareLinearOperatorException if {@code a} is not
> square.
> +     * @throws NonSquareOperatorException if {@code a} is not
> square.
>       * @throws DimensionMismatchException if {@code b} or {@code x0}
>       have
>       * dimensions inconsistent with {@code a}.
>       * @throws MaxCountExceededException at exhaustion of the
>       iteration count,
> @@ -168,6 +168,6 @@ public abstract class IterativeLinearSol
>       */
>      public abstract RealVector solveInPlace(RealLinearOperator a,
>      RealVector b,
>                                              RealVector x0)
> -        throws NullArgumentException,
> NonSquareLinearOperatorException,
> +        throws NullArgumentException, NonSquareOperatorException,
>          DimensionMismatchException, MaxCountExceededException;
>  }
> 
> Modified:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java?rev=1178306&r1=1178305&r2=1178306&view=diff
> ==============================================================================
> ---
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java
> (original)
> +++
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java
> Mon Oct  3 06:33:21 2011
> @@ -50,13 +50,13 @@ public class JacobiPreconditioner
>       * @param a Linear operator for which the preconditioner should
>       be built.
>       * @return Preconditioner made of the diagonal coefficients of
>       the specified
>       *         linear operator.
> -     * @throws NonSquareLinearOperatorException if {@code a} is not
> square.
> +     * @throws NonSquareOperatorException if {@code a} is not
> square.
>       */
>      public static JacobiPreconditioner create(final
>      RealLinearOperator a)
> -        throws NonSquareLinearOperatorException {
> +        throws NonSquareOperatorException {
>          final int n = a.getColumnDimension();
>          if (a.getRowDimension() != n) {
> -            throw new
> NonSquareLinearOperatorException(a.getRowDimension(), n);
> +            throw new
> NonSquareOperatorException(a.getRowDimension(), n);
>          }
>          final double[] diag = new double[n];
>          if (a instanceof AbstractRealMatrix) {
> 
> Copied:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java
> (from r1178288,
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java)
> URL:
> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java&p1=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java&r1=1178288&r2=1178306&rev=1178306&view=diff
> ==============================================================================
> ---
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java
> (original)
> +++
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java
> Mon Oct  3 06:33:21 2011
> @@ -32,10 +32,13 @@ import org.apache.commons.math.exception
>   * @version $Id$
>   * @since 3.0
>   */
> -public class NonPositiveDefiniteLinearOperatorException
> +public class NonPositiveDefiniteOperatorException
>      extends MathIllegalArgumentException {
> +    /** Serializable version Id. */
> +    private static final long serialVersionUID =
> 917034489420549847L;
> +
>      /** Creates a new instance of this class. */
> -    public NonPositiveDefiniteLinearOperatorException() {
> -
>        super(LocalizedFormats.NON_POSITIVE_DEFINITE_LINEAR_OPERATOR);
> +    public NonPositiveDefiniteOperatorException() {
> +        super(LocalizedFormats.NON_POSITIVE_DEFINITE_OPERATOR);
>      }
>  }
> 
> Copied:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java
> (from r1178288,
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java)
> URL:
> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java&p1=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java&r1=1178288&r2=1178306&rev=1178306&view=diff
> ==============================================================================
> ---
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java
> (original)
> +++
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java
> Mon Oct  3 06:33:21 2011
> @@ -35,11 +35,13 @@ import org.apache.commons.math.exception
>   * @version $Id$
>   * @since 3.0
>   */
> -public class NonSelfAdjointLinearOperatorException
> +public class NonSelfAdjointOperatorException
>      extends MathIllegalArgumentException {
> +    /** Serializable version Id. */
> +    private static final long serialVersionUID =
> 1784999305030258247L;
>  
>      /** Creates a new instance of this class. */
> -    public NonSelfAdjointLinearOperatorException() {
> -        super(LocalizedFormats.NON_SELF_ADJOINT_LINEAR_OPERATOR);
> +    public NonSelfAdjointOperatorException() {
> +        super(LocalizedFormats.NON_SELF_ADJOINT_OPERATOR);
>      }
>  }
> 
> Copied:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java
> (from r1178288,
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java)
> URL:
> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java&p1=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java&r1=1178288&r2=1178306&rev=1178306&view=diff
> ==============================================================================
> ---
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java
> (original)
> +++
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java
> Mon Oct  3 06:33:21 2011
> @@ -25,9 +25,9 @@ import org.apache.commons.math.exception
>   * @since 3.0
>   * @version $Id$
>   */
> -public class NonSquareLinearOperatorException extends
> DimensionMismatchException {
> +public class NonSquareOperatorException extends
> DimensionMismatchException {
>      /** Serializable version Id. */
> -    private static final long serialVersionUID =
> -660069396594485772L;
> +    private static final long serialVersionUID =
> -4145007524150846242L;
>  
>      /**
>       * Construct an exception from the mismatched dimensions.
> @@ -35,7 +35,7 @@ public class NonSquareLinearOperatorExce
>       * @param wrong Row dimension.
>       * @param expected Column dimension.
>       */
> -    public NonSquareLinearOperatorException(int wrong, int expected)
> {
> -        super(LocalizedFormats.NON_SQUARE_LINEAR_OPERATOR, wrong,
> expected);
> +    public NonSquareOperatorException(int wrong, int expected) {
> +        super(LocalizedFormats.NON_SQUARE_OPERATOR, wrong,
> expected);
>      }
>  }
> 
> Modified:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java?rev=1178306&r1=1178305&r2=1178306&view=diff
> ==============================================================================
> ---
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java
> (original)
> +++
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java
> Mon Oct  3 06:33:21 2011
> @@ -66,7 +66,7 @@ public abstract class PreconditionedIter
>       * @param x0 Initial guess of the solution.
>       * @return A new vector containing the solution.
>       * @throws NullArgumentException if one of the parameters is
>       {@code null}.
> -     * @throws NonSquareLinearOperatorException if {@code a} or
> {@code m} is not
> +     * @throws NonSquareOperatorException if {@code a} or {@code m}
> is not
>       * square.
>       * @throws DimensionMismatchException if {@code m}, {@code b} or
>       {@code x0}
>       * have dimensions inconsistent with {@code a}.
> @@ -77,7 +77,7 @@ public abstract class PreconditionedIter
>      public RealVector solve(final RealLinearOperator a,
>                              final InvertibleRealLinearOperator m,
>                              final RealVector b, final RealVector x0)
> -        throws NullArgumentException,
> NonSquareLinearOperatorException,
> +        throws NullArgumentException, NonSquareOperatorException,
>          DimensionMismatchException, MaxCountExceededException {
>          MathUtils.checkNotNull(x0);
>          return solveInPlace(a, m, b, x0.copy());
> @@ -86,7 +86,7 @@ public abstract class PreconditionedIter
>      /** {@inheritDoc} */
>      @Override
>      public RealVector solve(final RealLinearOperator a, final
>      RealVector b)
> -        throws NullArgumentException,
> NonSquareLinearOperatorException,
> +        throws NullArgumentException, NonSquareOperatorException,
>          DimensionMismatchException, MaxCountExceededException {
>          MathUtils.checkNotNull(a);
>          final RealVector x = new
>          ArrayRealVector(a.getColumnDimension());
> @@ -98,7 +98,7 @@ public abstract class PreconditionedIter
>      @Override
>      public RealVector solve(final RealLinearOperator a, final
>      RealVector b,
>                              final RealVector x0)
> -        throws NullArgumentException,
> NonSquareLinearOperatorException,
> +        throws NullArgumentException, NonSquareOperatorException,
>          DimensionMismatchException, MaxCountExceededException {
>          MathUtils.checkNotNull(x0);
>          return solveInPlace(a, null, b, x0.copy());
> @@ -116,7 +116,7 @@ public abstract class PreconditionedIter
>       * @param b Right-hand side vector.
>       * @param x0 Initial guess of the solution.
>       * @throws NullArgumentException if one of the parameters is
>       {@code null}.
> -     * @throws NonSquareLinearOperatorException if {@code a} or
> {@code m} is not
> +     * @throws NonSquareOperatorException if {@code a} or {@code m}
> is not
>       * square.
>       * @throws DimensionMismatchException if {@code m}, {@code b} or
>       {@code x0}
>       * have dimensions inconsistent with {@code a}.
> @@ -125,12 +125,12 @@ public abstract class PreconditionedIter
>                                            final
>                                            InvertibleRealLinearOperator
>                                            m,
>                                            final RealVector b,
>                                            final RealVector x0)
> -        throws NullArgumentException,
> NonSquareLinearOperatorException,
> +        throws NullArgumentException, NonSquareOperatorException,
>          DimensionMismatchException {
>          checkParameters(a, b, x0);
>          if (m != null) {
>              if (m.getColumnDimension() != m.getRowDimension()) {
> -                throw new
> NonSquareLinearOperatorException(m.getColumnDimension(),
> +                throw new
> NonSquareOperatorException(m.getColumnDimension(),
>                                                             m.getRowDimension());
>              }
>              if (m.getRowDimension() != a.getRowDimension()) {
> @@ -149,7 +149,7 @@ public abstract class PreconditionedIter
>       * @param b Right-hand side vector.
>       * @return A new vector containing the solution.
>       * @throws NullArgumentException if one of the parameters is
>       {@code null}.
> -     * @throws NonSquareLinearOperatorException if {@code a} or
> {@code m} is not
> +     * @throws NonSquareOperatorException if {@code a} or {@code m}
> is not
>       * square.
>       * @throws DimensionMismatchException if {@code m} or {@code b}
>       have
>       * dimensions inconsistent with {@code a}.
> @@ -159,7 +159,7 @@ public abstract class PreconditionedIter
>       */
>      public RealVector solve(RealLinearOperator a,
>                              InvertibleRealLinearOperator m,
>                              RealVector b)
> -        throws NullArgumentException,
> NonSquareLinearOperatorException,
> +        throws NullArgumentException, NonSquareOperatorException,
>          DimensionMismatchException, MaxCountExceededException {
>          MathUtils.checkNotNull(a);
>          final RealVector x = new
>          ArrayRealVector(a.getColumnDimension());
> @@ -177,7 +177,7 @@ public abstract class PreconditionedIter
>       * @return A reference to {@code x0} (shallow copy) updated with
>       the
>       * solution.
>       * @throws NullArgumentException if one of the parameters is
>       {@code null}.
> -     * @throws NonSquareLinearOperatorException if {@code a} or
> {@code m} is not
> +     * @throws NonSquareOperatorException if {@code a} or {@code m}
> is not
>       * square.
>       * @throws DimensionMismatchException if {@code m}, {@code b} or
>       {@code x0}
>       * have dimensions inconsistent with {@code a}.
> @@ -188,14 +188,14 @@ public abstract class PreconditionedIter
>      public abstract RealVector solveInPlace(RealLinearOperator a,
>                                              InvertibleRealLinearOperator
>                                              m,
>                                              RealVector b, RealVector
>                                              x0)
> -        throws NullArgumentException,
> NonSquareLinearOperatorException,
> +        throws NullArgumentException, NonSquareOperatorException,
>          DimensionMismatchException, MaxCountExceededException;
>  
>      /** {@inheritDoc} */
>      @Override
>      public RealVector solveInPlace(final RealLinearOperator a,
>                                     final RealVector b, final
>                                     RealVector x0)
> -        throws NullArgumentException,
> NonSquareLinearOperatorException,
> +        throws NullArgumentException, NonSquareOperatorException,
>          DimensionMismatchException, MaxCountExceededException {
>          return solveInPlace(a, null, b, x0);
>      }
> 
> Added:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java?rev=1178306&view=auto
> ==============================================================================
> ---
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
> (added)
> +++
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
> Mon Oct  3 06:33:21 2011
> @@ -0,0 +1,39 @@
> +/*
> + * 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.math.linear;
> +
> +import
> org.apache.commons.math.exception.MathIllegalArgumentException;
> +import org.apache.commons.math.exception.util.LocalizedFormats;
> +
> +/**
> + * Exception to be thrown when trying to invert a singular operator.
> + *
> + * @version $Id$
> + * @since 3.0
> + */
> +public class SingularOperatorException
> +    extends MathIllegalArgumentException {
> +    /** Serializable version Id. */
> +    private static final long serialVersionUID =
> -476049978595245033L;
> +
> +    /**
> +     * Creates a new instance of this class.
> +     */
> +    public SingularOperatorException() {
> +        super(LocalizedFormats.SINGULAR_OPERATOR);
> +    }
> +}
> 
> Propchange:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Propchange:
> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
> ------------------------------------------------------------------------------
>     svn:keywords = Author Date Id Revision
> 
> Modified:
> commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java?rev=1178306&r1=1178305&r2=1178306&view=diff
> ==============================================================================
> ---
> commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java
> (original)
> +++
> commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java
> Mon Oct  3 06:33:21 2011
> @@ -25,7 +25,7 @@ import org.junit.Test;
>  
>  public class ConjugateGradientTest {
>  
> -    @Test(expected = NonSquareLinearOperatorException.class)
> +    @Test(expected = NonSquareOperatorException.class)
>      public void testNonSquareOperator() {
>          final Array2DRowRealMatrix a = new Array2DRowRealMatrix(2,
>          3);
>          final IterativeLinearSolver solver;
> @@ -55,7 +55,7 @@ public class ConjugateGradientTest {
>          solver.solve(a, b, x);
>      }
>  
> -    @Test(expected =
> NonPositiveDefiniteLinearOperatorException.class)
> +    @Test(expected = NonPositiveDefiniteOperatorException.class)
>      public void testNonPositiveDefiniteLinearOperator() {
>          final Array2DRowRealMatrix a = new Array2DRowRealMatrix(2,
>          2);
>          a.setEntry(0, 0, -1.);
> @@ -199,7 +199,7 @@ public class ConjugateGradientTest {
>          }
>      }
>  
> -    @Test(expected = NonSquareLinearOperatorException.class)
> +    @Test(expected = NonSquareOperatorException.class)
>      public void testNonSquarePreconditioner() {
>          final Array2DRowRealMatrix a = new Array2DRowRealMatrix(2,
>          2);
>          final InvertibleRealLinearOperator m;
> @@ -263,7 +263,7 @@ public class ConjugateGradientTest {
>          solver.solve(a, m, b);
>      }
>  
> -    @Test(expected =
> NonPositiveDefiniteLinearOperatorException.class)
> +    @Test(expected = NonPositiveDefiniteOperatorException.class)
>      public void testNonPositiveDefinitePreconditioner() {
>          final Array2DRowRealMatrix a = new Array2DRowRealMatrix(2,
>          2);
>          a.setEntry(0, 0, 1d);
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1178306 - in /commons/proper/math/trunk/src: main/java/org/apache/commons/math/exception/util/ main/java/org/apache/commons/math/linear/ test/java/org/apache/commons/math/linear/

Posted by Sébastien Brisard <se...@m4x.org>.
2011/10/3  <lu...@free.fr>:
> Hi Sébastien,
>
> ----- Mail original -----
>> Author: celestin
>> Date: Mon Oct  3 06:33:21 2011
>> New Revision: 1178306
>>
>> URL: http://svn.apache.org/viewvc?rev=1178306&view=rev
>> Log:
>> - Replaced LinearOperator with Operator in exception names in order
>> to make them shorter (as discussed on the ML).
>> - Created IllConditionedOperatorException.
>> - Created SingularOperatorException (as discussed on the ML).
>>
>> Added:
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>>       (with props)
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java
>>       - copied, changed from r1178288,
>>       commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java
>>       - copied, changed from r1178288,
>>       commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java
>>       - copied, changed from r1178288,
>>       commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>>       (with props)
>> Removed:
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java
>> Modified:
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
>
>
> Could you also update the French translations in src/main/ressources/META-INF/localization when you change some
> parts of Localizedformats enumerate ?
>
Done in revision 1178328.
> Thanks
>
> Luc
>
Thank *you* for reminding me.
Sébastien
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java
>>     commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java
>>
>> Modified:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java?rev=1178306&r1=1178305&r2=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
>> Mon Oct  3 06:33:21 2011
>> @@ -110,6 +110,7 @@ public enum LocalizedFormats implements
>>      GCD_OVERFLOW_64_BITS("overflow: gcd({0}, {1}) is 2^63"),
>>      HOLE_BETWEEN_MODELS_TIME_RANGES("{0} wide hole between models
>>      time ranges"),
>>      IDENTICAL_ABSCISSAS_DIVISION_BY_ZERO("identical abscissas x[{0}]
>>      == x[{1}] == {2} cause division by zero"),
>> +    ILL_CONDITIONED_OPERATOR("condition number {1} is too high "),
>>      INDEX_LARGER_THAN_MAX("the index specified: {0} is larger than
>>      the current maximal index {1}"),
>>      INDEX_NOT_POSITIVE("index ({0}) is not positive"),
>>      INDEX_OUT_OF_RANGE("index {0} out of allowed range [{1}, {2}]"),
>> @@ -188,9 +189,9 @@ public enum LocalizedFormats implements
>>      NOT_POSITIVE_COLUMNDIMENSION("invalid column dimension: {0}
>>      (must be positive)"),
>>      NOT_POSITIVE_DEFINITE_MATRIX("not positive definite matrix"), /*
>>      keep */
>>      NON_POSITIVE_DEFINITE_MATRIX("not positive definite matrix:
>>      diagonal element at ({1},{1}) is smaller than {2} ({0})"),
>> -    NON_POSITIVE_DEFINITE_LINEAR_OPERATOR("non positive definite
>> linear operator"), /* keep */
>> -    NON_SELF_ADJOINT_LINEAR_OPERATOR("non self-adjoint linear
>> operator"), /* keep */
>> -    NON_SQUARE_LINEAR_OPERATOR("non square ({0}x{1}) linear
>> operator"), /* keep */
>> +    NON_POSITIVE_DEFINITE_OPERATOR("non positive definite linear
>> operator"), /* keep */
>> +    NON_SELF_ADJOINT_OPERATOR("non self-adjoint linear operator"),
>> /* keep */
>> +    NON_SQUARE_OPERATOR("non square ({0}x{1}) linear operator"), /*
>> keep */
>>      DEGREES_OF_FREEDOM("degrees of freedom ({0})"), /* keep */
>>      NOT_POSITIVE_DEGREES_OF_FREEDOM("degrees of freedom must be
>>      positive ({0})"),
>>      NOT_POSITIVE_ELEMENT_AT_INDEX("element {0} is not positive:
>>      {1}"),
>> @@ -294,6 +295,7 @@ public enum LocalizedFormats implements
>>      SIMPLEX_NEED_ONE_POINT("simplex must contain at least one
>>      point"),
>>      SIMPLE_MESSAGE("{0}"),
>>      SINGULAR_MATRIX("matrix is singular"), /* keep */
>> +    SINGULAR_OPERATOR("operator is singular"),
>>      SUBARRAY_ENDS_AFTER_ARRAY_END("subarray ends after array end"),
>>      TOO_LARGE_CUTOFF_SINGULAR_VALUE("cutoff singular value is {0},
>>      should be at most {1}"),
>>      TOO_MANY_ELEMENTS_TO_DISCARD_FROM_ARRAY("cannot discard {0}
>>      elements from a {1} elements array"),
>>
>> Modified:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java?rev=1178306&r1=1178305&r2=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java
>> Mon Oct  3 06:33:21 2011
>> @@ -47,7 +47,7 @@ import org.apache.commons.math.util.Iter
>>   * <h3><a id="context">Exception context</a></h3>
>>   * <p>
>>   * Besides standard {@link DimensionMismatchException}, this class
>>   might throw
>> - * {@link NonPositiveDefiniteLinearOperatorException} if the linear
>> operator or
>> + * {@link NonPositiveDefiniteOperatorException} if the linear
>> operator or
>>   * the preconditioner are not positive definite. In this case, the
>>   * {@link ExceptionContext} provides some more information
>>   * <ul>
>> @@ -166,7 +166,7 @@ public class ConjugateGradient
>>      public RealVector solveInPlace(final RealLinearOperator a,
>>                                     final
>>                                     InvertibleRealLinearOperator m,
>>                                     final RealVector b, final
>>                                     RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          checkParameters(a, m, b, x0);
>>          final IterationManager manager = getIterationManager();
>> @@ -219,8 +219,8 @@ public class ConjugateGradient
>>              }
>>              final double rhoNext = r.dotProduct(z);
>>              if (check && (rhoNext <= 0.)) {
>> -                final NonPositiveDefiniteLinearOperatorException e;
>> -                e = new
>> NonPositiveDefiniteLinearOperatorException();
>> +                final NonPositiveDefiniteOperatorException e;
>> +                e = new NonPositiveDefiniteOperatorException();
>>                  final ExceptionContext context = e.getContext();
>>                  context.setValue(OPERATOR, m);
>>                  context.setValue(VECTOR, r);
>> @@ -235,8 +235,8 @@ public class ConjugateGradient
>>              manager.incrementIterationCount();
>>              final double pq = p.dotProduct(q);
>>              if (check && (pq <= 0.)) {
>> -                final NonPositiveDefiniteLinearOperatorException e;
>> -                e = new
>> NonPositiveDefiniteLinearOperatorException();
>> +                final NonPositiveDefiniteOperatorException e;
>> +                e = new NonPositiveDefiniteOperatorException();
>>                  final ExceptionContext context = e.getContext();
>>                  context.setValue(OPERATOR, a);
>>                  context.setValue(VECTOR, p);
>>
>> Added:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java?rev=1178306&view=auto
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>> (added)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>> Mon Oct  3 06:33:21 2011
>> @@ -0,0 +1,43 @@
>> +/*
>> + * 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.math.linear;
>> +
>> +import
>> org.apache.commons.math.exception.MathIllegalArgumentException;
>> +import org.apache.commons.math.exception.util.LocalizedFormats;
>> +
>> +/**
>> + * An exception to be thrown when the condition number of a
>> + * {@link RealLinearOperator} is too high.
>> + *
>> + * @version $Id$
>> + * @since 3.0
>> + */
>> +public class IllConditionedOperatorException
>> +    extends MathIllegalArgumentException {
>> +    /** Serializable version Id. */
>> +    private static final long serialVersionUID =
>> -7883263944530490135L;
>> +
>> +    /**
>> +     * Creates a new instance of this class.
>> +     *
>> +     * @param cond An estimate of the condition number of the
>> offending linear
>> +     * operator.
>> +     */
>> +    public IllConditionedOperatorException(final double cond) {
>> +        super(LocalizedFormats.ILL_CONDITIONED_OPERATOR, cond);
>> +    }
>> +}
>>
>> Propchange:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>> ------------------------------------------------------------------------------
>>     svn:eol-style = native
>>
>> Propchange:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>> ------------------------------------------------------------------------------
>>     svn:keywords = Author Date Id Revision
>>
>> Modified:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java?rev=1178306&r1=1178305&r2=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java
>> Mon Oct  3 06:33:21 2011
>> @@ -67,20 +67,20 @@ public abstract class IterativeLinearSol
>>       * @param b Right-hand side vector.
>>       * @param x0 Initial guess of the solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} is not
>> square.
>> +     * @throws NonSquareOperatorException if {@code a} is not
>> square.
>>       * @throws DimensionMismatchException if {@code b} or {@code x0}
>>       have
>>       * dimensions inconsistent with {@code a}.
>>       */
>>      protected static void checkParameters(final RealLinearOperator
>>      a,
>>                                            final RealVector b,
>>                                            final RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException {
>>          MathUtils.checkNotNull(a);
>>          MathUtils.checkNotNull(b);
>>          MathUtils.checkNotNull(x0);
>>          if (a.getRowDimension() != a.getColumnDimension()) {
>> -            throw new
>> NonSquareLinearOperatorException(a.getRowDimension(),
>> +            throw new
>> NonSquareOperatorException(a.getRowDimension(),
>>                                                         a.getColumnDimension());
>>          }
>>          if (b.getDimension() != a.getRowDimension()) {
>> @@ -110,7 +110,7 @@ public abstract class IterativeLinearSol
>>       * @param b Right-hand side vector.
>>       * @return A new vector containing the solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} is not
>> square.
>> +     * @throws NonSquareOperatorException if {@code a} is not
>> square.
>>       * @throws DimensionMismatchException if {@code b} has
>>       dimensions
>>       * inconsistent with {@code a}.
>>       * @throws MaxCountExceededException at exhaustion of the
>>       iteration count,
>> @@ -118,7 +118,7 @@ public abstract class IterativeLinearSol
>>       * construction.
>>       */
>>      public RealVector solve(RealLinearOperator a, RealVector b)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          MathUtils.checkNotNull(a);
>>          final RealVector x = new
>>          ArrayRealVector(a.getColumnDimension());
>> @@ -135,7 +135,7 @@ public abstract class IterativeLinearSol
>>       * @param x0 Initial guess of the solution.
>>       * @return A new vector containing the solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} is not
>> square.
>> +     * @throws NonSquareOperatorException if {@code a} is not
>> square.
>>       * @throws DimensionMismatchException if {@code b} or {@code x0}
>>       have
>>       * dimensions inconsistent with {@code a}.
>>       * @throws MaxCountExceededException at exhaustion of the
>>       iteration count,
>> @@ -143,7 +143,7 @@ public abstract class IterativeLinearSol
>>       * construction.
>>       */
>>      public RealVector solve(RealLinearOperator a, RealVector b,
>>      RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          MathUtils.checkNotNull(x0);
>>          return solveInPlace(a, b, x0.copy());
>> @@ -159,7 +159,7 @@ public abstract class IterativeLinearSol
>>       * @return A reference to {@code x0} (shallow copy) updated with
>>       the
>>       * solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} is not
>> square.
>> +     * @throws NonSquareOperatorException if {@code a} is not
>> square.
>>       * @throws DimensionMismatchException if {@code b} or {@code x0}
>>       have
>>       * dimensions inconsistent with {@code a}.
>>       * @throws MaxCountExceededException at exhaustion of the
>>       iteration count,
>> @@ -168,6 +168,6 @@ public abstract class IterativeLinearSol
>>       */
>>      public abstract RealVector solveInPlace(RealLinearOperator a,
>>      RealVector b,
>>                                              RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException;
>>  }
>>
>> Modified:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java?rev=1178306&r1=1178305&r2=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java
>> Mon Oct  3 06:33:21 2011
>> @@ -50,13 +50,13 @@ public class JacobiPreconditioner
>>       * @param a Linear operator for which the preconditioner should
>>       be built.
>>       * @return Preconditioner made of the diagonal coefficients of
>>       the specified
>>       *         linear operator.
>> -     * @throws NonSquareLinearOperatorException if {@code a} is not
>> square.
>> +     * @throws NonSquareOperatorException if {@code a} is not
>> square.
>>       */
>>      public static JacobiPreconditioner create(final
>>      RealLinearOperator a)
>> -        throws NonSquareLinearOperatorException {
>> +        throws NonSquareOperatorException {
>>          final int n = a.getColumnDimension();
>>          if (a.getRowDimension() != n) {
>> -            throw new
>> NonSquareLinearOperatorException(a.getRowDimension(), n);
>> +            throw new
>> NonSquareOperatorException(a.getRowDimension(), n);
>>          }
>>          final double[] diag = new double[n];
>>          if (a instanceof AbstractRealMatrix) {
>>
>> Copied:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java
>> (from r1178288,
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java)
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java&p1=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java&r1=1178288&r2=1178306&rev=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java
>> Mon Oct  3 06:33:21 2011
>> @@ -32,10 +32,13 @@ import org.apache.commons.math.exception
>>   * @version $Id$
>>   * @since 3.0
>>   */
>> -public class NonPositiveDefiniteLinearOperatorException
>> +public class NonPositiveDefiniteOperatorException
>>      extends MathIllegalArgumentException {
>> +    /** Serializable version Id. */
>> +    private static final long serialVersionUID =
>> 917034489420549847L;
>> +
>>      /** Creates a new instance of this class. */
>> -    public NonPositiveDefiniteLinearOperatorException() {
>> -
>>        super(LocalizedFormats.NON_POSITIVE_DEFINITE_LINEAR_OPERATOR);
>> +    public NonPositiveDefiniteOperatorException() {
>> +        super(LocalizedFormats.NON_POSITIVE_DEFINITE_OPERATOR);
>>      }
>>  }
>>
>> Copied:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java
>> (from r1178288,
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java)
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java&p1=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java&r1=1178288&r2=1178306&rev=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java
>> Mon Oct  3 06:33:21 2011
>> @@ -35,11 +35,13 @@ import org.apache.commons.math.exception
>>   * @version $Id$
>>   * @since 3.0
>>   */
>> -public class NonSelfAdjointLinearOperatorException
>> +public class NonSelfAdjointOperatorException
>>      extends MathIllegalArgumentException {
>> +    /** Serializable version Id. */
>> +    private static final long serialVersionUID =
>> 1784999305030258247L;
>>
>>      /** Creates a new instance of this class. */
>> -    public NonSelfAdjointLinearOperatorException() {
>> -        super(LocalizedFormats.NON_SELF_ADJOINT_LINEAR_OPERATOR);
>> +    public NonSelfAdjointOperatorException() {
>> +        super(LocalizedFormats.NON_SELF_ADJOINT_OPERATOR);
>>      }
>>  }
>>
>> Copied:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java
>> (from r1178288,
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java)
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java&p1=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java&r1=1178288&r2=1178306&rev=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java
>> Mon Oct  3 06:33:21 2011
>> @@ -25,9 +25,9 @@ import org.apache.commons.math.exception
>>   * @since 3.0
>>   * @version $Id$
>>   */
>> -public class NonSquareLinearOperatorException extends
>> DimensionMismatchException {
>> +public class NonSquareOperatorException extends
>> DimensionMismatchException {
>>      /** Serializable version Id. */
>> -    private static final long serialVersionUID =
>> -660069396594485772L;
>> +    private static final long serialVersionUID =
>> -4145007524150846242L;
>>
>>      /**
>>       * Construct an exception from the mismatched dimensions.
>> @@ -35,7 +35,7 @@ public class NonSquareLinearOperatorExce
>>       * @param wrong Row dimension.
>>       * @param expected Column dimension.
>>       */
>> -    public NonSquareLinearOperatorException(int wrong, int expected)
>> {
>> -        super(LocalizedFormats.NON_SQUARE_LINEAR_OPERATOR, wrong,
>> expected);
>> +    public NonSquareOperatorException(int wrong, int expected) {
>> +        super(LocalizedFormats.NON_SQUARE_OPERATOR, wrong,
>> expected);
>>      }
>>  }
>>
>> Modified:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java?rev=1178306&r1=1178305&r2=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java
>> Mon Oct  3 06:33:21 2011
>> @@ -66,7 +66,7 @@ public abstract class PreconditionedIter
>>       * @param x0 Initial guess of the solution.
>>       * @return A new vector containing the solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} or
>> {@code m} is not
>> +     * @throws NonSquareOperatorException if {@code a} or {@code m}
>> is not
>>       * square.
>>       * @throws DimensionMismatchException if {@code m}, {@code b} or
>>       {@code x0}
>>       * have dimensions inconsistent with {@code a}.
>> @@ -77,7 +77,7 @@ public abstract class PreconditionedIter
>>      public RealVector solve(final RealLinearOperator a,
>>                              final InvertibleRealLinearOperator m,
>>                              final RealVector b, final RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          MathUtils.checkNotNull(x0);
>>          return solveInPlace(a, m, b, x0.copy());
>> @@ -86,7 +86,7 @@ public abstract class PreconditionedIter
>>      /** {@inheritDoc} */
>>      @Override
>>      public RealVector solve(final RealLinearOperator a, final
>>      RealVector b)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          MathUtils.checkNotNull(a);
>>          final RealVector x = new
>>          ArrayRealVector(a.getColumnDimension());
>> @@ -98,7 +98,7 @@ public abstract class PreconditionedIter
>>      @Override
>>      public RealVector solve(final RealLinearOperator a, final
>>      RealVector b,
>>                              final RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          MathUtils.checkNotNull(x0);
>>          return solveInPlace(a, null, b, x0.copy());
>> @@ -116,7 +116,7 @@ public abstract class PreconditionedIter
>>       * @param b Right-hand side vector.
>>       * @param x0 Initial guess of the solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} or
>> {@code m} is not
>> +     * @throws NonSquareOperatorException if {@code a} or {@code m}
>> is not
>>       * square.
>>       * @throws DimensionMismatchException if {@code m}, {@code b} or
>>       {@code x0}
>>       * have dimensions inconsistent with {@code a}.
>> @@ -125,12 +125,12 @@ public abstract class PreconditionedIter
>>                                            final
>>                                            InvertibleRealLinearOperator
>>                                            m,
>>                                            final RealVector b,
>>                                            final RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException {
>>          checkParameters(a, b, x0);
>>          if (m != null) {
>>              if (m.getColumnDimension() != m.getRowDimension()) {
>> -                throw new
>> NonSquareLinearOperatorException(m.getColumnDimension(),
>> +                throw new
>> NonSquareOperatorException(m.getColumnDimension(),
>>                                                             m.getRowDimension());
>>              }
>>              if (m.getRowDimension() != a.getRowDimension()) {
>> @@ -149,7 +149,7 @@ public abstract class PreconditionedIter
>>       * @param b Right-hand side vector.
>>       * @return A new vector containing the solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} or
>> {@code m} is not
>> +     * @throws NonSquareOperatorException if {@code a} or {@code m}
>> is not
>>       * square.
>>       * @throws DimensionMismatchException if {@code m} or {@code b}
>>       have
>>       * dimensions inconsistent with {@code a}.
>> @@ -159,7 +159,7 @@ public abstract class PreconditionedIter
>>       */
>>      public RealVector solve(RealLinearOperator a,
>>                              InvertibleRealLinearOperator m,
>>                              RealVector b)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          MathUtils.checkNotNull(a);
>>          final RealVector x = new
>>          ArrayRealVector(a.getColumnDimension());
>> @@ -177,7 +177,7 @@ public abstract class PreconditionedIter
>>       * @return A reference to {@code x0} (shallow copy) updated with
>>       the
>>       * solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} or
>> {@code m} is not
>> +     * @throws NonSquareOperatorException if {@code a} or {@code m}
>> is not
>>       * square.
>>       * @throws DimensionMismatchException if {@code m}, {@code b} or
>>       {@code x0}
>>       * have dimensions inconsistent with {@code a}.
>> @@ -188,14 +188,14 @@ public abstract class PreconditionedIter
>>      public abstract RealVector solveInPlace(RealLinearOperator a,
>>                                              InvertibleRealLinearOperator
>>                                              m,
>>                                              RealVector b, RealVector
>>                                              x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException;
>>
>>      /** {@inheritDoc} */
>>      @Override
>>      public RealVector solveInPlace(final RealLinearOperator a,
>>                                     final RealVector b, final
>>                                     RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          return solveInPlace(a, null, b, x0);
>>      }
>>
>> Added:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java?rev=1178306&view=auto
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>> (added)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>> Mon Oct  3 06:33:21 2011
>> @@ -0,0 +1,39 @@
>> +/*
>> + * 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.math.linear;
>> +
>> +import
>> org.apache.commons.math.exception.MathIllegalArgumentException;
>> +import org.apache.commons.math.exception.util.LocalizedFormats;
>> +
>> +/**
>> + * Exception to be thrown when trying to invert a singular operator.
>> + *
>> + * @version $Id$
>> + * @since 3.0
>> + */
>> +public class SingularOperatorException
>> +    extends MathIllegalArgumentException {
>> +    /** Serializable version Id. */
>> +    private static final long serialVersionUID =
>> -476049978595245033L;
>> +
>> +    /**
>> +     * Creates a new instance of this class.
>> +     */
>> +    public SingularOperatorException() {
>> +        super(LocalizedFormats.SINGULAR_OPERATOR);
>> +    }
>> +}
>>
>> Propchange:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>> ------------------------------------------------------------------------------
>>     svn:eol-style = native
>>
>> Propchange:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>> ------------------------------------------------------------------------------
>>     svn:keywords = Author Date Id Revision
>>
>> Modified:
>> commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java?rev=1178306&r1=1178305&r2=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java
>> Mon Oct  3 06:33:21 2011
>> @@ -25,7 +25,7 @@ import org.junit.Test;
>>
>>  public class ConjugateGradientTest {
>>
>> -    @Test(expected = NonSquareLinearOperatorException.class)
>> +    @Test(expected = NonSquareOperatorException.class)
>>      public void testNonSquareOperator() {
>>          final Array2DRowRealMatrix a = new Array2DRowRealMatrix(2,
>>          3);
>>          final IterativeLinearSolver solver;
>> @@ -55,7 +55,7 @@ public class ConjugateGradientTest {
>>          solver.solve(a, b, x);
>>      }
>>
>> -    @Test(expected =
>> NonPositiveDefiniteLinearOperatorException.class)
>> +    @Test(expected = NonPositiveDefiniteOperatorException.class)
>>      public void testNonPositiveDefiniteLinearOperator() {
>>          final Array2DRowRealMatrix a = new Array2DRowRealMatrix(2,
>>          2);
>>          a.setEntry(0, 0, -1.);
>> @@ -199,7 +199,7 @@ public class ConjugateGradientTest {
>>          }
>>      }
>>
>> -    @Test(expected = NonSquareLinearOperatorException.class)
>> +    @Test(expected = NonSquareOperatorException.class)
>>      public void testNonSquarePreconditioner() {
>>          final Array2DRowRealMatrix a = new Array2DRowRealMatrix(2,
>>          2);
>>          final InvertibleRealLinearOperator m;
>> @@ -263,7 +263,7 @@ public class ConjugateGradientTest {
>>          solver.solve(a, m, b);
>>      }
>>
>> -    @Test(expected =
>> NonPositiveDefiniteLinearOperatorException.class)
>> +    @Test(expected = NonPositiveDefiniteOperatorException.class)
>>      public void testNonPositiveDefinitePreconditioner() {
>>          final Array2DRowRealMatrix a = new Array2DRowRealMatrix(2,
>>          2);
>>          a.setEntry(0, 0, 1d);
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1178306 - in /commons/proper/math/trunk/src: main/java/org/apache/commons/math/exception/util/ main/java/org/apache/commons/math/linear/ test/java/org/apache/commons/math/linear/

Posted by Sébastien Brisard <se...@m4x.org>.
Hi Luc,
Sure! This should not be too difficult (!), and I'll try to remember
about that next time.
Thanks for the reminder, and have a good day,
Sébastien

2011/10/3  <lu...@free.fr>:
> Hi Sébastien,
>
> ----- Mail original -----
>> Author: celestin
>> Date: Mon Oct  3 06:33:21 2011
>> New Revision: 1178306
>>
>> URL: http://svn.apache.org/viewvc?rev=1178306&view=rev
>> Log:
>> - Replaced LinearOperator with Operator in exception names in order
>> to make them shorter (as discussed on the ML).
>> - Created IllConditionedOperatorException.
>> - Created SingularOperatorException (as discussed on the ML).
>>
>> Added:
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>>       (with props)
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java
>>       - copied, changed from r1178288,
>>       commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java
>>       - copied, changed from r1178288,
>>       commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java
>>       - copied, changed from r1178288,
>>       commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>>       (with props)
>> Removed:
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java
>> Modified:
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
>
>
> Could you also update the French translations in src/main/ressources/META-INF/localization when you change some
> parts of Localizedformats enumerate ?
>
> Thanks
>
> Luc
>
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java
>>     commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java
>>     commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java
>>
>> Modified:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java?rev=1178306&r1=1178305&r2=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/exception/util/LocalizedFormats.java
>> Mon Oct  3 06:33:21 2011
>> @@ -110,6 +110,7 @@ public enum LocalizedFormats implements
>>      GCD_OVERFLOW_64_BITS("overflow: gcd({0}, {1}) is 2^63"),
>>      HOLE_BETWEEN_MODELS_TIME_RANGES("{0} wide hole between models
>>      time ranges"),
>>      IDENTICAL_ABSCISSAS_DIVISION_BY_ZERO("identical abscissas x[{0}]
>>      == x[{1}] == {2} cause division by zero"),
>> +    ILL_CONDITIONED_OPERATOR("condition number {1} is too high "),
>>      INDEX_LARGER_THAN_MAX("the index specified: {0} is larger than
>>      the current maximal index {1}"),
>>      INDEX_NOT_POSITIVE("index ({0}) is not positive"),
>>      INDEX_OUT_OF_RANGE("index {0} out of allowed range [{1}, {2}]"),
>> @@ -188,9 +189,9 @@ public enum LocalizedFormats implements
>>      NOT_POSITIVE_COLUMNDIMENSION("invalid column dimension: {0}
>>      (must be positive)"),
>>      NOT_POSITIVE_DEFINITE_MATRIX("not positive definite matrix"), /*
>>      keep */
>>      NON_POSITIVE_DEFINITE_MATRIX("not positive definite matrix:
>>      diagonal element at ({1},{1}) is smaller than {2} ({0})"),
>> -    NON_POSITIVE_DEFINITE_LINEAR_OPERATOR("non positive definite
>> linear operator"), /* keep */
>> -    NON_SELF_ADJOINT_LINEAR_OPERATOR("non self-adjoint linear
>> operator"), /* keep */
>> -    NON_SQUARE_LINEAR_OPERATOR("non square ({0}x{1}) linear
>> operator"), /* keep */
>> +    NON_POSITIVE_DEFINITE_OPERATOR("non positive definite linear
>> operator"), /* keep */
>> +    NON_SELF_ADJOINT_OPERATOR("non self-adjoint linear operator"),
>> /* keep */
>> +    NON_SQUARE_OPERATOR("non square ({0}x{1}) linear operator"), /*
>> keep */
>>      DEGREES_OF_FREEDOM("degrees of freedom ({0})"), /* keep */
>>      NOT_POSITIVE_DEGREES_OF_FREEDOM("degrees of freedom must be
>>      positive ({0})"),
>>      NOT_POSITIVE_ELEMENT_AT_INDEX("element {0} is not positive:
>>      {1}"),
>> @@ -294,6 +295,7 @@ public enum LocalizedFormats implements
>>      SIMPLEX_NEED_ONE_POINT("simplex must contain at least one
>>      point"),
>>      SIMPLE_MESSAGE("{0}"),
>>      SINGULAR_MATRIX("matrix is singular"), /* keep */
>> +    SINGULAR_OPERATOR("operator is singular"),
>>      SUBARRAY_ENDS_AFTER_ARRAY_END("subarray ends after array end"),
>>      TOO_LARGE_CUTOFF_SINGULAR_VALUE("cutoff singular value is {0},
>>      should be at most {1}"),
>>      TOO_MANY_ELEMENTS_TO_DISCARD_FROM_ARRAY("cannot discard {0}
>>      elements from a {1} elements array"),
>>
>> Modified:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java?rev=1178306&r1=1178305&r2=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/ConjugateGradient.java
>> Mon Oct  3 06:33:21 2011
>> @@ -47,7 +47,7 @@ import org.apache.commons.math.util.Iter
>>   * <h3><a id="context">Exception context</a></h3>
>>   * <p>
>>   * Besides standard {@link DimensionMismatchException}, this class
>>   might throw
>> - * {@link NonPositiveDefiniteLinearOperatorException} if the linear
>> operator or
>> + * {@link NonPositiveDefiniteOperatorException} if the linear
>> operator or
>>   * the preconditioner are not positive definite. In this case, the
>>   * {@link ExceptionContext} provides some more information
>>   * <ul>
>> @@ -166,7 +166,7 @@ public class ConjugateGradient
>>      public RealVector solveInPlace(final RealLinearOperator a,
>>                                     final
>>                                     InvertibleRealLinearOperator m,
>>                                     final RealVector b, final
>>                                     RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          checkParameters(a, m, b, x0);
>>          final IterationManager manager = getIterationManager();
>> @@ -219,8 +219,8 @@ public class ConjugateGradient
>>              }
>>              final double rhoNext = r.dotProduct(z);
>>              if (check && (rhoNext <= 0.)) {
>> -                final NonPositiveDefiniteLinearOperatorException e;
>> -                e = new
>> NonPositiveDefiniteLinearOperatorException();
>> +                final NonPositiveDefiniteOperatorException e;
>> +                e = new NonPositiveDefiniteOperatorException();
>>                  final ExceptionContext context = e.getContext();
>>                  context.setValue(OPERATOR, m);
>>                  context.setValue(VECTOR, r);
>> @@ -235,8 +235,8 @@ public class ConjugateGradient
>>              manager.incrementIterationCount();
>>              final double pq = p.dotProduct(q);
>>              if (check && (pq <= 0.)) {
>> -                final NonPositiveDefiniteLinearOperatorException e;
>> -                e = new
>> NonPositiveDefiniteLinearOperatorException();
>> +                final NonPositiveDefiniteOperatorException e;
>> +                e = new NonPositiveDefiniteOperatorException();
>>                  final ExceptionContext context = e.getContext();
>>                  context.setValue(OPERATOR, a);
>>                  context.setValue(VECTOR, p);
>>
>> Added:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java?rev=1178306&view=auto
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>> (added)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>> Mon Oct  3 06:33:21 2011
>> @@ -0,0 +1,43 @@
>> +/*
>> + * 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.math.linear;
>> +
>> +import
>> org.apache.commons.math.exception.MathIllegalArgumentException;
>> +import org.apache.commons.math.exception.util.LocalizedFormats;
>> +
>> +/**
>> + * An exception to be thrown when the condition number of a
>> + * {@link RealLinearOperator} is too high.
>> + *
>> + * @version $Id$
>> + * @since 3.0
>> + */
>> +public class IllConditionedOperatorException
>> +    extends MathIllegalArgumentException {
>> +    /** Serializable version Id. */
>> +    private static final long serialVersionUID =
>> -7883263944530490135L;
>> +
>> +    /**
>> +     * Creates a new instance of this class.
>> +     *
>> +     * @param cond An estimate of the condition number of the
>> offending linear
>> +     * operator.
>> +     */
>> +    public IllConditionedOperatorException(final double cond) {
>> +        super(LocalizedFormats.ILL_CONDITIONED_OPERATOR, cond);
>> +    }
>> +}
>>
>> Propchange:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>> ------------------------------------------------------------------------------
>>     svn:eol-style = native
>>
>> Propchange:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IllConditionedOperatorException.java
>> ------------------------------------------------------------------------------
>>     svn:keywords = Author Date Id Revision
>>
>> Modified:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java?rev=1178306&r1=1178305&r2=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/IterativeLinearSolver.java
>> Mon Oct  3 06:33:21 2011
>> @@ -67,20 +67,20 @@ public abstract class IterativeLinearSol
>>       * @param b Right-hand side vector.
>>       * @param x0 Initial guess of the solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} is not
>> square.
>> +     * @throws NonSquareOperatorException if {@code a} is not
>> square.
>>       * @throws DimensionMismatchException if {@code b} or {@code x0}
>>       have
>>       * dimensions inconsistent with {@code a}.
>>       */
>>      protected static void checkParameters(final RealLinearOperator
>>      a,
>>                                            final RealVector b,
>>                                            final RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException {
>>          MathUtils.checkNotNull(a);
>>          MathUtils.checkNotNull(b);
>>          MathUtils.checkNotNull(x0);
>>          if (a.getRowDimension() != a.getColumnDimension()) {
>> -            throw new
>> NonSquareLinearOperatorException(a.getRowDimension(),
>> +            throw new
>> NonSquareOperatorException(a.getRowDimension(),
>>                                                         a.getColumnDimension());
>>          }
>>          if (b.getDimension() != a.getRowDimension()) {
>> @@ -110,7 +110,7 @@ public abstract class IterativeLinearSol
>>       * @param b Right-hand side vector.
>>       * @return A new vector containing the solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} is not
>> square.
>> +     * @throws NonSquareOperatorException if {@code a} is not
>> square.
>>       * @throws DimensionMismatchException if {@code b} has
>>       dimensions
>>       * inconsistent with {@code a}.
>>       * @throws MaxCountExceededException at exhaustion of the
>>       iteration count,
>> @@ -118,7 +118,7 @@ public abstract class IterativeLinearSol
>>       * construction.
>>       */
>>      public RealVector solve(RealLinearOperator a, RealVector b)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          MathUtils.checkNotNull(a);
>>          final RealVector x = new
>>          ArrayRealVector(a.getColumnDimension());
>> @@ -135,7 +135,7 @@ public abstract class IterativeLinearSol
>>       * @param x0 Initial guess of the solution.
>>       * @return A new vector containing the solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} is not
>> square.
>> +     * @throws NonSquareOperatorException if {@code a} is not
>> square.
>>       * @throws DimensionMismatchException if {@code b} or {@code x0}
>>       have
>>       * dimensions inconsistent with {@code a}.
>>       * @throws MaxCountExceededException at exhaustion of the
>>       iteration count,
>> @@ -143,7 +143,7 @@ public abstract class IterativeLinearSol
>>       * construction.
>>       */
>>      public RealVector solve(RealLinearOperator a, RealVector b,
>>      RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          MathUtils.checkNotNull(x0);
>>          return solveInPlace(a, b, x0.copy());
>> @@ -159,7 +159,7 @@ public abstract class IterativeLinearSol
>>       * @return A reference to {@code x0} (shallow copy) updated with
>>       the
>>       * solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} is not
>> square.
>> +     * @throws NonSquareOperatorException if {@code a} is not
>> square.
>>       * @throws DimensionMismatchException if {@code b} or {@code x0}
>>       have
>>       * dimensions inconsistent with {@code a}.
>>       * @throws MaxCountExceededException at exhaustion of the
>>       iteration count,
>> @@ -168,6 +168,6 @@ public abstract class IterativeLinearSol
>>       */
>>      public abstract RealVector solveInPlace(RealLinearOperator a,
>>      RealVector b,
>>                                              RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException;
>>  }
>>
>> Modified:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java?rev=1178306&r1=1178305&r2=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/JacobiPreconditioner.java
>> Mon Oct  3 06:33:21 2011
>> @@ -50,13 +50,13 @@ public class JacobiPreconditioner
>>       * @param a Linear operator for which the preconditioner should
>>       be built.
>>       * @return Preconditioner made of the diagonal coefficients of
>>       the specified
>>       *         linear operator.
>> -     * @throws NonSquareLinearOperatorException if {@code a} is not
>> square.
>> +     * @throws NonSquareOperatorException if {@code a} is not
>> square.
>>       */
>>      public static JacobiPreconditioner create(final
>>      RealLinearOperator a)
>> -        throws NonSquareLinearOperatorException {
>> +        throws NonSquareOperatorException {
>>          final int n = a.getColumnDimension();
>>          if (a.getRowDimension() != n) {
>> -            throw new
>> NonSquareLinearOperatorException(a.getRowDimension(), n);
>> +            throw new
>> NonSquareOperatorException(a.getRowDimension(), n);
>>          }
>>          final double[] diag = new double[n];
>>          if (a instanceof AbstractRealMatrix) {
>>
>> Copied:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java
>> (from r1178288,
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java)
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java&p1=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java&r1=1178288&r2=1178306&rev=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteLinearOperatorException.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonPositiveDefiniteOperatorException.java
>> Mon Oct  3 06:33:21 2011
>> @@ -32,10 +32,13 @@ import org.apache.commons.math.exception
>>   * @version $Id$
>>   * @since 3.0
>>   */
>> -public class NonPositiveDefiniteLinearOperatorException
>> +public class NonPositiveDefiniteOperatorException
>>      extends MathIllegalArgumentException {
>> +    /** Serializable version Id. */
>> +    private static final long serialVersionUID =
>> 917034489420549847L;
>> +
>>      /** Creates a new instance of this class. */
>> -    public NonPositiveDefiniteLinearOperatorException() {
>> -
>>        super(LocalizedFormats.NON_POSITIVE_DEFINITE_LINEAR_OPERATOR);
>> +    public NonPositiveDefiniteOperatorException() {
>> +        super(LocalizedFormats.NON_POSITIVE_DEFINITE_OPERATOR);
>>      }
>>  }
>>
>> Copied:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java
>> (from r1178288,
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java)
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java&p1=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java&r1=1178288&r2=1178306&rev=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointLinearOperatorException.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSelfAdjointOperatorException.java
>> Mon Oct  3 06:33:21 2011
>> @@ -35,11 +35,13 @@ import org.apache.commons.math.exception
>>   * @version $Id$
>>   * @since 3.0
>>   */
>> -public class NonSelfAdjointLinearOperatorException
>> +public class NonSelfAdjointOperatorException
>>      extends MathIllegalArgumentException {
>> +    /** Serializable version Id. */
>> +    private static final long serialVersionUID =
>> 1784999305030258247L;
>>
>>      /** Creates a new instance of this class. */
>> -    public NonSelfAdjointLinearOperatorException() {
>> -        super(LocalizedFormats.NON_SELF_ADJOINT_LINEAR_OPERATOR);
>> +    public NonSelfAdjointOperatorException() {
>> +        super(LocalizedFormats.NON_SELF_ADJOINT_OPERATOR);
>>      }
>>  }
>>
>> Copied:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java
>> (from r1178288,
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java)
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java&p1=commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java&r1=1178288&r2=1178306&rev=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareLinearOperatorException.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/NonSquareOperatorException.java
>> Mon Oct  3 06:33:21 2011
>> @@ -25,9 +25,9 @@ import org.apache.commons.math.exception
>>   * @since 3.0
>>   * @version $Id$
>>   */
>> -public class NonSquareLinearOperatorException extends
>> DimensionMismatchException {
>> +public class NonSquareOperatorException extends
>> DimensionMismatchException {
>>      /** Serializable version Id. */
>> -    private static final long serialVersionUID =
>> -660069396594485772L;
>> +    private static final long serialVersionUID =
>> -4145007524150846242L;
>>
>>      /**
>>       * Construct an exception from the mismatched dimensions.
>> @@ -35,7 +35,7 @@ public class NonSquareLinearOperatorExce
>>       * @param wrong Row dimension.
>>       * @param expected Column dimension.
>>       */
>> -    public NonSquareLinearOperatorException(int wrong, int expected)
>> {
>> -        super(LocalizedFormats.NON_SQUARE_LINEAR_OPERATOR, wrong,
>> expected);
>> +    public NonSquareOperatorException(int wrong, int expected) {
>> +        super(LocalizedFormats.NON_SQUARE_OPERATOR, wrong,
>> expected);
>>      }
>>  }
>>
>> Modified:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java?rev=1178306&r1=1178305&r2=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/PreconditionedIterativeLinearSolver.java
>> Mon Oct  3 06:33:21 2011
>> @@ -66,7 +66,7 @@ public abstract class PreconditionedIter
>>       * @param x0 Initial guess of the solution.
>>       * @return A new vector containing the solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} or
>> {@code m} is not
>> +     * @throws NonSquareOperatorException if {@code a} or {@code m}
>> is not
>>       * square.
>>       * @throws DimensionMismatchException if {@code m}, {@code b} or
>>       {@code x0}
>>       * have dimensions inconsistent with {@code a}.
>> @@ -77,7 +77,7 @@ public abstract class PreconditionedIter
>>      public RealVector solve(final RealLinearOperator a,
>>                              final InvertibleRealLinearOperator m,
>>                              final RealVector b, final RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          MathUtils.checkNotNull(x0);
>>          return solveInPlace(a, m, b, x0.copy());
>> @@ -86,7 +86,7 @@ public abstract class PreconditionedIter
>>      /** {@inheritDoc} */
>>      @Override
>>      public RealVector solve(final RealLinearOperator a, final
>>      RealVector b)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          MathUtils.checkNotNull(a);
>>          final RealVector x = new
>>          ArrayRealVector(a.getColumnDimension());
>> @@ -98,7 +98,7 @@ public abstract class PreconditionedIter
>>      @Override
>>      public RealVector solve(final RealLinearOperator a, final
>>      RealVector b,
>>                              final RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          MathUtils.checkNotNull(x0);
>>          return solveInPlace(a, null, b, x0.copy());
>> @@ -116,7 +116,7 @@ public abstract class PreconditionedIter
>>       * @param b Right-hand side vector.
>>       * @param x0 Initial guess of the solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} or
>> {@code m} is not
>> +     * @throws NonSquareOperatorException if {@code a} or {@code m}
>> is not
>>       * square.
>>       * @throws DimensionMismatchException if {@code m}, {@code b} or
>>       {@code x0}
>>       * have dimensions inconsistent with {@code a}.
>> @@ -125,12 +125,12 @@ public abstract class PreconditionedIter
>>                                            final
>>                                            InvertibleRealLinearOperator
>>                                            m,
>>                                            final RealVector b,
>>                                            final RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException {
>>          checkParameters(a, b, x0);
>>          if (m != null) {
>>              if (m.getColumnDimension() != m.getRowDimension()) {
>> -                throw new
>> NonSquareLinearOperatorException(m.getColumnDimension(),
>> +                throw new
>> NonSquareOperatorException(m.getColumnDimension(),
>>                                                             m.getRowDimension());
>>              }
>>              if (m.getRowDimension() != a.getRowDimension()) {
>> @@ -149,7 +149,7 @@ public abstract class PreconditionedIter
>>       * @param b Right-hand side vector.
>>       * @return A new vector containing the solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} or
>> {@code m} is not
>> +     * @throws NonSquareOperatorException if {@code a} or {@code m}
>> is not
>>       * square.
>>       * @throws DimensionMismatchException if {@code m} or {@code b}
>>       have
>>       * dimensions inconsistent with {@code a}.
>> @@ -159,7 +159,7 @@ public abstract class PreconditionedIter
>>       */
>>      public RealVector solve(RealLinearOperator a,
>>                              InvertibleRealLinearOperator m,
>>                              RealVector b)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          MathUtils.checkNotNull(a);
>>          final RealVector x = new
>>          ArrayRealVector(a.getColumnDimension());
>> @@ -177,7 +177,7 @@ public abstract class PreconditionedIter
>>       * @return A reference to {@code x0} (shallow copy) updated with
>>       the
>>       * solution.
>>       * @throws NullArgumentException if one of the parameters is
>>       {@code null}.
>> -     * @throws NonSquareLinearOperatorException if {@code a} or
>> {@code m} is not
>> +     * @throws NonSquareOperatorException if {@code a} or {@code m}
>> is not
>>       * square.
>>       * @throws DimensionMismatchException if {@code m}, {@code b} or
>>       {@code x0}
>>       * have dimensions inconsistent with {@code a}.
>> @@ -188,14 +188,14 @@ public abstract class PreconditionedIter
>>      public abstract RealVector solveInPlace(RealLinearOperator a,
>>                                              InvertibleRealLinearOperator
>>                                              m,
>>                                              RealVector b, RealVector
>>                                              x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException;
>>
>>      /** {@inheritDoc} */
>>      @Override
>>      public RealVector solveInPlace(final RealLinearOperator a,
>>                                     final RealVector b, final
>>                                     RealVector x0)
>> -        throws NullArgumentException,
>> NonSquareLinearOperatorException,
>> +        throws NullArgumentException, NonSquareOperatorException,
>>          DimensionMismatchException, MaxCountExceededException {
>>          return solveInPlace(a, null, b, x0);
>>      }
>>
>> Added:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java?rev=1178306&view=auto
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>> (added)
>> +++
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>> Mon Oct  3 06:33:21 2011
>> @@ -0,0 +1,39 @@
>> +/*
>> + * 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.math.linear;
>> +
>> +import
>> org.apache.commons.math.exception.MathIllegalArgumentException;
>> +import org.apache.commons.math.exception.util.LocalizedFormats;
>> +
>> +/**
>> + * Exception to be thrown when trying to invert a singular operator.
>> + *
>> + * @version $Id$
>> + * @since 3.0
>> + */
>> +public class SingularOperatorException
>> +    extends MathIllegalArgumentException {
>> +    /** Serializable version Id. */
>> +    private static final long serialVersionUID =
>> -476049978595245033L;
>> +
>> +    /**
>> +     * Creates a new instance of this class.
>> +     */
>> +    public SingularOperatorException() {
>> +        super(LocalizedFormats.SINGULAR_OPERATOR);
>> +    }
>> +}
>>
>> Propchange:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>> ------------------------------------------------------------------------------
>>     svn:eol-style = native
>>
>> Propchange:
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/SingularOperatorException.java
>> ------------------------------------------------------------------------------
>>     svn:keywords = Author Date Id Revision
>>
>> Modified:
>> commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java
>> URL:
>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java?rev=1178306&r1=1178305&r2=1178306&view=diff
>> ==============================================================================
>> ---
>> commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java
>> (original)
>> +++
>> commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/ConjugateGradientTest.java
>> Mon Oct  3 06:33:21 2011
>> @@ -25,7 +25,7 @@ import org.junit.Test;
>>
>>  public class ConjugateGradientTest {
>>
>> -    @Test(expected = NonSquareLinearOperatorException.class)
>> +    @Test(expected = NonSquareOperatorException.class)
>>      public void testNonSquareOperator() {
>>          final Array2DRowRealMatrix a = new Array2DRowRealMatrix(2,
>>          3);
>>          final IterativeLinearSolver solver;
>> @@ -55,7 +55,7 @@ public class ConjugateGradientTest {
>>          solver.solve(a, b, x);
>>      }
>>
>> -    @Test(expected =
>> NonPositiveDefiniteLinearOperatorException.class)
>> +    @Test(expected = NonPositiveDefiniteOperatorException.class)
>>      public void testNonPositiveDefiniteLinearOperator() {
>>          final Array2DRowRealMatrix a = new Array2DRowRealMatrix(2,
>>          2);
>>          a.setEntry(0, 0, -1.);
>> @@ -199,7 +199,7 @@ public class ConjugateGradientTest {
>>          }
>>      }
>>
>> -    @Test(expected = NonSquareLinearOperatorException.class)
>> +    @Test(expected = NonSquareOperatorException.class)
>>      public void testNonSquarePreconditioner() {
>>          final Array2DRowRealMatrix a = new Array2DRowRealMatrix(2,
>>          2);
>>          final InvertibleRealLinearOperator m;
>> @@ -263,7 +263,7 @@ public class ConjugateGradientTest {
>>          solver.solve(a, m, b);
>>      }
>>
>> -    @Test(expected =
>> NonPositiveDefiniteLinearOperatorException.class)
>> +    @Test(expected = NonPositiveDefiniteOperatorException.class)
>>      public void testNonPositiveDefinitePreconditioner() {
>>          final Array2DRowRealMatrix a = new Array2DRowRealMatrix(2,
>>          2);
>>          a.setEntry(0, 0, 1d);
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org