SCKCSD(3)
π 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 heresubroutine 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 ofMchillin' inside the vectorMVAL. that's the count, bestie.MVALβINTEGER array, dimension(NM). the actual values of the matrix row dimensionM. slay.PVALβINTEGER array, dimension(NM). the values of the matrix row dimensionP. (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 dimensionQ. 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.
- if
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
0and4095β otherwise they get reducedmod 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.
- on entry: the seed of the random number generator. the array elements should be between
THRESHβREAL. the threshold value for the test ratios. a result makes it into the output file ifRESULT >= THRESH. want every test ratio printed? setTHRESH = 0. you're welcome πMMAXβINTEGER. the maximum value permitted forM, 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'sMMAX, notMMAX*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: ifSLARORreturns 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
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms