schur_iter

Schur iterative.


Syntax
   [a, aa, L, U] = schur_iter(a, b, L, U, A12, A21, A22, tol, maxit, varargin)

Description
   Performs Schur decomposition by an iterative method and solves the
   augmented system [A11, A12; A21, A22]x = [b1; b2], where A11 = LU, 
   A11 mxm, A12 mxn, A21 nxm and A22 nxn, b = [b1, b2]' (nxm)x1. To 
   factorize A11 do [L, U] = lu(A11). The Schur complement is not 
   explicitly computed.

Input (required)
   a     = previous solution of the problem.
   b     = rhs of the system.
   L     = lower triangular factor from LU factorization of A.
   U     = upper triangular factor from LU factorization of A.
   A12   = right-upper block for augmented matrix.
   A21   = left-lower block for augmented matrix.
   A22   = right-lower block for augmented matrix.
   tol   = tolerance.
   maxit = max. nb. iterations allowed.

Input (optional)
   precond = use precond or not ('no', 'ilu', 'diag').
             for 'ndiad' define: 'numbd' (number of diagonals);
             for 'ilu' define: 'milu', 'typeilu', 'droptol', 
             'thresh' and 'udiag'.

Output
   a     = next solution of the augmented problem.
   aa    = coefficients of the error estimation.
   L     = augmented matrix lower triangular factor.
   U     = augmented matrix upper triangular factor.

See also
  schur_luinc, schur_luinc2 and schur_nflu.