lascl(3)

πŸ’… lascl(3) β€” scale matrix πŸ¦‹

okay so bestie, welcome to lascl(3) from the Library Functions Manual. This page is the whole scale-matrix situation: four Fortran subroutines with the same job but different data types, and every parameter, INFO code, author credit, and literal file line is staying right here. No cap. πŸ’–


🌸 NAME

lascl - lascl: scale matrix

Short, sweet, iconic. Periodt. πŸŽ€


✨ SYNOPSIS

🌟 Functions

  • subroutine clascl (type, kl, ku, cfrom, cto, m, n, a, lda, info) β€” CLASCL multiplies a general rectangular matrix by a real scalar defined as cto/cfrom.
  • subroutine dlascl (type, kl, ku, cfrom, cto, m, n, a, lda, info) β€” DLASCL multiplies a general rectangular matrix by a real scalar defined as cto/cfrom.
  • 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.
  • subroutine zlascl (type, kl, ku, cfrom, cto, m, n, a, lda, info) β€” ZLASCL multiplies a general rectangular matrix by a real scalar defined as cto/cfrom.

πŸ’– Detailed Description

This is the detailed-description zone, and the function documentation is right below with the full signature and parameter tea. We are keeping the order exactly as the manual gives it: clascl, then dlascl, then slascl. πŸ’…


πŸ”₯ Function Documentation

πŸ¦‹ subroutine clascl

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

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

Purpose: CLASCL multiplies the M by N complex 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 β€” TYPE is CHARACTER*1; TYPE indices 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 the only the lower half stored.
    • = 'Q': A is a symmetric band matrix with lower bandwidth KL and upper bandwidth KU and with the only the upper half stored.
    • = 'Z': A is a band matrix with lower bandwidth KL and upper bandwidth KU. See CGBTRF for storage details.
  • KL β€” KL is INTEGER; the lower bandwidth of A. Referenced only if TYPE = 'B', 'Q' or 'Z'.
  • KU β€” KU is INTEGER; the upper bandwidth of A. Referenced only if TYPE = 'B', 'Q' or 'Z'.
  • CFROM β€” CFROM is REAL.
  • 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 β€” 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.
  • A β€” A is COMPLEX array, dimension (LDA,N); the matrix to be multiplied by CTO/CFROM. See TYPE for the storage type.
  • LDA β€” 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 β€” 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 clascl.f.


πŸ¦‹ subroutine dlascl

subroutine dlascl (character type, integer kl, integer ku, double precision
       cfrom, double precision cto, integer m, integer n, double precision,
       dimension( lda, * ) a, integer lda, integer info)

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

Purpose: DLASCL 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 β€” TYPE is CHARACTER*1; TYPE indices 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 the only the lower half stored.
    • = 'Q': A is a symmetric band matrix with lower bandwidth KL and upper bandwidth KU and with the only the upper half stored.
    • = 'Z': A is a band matrix with lower bandwidth KL and upper bandwidth KU. See DGBTRF for storage details.
  • KL β€” KL is INTEGER; the lower bandwidth of A. Referenced only if TYPE = 'B', 'Q' or 'Z'.
  • KU β€” KU is INTEGER; the upper bandwidth of A. Referenced only if TYPE = 'B', 'Q' or 'Z'.
  • CFROM β€” CFROM is DOUBLE PRECISION.
  • CTO β€” CTO is DOUBLE PRECISION. 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 β€” 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.
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N); the matrix to be multiplied by CTO/CFROM. See TYPE for the storage type.
  • LDA β€” 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 β€” 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 dlascl.f.


πŸ¦‹ subroutine slascl

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 β€” TYPE is CHARACTER*1; TYPE indices 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 the only the lower half stored.
    • = 'Q': A is a symmetric band matrix with lower bandwidth KL and upper bandwidth KU and with the 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 β€” KL is INTEGER; the lower bandwidth of A. Referenced only if TYPE = 'B', 'Q' or 'Z'.
  • KU β€” KU is INTEGER; the upper bandwidth of A. Referenced only if TYPE = 'B', 'Q' or 'Z'.
  • CFROM β€” CFROM is REAL.
  • 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 β€” 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.
  • A β€” A is REAL array, dimension (LDA,N); the matrix to be multiplied by CTO/CFROM. See TYPE for the storage type.
  • LDA β€” 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 β€” 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.

Tiny source footnote first: this is defined at line 142 of slascl.f. πŸ’…

subroutine zlascl (character type, integer kl, integer ku, double precision cfrom, double precision cto, integer m, integer n, complex*16, dimension( lda, * ) a, integer lda, integer info)

ZLASCL is here to multiply a general rectangular matrix by a real scalar defined as cto/cfrom. That’s the whole assignment, bestie. 🫢

🎯 Purpose

ZLASCL multiplies the M by N complex matrix A by the real scalar CTO/CFROM. It does this 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 β€” CHARACTER*1. TYPE indices the storage type of the input matrix. The options are literally:
    • '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 the only the lower half stored.
    • 'Q': A is a symmetric band matrix with lower bandwidth KL and upper bandwidth KU and with the only the upper half stored.
    • 'Z': A is a band matrix with lower bandwidth KL and upper bandwidth KU. See ZGBTRF for storage details.
  • KL β€” INTEGER. The lower bandwidth of A. Referenced only if TYPE = 'B', 'Q' or 'Z'. πŸŽ€
  • KU β€” INTEGER. The upper bandwidth of A. Referenced only if TYPE = 'B', 'Q' or 'Z'. 🌸
  • CFROM β€” DOUBLE PRECISION. That’s the type, periodt. πŸ’–
  • CTO β€” DOUBLE PRECISION. 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 β€” INTEGER. The number of rows of the matrix A. M >= 0. 🌈
  • N β€” INTEGER. The number of columns of the matrix A. N >= 0. ⭐
  • A β€” COMPLEX*16 array, dimension (LDA,N). The matrix to be multiplied by CTO/CFROM. See TYPE for the storage type. πŸ‘‘
  • LDA β€” INTEGER. The leading dimension of the array A. The constraints are:
    • If TYPE = 'G', 'L', 'U', 'H', then LDA >= max(1,M);
    • TYPE = 'B', then LDA >= KL+1;
    • TYPE = 'Q', then LDA >= KU+1;
    • TYPE = 'Z', then LDA >= 2*KL+KU+1.
  • INFO β€” INTEGER. The vibe check:
    • 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.

Source coordinate: definition at line 142 of file zlascl.f. πŸ¦‹

πŸ‘‘ Author

Generated automatically by Doxygen for LAPACK from the source code. No cap. 🧚


That’s the whole vibe β€” LAPACK Version 3.12.0, lascl(3), mwah πŸ’…πŸ’–

πŸ“¦ where this page comes from