complexGBauxiliary(3)

πŸ“¦
version 3.11.0 Β· 2 versions
, in debian bookworm

πŸ’– complexGBauxiliary β€” bestie, it's the GB auxiliary girlies πŸ’–

okay so real talk, this is the LAPACK page for complexGBauxiliary, aka the little support squad that hangs out behind the scenes of all your general band matrix (GB) operations. it's giving "backstage crew who are actually the main characters" energy, fr fr. ✨


🌸 NAME 🌸

complexGBauxiliary β€” bestie, it's the complex auxiliary function family, and it's here to help. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

✨ Functions ✨

  • real function clangb (NORM, N, KL, KU, AB, LDAB, WORK) β€” CLANGB returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value of any element of a general band matrix. she's a norm girlie and she knows it πŸ’–
  • subroutine claqgb (M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND, AMAX, EQUED) β€” CLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ. so basically it does the glow-up pass 🌸

πŸ‘‘ Detailed Description πŸ‘‘

This is the group of complex auxiliary functions for GB matrices. that's it, that's the vibe. they exist to support the band matrix operations and we love them for it. 🫢


πŸ”₯ Function Documentation πŸ”₯

⭐ real function clangb (character NORM, integer N, integer KL, integer KU, complex, dimension( ldab, * ) AB, integer LDAB, real, dimension( * ) WORK)

CLANGB returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value of any element of general band matrix.

πŸ’œ Purpose:

CLANGB  returns the value of the one norm,  or the Frobenius norm, or
the  infinity norm,  or the element of  largest absolute value  of an
n by n band matrix  A,  with kl sub-diagonals and ku super-diagonals.

πŸŽ€ Returns

CLANGB

    CLANGB = ( max(abs(A(i,j))), NORM = 'M' or 'm'
             (
             ( norm1(A),         NORM = '1', 'O' or 'o'
             (
             ( normI(A),         NORM = 'I' or 'i'
             (
             ( normF(A),         NORM = 'F', 'f', 'E' or 'e'

where norm1 denotes the one norm of a matrix (maximum column sum), normI denotes the infinity norm of a matrix (maximum row sum) and normF denotes the Frobenius norm of a matrix (square root of sum of squares). Note that max(abs(A(i,j))) is not a consistent matrix norm. ⚠️ so like, keep that in mind bestie.

🧚 Parameters

  • NORM β€” NORM is CHARACTER*1. Specifies the value to be returned in CLANGB as described above. πŸ‘‘
  • N β€” N is INTEGER. The order of the matrix A. N >= 0. When N = 0, CLANGB is set to zero. (she knows when to sit quietly and return nothing, iconic) πŸ’…
  • KL β€” KL is INTEGER. The number of sub-diagonals of the matrix A. KL >= 0.
  • KU β€” KU is INTEGER. The number of super-diagonals of the matrix A. KU >= 0.
  • AB β€” AB is COMPLEX array, dimension (LDAB,N). The band matrix A, stored in rows 1 to KL+KU+1. The j-th column of A is stored in the j-th column of the array AB as follows:
AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl).
  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= KL+KU+1.
  • WORK β€” WORK is REAL array, dimension (MAX(1,LWORK)), where LWORK >= N when NORM = 'I'; otherwise, WORK is not referenced. lowkey she only shows up when you need her πŸ™ˆ

🌈 Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.


πŸ’– subroutine claqgb (integer M, integer N, integer KL, integer KU, complex, dimension( ldab, * ) AB, integer LDAB, real, dimension( * ) R, real, dimension( * ) C, real ROWCND, real COLCND, real AMAX, character EQUED)

CLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ. it's the equilibration makeover episode ✨

πŸ¦‹ Purpose:

CLAQGB equilibrates a general M by N band matrix A with KL
subdiagonals and KU superdiagonals using the row and scaling factors
in the vectors R and C.

🌸 Parameters

  • M β€” M is INTEGER. The number of rows of the matrix A. M >= 0.
  • N β€” N is INTEGER. The number of columns of the matrix A. N >= 0.
  • KL β€” KL is INTEGER. The number of subdiagonals within the band of A. KL >= 0.
  • KU β€” KU is INTEGER. The number of superdiagonals within the band of A. KU >= 0.
  • AB β€” AB is COMPLEX array, dimension (LDAB,N).

On entry, the matrix A in band storage, in rows 1 to KL+KU+1. The j-th column of A is stored in the j-th column of the array AB as follows:

AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl)

On exit, the equilibrated matrix, in the same storage format as A. See EQUED for the form of the equilibrated matrix. πŸ’«

  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDA >= KL+KU+1. (yes bestie, it says LDA here, we don't make the rules, we just report them faithfully 😭)
  • R β€” R is REAL array, dimension (M). The row scale factors for A.
  • C β€” C is REAL array, dimension (N). The column scale factors for A.
  • ROWCND β€” ROWCND is REAL. Ratio of the smallest R(i) to the largest R(i).
  • COLCND β€” COLCND is REAL. Ratio of the smallest C(i) to the largest C(i).
  • AMAX β€” AMAX is REAL. Absolute value of largest matrix entry.
  • EQUED β€” EQUED is CHARACTER*1. Specifies the form of equilibration that was done.
    • = 'N': No equilibration
    • = 'R': Row equilibration, i.e., A has been premultiplied by diag(R).
    • = 'C': Column equilibration, i.e., A has been postmultiplied by diag(C).
    • = 'B': Both row and column equilibration, i.e., A has been replaced by diag(R) * A * diag(C).

🧚 Internal Parameters:

THRESH is a threshold value used to decide if row or column scaling
should be done based on the ratio of the row or column scaling
factors.  If ROWCND < THRESH, row scaling is done, and if
COLCND < THRESH, column scaling is done.

LARGE and SMALL are threshold values used to decide if row scaling
should be done based on the absolute size of the largest matrix
element.  If AMAX > LARGE or AMAX < SMALL, row scaling is done.

πŸ’œ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.


🌟 Author 🌟

Generated automatically by Doxygen for LAPACK from the source code. (not a human, just a very diligent little robot doing her best 🫢)


and that's the whole page bestie!! mwah πŸ’‹ this was Version 3.11.0, dated Sun Nov 27 2022, and honestly? she ate. periodt. πŸ’…βœ¨πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from