TESTING/EIG/cgsvts3.f(3)
πΈ NAME πΈ
TESTING/EIG/cgsvts3.f β from the Library Functions Manual, bestie. This is the page for CGSVTS3, and it's giving βtest routine with a whole lot of arrays.β π
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine cgsvts3 (m, p, n, a, af, lda, b, bf, ldb, u, ldu, v, ldv, q, ldq, alpha, beta, r, ldr, iwork, work, lwork, rwork, result)
CGSVTS3
π Function/Subroutine Documentation π
Full signature, exactly as written:
subroutine cgsvts3 (integer m, integer p, integer n, complex, dimension( lda, * ) a, complex, dimension( lda, * ) af, integer lda, complex, dimension( ldb, * ) b, complex, dimension( ldb, * ) bf, integer ldb, complex, dimension( ldu, * ) u, integer ldu, complex, dimension( ldv, * ) v, integer ldv, complex, dimension( ldq, * ) q, integer ldq, real, dimension( * ) alpha, real, dimension( * ) beta, complex, dimension( ldr, * ) r, integer ldr, integer, dimension( * ) iwork, complex, dimension( lwork ) work, integer lwork, real, dimension( * ) rwork, real, dimension( 6 ) result)
CGSVTS3
π Purpose: π
Okay so CGSVTS3 tests CGGSVD3, which computes the GSVD of an M-by-N matrix A and a P-by-N matrix B:
U'*A*Q = D1*R and V'*B*Q = D2*R.
That's the whole purpose, and it ate. β¨
π Parameters π
MβMisINTEGER. The number of rows of the matrixA.M >= 0.PβPisINTEGER. The number of rows of the matrixB.P >= 0.NβNisINTEGER. The number of columns of the matricesAandB.N >= 0.AβAisCOMPLEXarray, dimension(LDA,M). TheM-by-NmatrixA.AFβAFisCOMPLEXarray, dimension(LDA,N). Details of the GSVD ofAandB, as returned byCGGSVD3, seeCGGSVD3for further details.LDAβLDAisINTEGER. The leading dimension of the arraysAandAF.LDA >= max( 1,M ).BβBisCOMPLEXarray, dimension(LDB,P). On entry, theP-by-NmatrixB.BFβBFisCOMPLEXarray, dimension(LDB,N). Details of the GSVD ofAandB, as returned byCGGSVD3, seeCGGSVD3for further details.LDBβLDBisINTEGER. The leading dimension of the arraysBandBF.LDB >= max(1,P).UβUisCOMPLEXarray, dimension(LDU,M). TheMbyMunitary matrixU.LDUβLDUisINTEGER. The leading dimension of the arrayU.LDU >= max(1,M).VβVisCOMPLEXarray, dimension(LDV,M). ThePbyPunitary matrixV.LDVβLDVisINTEGER. The leading dimension of the arrayV.LDV >= max(1,P).QβQisCOMPLEXarray, dimension(LDQ,N). TheNbyNunitary matrixQ.LDQβLDQisINTEGER. The leading dimension of the arrayQ.LDQ >= max(1,N).ALPHAβALPHAisREALarray, dimension(N).BETAβBETAisREALarray, dimension(N). The generalized singular value pairs ofAandB, the βdiagonalβ matricesD1andD2are constructed fromALPHAandBETA, see subroutineCGGSVD3for details.RβRisCOMPLEXarray, dimension(LDQ,N). The upper triangular matrixR.LDRβLDRisINTEGER. The leading dimension of the arrayR.LDR >= max(1,N).IWORKβIWORKisINTEGERarray, dimension(N).WORKβWORKisCOMPLEXarray, dimension(LWORK).LWORKβLWORKisINTEGER. The dimension of the arrayWORK,LWORK >= max(M,P,N)*max(M,P,N).RWORKβRWORKisREALarray, dimension(max(M,P,N)).RESULTβRESULTisREALarray, dimension(6). The test ratios:
RESULT(1) = norm( U'*A*Q - D1*R ) / ( MAX(M,N)*norm(A)*ULP)
RESULT(2) = norm( V'*B*Q - D2*R ) / ( MAX(P,N)*norm(B)*ULP)
RESULT(3) = norm( I - U'*U ) / ( M*ULP )
RESULT(4) = norm( I - V'*V ) / ( P*ULP )
RESULT(5) = norm( I - Q'*Q ) / ( N*ULP )
RESULT(6) = 0 if ALPHA is in decreasing order;
= ULPINV otherwise.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 206 of file cgsvts3.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
That's the page, bestie! π Footer vibes: LAPACK, Version 3.12.0, and the page title TESTING/EIG/cgsvts3.f(3). The original footer didn't print a date, so no fake date here β periodt. ππ
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms