TESTING/EIG/sort01.f(3)

NAME
TESTING/EIG/sort01.f

SYNOPSIS

  Functions/Subroutines
subroutine sort01 (rowcol, m, n, u, ldu, work, lwork, resid)
SORT01

Function/Subroutine Documentation

  subroutine sort01 (character rowcol, integer m, integer n, real, dimension( ldu, * ) u, integer ldu, real, dimension( * ) work, integer lwork, real resid)

SORT01

Purpose:

    !>
    !> SORT01 checks that the matrix U is orthogonal by computing the ratio
    !>
    !>    RESID = norm( I - U*U' ) / ( n * EPS ), if ROWCOL = 'R',
    !> or
    !>    RESID = norm( I - U'*U ) / ( m * EPS ), if ROWCOL = 'C'.
    !>
    !> Alternatively, if there isn't sufficient workspace to form
    !> I - U*U' or I - U'*U, the ratio is computed as
    !>
    !>    RESID = abs( I - U*U' ) / ( n * EPS ), if ROWCOL = 'R',
    !> or
    !>    RESID = abs( I - U'*U ) / ( m * EPS ), if ROWCOL = 'C'.
    !>
    !> where EPS is the machine precision.  ROWCOL is used only if m = n;
    !> if m > n, ROWCOL is assumed to be 'C', and if m < n, ROWCOL is
    !> assumed to be 'R'.
    !>

Parameters
    ROWCOL

    !>          ROWCOL is CHARACTER
    !>          Specifies whether the rows or columns of U should be checked
    !>          for orthogonality.  Used only if M = N.
    !>          = 'R':  Check for orthogonal rows of U
    !>          = 'C':  Check for orthogonal columns of U
    !>

    M

    !>          M is INTEGER
    !>          The number of rows of the matrix U.
    !>

    N

    !>          N is INTEGER
    !>          The number of columns of the matrix U.
    !>

    U

    !>          U is REAL array, dimension (LDU,N)
    !>          The orthogonal matrix U.  U is checked for orthogonal columns
    !>          if m > n or if m = n and ROWCOL = 'C'.  U is checked for
    !>          orthogonal rows if m < n or if m = n and ROWCOL = 'R'.
    !>

    LDU

    !>          LDU is INTEGER
    !>          The leading dimension of the array U.  LDU >= max(1,M).
    !>

    WORK

    !>          WORK is REAL array, dimension (LWORK)
    !>

    LWORK

    !>          LWORK is INTEGER
    !>          The length of the array WORK.  For best performance, LWORK
    !>          should be at least N*(N+1) if ROWCOL = 'C' or M*(M+1) if
    !>          ROWCOL = 'R', but the test will be done even if LWORK is 0.
    !>

    RESID

    !>          RESID is REAL
    !>          RESID = norm( I - U * U' ) / ( n * EPS ), if ROWCOL = 'R', or
    !>          RESID = norm( I - U' * U ) / ( m * EPS ), if ROWCOL = 'C'.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 115 of file sort01.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.