You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2011/06/25 00:36:44 UTC
svn commit: r1139455 - in /commons/proper/math/trunk/src:
main/java/org/apache/commons/math/analysis/solvers/
test/java/org/apache/commons/math/analysis/solvers/
Author: erans
Date: Fri Jun 24 22:36:43 2011
New Revision: 1139455
URL: http://svn.apache.org/viewvc?rev=1139455&view=rev
Log:
MATH-599
Inserted "BaseBracketedSecantSolver" into the secant-based solvers hierarchy.
Renamed "SecantBase" to "BaseSecantSolver".
Added:
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BaseBracketedSecantSolver.java (with props)
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BaseSecantSolver.java
- copied, changed from r1139126, commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantBase.java
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/BaseSecantSolverTest.java
- copied, changed from r1139250, commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/SecantBaseTest.java
Removed:
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantBase.java
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/SecantBaseTest.java
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/IllinoisSolver.java
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/PegasusSolver.java
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/RegulaFalsiSolver.java
commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantSolver.java
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/IllinoisSolverTest.java
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/PegasusSolverTest.java
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/RegulaFalsiSolverTest.java
commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/SecantSolverTest.java
Added: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BaseBracketedSecantSolver.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BaseBracketedSecantSolver.java?rev=1139455&view=auto
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BaseBracketedSecantSolver.java (added)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BaseBracketedSecantSolver.java Fri Jun 24 22:36:43 2011
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.math.analysis.solvers;
+
+/**
+ * Base class for <em>Secant</em> methods that guarantee convergence
+ * by maintaining a {@link BracketedSolution bracketed solution}.
+ *
+ * @since 3.0
+ * @version $Id$
+ */
+public class BaseBracketedSecantSolver extends BaseSecantSolver
+ implements BracketedSolution {
+ /**
+ * Construct a solver with default accuracy (1e-6).
+ *
+ * @param method Method.
+ */
+ protected BaseBracketedSecantSolver(Method method) {
+ super(DEFAULT_ABSOLUTE_ACCURACY, method);
+ }
+
+ /**
+ * Construct a solver.
+ *
+ * @param absoluteAccuracy absolute accuracy
+ * @param method Method.
+ */
+ protected BaseBracketedSecantSolver(final double absoluteAccuracy,
+ Method method) {
+ super(absoluteAccuracy, method);
+ }
+
+ /**
+ * Construct a solver.
+ *
+ * @param relativeAccuracy relative accuracy
+ * @param absoluteAccuracy absolute accuracy
+ * @param method Method.
+ */
+ protected BaseBracketedSecantSolver(final double relativeAccuracy,
+ final double absoluteAccuracy,
+ Method method) {
+ super(relativeAccuracy, absoluteAccuracy, method);
+ }
+
+ /** {@inheritDoc} */
+ public AllowedSolutions getAllowedSolutions() {
+ return allowedSolutions;
+ }
+
+ /** {@inheritDoc} */
+ public void setAllowedSolutions(final AllowedSolutions allowedSolutions) {
+ this.allowedSolutions = allowedSolutions;
+ }
+}
Propchange: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BaseBracketedSecantSolver.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BaseSecantSolver.java (from r1139126, commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantBase.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BaseSecantSolver.java?p2=commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BaseSecantSolver.java&p1=commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantBase.java&r1=1139126&r2=1139455&rev=1139455&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantBase.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/BaseSecantSolver.java Fri Jun 24 22:36:43 2011
@@ -41,7 +41,7 @@ import org.apache.commons.math.exception
* @since 3.0
* @version $Id$
*/
-public abstract class SecantBase extends AbstractUnivariateRealSolver {
+public abstract class BaseSecantSolver extends AbstractUnivariateRealSolver {
/** Default absolute accuracy. */
protected static final double DEFAULT_ABSOLUTE_ACCURACY = 1e-6;
/** The kinds of solutions that the algorithm may accept. */
@@ -55,7 +55,7 @@ public abstract class SecantBase extends
* @param absoluteAccuracy absolute accuracy
* @param method <em>Secant</em>-based root-finding method to use
*/
- protected SecantBase(final double absoluteAccuracy, final Method method) {
+ protected BaseSecantSolver(final double absoluteAccuracy, final Method method) {
super(absoluteAccuracy);
this.method = method;
}
@@ -67,9 +67,9 @@ public abstract class SecantBase extends
* @param absoluteAccuracy absolute accuracy
* @param method <em>Secant</em>-based root-finding method to use
*/
- protected SecantBase(final double relativeAccuracy,
- final double absoluteAccuracy,
- final Method method) {
+ protected BaseSecantSolver(final double relativeAccuracy,
+ final double absoluteAccuracy,
+ final Method method) {
super(relativeAccuracy, absoluteAccuracy);
this.method = method;
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/IllinoisSolver.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/IllinoisSolver.java?rev=1139455&r1=1139454&r2=1139455&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/IllinoisSolver.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/IllinoisSolver.java Fri Jun 24 22:36:43 2011
@@ -38,7 +38,7 @@ package org.apache.commons.math.analysis
* @since 3.0
* @version $Id$
*/
-public class IllinoisSolver extends SecantBase implements BracketedSolution {
+public class IllinoisSolver extends BaseBracketedSecantSolver {
/** Construct a solver with default accuracy (1e-6). */
public IllinoisSolver() {
super(DEFAULT_ABSOLUTE_ACCURACY, Method.ILLINOIS);
@@ -63,14 +63,4 @@ public class IllinoisSolver extends Seca
final double absoluteAccuracy) {
super(relativeAccuracy, absoluteAccuracy, Method.ILLINOIS);
}
-
- /** {@inheritDoc} */
- public AllowedSolutions getAllowedSolutions() {
- return allowedSolutions;
- }
-
- /** {@inheritDoc} */
- public void setAllowedSolutions(final AllowedSolutions allowedSolutions) {
- this.allowedSolutions = allowedSolutions;
- }
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/PegasusSolver.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/PegasusSolver.java?rev=1139455&r1=1139454&r2=1139455&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/PegasusSolver.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/PegasusSolver.java Fri Jun 24 22:36:43 2011
@@ -40,7 +40,7 @@ package org.apache.commons.math.analysis
* @since 3.0
* @version $Id$
*/
-public class PegasusSolver extends SecantBase implements BracketedSolution {
+public class PegasusSolver extends BaseBracketedSecantSolver {
/** Construct a solver with default accuracy (1e-6). */
public PegasusSolver() {
super(DEFAULT_ABSOLUTE_ACCURACY, Method.PEGASUS);
@@ -65,14 +65,4 @@ public class PegasusSolver extends Secan
final double absoluteAccuracy) {
super(relativeAccuracy, absoluteAccuracy, Method.PEGASUS);
}
-
- /** {@inheritDoc} */
- public AllowedSolutions getAllowedSolutions() {
- return allowedSolutions;
- }
-
- /** {@inheritDoc} */
- public void setAllowedSolutions(final AllowedSolutions allowedSolutions) {
- this.allowedSolutions = allowedSolutions;
- }
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/RegulaFalsiSolver.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/RegulaFalsiSolver.java?rev=1139455&r1=1139454&r2=1139455&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/RegulaFalsiSolver.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/RegulaFalsiSolver.java Fri Jun 24 22:36:43 2011
@@ -35,7 +35,7 @@ package org.apache.commons.math.analysis
* @since 3.0
* @version $Id$
*/
-public class RegulaFalsiSolver extends SecantBase implements BracketedSolution {
+public class RegulaFalsiSolver extends BaseBracketedSecantSolver {
/** Construct a solver with default accuracy (1e-6). */
public RegulaFalsiSolver() {
super(DEFAULT_ABSOLUTE_ACCURACY, Method.REGULA_FALSI);
@@ -60,14 +60,4 @@ public class RegulaFalsiSolver extends S
final double absoluteAccuracy) {
super(relativeAccuracy, absoluteAccuracy, Method.REGULA_FALSI);
}
-
- /** {@inheritDoc} */
- public AllowedSolutions getAllowedSolutions() {
- return allowedSolutions;
- }
-
- /** {@inheritDoc} */
- public void setAllowedSolutions(final AllowedSolutions allowedSolutions) {
- this.allowedSolutions = allowedSolutions;
- }
}
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantSolver.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantSolver.java?rev=1139455&r1=1139454&r2=1139455&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantSolver.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/analysis/solvers/SecantSolver.java Fri Jun 24 22:36:43 2011
@@ -36,7 +36,7 @@ package org.apache.commons.math.analysis
*
* @version $Id$
*/
-public class SecantSolver extends SecantBase {
+public class SecantSolver extends BaseSecantSolver {
/** Construct a solver with default accuracy (1e-6). */
public SecantSolver() {
super(DEFAULT_ABSOLUTE_ACCURACY, Method.SECANT);
Copied: commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/BaseSecantSolverTest.java (from r1139250, commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/SecantBaseTest.java)
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/BaseSecantSolverTest.java?p2=commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/BaseSecantSolverTest.java&p1=commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/SecantBaseTest.java&r1=1139250&r2=1139455&rev=1139455&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/SecantBaseTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/BaseSecantSolverTest.java Fri Jun 24 22:36:43 2011
@@ -27,11 +27,12 @@ import org.junit.Assert;
import org.junit.Test;
/**
- * Base class for {@link SecantBase} derived root-finding algorithms tests.
+ * Base class for root-finding algorithms tests derived from
+ * {@link BaseSecantSolver}.
*
* @version $Id$
*/
-public abstract class SecantBaseTest {
+public abstract class BaseSecantSolverTest {
/** Returns the solver to use to perform the tests.
* @return the solver to use to perform the tests
*/
Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/IllinoisSolverTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/IllinoisSolverTest.java?rev=1139455&r1=1139454&r2=1139455&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/IllinoisSolverTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/IllinoisSolverTest.java Fri Jun 24 22:36:43 2011
@@ -22,7 +22,7 @@ package org.apache.commons.math.analysis
*
* @version $Id$
*/
-public final class IllinoisSolverTest extends SecantBaseTest {
+public final class IllinoisSolverTest extends BaseSecantSolverTest {
/** {@inheritDoc} */
protected UnivariateRealSolver getSolver() {
return new IllinoisSolver();
Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/PegasusSolverTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/PegasusSolverTest.java?rev=1139455&r1=1139454&r2=1139455&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/PegasusSolverTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/PegasusSolverTest.java Fri Jun 24 22:36:43 2011
@@ -22,7 +22,7 @@ package org.apache.commons.math.analysis
*
* @version $Id$
*/
-public final class PegasusSolverTest extends SecantBaseTest {
+public final class PegasusSolverTest extends BaseSecantSolverTest {
/** {@inheritDoc} */
protected UnivariateRealSolver getSolver() {
return new PegasusSolver();
Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/RegulaFalsiSolverTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/RegulaFalsiSolverTest.java?rev=1139455&r1=1139454&r2=1139455&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/RegulaFalsiSolverTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/RegulaFalsiSolverTest.java Fri Jun 24 22:36:43 2011
@@ -22,7 +22,7 @@ package org.apache.commons.math.analysis
*
* @version $Id$
*/
-public final class RegulaFalsiSolverTest extends SecantBaseTest {
+public final class RegulaFalsiSolverTest extends BaseSecantSolverTest {
/** {@inheritDoc} */
protected UnivariateRealSolver getSolver() {
return new RegulaFalsiSolver();
Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/SecantSolverTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/SecantSolverTest.java?rev=1139455&r1=1139454&r2=1139455&view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/SecantSolverTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/analysis/solvers/SecantSolverTest.java Fri Jun 24 22:36:43 2011
@@ -22,7 +22,7 @@ package org.apache.commons.math.analysis
*
* @version $Id$
*/
-public final class SecantSolverTest extends SecantBaseTest {
+public final class SecantSolverTest extends BaseSecantSolverTest {
/** {@inheritDoc} */
protected UnivariateRealSolver getSolver() {
return new SecantSolver();