SRC/slascl.f(3)

okay so this page is SRC/slascl.f from the Library Functions Manual, and it's giving LAPACK matrix-scaling realness πŸ’… no cap. Let's get into it.

🌸 NAME 🌸

SRC/slascl.f

✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine slascl (type, kl, ku, cfrom, cto, m, n, a, lda, info) β€” SLASCL multiplies a general rectangular matrix by a real scalar defined as cto/cfrom.

🫢 Function/Subroutine Documentation 🫢

Here's the exact signature, character for character:

subroutine slascl (character type, integer kl, integer ku, real cfrom, real cto, integer m, integer n, real, dimension( lda, * ) a, integer lda, integer info)

SLASCL multiplies a general rectangular matrix by a real scalar defined as cto/cfrom.

Purpose

SLASCL multiplies the M by N real matrix A by the real scalar CTO/CFROM. This is done without over/underflow as long as the final result CTO*A(I,J)/CFROM does not over/underflow. TYPE specifies that A may be full, upper triangular, lower triangular, upper Hessenberg, or banded.

Parameters

  • TYPE β€” is CHARACTER*1. TYPE indexes the storage type of the input matrix.
    • = 'G': A is a full matrix.
    • = 'L': A is a lower triangular matrix.
    • = 'U': A is an upper triangular matrix.
    • = 'H': A is an upper Hessenberg matrix.
    • = 'B': A is a symmetric band matrix with lower bandwidth KL and upper bandwidth KU and with only the lower half stored.
    • = 'Q': A is a symmetric band matrix with lower bandwidth KL and upper bandwidth KU and with only the upper half stored.
    • = 'Z': A is a band matrix with lower bandwidth KL and upper bandwidth KU. See SGBTRF for storage details.
  • KL β€” is INTEGER. The lower bandwidth of A. Referenced only if TYPE = 'B', 'Q' or 'Z'.
  • KU β€” is INTEGER. The upper bandwidth of A. Referenced only if TYPE = 'B', 'Q' or 'Z'.
  • CFROM β€” is REAL. That's the whole spec here, bestie β€” the multiplication lore lives under CTO.
  • CTO β€” is REAL. The matrix A is multiplied by CTO/CFROM. A(I,J) is computed without over/underflow if the final result CTO*A(I,J)/CFROM can be represented without over/underflow. CFROM must be nonzero.
  • M β€” is INTEGER. The number of rows of the matrix A. M >= 0.
  • N β€” is INTEGER. The number of columns of the matrix A. N >= 0.
  • A β€” is REAL array, dimension (LDA,N). The matrix to be multiplied by CTO/CFROM. See TYPE for the storage type.
  • LDA β€” is INTEGER. The leading dimension of the array A.
If TYPE = 'G', 'L', 'U', 'H', LDA >= max(1,M);
   TYPE = 'B', LDA >= KL+1;
   TYPE = 'Q', LDA >= KU+1;
   TYPE = 'Z', LDA >= 2*KL+KU+1.
  • 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 142 of file slascl.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.


okay that's the whole page, bestie πŸ’– β€” this is from SRC/slascl.f(3) and LAPACK Version 3.12.0; the footer didn't print a date, so I'm not inventing one. Mwah 🫢✨

πŸ“¦ where this page comes from