TESTING/EIG/dort03.f(3)

NAME
TESTING/EIG/dort03.f

SYNOPSIS

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

Function/Subroutine Documentation

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

DORT03

Purpose:

     DORT03 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 DORT03 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 DORT03 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
              DORT03 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION
              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 dort03.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.