Mercurial > octave-antonio
diff scripts/linear-algebra/cond.m @ 11471:994e2a93a8e2
Use uppercase 'A' to refer to matrix inputs in m-files.
author | Rik <octave@nomad.inbox5.com> |
---|---|
date | Sun, 09 Jan 2011 16:01:05 -0800 |
parents | be55736a0783 |
children | fd0a3ac60b0e |
line wrap: on
line diff
--- a/scripts/linear-algebra/cond.m Sun Jan 09 13:44:15 2011 -0800 +++ b/scripts/linear-algebra/cond.m Sun Jan 09 16:01:05 2011 -0800 @@ -18,16 +18,16 @@ ## <http://www.gnu.org/licenses/>. ## -*- texinfo -*- -## @deftypefn {Function File} {} cond (@var{a}) -## @deftypefnx {Function File} {} cond (@var{a},@var{p}) +## @deftypefn {Function File} {} cond (@var{A}) +## @deftypefnx {Function File} {} cond (@var{A},@var{p}) ## Compute the @var{p}-norm condition number of a matrix. @code{cond -## (@var{a})} is +## (@var{A})} is ## defined as ## @tex -## $ {\parallel a \parallel_p * \parallel a^{-1} \parallel_p .} $ +## $ {\parallel A \parallel_p * \parallel A^{-1} \parallel_p .} $ ## @end tex ## @ifnottex -## @code{norm (@var{a}, @var{p}) * norm (inv (@var{a}), @var{p})}. +## @code{norm (@var{A}, @var{p}) * norm (inv (@var{A}), @var{p})}. ## @end ifnottex ## ## By default @code{@var{p} = 2} is used which implies a (relatively slow) @@ -39,10 +39,10 @@ ## Author: jwe -function retval = cond (a, p) +function retval = cond (A, p) if (nargin && nargin < 3) - if (ndims (a) > 2) + if (ndims (A) > 2) error ("cond: only valid on 2-D objects"); endif @@ -51,13 +51,13 @@ endif if (! ischar (p) && p == 2) - [nr, nc] = size (a); + [nr, nc] = size (A); if (nr == 0 || nc == 0) retval = 0.0; - elseif (any (any (isinf (a) | isnan (a)))) + elseif (any (any (isinf (A) | isnan (A)))) error ("cond: argument must not contain Inf or NaN values"); else - sigma = svd (a); + sigma = svd (A); sigma_1 = sigma(1); sigma_n = sigma(end); if (sigma_1 == 0 || sigma_n == 0) @@ -67,7 +67,7 @@ endif endif else - retval = norm (a, p) * norm (inv (a), p); + retval = norm (A, p) * norm (inv (A), p); endif else print_usage ();