TESTING/EIG/dort01.f(3)

NAME
TESTING/EIG/dort01.f

SYNOPSIS

  Functions/Subroutines
subroutine dort01 (rowcol, m, n, u, ldu, work, lwork, resid)
DORT01

Function/Subroutine Documentation

  subroutine dort01 (character rowcol, integer m, integer n, double precision, dimension( ldu, * ) u, integer ldu, double precision, dimension( * ) work, integer lwork, double precision resid)

DORT01

Purpose:

    !>
    !> DORT01 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 DOUBLE PRECISION 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 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+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 DOUBLE PRECISION
    !>          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 dort01.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.