LAPACK++
LAPACK C++ API
Matrix norms

Functions

double lapack::langb (lapack::Norm norm, int64_t n, int64_t kl, int64_t ku, double const *AB, int64_t ldab)
 
float lapack::langb (lapack::Norm norm, int64_t n, int64_t kl, int64_t ku, float const *AB, int64_t ldab)
 
double lapack::langb (lapack::Norm norm, int64_t n, int64_t kl, int64_t ku, std::complex< double > const *AB, int64_t ldab)
 Returns the value of the one norm, Frobenius norm, 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. More...
 
float lapack::langb (lapack::Norm norm, int64_t n, int64_t kl, int64_t ku, std::complex< float > const *AB, int64_t ldab)
 
double lapack::lange (lapack::Norm norm, int64_t m, int64_t n, double const *A, int64_t lda)
 
float lapack::lange (lapack::Norm norm, int64_t m, int64_t n, float const *A, int64_t lda)
 
double lapack::lange (lapack::Norm norm, int64_t m, int64_t n, std::complex< double > const *A, int64_t lda)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a complex matrix A. More...
 
float lapack::lange (lapack::Norm norm, int64_t m, int64_t n, std::complex< float > const *A, int64_t lda)
 
double lapack::langt (lapack::Norm norm, int64_t n, double const *DL, double const *D, double const *DU)
 
float lapack::langt (lapack::Norm norm, int64_t n, float const *DL, float const *D, float const *DU)
 
double lapack::langt (lapack::Norm norm, int64_t n, std::complex< double > const *DL, std::complex< double > const *D, std::complex< double > const *DU)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a tridiagonal matrix A. More...
 
float lapack::langt (lapack::Norm norm, int64_t n, std::complex< float > const *DL, std::complex< float > const *D, std::complex< float > const *DU)
 
double lapack::lanhb (lapack::Norm norm, lapack::Uplo uplo, int64_t n, int64_t kd, double const *AB, int64_t ldab)
 
float lapack::lanhb (lapack::Norm norm, lapack::Uplo uplo, int64_t n, int64_t kd, float const *AB, int64_t ldab)
 
double lapack::lanhb (lapack::Norm norm, lapack::Uplo uplo, int64_t n, int64_t kd, std::complex< double > const *AB, int64_t ldab)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of an n-by-n hermitian band matrix A, with kd super-diagonals. More...
 
float lapack::lanhb (lapack::Norm norm, lapack::Uplo uplo, int64_t n, int64_t kd, std::complex< float > const *AB, int64_t ldab)
 
double lapack::lanhe (lapack::Norm norm, lapack::Uplo uplo, int64_t n, double const *A, int64_t lda)
 
float lapack::lanhe (lapack::Norm norm, lapack::Uplo uplo, int64_t n, float const *A, int64_t lda)
 
double lapack::lanhe (lapack::Norm norm, lapack::Uplo uplo, int64_t n, std::complex< double > const *A, int64_t lda)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a complex hermitian matrix A. More...
 
float lapack::lanhe (lapack::Norm norm, lapack::Uplo uplo, int64_t n, std::complex< float > const *A, int64_t lda)
 
double lapack::lanhp (lapack::Norm norm, lapack::Uplo uplo, int64_t n, double const *AP)
 
float lapack::lanhp (lapack::Norm norm, lapack::Uplo uplo, int64_t n, float const *AP)
 
double lapack::lanhp (lapack::Norm norm, lapack::Uplo uplo, int64_t n, std::complex< double > const *AP)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a complex hermitian matrix A, supplied in packed form. More...
 
float lapack::lanhp (lapack::Norm norm, lapack::Uplo uplo, int64_t n, std::complex< float > const *AP)
 
double lapack::lanhs (lapack::Norm norm, int64_t n, double const *A, int64_t lda)
 
float lapack::lanhs (lapack::Norm norm, int64_t n, float const *A, int64_t lda)
 
double lapack::lanhs (lapack::Norm norm, int64_t n, std::complex< double > const *A, int64_t lda)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a Hessenberg matrix A. More...
 
float lapack::lanhs (lapack::Norm norm, int64_t n, std::complex< float > const *A, int64_t lda)
 
double lapack::lanht (lapack::Norm norm, int64_t n, double const *D, std::complex< double > const *E)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a Hermitian tridiagonal matrix A. More...
 
double lapack::lanht (lapack::Norm norm, int64_t n, double const *D, double const *E)
 
float lapack::lanht (lapack::Norm norm, int64_t n, float const *D, float const *E)
 
