Mercurial > octave
diff scripts/general/issymmetric.m @ 4026:8cb8eff3f44c
[project @ 2002-08-09 06:54:46 by jwe]
author | jwe |
---|---|
date | Fri, 09 Aug 2002 06:56:43 +0000 |
parents | |
children | ca70857bdbd1 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/general/issymmetric.m Fri Aug 09 06:56:43 2002 +0000 @@ -0,0 +1,49 @@ +## Copyright (C) 1996, 1997 John W. Eaton +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2, or (at your option) +## any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, write to the Free +## Software Foundation, 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA. + +## -*- texinfo -*- +## @deftypefn {Function File} {} issymmetric (@var{x}, @var{tol}) +## If @var{x} is symmetric within the tolerance specified by @var{tol}, +## then return the dimension of @var{x}. Otherwise, return 0. If +## @var{tol} is omitted, use a tolerance equal to the machine precision. +## @end deftypefn +## @seealso{size, rows, columns, length, ismatrix, isscalar, +## issquare, and isvector} + +## Author: A. S. Hodel <scotte@eng.auburn.edu> +## Created: August 1993 +## Adapted-By: jwe + +function retval = issymmetric (x,tol) + + if (nargin == 1 || nargin == 2) + retval = issquare (x); + if (retval != 0) + if (nargin == 1) + tol = eps; + endif + if (norm (x - x') / norm(x) > tol) + retval = 0; + endif + endif + else + usage ("issymmetric (x {,tol})"); + endif + +endfunction