diff scripts/sparse/qmr.m @ 21171:2935d56203a4 stable

Fix regressions caused by ismatrix definition change (partial fix bug #47036). * inputdlg.m: Test that linespec isnumeric. * uigetfile.m: Check that position property value isnumeric. * fminunc.m: Check that x0 isnumeric. * fsolve.m: Check that x0 isnumeric. * lsqnonneg.m: Check that inputs C & D are both isnumeric and ismatrix. * pqpnonneg.m: Check that inputs C & D are both isnumeric and ismatrix. * bicg.m: Check input A issquare. Rephrase error messages. * bicgstab.m: Check input A issquare. Rephrase error messages. * cgs.m: Check input A issquare. Rephrase error messages. * gmres.m: Check input A issquare. Rephrase error messages. Change BIST test to match new error message. * qmr.m: Check input A issquare. Rephrase error messages. * spconvert.m: Check nargin first. Simplify input validation. Wrap long error message to < 80 chars. * treeplot.m: Simplify input validation.
author Rik <rik@octave.org>
date Mon, 01 Feb 2016 22:59:43 -0800
parents df437a52bcaf
children 3be6a07e8bad
line wrap: on
line diff
--- a/scripts/sparse/qmr.m	Sat Jan 30 07:55:18 2016 -0800
+++ b/scripts/sparse/qmr.m	Mon Feb 01 22:59:43 2016 -0800
@@ -97,12 +97,11 @@
     elseif (isa (A, "function_handle"))
       Ax  = @(x) feval (A, x, "notransp");
       Atx = @(x) feval (A, x, "transp");
-    elseif (isnumeric (A) && ismatrix (A))
+    elseif (isnumeric (A) && issquare (A))
       Ax  = @(x) A  * x;
       Atx = @(x) A' * x;
     else
-      error (["qmr: first argument is expected to " ...
-                "be a function or a square matrix"]);
+      error ("qmr: A must be a function or square matrix");
     endif
 
     if (nargin < 3 || isempty (tol))
@@ -129,8 +128,7 @@
       M1m1x  = @(x) M1  \ x;
       M1tm1x = @(x) M1' \ x;
     else
-      error (["qmr: preconditioner is expected to " ...
-                "be a function or matrix"]);
+      error ("qmr: preconditioner M1 must be a function or matrix");
     endif
 
     if (nargin < 6 || isempty (M2))
@@ -147,11 +145,9 @@
       M2m1x  = @(x) M2  \ x;
       M2tm1x = @(x) M2' \ x;
     else
-      error (["qmr: preconditioner is expected to " ...
-                "be a function or matrix"]);
+      error ("qmr: preconditioner M2 must be a function or matrix");
     endif
 
-
     if (nargin < 7 || isempty (x0))
       x = zeros (size (b));
     else