float lapack::lanht (lapack::Norm norm, int64_t n, float const *D, std::complex< float > const *E)
 
double lapack::lansb (lapack::Norm norm, lapack::Uplo uplo, int64_t n, int64_t kd, double const *AB, int64_t ldab)
 
float lapack::lansb (lapack::Norm norm, lapack::Uplo uplo, int64_t n, int64_t kd, float const *AB, int64_t ldab)
 
double lapack::lansb (lapack::Norm norm, lapack::Uplo uplo, int64_t n, int64_t kd, std::complex< double > const *AB, int64_t ldab)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of an n-by-n symmetric band matrix A, with kd super-diagonals. More...
 
float lapack::lansb (lapack::Norm norm, lapack::Uplo uplo, int64_t n, int64_t kd, std::complex< float > const *AB, int64_t ldab)
 
double lapack::lansp (lapack::Norm norm, lapack::Uplo uplo, int64_t n, double const *AP)
 
float lapack::lansp (lapack::Norm norm, lapack::Uplo uplo, int64_t n, float const *AP)
 
double lapack::lansp (lapack::Norm norm, lapack::Uplo uplo, int64_t n, std::complex< double > const *AP)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a complex symmetric matrix A, supplied in packed form. More...
 
float lapack::lansp (lapack::Norm norm, lapack::Uplo uplo, int64_t n, std::complex< float > const *AP)
 
double lapack::lanst (lapack::Norm norm, int64_t n, double const *D, double const *E)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a symmetric tridiagonal matrix A. More...
 
float lapack::lanst (lapack::Norm norm, int64_t n, float const *D, float const *E)
 
double lapack::lansy (lapack::Norm norm, lapack::Uplo uplo, int64_t n, double const *A, int64_t lda)
 
float lapack::lansy (lapack::Norm norm, lapack::Uplo uplo, int64_t n, float const *A, int64_t lda)
 
double lapack::lansy (lapack::Norm norm, lapack::Uplo uplo, int64_t n, std::complex< double > const *A, int64_t lda)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a complex symmetric matrix A. More...
 
float lapack::lansy (lapack::Norm norm, lapack::Uplo uplo, int64_t n, std::complex< float > const *A, int64_t lda)
 
double lapack::lantb (lapack::Norm norm, lapack::Uplo uplo, lapack::Diag diag, int64_t n, int64_t k, double const *AB, int64_t ldab)
 
float lapack::lantb (lapack::Norm norm, lapack::Uplo uplo, lapack::Diag diag, int64_t n, int64_t k, float const *AB, int64_t ldab)
 
double lapack::lantb (lapack::Norm norm, lapack::Uplo uplo, lapack::Diag diag, int64_t n, int64_t k, std::complex< double > const *AB, int64_t ldab)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of an n-by-n triangular band matrix A, with (k + 1) diagonals. More...
 
float lapack::lantb (lapack::Norm norm, lapack::Uplo uplo, lapack::Diag diag, int64_t n, int64_t k, std::complex< float > const *AB, int64_t ldab)
 
double lapack::lantp (lapack::Norm norm, lapack::Uplo uplo, lapack::Diag diag, int64_t n, double const *AP)
 
float lapack::lantp (lapack::Norm norm, lapack::Uplo uplo, lapack::Diag diag, int64_t n, float const *AP)
 
double lapack::lantp (lapack::Norm norm, lapack::Uplo uplo, lapack::Diag diag, int64_t n, std::complex< double > const *AP)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a triangular matrix A, supplied in packed form. More...
 
float lapack::lantp (lapack::Norm norm, lapack::Uplo uplo, lapack::Diag diag, int64_t n, std::complex< float > const *AP)
 
double lapack::lantr (lapack::Norm norm, lapack::Uplo uplo, lapack::Diag diag, int64_t m, int64_t n, double const *A, int64_t lda)
 
float lapack::lantr (lapack::Norm norm, lapack::Uplo uplo, lapack::Diag diag, int64_t m, int64_t n, float const *A, int64_t lda)
 
double lapack::lantr (lapack::Norm norm, lapack::Uplo uplo, lapack::Diag diag, int64_t m, int64_t n, std::complex< double > const *A, int64_t lda)
 Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a trapezoidal or triangular matrix A. More...
 
float lapack::lantr (lapack::Norm norm, lapack::Uplo uplo, lapack::Diag diag, int64_t m, int64_t n, std::complex< float > const *A, int64_t lda)
 

Detailed Description

Function Documentation

◆ langb()

double lapack::langb ( lapack::Norm  norm,
int64_t  n,
int64_t  kl,
int64_t  ku,
std::complex< double > const *  AB,
int64_t  ldab 
)

Returns the value of the one norm, Frobenius norm, 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.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]klThe number of sub-diagonals of the matrix A. kl >= 0.
[in]kuThe number of super-diagonals of the matrix A. ku >= 0.
[in]ABThe n-by-n band matrix AB, stored in an ldab-by-n array. 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).
[in]ldabThe leading dimension of the array AB. ldab >= kl+ku+1.

◆ lange()

double lapack::lange ( lapack::Norm  norm,
int64_t  m,
int64_t  n,
std::complex< double > const *  A,
int64_t  lda 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a complex matrix A.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]mThe number of rows of the matrix A. m >= 0. When m = 0, returns zero.
[in]nThe number of columns of the matrix A. n >= 0. When n = 0, returns zero.
[in]AThe m-by-n matrix A, stored in an lda-by-n array.
[in]ldaThe leading dimension of the array A. lda >= max(m,1).

◆ langt()

double lapack::langt ( lapack::Norm  norm,
int64_t  n,
std::complex< double > const *  DL,
std::complex< double > const *  D,
std::complex< double > const *  DU 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a tridiagonal matrix A.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]DLThe vector DL of length n-1. The (n-1) sub-diagonal elements of A.
[in]DThe vector D of length n. The diagonal elements of A.
[in]DUThe vector DU of length n-1. The (n-1) super-diagonal elements of A.

◆ lanhb()

double lapack::lanhb ( lapack::Norm  norm,
lapack::Uplo  uplo,
int64_t  n,
int64_t  kd,
std::complex< double > const *  AB,
int64_t  ldab 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of an n-by-n hermitian band matrix A, with kd super-diagonals.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>. For real matrices, this is an alias for lapack::lansb. For complex symmetric matrices, see lapack::lansb.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]uploWhether the upper or lower triangular part of the band matrix A is supplied.
  • lapack::Uplo::Upper: Upper triangular
  • lapack::Uplo::Lower: Lower triangular
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]kdThe number of super-diagonals or sub-diagonals of the band matrix A. kd >= 0.
[in]ABThe kd+1-by-n matrix AB, stored in an ldab-by-n array. The upper or lower triangle of the hermitian band matrix A, stored in the first kd+1 rows of AB. The j-th column of A is stored in the j-th column of the array AB as follows:
  • if uplo = Upper, AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd) <= i <= j;
  • if uplo = Lower, AB(1+i-j,j) = A(i,j) for j <= i <= min(n,j+kd).
  • Note that the imaginary parts of the diagonal elements need not be set and are assumed to be zero.
[in]ldabThe leading dimension of the array AB. ldab >= kd+1.

◆ lanhe()

double lapack::lanhe ( lapack::Norm  norm,
lapack::Uplo  uplo,
int64_t  n,
std::complex< double > const *  A,
int64_t  lda 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a complex hermitian matrix A.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>. For real matrices, this is an alias for lapack::lansy. For complex symmetric matrices, see lapack::lansy.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]uploWhether the upper or lower triangular part of the hermitian matrix A is to be referenced.
  • lapack::Uplo::Upper: Upper triangular part of A is referenced
  • lapack::Uplo::Lower: Lower triangular part of A is referenced
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]AThe n-by-n matrix A, stored in an lda-by-n array. The hermitian matrix A.
  • If uplo = Upper, the leading n-by-n upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced.
  • If uplo = Lower, the leading n-by-n lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
  • Note that the imaginary parts of the diagonal elements need not be set and are assumed to be zero.
[in]ldaThe leading dimension of the array A. lda >= max(n,1).

◆ lanhp()

double lapack::lanhp ( lapack::Norm  norm,
lapack::Uplo  uplo,
int64_t  n,
std::complex< double > const *  AP 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a complex hermitian matrix A, supplied in packed form.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>. For real matrices, this is an alias for lapack::lansp. For complex symmetric matrices, see lapack::lansp.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]uploWhether the upper or lower triangular part of the hermitian matrix A is supplied.
  • lapack::Uplo::Upper: Upper triangular part of A is supplied
  • lapack::Uplo::Lower: Lower triangular part of A is supplied
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]APThe vector AP of length n*(n+1)/2. The upper or lower triangle of the hermitian matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows:
  • if uplo = Upper, AP(i + (j-1)*j/2) = A(i,j) for 1 <= i <= j;
  • if uplo = Lower, AP(i + (j-1)*(2n-j)/2) = A(i,j) for j <= i <= n.
  • Note that the imaginary parts of the diagonal elements need not be set and are assumed to be zero.

