SRC/sgbbrd.f(3)

🌸 NAME 🌸

SRC/sgbbrd.f(3) β€” okay bestie, this is the Library Functions Manual page for SRC/sgbbrd.f. The main character is the sgbbrd subroutine, and it's giving very "linear algebra but make it fashion" πŸ’…βœ¨.

✨ SYNOPSIS ✨

Functions/Subroutines

subroutine sgbbrd (vect, m, n, ncc, kl, ku, ab, ldab, d, e, q, ldq, pt,
    ldpt, c, ldc, work, info)
    SGBBRD

πŸ’– Function/Subroutine Documentation πŸ’–

subroutine sgbbrd (character vect, integer m, integer n, integer ncc,
    integer kl, integer ku, real, dimension( ldab, * ) ab, integer ldab,
    real, dimension( * ) d, real, dimension( * ) e, real, dimension( ldq, *
    ) q, integer ldq, real, dimension( ldpt, * ) pt, integer ldpt, real,
    dimension( ldc, * ) c, integer ldc, real, dimension( * ) work, integer
    info)

SGBBRD

Purpose

Bestie, here's the whole point: SGBBRD reduces a real general m-by-n band matrix A to upper bidiagonal form B by an orthogonal transformation: Q**T * A * P = B. ✨

The routine computes B, and optionally forms Q or P**T, or computes Q**T*C for a given matrix C. That's the whole assignment, and it ate. πŸ’…

Parameters

VECT

VECT is CHARACTER*1. It specifies whether or not the matrices Q and P**T are to be formed. The values are:

  • = 'N': do not form Q or P**T;
  • = 'Q': form Q only;
  • = 'P': form P**T only;
  • = 'B': form both.

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.

NCC

NCC is INTEGER. The number of columns of the matrix C. NCC >= 0.

KL

KL is INTEGER. The number of subdiagonals of the matrix A. KL >= 0.

KU

KU is INTEGER. The number of superdiagonals of the matrix A. KU >= 0.

AB

AB is REAL array, dimension (LDAB,N).

On entry, the m-by-n 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(m,j+kl).

On exit, A is overwritten by values generated during the reduction.

LDAB

LDAB is INTEGER. The leading dimension of the array A. LDAB >= KL+KU+1.

D

D is REAL array, dimension (min(M,N)). The diagonal elements of the bidiagonal matrix B.

E

E is REAL array, dimension (min(M,N)-1). The superdiagonal elements of the bidiagonal matrix B.

Q

Q is REAL array, dimension (LDQ,M).

If VECT = 'Q' or 'B', the m-by-m orthogonal matrix Q.

If VECT = 'N' or 'P', the array Q is not referenced.

LDQ

LDQ is INTEGER. The leading dimension of the array Q.

LDQ >= max(1,M) if VECT = 'Q' or 'B'; LDQ >= 1 otherwise.

PT

PT is REAL array, dimension (LDPT,N).

If VECT = 'P' or 'B', the n-by-n orthogonal matrix P'.

If VECT = 'N' or 'Q', the array PT is not referenced.

LDPT

LDPT is INTEGER. The leading dimension of the array PT.

LDPT >= max(1,N) if VECT = 'P' or 'B'; LDPT >= 1 otherwise.

C

C is REAL array, dimension (LDC,NCC).

On entry, an m-by-ncc matrix C.

On exit, C is overwritten by Q**T*C.

C is not referenced if NCC = 0.

LDC

LDC is INTEGER. The leading dimension of the array C.

LDC >= max(1,M) if NCC > 0; LDC >= 1 if NCC = 0.

WORK

WORK is REAL array, dimension (2*max(M,N)).

INFO

INFO is INTEGER.

  • = 0: successful exit.
  • < 0: if INFO = -i, the i-th argument had an illegal value.

Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 185 of file sgbbrd.f.

Literally right there at line 185, bestie. 🫢

πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for LAPACK from the source code.


Okay bye bestie, this was SRC/sgbbrd.f(3) from LAPACK, Version 3.12.0. Stay bidiagonal, stay iconic. πŸ’–βœ¨

πŸ“¦ where this page comes from