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 <luc.maison...@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-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org