SCKCSD(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸŽ€ SCKCSD(3) β€” the sckcsd.f page, bestie edition πŸŽ€

okay so real talk: this is from the Library Functions Manual, and the whole page is literally just one file β€” yes, that file:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/sckcsd.f

say it with me: EIG testing folder, sckcsd.f, we love her πŸ’…


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/sckcsd.f

that's it. that's the name. the whole path. she's committed to the bit 🫢


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine SCKCSD β€” the main character, lowkey the whole reason we're here
  • subroutine SLACSG β€” her little helper bestie

and in actual source form, fr fr:

subroutine SCKCSD (nm, mval, pval, qval, nmats, iseed, thresh, mmax, x,
    xf, u1, u2, v1t, v2t, theta, iwork, work, rwork, nin, nout, info)
    SCKCSD
subroutine SLACSG (m, p, q, theta, iseed, x, ldx, work)

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine SCKCSD

bestie. look at this signature. look at all these arguments. she is serving dimensionality 🫢

subroutine SCKCSD (integer nm, integer, dimension( * ) mval, integer,
    dimension( * ) pval, integer, dimension( * ) qval, integer nmats,
    integer, dimension( 4 ) iseed, real thresh, integer mmax, real,
    dimension( * ) x, real, dimension( * ) xf, real, dimension( * ) u1,
    real, dimension( * ) u2, real, dimension( * ) v1t, real, dimension( * )
    v2t, real, dimension( * ) theta, integer, dimension( * ) iwork, real,
    dimension( * ) work, real, dimension( * ) rwork, integer nin, integer
    nout, integer info)
    SCKCSD

πŸ’œ Purpose

so what does she do? she tests SORCSD β€” that's the CSD for an M-by-M orthogonal matrix X partitioned like this:

[ X11 X12; X21 X22 ]

where X11 is P-by-Q. iconic partition. no notes. ✨

Here's the same thing in the original source-comment energy, because some of y'all like it raw:

!>
!> SCKCSD tests SORCSD:
!>        the CSD for an M-by-M orthogonal matrix X partitioned as
!>        [ X11 X12; X21 X22 ]. X11 is P-by-Q.
!>

πŸ’– Parameters

  • NM β€” INTEGER. it's the number of values of M chillin' inside the vector MVAL. that's the count, bestie.
  • MVAL β€” INTEGER array, dimension (NM). the actual values of the matrix row dimension M. slay.
  • PVAL β€” INTEGER array, dimension (NM). the values of the matrix row dimension P. (yes, row dimension again β€” that's what it says, don't come for me πŸ™ˆ)
  • QVAL β€” INTEGER array, dimension (NM). the values of the matrix column dimension Q. periodt.
  • NMATS β€” INTEGER. how many matrix types get tested for each combo of matrix dimensions. here's the tea:
    • if NMATS >= NTYPES (that's the maximum number of matrix types), then all the different types get generated for testing πŸ’…
    • if NMATS < NTYPES, then another input line is read to get the numbers of the matrix types to be used. yes, it reads more input. it's extra like that.
  • ISEED β€” INTEGER array, dimension (4). the random number generator seed, and she has rules:
    • on entry: the seed of the random number generator. the array elements should be between 0 and 4095 β€” otherwise they get reduced mod 4096
    • and ISEED(4) must be odd πŸ‘€ (not optional, not a vibe, a requirement)
    • on exit: the next seed in the random number sequence after all the test matrices have been generated.
  • THRESH β€” REAL. the threshold value for the test ratios. a result makes it into the output file if RESULT >= THRESH. want every test ratio printed? set THRESH = 0. you're welcome πŸ’–
  • MMAX β€” INTEGER. the maximum value permitted for M, used in dimensioning the work arrays. she's the ceiling. literally.
  • X β€” REAL array, dimension (MMAX*MMAX).
  • XF β€” REAL array, dimension (MMAX*MMAX).
  • U1 β€” REAL array, dimension (MMAX*MMAX).
  • U2 β€” REAL array, dimension (MMAX*MMAX).
  • V1T β€” REAL array, dimension (MMAX*MMAX).
  • V2T β€” REAL array, dimension (MMAX*MMAX).
  • THETA β€” REAL array, dimension (MMAX). note the dimension, bestie β€” she's MMAX, not MMAX*MMAX. the way she's different from the others πŸ¦‹
  • IWORK β€” INTEGER array, dimension (MMAX).
  • WORK β€” REAL array. that's the whole spec. no dimension given, she's mysterious.
  • RWORK β€” REAL array. also mysterious. also no dimension. we respect it.
  • NIN β€” INTEGER. the unit number for input.
  • NOUT β€” INTEGER. the unit number for output.
  • INFO β€” INTEGER. the receipts:
    • = 0 : successful exit πŸŽ‰
    • > 0 : if SLAROR returns an error code, the absolute value of it is returned. (absolute value. so it's positive. you don't get the sign back, sorry 😭)

πŸ‘‘ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 181 of file sckcsd.f. go look, she's there. 🌈


subroutine SLACSG

the supporting actress. honestly still ate.

subroutine SLACSG (integer m, integer p, integer q, real, dimension( * )
    theta, integer, dimension( 4 ) iseed, real, dimension( ldx, * ) x,
    integer ldx, real, dimension( * ) work)

Definition at line 349 of file sckcsd.f. πŸ’€ she gets no purpose section, no parameters section, nothing. just vibes and a line number.


🌺 Author 🌺

Generated automatically by Doxygen for LAPACK from the source code. so like, a robot wrote this. a robot with taste, apparently. πŸ€–βœ¨


and that's the whole page, bestie!! πŸŽ€

cute sign-off time: this manual page is from LAPACK, Version 3.12.0, dated /home/abui...IG/sckcsd.f(3) β€” same path as the header, she's nothing if not consistent. go test some orthogonal matrices, ily, bye πŸ’–πŸ¦‹βœ¨
πŸ“¦ where this page comes from