/home/abui.../dlatrs3.f(3)
π NAME π
okay so bestie, this is the Library Functions Manual page for /home/abui.../dlatrs3.f(3), and the source file itβs serving looks like:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlatrs3.f
itβs giving βwe are legally required to show the whole pathβ energy, and honestly? iconic. π
π¦ SYNOPSIS π¦
β¨ Functions/Subroutines β¨
subroutine DLATRS3 (uplo, trans, diag, normin, n, nrhs, a, lda, x, ldx, scale, cnorm, work, lwork, info)β DLATRS3 solves a triangular system of equations with the scale factors set to prevent overflow.
πΈ Function/Subroutine Documentation πΈ
π«Ά subroutine DLATRS3 π«Ά
meet the signature, bestie β copied exactly, no cap:
subroutine DLATRS3 (character uplo, character trans, character diag,
character normin, integer n, integer nrhs, double precision, dimension(
lda, * ) a, integer lda, double precision, dimension( ldx, * ) x,
integer ldx, double precision, dimension( * ) scale, double precision,
dimension( * ) cnorm, double precision, dimension( * ) work, integer
lwork, integer info)
DLATRS3 solves a triangular system of equations with the scale factors set to prevent overflow.
π Purpose: π
okay so the whole point, literally:
!>
!> DLATRS3 solves one of the triangular systems
!>
!> A * X = B * diag(scale) or A**T * X = B * diag(scale)
!>
!> with scaling to prevent overflow. Here A is an upper or lower
!> triangular matrix, A**T denotes the transpose of A. X and B are
!> n by nrhs matrices and scale is an nrhs element vector of scaling
!> factors. A scaling factor scale(j) is usually less than or equal
!> to 1, chosen such that X(:,j) is less than the overflow threshold.
!> If the matrix A is singular (A(j,j) = 0 for some j), then
!> a non-trivial solution to A*X = 0 is returned. If the system is
!> so badly scaled that the solution cannot be represented as
!> (1/scale(k))*X(:,k), then x(:,k) = 0 and scale(k) is returned.
!>
!> This is a BLAS-3 version of LATRS for solving several right
!> hand sides simultaneously.
!>
!>
like, itβs solving A * X = B * diag(scale) or A**T * X = B * diag(scale), with scaling so nothing overflows. and if A(j,j) = 0 for some j, you get a non-trivial solution to A*X = 0. if itβs so badly scaled that the solution canβt be represented as (1/scale(k))*X(:,k), then x(:,k) = 0 and scale(k) is returned. periodt. π
π Parameters π
UPLOβUPLO is CHARACTER*1. specifies whether the matrixAis upper or lower triangular.= 'U': Upper triangular.= 'L': Lower triangular.TRANSβTRANS is CHARACTER*1. specifies the operation applied toA.= 'N': SolveA * x = s*b(No transpose).= 'T': SolveA**T* x = s*b(Transpose).= 'C': SolveA**T* x = s*b(Conjugate transpose = Transpose).DIAGβDIAG is CHARACTER*1. specifies whether or not the matrixAis unit triangular.= 'N': Non-unit triangular.= 'U': Unit triangular.NORMINβNORMIN is CHARACTER*1. specifies whetherCNORMhas been set or not.= 'Y':CNORMcontains the column norms on entry.= 'N':CNORMis not set on entry. On exit, the norms will be computed and stored inCNORM.NβN is INTEGER. the order of the matrixA.N >= 0.NRHSβNRHS is INTEGER. the number of columns ofX.NRHS >= 0.AβA is DOUBLE PRECISION array, dimension (LDA,N). the triangular matrixA. IfUPLO = 'U', the leading n by n upper triangular part of the arrayAcontains the upper triangular matrix, and the strictly lower triangular part ofAis not referenced. IfUPLO = 'L', the leading n by n lower triangular part of the arrayAcontains the lower triangular matrix, and the strictly upper triangular part ofAis not referenced. IfDIAG = 'U', the diagonal elements ofAare also not referenced and are assumed to be 1.LDAβLDA is INTEGER. the leading dimension of the arrayA.LDA >= max (1,N).XβX is DOUBLE PRECISION array, dimension (LDX,NRHS). on entry, the right hand sideBof the triangular system. on exit,Xis overwritten by the solution matrixX.LDXβLDX is INTEGER. the leading dimension of the arrayX.LDX >= max (1,N).SCALEβSCALE is DOUBLE PRECISION array, dimension (NRHS). the scaling factors(k)is for the triangular systemA * x(:,k) = s(k)*b(:,k)orA**T* x(:,k) = s(k)*b(:,k). IfSCALE = 0, the matrixAis singular or badly scaled. IfA(j,j) = 0is encountered, a non-trivial vectorx(:,k)that is an exact or approximate solution toA*x(:,k) = 0is returned. If the system so badly scaled that solution cannot be presented asx(:,k) * 1/s(k), thenx(:,k) = 0is returned.CNORMβCNORM is DOUBLE PRECISION array, dimension (N). IfNORMIN = 'Y',CNORMis an input argument andCNORM(j)contains the norm of the off-diagonal part of the j-th column ofA. IfTRANS = 'N',CNORM(j)must be greater than or equal to the infinity-norm, and ifTRANS = 'T'or'C',CNORM(j)must be greater than or equal to the 1-norm. IfNORMIN = 'N',CNORMis an output argument andCNORM(j)returns the 1-norm of the offdiagonal part of the j-th column ofA.WORKβWORK is DOUBLE PRECISION array, dimension (LWORK). on exit, ifINFO = 0,WORK(1)returns the optimal size ofWORK.LWORKβ the page literally saysLWORK LWORK is INTEGER, and then:
LWORK >= MAX(1, 2*NBA * MAX(NBA, MIN(NRHS,
32)), where NBA = (N + NB - 1)/NB and NB is the optimal block size.
If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal dimensions of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA.
π Parameters π
INFOβINFO is INTEGER.= 0: successful exit.< 0: ifINFO = -k, the k-th argument had an illegal value.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π₯ Further Details: π₯
Definition at line 227 of file dlatrs3.f.
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code.
byeee π LAPACK, Version 3.12.0 β /home/abui.../dlatrs3.f(3) β thatβs the footer vibe, periodt. π
π¦ 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