DLASD4(3)
π DLASD4(3) β the LAPACK manual page, but make it make sense
okay so bestie, this is DLASD4 from LAPACK Version 3.12.0, and the source file is /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlasd4.f. Yes that whole path. It's giving "compiled in a build directory and we're all just living in it" π but that literally is the NAME section, so here we are. π
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlasd4.f
that's it. that's the name. the whole path. iconic honestly. π
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine DLASD4 (n, i, d, z, delta, rho, sigma, work, info)
okay so what does it DO β DLASD4 computes the square root of the i-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix. Used by dbdsdc. periodt. π₯
πΈ Function/Subroutine Documentation πΈ
subroutine DLASD4 (integer n, integer i, double precision, dimension( * ) d,
double precision, dimension( * ) z, double precision, dimension( * )
delta, double precision rho, double precision sigma, double precision,
dimension( * ) work, integer info)
again for the people in the back: DLASD4 computes the square root of the i-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix. Used by dbdsdc. slay. β¨
π Purpose:
This subroutine computes the square root of the I-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix whose entries are given as the squares of the corresponding entries in the arrayd, and thatfortran 0 <= D(i) < D(j) for i < jand thatRHO > 0. This is arranged by the calling routine, and is no loss in generality. The rank-one modified system is thusfortran diag( D ) * diag( D ) + RHO * Z * Z_transpose.where we assume the Euclidean norm ofZis 1. The method consists of approximating the rational functions in the secular equation by simpler interpolating rational functions.
the way that the method just *approximates the rational functions in the secular equation by simpler interpolating rational functions*β¦ lowkey obsessed with her ngl π§
π Parameters π
NβN is INTEGER. The length of all arrays. every single one. π«ΆIβI is INTEGER. The index of the eigenvalue to be computed.1 <= I <= N.DβD is DOUBLE PRECISION array, dimension ( N ). The original eigenvalues. It is assumed that they are in order,0 <= D(I) < D(J)forI < J. so don't come in here with unsorted eigenvalues, bestie, the assumption is load-bearing. πDELTAβDELTA is DOUBLE PRECISION array, dimension ( N ). IfN .ne. 1,DELTAcontains(D(j) - sigma_I)in itsj-th component. IfN = 1, thenDELTA(1) = 1. The vectorDELTAcontains the information necessary to construct the (singular) eigenvectors. note: singular eigenvectors, fr fr, that's what it says. πRHOβRHO is DOUBLE PRECISION. The scalar in the symmetric updating formula.SIGMAβSIGMA is DOUBLE PRECISION. The computedsigma_I, theI-th updated eigenvalue. the main character of this whole operation honestly πWORKβWORK is DOUBLE PRECISION array, dimension ( N ). IfN .ne. 1,WORKcontains(D(j) + sigma_I)in itsj-th component. IfN = 1, thenWORK( 1 ) = 1.INFOβINFO is INTEGER. Status check, bestie:= 0: successful exit β¨> 0: ifINFO = 1, the updating process failed. π
π Internal Parameters: π
Logical variableORGATI(origin-at-i?) is used for distinguishing whetherD(i)orD(i+1)is treated as the origin.fortran ORGATI = .true. origin at i ORGATI = .false. origin at i+1Logical variableSWTCH3(switch-for-3-poles?) is for noting if we are working with THREE poles!MAXITis the maximum number of iterations allowed for each eigenvalue.
not the variable literally named "switch-for-3-poles" ππ she has range and she has THREE POLES. iykyk. π
β Author β
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors:
- Ren-Cang Li, Computer Science Division, University of California at Berkeley, USA
π Definition at line 152 of file dlasd4.f.
π« Author (the meta one) π«
Generated automatically by Doxygen for LAPACK from the source code.
ngl bestie, if you're reading a manpage for a LAPACK subroutine that approximates rational functions in a secular equation, you are highkey built different. go drink some water. π
LAPACK β Version 3.12.0 β /home/abui...RC/dlasd4.f(3) πΈ that's the sign-off, mwah, bye, go sort your eigenvalues π
π¦ 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