---
name: "dlaqsb"
section: "3lapack"
platform: "linux"
package: "liblapack-doc"
version: "3.2.1-8"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/dlaqsb/3lapack"
---

# dlaqsb(3lapack)

equilibrates a symmetric band matrix A using the scaling factors in the vector S

## NAME

DLAQSB - equilibrates a symmetric band matrix A using the scaling factors in the vector S

## SYNOPSIS

- SUBROUTINE DLAQSB(

  UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, EQUED )

- CHARACTER

  EQUED, UPLO

- INTEGER

  KD, LDAB, N

- DOUBLE

  PRECISION AMAX, SCOND

- DOUBLE

  PRECISION AB( LDAB, \* ), S( \* )

## PURPOSE

DLAQSB equilibrates a symmetric band matrix A using the scaling factors in the vector S.

## ARGUMENTS

- UPLO (input) CHARACTER\*1

  Specifies whether the upper or lower triangular part of the symmetric matrix A is stored. = 'U':  Upper triangular\
   \= 'L':  Lower triangular

- N (input) INTEGER

  The order of the matrix A.  N \>= 0.

- KD (input) INTEGER

  The number of super-diagonals of the matrix A if UPLO = 'U', or the number of sub-diagonals if UPLO = 'L'.  KD \>= 0.

- AB (input/output) DOUBLE PRECISION array, dimension (LDAB,N)

  On entry, the upper or lower triangle of the symmetric band matrix A, stored in the first KD+1 rows of the array.  The j-th column of A is stored in the j-th column of the array AB as follows: if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)\<=i\<=j; if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j\<=i\<=min(n,j+kd). On exit, if INFO = 0, the triangular factor U or L from the Cholesky factorization A = U'\*U or A = L\*L' of the band matrix A, in the same storage format as A.

- LDAB (input) INTEGER

  The leading dimension of the array AB.  LDAB \>= KD+1.

- S (input) DOUBLE PRECISION array, dimension (N)

  The scale factors for A.

- SCOND (input) DOUBLE PRECISION

  Ratio of the smallest S(i) to the largest S(i).

- AMAX (input) DOUBLE PRECISION

  Absolute value of largest matrix entry.

- EQUED (output) CHARACTER\*1

  Specifies whether or not equilibration was done. = 'N':  No equilibration.\
   \= 'Y':  Equilibration was done, i.e., A has been replaced by diag(S) \* A \* diag(S).

## PARAMETERS

THRESH is a threshold value used to decide if scaling should be done based on the ratio of the scaling factors.  If SCOND \< THRESH, scaling is done. LARGE and SMALL are threshold values used to decide if scaling should be done based on the absolute size of the largest matrix element. If AMAX \> LARGE or AMAX \< SMALL, scaling is done.
