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/01/22 12:19:26 UTC
svn commit: r1234486 -
/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/TriDiagonalTransformer.java
Author: tn
Date: Sun Jan 22 11:19:26 2012
New Revision: 1234486
URL: http://svn.apache.org/viewvc?rev=1234486&view=rev
Log:
Fixed faulty test for zero in TridiagonalTransformer
JIRA: MATH-652
Reported and patched by Greg Sterijevski
Modified:
commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/TriDiagonalTransformer.java
Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/TriDiagonalTransformer.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/TriDiagonalTransformer.java?rev=1234486&r1=1234485&r2=1234486&view=diff
==============================================================================
--- commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/TriDiagonalTransformer.java (original)
+++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/linear/TriDiagonalTransformer.java Sun Jan 22 11:19:26 2012
@@ -98,13 +98,13 @@ class TriDiagonalTransformer {
if (cachedQt == null) {
final int m = householderVectors.length;
double[][] qta = new double[m][m];
-
+
// build up first part of the matrix by applying Householder transforms
for (int k = m - 1; k >= 1; --k) {
final double[] hK = householderVectors[k - 1];
- final double inv = 1.0 / (secondary[k - 1] * hK[k]);
qta[k][k] = 1;
if (hK[k] != 0.0) {
+ final double inv = 1.0 / (secondary[k - 1] * hK[k]);
double beta = 1.0 / secondary[k - 1];
qta[k][k] = 1 + beta * hK[k];
for (int i = k + 1; i < m; ++i) {