TESTING/EIG/sort03.f(3)

NAME
TESTING/EIG/sort03.f

SYNOPSIS

  Functions/Subroutines
subroutine sort03 (rc, mu, mv, n, k, u, ldu, v, ldv, work, lwork, result, info)
SORT03

Function/Subroutine Documentation

  subroutine sort03 (character*( * ) rc, integer mu, integer mv, integer n, integer k, real, dimension( ldu, * ) u, integer ldu, real, dimension( ldv, * ) v, integer ldv, real, dimension( * ) work, integer lwork, real result, integer info)

SORT03

Purpose:

    !>
    !> SORT03 compares two orthogonal matrices U and V to see if their
    !> corresponding rows or columns span the same spaces.  The rows are
    !> checked if RC = 'R', and the columns are checked if RC = 'C'.
    !>
    !> RESULT is the maximum of
    !>
    !>    | V*V' - I | / ( MV ulp ), if RC = 'R', or
    !>
    !>    | V'*V - I | / ( MV ulp ), if RC = 'C',
    !>
    !> and the maximum over rows (or columns) 1 to K of
    !>
    !>    | U(i) - S*V(i) |/ ( N ulp )
    !>
    !> where S is +-1 (chosen to minimize the expression), U(i) is the i-th
    !> row (column) of U, and V(i) is the i-th row (column) of V.
    !>

Parameters
    RC

    !>          RC is CHARACTER*1
    !>          If RC = 'R' the rows of U and V are to be compared.
    !>          If RC = 'C' the columns of U and V are to be compared.
    !>

    MU

    !>          MU is INTEGER
    !>          The number of rows of U if RC = 'R', and the number of
    !>          columns if RC = 'C'.  If MU = 0 SORT03 does nothing.
    !>          MU must be at least zero.
    !>

    MV

    !>          MV is INTEGER
    !>          The number of rows of V if RC = 'R', and the number of
    !>          columns if RC = 'C'.  If MV = 0 SORT03 does nothing.
    !>          MV must be at least zero.
    !>

    N

    !>          N is INTEGER
    !>          If RC = 'R', the number of columns in the matrices U and V,
    !>          and if RC = 'C', the number of rows in U and V.  If N = 0
    !>          SORT03 does nothing.  N must be at least zero.
    !>

    K

    !>          K is INTEGER
    !>          The number of rows or columns of U and V to compare.
    !>          0 <= K <= max(MU,MV).
    !>

    U

    !>          U is REAL array, dimension (LDU,N)
    !>          The first matrix to compare.  If RC = 'R', U is MU by N, and
    !>          if RC = 'C', U is N by MU.
    !>

    LDU

    !>          LDU is INTEGER
    !>          The leading dimension of U.  If RC = 'R', LDU >= max(1,MU),
    !>          and if RC = 'C', LDU >= max(1,N).
    !>

    V

    !>          V is REAL array, dimension (LDV,N)
    !>          The second matrix to compare.  If RC = 'R', V is MV by N, and
    !>          if RC = 'C', V is N by MV.
    !>

    LDV

    !>          LDV is INTEGER
    !>          The leading dimension of V.  If RC = 'R', LDV >= max(1,MV),
    !>          and if RC = 'C', LDV >= max(1,N).
    !>

    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 if RC = 'C' or M*M if RC = 'R', but
    !>          the tests will be done even if LWORK is 0.
    !>

    RESULT

    !>          RESULT is REAL
    !>          The value computed by the test described above.  RESULT is
    !>          limited to 1/ulp to avoid overflow.
    !>

    INFO

    !>          INFO is INTEGER
    !>          0  indicates a successful exit
    !>          -k indicates the k-th parameter had an illegal value
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 154 of file sort03.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.