Mercurial > octave
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