You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by tn...@apache.org on 2012/07/14 23:19:36 UTC

svn commit: r1361587 - in /commons/proper/math/trunk/src: changes/changes.xml main/java/org/apache/commons/math3/linear/EigenDecomposition.java

Author: tn
Date: Sat Jul 14 21:19:36 2012
New Revision: 1361587

URL: http://svn.apache.org/viewvc?rev=1361587&view=rev
Log:
[MATH-822] Added new constructors in EigenDecomposition. Thanks to Jared Becksfort for the report.

Modified:
    commons/proper/math/trunk/src/changes/changes.xml
    commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/EigenDecomposition.java

Modified: commons/proper/math/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/changes/changes.xml?rev=1361587&r1=1361586&r2=1361587&view=diff
==============================================================================
--- commons/proper/math/trunk/src/changes/changes.xml (original)
+++ commons/proper/math/trunk/src/changes/changes.xml Sat Jul 14 21:19:36 2012
@@ -52,6 +52,10 @@ If the output is not quite correct, chec
   <body>
     <release version="3.1" date="TBD" description="
 ">
+	  <action dev="tn" type="add" issue="MATH-822" due-to="Jared Becksfort">
+        Added new constructors in EigenDecomposition and deprecated two constructors
+        with unused parameters.
+      </action>
       <action dev="erans" type="fix" issue="MATH-798">
         Added overridden method in "PolynomialFitter" (package
         "o.a.c.m.optimization.fitting") to limit the number of evaluations.
@@ -78,8 +82,7 @@ If the output is not quite correct, chec
       </action>
       <action dev="celestin" type="remove" issue="MATH-796">
         Removed unused fields LocalizedFormats.ALPHA and LocalizedFormats.BETA. This is
-        an acceptable compatibility break, as these fields are only meant for internal
-use.
+        an acceptable compatibility break, as these fields are only meant for internal use.
       </action>
       <action dev="tn" type="fix" issue="MATH-644" due-to="marzieh">
         Fix computation of upperCumulativeProbability in HypergeometricDistribution and

Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/EigenDecomposition.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/EigenDecomposition.java?rev=1361587&r1=1361586&r2=1361587&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/EigenDecomposition.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/EigenDecomposition.java Sat Jul 14 21:19:36 2012
@@ -104,12 +104,9 @@ public class EigenDecomposition {
      * Calculates the eigen decomposition of the given real matrix.
      *
      * @param matrix Matrix to decompose.
-     * @param splitTolerance Dummy parameter (present for backward
-     * compatibility only).
      * @throws MaxCountExceededException if the algorithm fails to converge.
      */
-    public EigenDecomposition(final RealMatrix matrix,
-                              final double splitTolerance)  {
+    public EigenDecomposition(final RealMatrix matrix)  {
         if (isSymmetric(matrix, false)) {
             transformToTridiagonal(matrix);
             findEigenVectors(transformer.getQ().getData());
@@ -120,17 +117,28 @@ public class EigenDecomposition {
     }
 
     /**
+     * Calculates the eigen decomposition of the given real matrix.
+     *
+     * @param matrix Matrix to decompose.
+     * @param splitTolerance Dummy parameter (present for backward
+     * compatibility only).
+     * @throws MaxCountExceededException if the algorithm fails to converge.
+     * @deprecated in 3.1 (to be removed in 4.0) due to unused parameter
+     */
+    public EigenDecomposition(final RealMatrix matrix,
+                              final double splitTolerance)  {
+        this(matrix);
+    }
+
+    /**
      * Calculates the eigen decomposition of the symmetric tridiagonal
      * matrix.  The Householder matrix is assumed to be the identity matrix.
      *
      * @param main Main diagonal of the symmetric tridiagonal form.
      * @param secondary Secondary of the tridiagonal form.
-     * @param splitTolerance Dummy parameter (present for backward
-     * compatibility only).
      * @throws MaxCountExceededException if the algorithm fails to converge.
      */
-    public EigenDecomposition(final double[] main, final double[] secondary,
-                              final double splitTolerance) {
+    public EigenDecomposition(final double[] main, final double[] secondary) {
         this.main      = main.clone();
         this.secondary = secondary.clone();
         transformer    = null;
@@ -143,6 +151,22 @@ public class EigenDecomposition {
     }
 
     /**
+     * Calculates the eigen decomposition of the symmetric tridiagonal
+     * matrix.  The Householder matrix is assumed to be the identity matrix.
+     *
+     * @param main Main diagonal of the symmetric tridiagonal form.
+     * @param secondary Secondary of the tridiagonal form.
+     * @param splitTolerance Dummy parameter (present for backward
+     * compatibility only).
+     * @throws MaxCountExceededException if the algorithm fails to converge.
+     * @deprecated in 3.1 (to be removed in 4.0) due to unused parameter
+     */
+    public EigenDecomposition(final double[] main, final double[] secondary,
+                              final double splitTolerance) {
+        this(main, secondary);
+    }
+
+    /**
      * Check if a matrix is symmetric.
      *
      * @param matrix Matrix to check.