TESTING/EIG/dort03.f(3) Library Functions Manual TESTING/EIG/dort03.f(3)

TESTING/EIG/dort03.f


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

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.

Generated automatically by Doxygen for LAPACK from the source code.

Version 3.12.0 LAPACK