◆ lanhs()

double lapack::lanhs ( lapack::Norm  norm,
int64_t  n,
std::complex< double > const *  A,
int64_t  lda 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a Hessenberg matrix A.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]AThe n-by-n matrix A, stored in an lda-by-n array. The n-by-n upper Hessenberg matrix A; the part of A below the first sub-diagonal is not referenced.
[in]ldaThe leading dimension of the array A. lda >= max(n,1).

◆ lanht()

double lapack::lanht ( lapack::Norm  norm,
int64_t  n,
double const *  D,
std::complex< double > const *  E 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a Hermitian tridiagonal matrix A.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>. For real matrices, this is an alias for lapack::lanst. For complex symmetric matrices, see lapack::lanst.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]DThe vector D of length n. The diagonal elements of A.
[in]EThe vector E of length n-1. The (n-1) sub-diagonal or super-diagonal elements of A.

◆ lansb()

double lapack::lansb ( lapack::Norm  norm,
lapack::Uplo  uplo,
int64_t  n,
int64_t  kd,
std::complex< double > const *  AB,
int64_t  ldab 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of an n-by-n symmetric band matrix A, with kd super-diagonals.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>. For real matrices, lapack::lanhb is an alias for this. For complex Hermitian matrices, see lapack::lanhb.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]uploWhether the upper or lower triangular part of the band matrix A is supplied.
  • lapack::Uplo::Upper: Upper triangular part is supplied
  • lapack::Uplo::Lower: Lower triangular part is supplied
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]kdThe number of super-diagonals or sub-diagonals of the band matrix A. kd >= 0.
[in]ABThe kd+1-by-n matrix AB, stored in an ldab-by-n array. The upper or lower triangle of the symmetric band matrix A, stored in the first kd+1 rows of AB. The j-th column of A is stored in the j-th column of the array AB as follows:
  • if uplo = Upper, AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd) <= i <= j;
  • if uplo = Lower, AB(1+i-j,j) = A(i,j) for j <= i <= min(n,j+kd).
[in]ldabThe leading dimension of the array AB. ldab >= kd+1.

◆ lansp()

double lapack::lansp ( lapack::Norm  norm,
lapack::Uplo  uplo,
int64_t  n,
std::complex< double > const *  AP 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a complex symmetric matrix A, supplied in packed form.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>. For real matrices, lapack::lanhp is an alias for this. For complex Hermitian matrices, see lapack::lanhp.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]uploWhether the upper or lower triangular part of the symmetric matrix A is supplied.
  • lapack::Uplo::Upper: Upper triangular part of A is supplied
  • lapack::Uplo::Lower: Lower triangular part of A is supplied
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]APThe vector AP of length n*(n+1)/2. The upper or lower triangle of the symmetric matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows:
  • if uplo = Upper, AP(i + (j-1)*j/2) = A(i,j) for 1 <= i <= j;
  • if uplo = Lower, AP(i + (j-1)*(2n-j)/2) = A(i,j) for j <= i <= n.

◆ lanst()

double lapack::lanst ( lapack::Norm  norm,
int64_t  n,
double const *  D,
double const *  E 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a symmetric tridiagonal matrix A.

Overloaded versions are available for float, double. For real matrices, lapack::lanht is an alias for this. For complex matrices, see lapack::lanht.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]DThe vector D of length n. The diagonal elements of A.
[in]EThe vector E of length n-1. The (n-1) sub-diagonal or super-diagonal elements of A.

◆ lansy()

double lapack::lansy ( lapack::Norm  norm,
lapack::Uplo  uplo,
int64_t  n,
std::complex< double > const *  A,
int64_t  lda 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a complex symmetric matrix A.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>. For real matrices, lapack::lanhe is an alias for this. For complex Hermitian matrices, see lapack::lanhe.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]uploWhether the upper or lower triangular part of the symmetric matrix A is to be referenced.
  • lapack::Uplo::Upper: Upper triangular part of A is referenced
  • lapack::Uplo::Lower: Lower triangular part of A is referenced
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]AThe n-by-n matrix A, stored in an lda-by-n array. The symmetric matrix A.
  • If uplo = Upper, the leading n-by-n upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced.
  • If uplo = Lower, the leading n-by-n lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
[in]ldaThe leading dimension of the array A. lda >= max(n,1).

◆ lantb()

