TESTING/EIG/dort03.f(3)

πŸ“¦
version 3.12.1 Β· 2 versions
, in arch rolling

okay bestie, welcome to the TESTING/EIG/dort03.f(3) page from the Library Functions Manual β€” it's literally all about comparing two orthogonal matrices U and V to see if their corresponding rows or columns span the same spaces. Subspace vibe check, no cap. πŸ’…

✨ NAME ✨

TESTING/EIG/dort03.f

✨ SYNOPSIS ✨

Functions/Subroutines

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

DORT03 β€” that's the subroutine name, and it's the main character here. 🫢

✨ Function/Subroutine Documentation ✨

Here's the full signature glow-up, bestie:

   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 β€” iconic, honestly.

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.


πŸ’– that's the whole page, bestie πŸ’– The footer tea is: LAPACK Version 3.12.0 and the page tag TESTING/EIG/dort03.f(3). Periodt. 🫢

πŸ“¦ where this page comes from