/home/abui.../clatrs3.f(3)
β¨ clatrs3.f(3) β Library Functions Manual β¨
okay bestie, this is the page for /home/abui.../clatrs3.f(3) from the Library Functions Manual, and it is giving big LAPACK energy. The actual source path in the NAME section is the long one below. Letβs go. π
π NAME
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/clatrs3.f
Thatβs the whole NAME section, no cap. This page also shows up as /home/abui.../clatrs3.f(3) up in the manual header. π«Ά
β¨ SYNOPSIS
Functions/Subroutines
subroutine CLATRS3 (uplo, trans, diag, normin, n, nrhs, a, lda, x, ldx, scale, cnorm, work, lwork, info)βCLATRS3solves a triangular system of equations with the scale factors set to prevent overflow. π₯
π«Ά Function/Subroutine Documentation π«Ά
subroutine CLATRS3 (character uplo, character trans, character diag,
character normin, integer n, integer nrhs, complex, dimension( lda, * )
a, integer lda, complex, dimension( ldx, * ) x, integer ldx, real,
dimension( * ) scale, real, dimension( * ) cnorm, real, dimension( * )
work, integer lwork, integer info)
CLATRS3 solves a triangular system of equations with the scale factors set to prevent overflow. periodt. π
π Purpose
Doxygen !> comment-block time, but make it cute: CLATRS3 solves one of the triangular systems
A * X = B * diag(scale), A**T * X = B * diag(scale), or
A**H * 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, A**H denotes the conjugate 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. slay. π
π Parameters
UPLOβUPLO is CHARACTER*1. Bestie, it says whetherAis upper or lower triangular. β¨= 'U': Upper triangular= 'L': Lower triangular
TRANSβTRANS is CHARACTER*1. This is the operation applied toA, lowkey important.= 'N': Solve A * x = s*b (No transpose)= 'T': Solve A**T* x = s*b (Transpose)= 'C': Solve A**T* x = s*b (Conjugate transpose)
DIAGβDIAG is CHARACTER*1. It says whether or notAis unit triangular.= 'N': Non-unit triangular= 'U': Unit triangular
NORMINβNORMIN is CHARACTER*1. It says whetherCNORMhas been set or not.= 'Y': CNORM contains the column norms on entry= 'N': CNORM is not set on entry. On exit, the norms will be computed and stored in CNORM.
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 COMPLEX array, dimension (LDA,N). The triangular matrixA. IfUPLO = 'U', the leadingnbynupper triangular part of the arrayAcontains the upper triangular matrix, and the strictly lower triangular part ofAis not referenced. IfUPLO = 'L', the leadingnbynlower 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 be1. π¦LDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max (1,N).XβX is COMPLEX 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 REAL 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 REAL array, dimension (N). IfNORMIN = 'Y',CNORMis an input argument andCNORM(j)contains the norm of the off-diagonal part of thej-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 thej-th column ofA.WORKβWORK is REAL array, dimension (LWORK). On exit, ifINFO = 0,WORK(1)returns the optimal size ofWORK.LWORKβLWORK is INTEGER. The page literally double-drops the name asLWORK LWORK is INTEGER, and weβre keeping the energy. The constraint is:
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: if INFO = -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 228 of file clatrs3.f.
πΈ Author
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, thatβs the whole page. Footer sign-off vibes: LAPACK, Version 3.12.0 β page path /home/abui.../clatrs3.f(3). πβ¨π
π¦ 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