double lapack::lantb ( lapack::Norm  norm,
lapack::Uplo  uplo,
lapack::Diag  diag,
int64_t  n,
int64_t  k,
std::complex< double > const *  AB,
int64_t  ldab 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of an n-by-n triangular band matrix A, with (k + 1) diagonals.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]uploWhether the matrix A is upper or lower triangular.
  • lapack::Uplo::Upper: Upper triangular
  • lapack::Uplo::Lower: Lower triangular
[in]diagWhether or not the matrix A is unit triangular.
  • lapack::Diag::NonUnit: Non-unit triangular
  • lapack::Diag::Unit: Unit triangular
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]k
  • If uplo = Upper, the number of super-diagonals of the matrix A;
  • if uplo = Lower, the number of sub-diagonals of the matrix A
  • k >= 0.
[in]ABThe n-by-n band matrix AB, stored in an ldab-by-n array. The upper or lower triangular band matrix A, stored in the first k+1 rows of AB. The j-th column of A is stored in the j-th column of the array AB as follows:
  • if uplo = Upper, AB(k+1+i-j,j) = A(i,j) for max(1,j-k) <= i <= j;
  • if uplo = Lower, AB(1+i-j,j) = A(i,j) for j <= i <= min(n,j+k).
  • Note that when diag = Unit, the elements of the array AB corresponding to the diagonal elements of the matrix A are not referenced, but are assumed to be one.
[in]ldabThe leading dimension of the array AB. ldab >= k+1.

◆ lantp()

double lapack::lantp ( lapack::Norm  norm,
lapack::Uplo  uplo,
lapack::Diag  diag,
int64_t  n,
std::complex< double > const *  AP 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a triangular matrix A, supplied in packed form.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]uploWhether the matrix A is upper or lower triangular.
  • lapack::Uplo::Upper: Upper triangular
  • lapack::Uplo::Lower: Lower triangular
[in]diagWhether or not the matrix A is unit triangular.
  • lapack::Diag::NonUnit: Non-unit triangular
  • lapack::Diag::Unit: Unit triangular
[in]nThe order of the matrix A. n >= 0. When n = 0, returns zero.
[in]APThe n-by-n matrix AP, packed in an (n*(n+1)/2) array. The upper or lower triangular matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows:
  • if uplo = Upper, AP(i + (j-1)*j/2) = A(i,j) for 1 <= i <= j;
  • if uplo = Lower, AP(i + (j-1)*(2n-j)/2) = A(i,j) for j <= i <= n.
  • Note that when diag = Unit, the elements of the array AP corresponding to the diagonal elements of the matrix A are not referenced, but are assumed to be one.

◆ lantr()

double lapack::lantr ( lapack::Norm  norm,
lapack::Uplo  uplo,
lapack::Diag  diag,
int64_t  m,
int64_t  n,
std::complex< double > const *  A,
int64_t  lda 
)

Returns the value of the one norm, Frobenius norm, infinity norm, or the element of largest absolute value of a trapezoidal or triangular matrix A.

Overloaded versions are available for float, double, std::complex<float>, and std::complex<double>.

Parameters
[in]normThe value to be returned:
  • lapack::Norm::Max: max norm: max(abs(A(i,j))). Note this is not a consistent matrix norm.
  • lapack::Norm::One: one norm: maximum column sum
  • lapack::Norm::Inf: infinity norm: maximum row sum
  • lapack::Norm::Fro: Frobenius norm: square root of sum of squares
[in]uploWhether the matrix A is upper or lower trapezoidal.
  • lapack::Uplo::Upper: Upper trapezoidal
  • lapack::Uplo::Lower: Lower trapezoidal
  • Note that A is triangular instead of trapezoidal if m = n.
[in]diagWhether or not the matrix A has unit diagonal.
  • lapack::Diag::NonUnit: Non-unit diagonal
  • lapack::Diag::Unit: Unit diagonal
[in]mThe number of rows of the matrix A. m >= 0. When m = 0, returns zero.
  • If uplo == Upper, m <= n;
  • if uplo == Lower, m >= n.
[in]nThe number of columns of the matrix A. When n = 0, returns zero.
[in]AThe m-by-n matrix A, stored in an lda-by-n array. The trapezoidal matrix A (A is triangular if m = n).
  • If uplo = Upper, the leading m-by-n upper trapezoidal part of the array A contains the upper trapezoidal matrix, and the strictly lower triangular part of A is not referenced.
  • If uplo = Lower, the leading m-by-n lower trapezoidal part of the array A contains the lower trapezoidal matrix, and the strictly upper triangular part of A is not referenced.
  • Note that when diag = Unit, the diagonal elements of A are not referenced and are assumed to be one.
[in]ldaThe leading dimension of the array A. lda >= max(m,1).