diff options
Diffstat (limited to 'lib/matrix')
-rw-r--r-- | lib/matrix/eigenvalue_decomposition.rb | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/lib/matrix/eigenvalue_decomposition.rb b/lib/matrix/eigenvalue_decomposition.rb index 1949406687..0dd9d42f29 100644 --- a/lib/matrix/eigenvalue_decomposition.rb +++ b/lib/matrix/eigenvalue_decomposition.rb @@ -659,14 +659,10 @@ class Matrix q = @h[k+1][k-1] r = (notlast ? @h[k+2][k-1] : 0.0) x = p.abs + q.abs + r.abs - if (x != 0.0) - p /= x - q /= x - r /= x - end - end - if (x == 0.0) - break + next if x == 0 + p /= x + q /= x + r /= x end s = Math.sqrt(p * p + q * q + r * r) if (p < 0) |