changeset 10630:832732c2eb80

use ID for singularity warning in matrix division
author Jaroslav Hajek <highegg@gmail.com>
date Thu, 13 May 2010 13:47:20 +0200
parents b7c4954e1c00
children 10df75a24242
files liboctave/CMatrix.cc liboctave/ChangeLog liboctave/dMatrix.cc liboctave/fCMatrix.cc liboctave/fMatrix.cc src/ChangeLog src/xdiv.cc
diffstat 7 files changed, 13 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/CMatrix.cc	Thu May 13 12:25:26 2010 +0200
+++ b/liboctave/CMatrix.cc	Thu May 13 13:47:20 2010 +0200
@@ -2701,11 +2701,6 @@
                                  work.fortran_vec (), lwork, 
                                  prwork, piwork, info));
 
-      if (rank < minmn)
-        (*current_liboctave_warning_handler) 
-          ("zgelsd: rank deficient %dx%d matrix, rank = %d, tol = %e",
-           m, n, rank, rcon);
-
       if (s.elem (0) == 0.0)
         rcon = 0.0;
       else
@@ -2869,11 +2864,6 @@
 
       if (rank < minmn)
         {
-          if (rank < minmn)
-            (*current_liboctave_warning_handler) 
-              ("zgelsd: rank deficient %dx%d matrix, rank = %d, tol = %e",
-               m, n, rank, rcon);
-
           if (s.elem (0) == 0.0)
             rcon = 0.0;
           else
--- a/liboctave/ChangeLog	Thu May 13 12:25:26 2010 +0200
+++ b/liboctave/ChangeLog	Thu May 13 13:47:20 2010 +0200
@@ -1,3 +1,10 @@
+2010-05-13  Jaroslav Hajek  <highegg@gmail.com>
+
+	* dMatrix.cc (Matrix::lssolve): Remove warnings about rank.
+	* fMatrix.cc (FloatMatrix::lssolve): Ditto.
+	* CMatrix.cc (ComplexMatrix::lssolve): Ditto.
+	* fCMatrix.cc (FloatComplexMatrix::lssolve): Ditto.
+
 2010-05-11  Jaroslav Hajek  <highegg@gmail.com>
 
 	* idx-vector.cc (idx_vector::unmask): Fix off-by-1 bug. Add tests.
--- a/liboctave/dMatrix.cc	Thu May 13 12:25:26 2010 +0200
+++ b/liboctave/dMatrix.cc	Thu May 13 13:47:20 2010 +0200
@@ -2350,9 +2350,6 @@
                                  work.fortran_vec (), lwork, 
                                  piwork, info));
 
-      if (rank < minmn)
-        (*current_liboctave_warning_handler) 
-          ("dgelsd: rank deficient %dx%d matrix, rank = %d", m, n, rank);
       if (s.elem (0) == 0.0)
         rcon = 0.0;
       else
@@ -2509,9 +2506,6 @@
 
       if (rank < minmn)
         {
-          if (rank < minmn)
-            (*current_liboctave_warning_handler) 
-              ("dgelsd: rank deficient %dx%d matrix, rank = %d", m, n, rank);
           if (s.elem (0) == 0.0)
             rcon = 0.0;
           else
--- a/liboctave/fCMatrix.cc	Thu May 13 12:25:26 2010 +0200
+++ b/liboctave/fCMatrix.cc	Thu May 13 13:47:20 2010 +0200
@@ -2694,11 +2694,6 @@
                                  work.fortran_vec (), lwork, 
                                  prwork, piwork, info));
 
-      if (rank < minmn)
-        (*current_liboctave_warning_handler) 
-          ("zgelsd: rank deficient %dx%d matrix, rank = %d, tol = %e",
-           m, n, rank, rcon);
-
       if (s.elem (0) == 0.0)
         rcon = 0.0;
       else
@@ -2862,11 +2857,6 @@
 
       if (rank < minmn)
         {
-          if (rank < minmn)
-            (*current_liboctave_warning_handler) 
-              ("zgelsd: rank deficient %dx%d matrix, rank = %d, tol = %e",
-               m, n, rank, rcon);
-
           if (s.elem (0) == 0.0)
             rcon = 0.0;
           else
--- a/liboctave/fMatrix.cc	Thu May 13 12:25:26 2010 +0200
+++ b/liboctave/fMatrix.cc	Thu May 13 13:47:20 2010 +0200
@@ -2349,9 +2349,6 @@
                                  work.fortran_vec (), lwork, 
                                  piwork, info));
 
-      if (rank < minmn)
-        (*current_liboctave_warning_handler) 
-          ("dgelsd: rank deficient %dx%d matrix, rank = %d", m, n, rank);
       if (s.elem (0) == 0.0)
         rcon = 0.0;
       else
@@ -2508,9 +2505,6 @@
 
       if (rank < minmn)
         {
-          if (rank < minmn)
-            (*current_liboctave_warning_handler) 
-              ("dgelsd: rank deficient %dx%d matrix, rank = %d", m, n, rank);
           if (s.elem (0) == 0.0)
             rcon = 0.0;
           else
--- a/src/ChangeLog	Thu May 13 12:25:26 2010 +0200
+++ b/src/ChangeLog	Thu May 13 13:47:20 2010 +0200
@@ -1,3 +1,7 @@
+2010-05-13  Jaroslav Hajek  <highegg@gmail.com>
+
+	* xdiv.cc (solve_singularity_warning): Use ID for the warning.
+
 2010-05-13  Jaroslav Hajek  <highegg@gmail.com>
 
 	* DLD-FUNCTIONS/sqrtm.cc (sqrtm_utri_inplace): Use an ID for the
--- a/src/xdiv.cc	Thu May 13 12:25:26 2010 +0200
+++ b/src/xdiv.cc	Thu May 13 13:47:20 2010 +0200
@@ -59,8 +59,8 @@
 static void
 solve_singularity_warning (double rcond)
 {
-  warning ("matrix singular to machine precision, rcond = %g", rcond);
-  warning ("attempting to find minimum norm solution");
+  warning_with_id ("Octave:singular-matrix-div",
+                   "matrix singular to machine precision, rcond = %g", rcond);
 }
 
 template <class T1, class T2>