Navigation

Operators and Keywords

Function List:

C++ API

balance.cc File Reference

#include <string>
#include "CmplxAEPBAL.h"
#include "fCmplxAEPBAL.h"
#include "dbleAEPBAL.h"
#include "floatAEPBAL.h"
#include "CmplxGEPBAL.h"
#include "fCmplxGEPBAL.h"
#include "dbleGEPBAL.h"
#include "floatGEPBAL.h"
#include "quit.h"
#include "defun-dld.h"
#include "error.h"
#include "f77-fcn.h"
#include "gripes.h"
#include "oct-obj.h"
#include "utils.h"

Include dependency graph for balance.cc:


Functions

 DEFUN_DLD (balance, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Loadable Function} {@var{aa} =} balance (@var{a}, @var{opt})\n\ @deftypefnx {Loadable Function} {[@var{dd}, @var{aa}] =} balance (@var{a}, @var{opt})\n\ @deftypefnx {Loadable Function} {[@var{d}, @var{p}, @var{aa}] =} balance (@var{a}, @var{opt})\n\ @deftypefnx {Loadable Function} {[@var{cc}, @var{dd}, @var{aa}, @var{bb}] =} balance (@var{a}, @var{b}, @var{opt})\n\ \n\ Compute @code{aa = dd \\ a * dd} in which @code{aa} is a matrix whose\n\ row and column norms are roughly equal in magnitude, and\n\ @code{dd} = @code{p * d}, in which @code{p} is a permutation\n\ matrix and @code{d} is a diagonal matrix of powers of two. This allows\n\ the equilibration to be computed without roundoff. Results of\n\ eigenvalue calculation are typically improved by balancing first.\n\ \n\ If two output values are requested, @code{balance} returns \n\ the diagonal @code{d} and the permutation @code{p} separately as vectors. \n\ In this case, @code{dd = eye(n)(p,:) * diag (d)}, where @code{n} is the matrix \n\ size. \n\ \n\ If four output values are requested, compute @code{aa = cc*a*dd} and\n\ @code{bb = cc*b*dd)}, in which @code{aa} and @code{bb} have non-zero\n\ elements of approximately the same magnitude and @code{cc} and @code{dd}\n\ are permuted diagonal matrices as in @code{dd} for the algebraic\n\ eigenvalue problem.\n\ \n\ The eigenvalue balancing option @code{opt} may be one of:\n\ \n\ @table @asis\n\ @item @code{\"noperm\"}, @code{\"S\"}\n\ Scale only; do not permute.\n\ \n\ @item @code{\"noscal\"}, @code{\"P\"}\n\ Permute only; do not scale.\n\ @end table\n\ \n\ Algebraic eigenvalue balancing uses standard @sc{lapack} routines.\n\ \n\ Generalized eigenvalue problem balancing uses Ward's algorithm\n\ (SIAM Journal on Scientific and Statistical Computing, 1981).\n\ @end deftypefn")

Function Documentation

DEFUN_DLD ( balance  ,
args  ,
nargout   
)