Procedures

ProcedureLocationProcedure TypeDescription
adjustl stdlib_string_type Interface

Left-adjust the character sequence represented by the string. The length of the character sequence remains unchanged.

Read more…
adjustr stdlib_string_type Interface

Right-adjust the character sequence represented by the string. The length of the character sequence remains unchanged.

Read more…
all_close stdlib_math Interface

Returns a boolean scalar where two arrays are element-wise equal within a tolerance. (Specification)

and stdlib_bitsets Interface

Sets the bits in set1 to the bitwise and of the original bits in set1 and set2. The sets must have the same number of bits otherwise the result is undefined. (Specification)

Read more…
and_not stdlib_bitsets Interface

Sets the bits in set1 to the bitwise and of the original bits in set1 with the bitwise negation of set2. The sets must have the same number of bits otherwise the result is undefined.

Read more…
arange stdlib_math Interface

arange creates a one-dimensional array of the integer/real type with fixed-spaced values of given spacing, within a given interval. (Specification)

arg stdlib_math Interface

arg computes the phase angle in the interval (-π,π]. (Specification)

arg_select stdlib_selection Interface

(Specification)

argd stdlib_math Interface

argd computes the phase angle of degree version in the interval (-180.0,180.0]. (Specification)

argpi stdlib_math Interface

argpi computes the phase angle of circular version in the interval (-1.0,1.0]. (Specification)

assignment(=) stdlib_bitsets Interface

Used to define assignment for bitset_large. (Specification)

Read more…
assignment(=) stdlib_string_type Interface

Assign a character sequence to a string.

asum stdlib_linalg_blas Interface

ASUM takes the sum of the absolute values.

axpy stdlib_linalg_blas Interface

AXPY constant times a vector plus a vector.

bbcsd stdlib_linalg_lapack Interface

BBCSD computes the CS decomposition of a unitary matrix in bidiagonal-block form, [ B11 | B12 0 0 ] [ 0 | 0 -I 0 ] X = [----------------] [ B21 | B22 0 0 ] [ 0 | 0 0 I ] [ C | -S 0 0 ]

Read more…
bdsdc stdlib_linalg_lapack Interface

BDSDC computes the singular value decomposition (SVD) of a real N-by-N (upper or lower) bidiagonal matrix B: B = U * S * VT, using a divide and conquer method, where S is a diagonal matrix with non-negative diagonal elements (the singular values of B), and U and VT are orthogonal matrices of left and right singular vectors, respectively. BDSDC can be used to compute all singular values, and optionally, singular vectors or singular vectors in compact form. This code makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none. See DLASD3 for details. The code currently calls DLASDQ if singular values only are desired. However, it can be slightly modified to compute singular values using the divide and conquer method.

bdsqr stdlib_linalg_lapack Interface

BDSQR computes the singular values and, optionally, the right and/or left singular vectors from the singular value decomposition (SVD) of a real N-by-N (upper or lower) bidiagonal matrix B using the implicit zero-shift QR algorithm. The SVD of B has the form B = Q * S * PH where S is the diagonal matrix of singular values, Q is an orthogonal matrix of left singular vectors, and P is an orthogonal matrix of right singular vectors. If left singular vectors are requested, this subroutine actually returns U*Q instead of Q, and, if right singular vectors are requested, this subroutine returns PHVT instead of PH, for given complex input matrices U and VT. When U and VT are the unitary matrices that reduce a general matrix A to bidiagonal form: A = UBVT, as computed by CGEBRD, then A = (UQ) * S * (PH*VT) is the SVD of A. Optionally, the subroutine may also compute QH*C for a given complex input matrix C. See "Computing Small Singular Values of Bidiagonal Matrices With Guaranteed High Relative Accuracy," by J. Demmel and W. Kahan, LAPACK Working Note #3 (or SIAM J. Sci. Statist. Comput. vol. 11, no. 5, pp. 873-912, Sept 1990) and "Accurate singular values and differential qd algorithms," by B. Parlett and V. Fernando, Technical Report CPAM-554, Mathematics Department, University of California at Berkeley, July 1992 for a detailed description of the algorithm.

bidx stdlib_stringlist_type Interface

Returns an instance of type 'stringlist_index_type' representing backward index Specifications

bits stdlib_bitsets Function

Returns the number of bit positions in self.

cdf_exp stdlib_stats_distribution_exponential Interface

Version experimental

Read more…
cdf_normal stdlib_stats_distribution_normal Interface

Normal Distribution Cumulative Distribution Function (Specification)

cdf_uniform stdlib_stats_distribution_uniform Interface

Get uniform distribution cumulative distribution function (cdf) for integer, real and complex variables. (Specification)

char stdlib_string_type Interface

Return the character sequence represented by the string.

Read more…
check stdlib_error Subroutine

Checks the value of a logical condition (Specification)

Read more…
chol stdlib_linalg Interface

Computes the Cholesky factorization , or . (Specification)

Read more…
cholesky stdlib_linalg Interface

Computes the Cholesky factorization , or . (Specification)

Read more…
chomp stdlib_strings Interface

Remove trailing characters in set from string. If no character set is provided trailing whitespace is removed.

Read more…
clip stdlib_math Interface
constrained_lstsq stdlib_linalg Interface

Computes the solution of the equality constrained least-squares problem

Read more…
constrained_lstsq_space stdlib_linalg Interface

Computes the size of the workspace required by the constrained least-squares solver. (Specification)

Read more…
coo2csc stdlib_sparse_conversion Interface
coo2csr stdlib_sparse_conversion Interface
coo2dense stdlib_sparse_conversion Interface
coo2ordered stdlib_sparse_conversion Subroutine
copy stdlib_linalg_blas Interface

COPY copies a vector x to a vector y.

copy_key stdlib_hashmap_wrappers Subroutine

Copies the contents of the key, old_key, to the key, new_key (Specifications)

Read more…
corr stdlib_stats Interface

Pearson correlation of array elements (Specification)

count stdlib_strings Interface

Returns the number of times substring 'pattern' has appeared in the input string 'string' Specifications

cov stdlib_stats Interface

Covariance of array elements (Specification)

cross_product stdlib_linalg Interface

Computes the cross product of two vectors, returning a rank-1 and size-3 array (Specification)

csc2coo stdlib_sparse_conversion Interface
csr2coo stdlib_sparse_conversion Interface
csr2dense stdlib_sparse_conversion Interface
csr2ell stdlib_sparse_conversion Interface
csr2sellc stdlib_sparse_conversion Interface
deg2rad stdlib_math Interface

deg2rad converts phase angles from degrees to radians. (Specification)

dense stdlib_specialmatrices Interface

This interface provides methods to convert a matrix of one of the types defined by stdlib_specialmatrices to a standard rank-2 array. (Specifications)

dense2coo stdlib_sparse_conversion Interface
det stdlib_linalg Interface

Computes the determinant of a square matrix (Specification)

Read more…
diag stdlib_sparse_conversion Interface
diag stdlib_linalg Interface

Creates a diagonal array or extract the diagonal elements of an array (Specification)

diff stdlib_math Interface

Computes differences between adjacent elements of an array. (Specification)

disna stdlib_linalg_lapack Interface

DISNA computes the reciprocal condition numbers for the eigenvectors of a real symmetric or complex Hermitian matrix or for the left or right singular vectors of a general m-by-n matrix. The reciprocal condition number is the 'gap' between the corresponding eigenvalue or singular value and the nearest other one. The bound on the error, measured by angle in radians, in the I-th computed vector is given by DLAMCH( 'E' ) * ( ANORM / SEP( I ) ) where ANORM = 2-norm(A) = max( abs( D(j) ) ). SEP(I) is not allowed to be smaller than DLAMCH( 'E' )*ANORM in order to limit the size of the error bound. DISNA may also be used to compute error bounds for eigenvectors of the generalized symmetric definite eigenproblem.

dist_rand stdlib_random Interface

Version experimental

Read more…
dlegendre stdlib_specialfunctions Interface

First derivative Legendre polynomial

dot stdlib_linalg_blas Interface

DOT forms the dot product of two vectors. uses unrolled loops for increments equal to one.

dotc stdlib_linalg_blas Interface

DOTC forms the dot product of two complex vectors DOTC = X^H * Y

dotu stdlib_linalg_blas Interface

DOTU forms the dot product of two complex vectors DOTU = X^T * Y

eig stdlib_linalg Interface

Solves the eigendecomposition for square matrix . (Specification)

Read more…
eigh stdlib_linalg Interface

Solves the eigendecomposition for a real symmetric or complex Hermitian square matrix. (Specification)

Read more…
eigvals stdlib_linalg Interface

Returns the eigenvalues , , for square matrix . (Specification)

Read more…
eigvalsh stdlib_linalg Interface

Returns the eigenvalues , , for a real symmetric or complex Hermitian square matrix. (Specification)

Read more…
elu stdlib_specialfunctions Interface

exponential linear unit function

elu_grad stdlib_specialfunctions Interface

gradient of the exponential linear unit function

ends_with stdlib_strings Interface

Check whether a string ends with substring or not

Read more…
error_handler stdlib_bitsets Subroutine
error_stop stdlib_error Interface
expm stdlib_linalg Interface

Matrix exponential: function interface version : experimental

Read more…
extract stdlib_bitsets Interface

Creates a new bitset, new, from a range, start_pos to stop_pos, in bitset old. If start_pos is greater than stop_pos the new bitset is empty. If start_pos is less than zero or stop_pos is greater than bits(old)-1 then if status is present it has the value index_invalid_error and new is undefined, otherwise processing stops with an informative message. (Specification)

Read more…
eye stdlib_linalg Interface

Constructs the identity matrix (Specification)

falseloc stdlib_array Function

Return the positions of the false elements in array. Specification

fast_erf stdlib_specialfunctions Interface

Fast approximation of the erf function

fast_tanh stdlib_specialfunctions Interface

Fast approximation of the tanh function

fast_tanh_grad stdlib_specialfunctions Interface

gradient of the hyperbolic tangent function

fibonacci_hash stdlib_hash_64bit Function

Maps the 64 bit integer key to an unsigned integer value with only nbits bits where nbits is less than 64 (Specification)

fibonacci_hash stdlib_hash_32bit Function

Maps the 32 bit integer key to an unsigned integer value with only nbits bits where nbits is less than 32 (Specification)

fidx stdlib_stringlist_type Interface

Returns an instance of type 'stringlist_index_type' representing forward index Specifications

find stdlib_strings Interface

Finds the starting index of substring 'pattern' in the input 'string' Specifications

Read more…
fnv_1_hash stdlib_hash_64bit Interface

FNV_1 interfaces (Specification)

fnv_1_hash stdlib_hash_32bit Interface

FNV_1 interfaces (Specification)

fnv_1_hasher stdlib_hashmap_wrappers Function

Hashes a key with the FNV_1 algorithm Arguments: key - the key to be hashed

fnv_1a_hash stdlib_hash_64bit Interface

FNV_1A interfaces (Specification)

fnv_1a_hash stdlib_hash_32bit Interface

FNV_1A interfaces (Specification)

fnv_1a_hasher stdlib_hashmap_wrappers Function

Hashes a key with the FNV_1a algorithm (Specifications)

Read more…
free_key stdlib_hashmap_wrappers Subroutine

Frees the memory in a key (Specifications)

Read more…
from_ijv stdlib_sparse_conversion Interface
gamma stdlib_specialfunctions_gamma Interface

Gamma function for integer and complex numbers

gauss_legendre stdlib_quadrature Interface

Computes Gauss-Legendre quadrature nodes and weights.

gauss_legendre_lobatto stdlib_quadrature Interface

Computes Gauss-Legendre-Lobatto quadrature nodes and weights.

gaussian stdlib_specialfunctions Interface

gaussian function

gaussian_grad stdlib_specialfunctions Interface

gradient of the gaussian function

gbbrd stdlib_linalg_lapack Interface

GBBRD reduces a complex general m-by-n band matrix A to real upper bidiagonal form B by a unitary transformation: QH * A * P = B. The routine computes B, and optionally forms Q or PH, or computes Q*HC for a given matrix C.

gbcon stdlib_linalg_lapack Interface

GBCON estimates the reciprocal of the condition number of a complex general band matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by CGBTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / ( norm(A) * norm(inv(A)) ).

gbequ stdlib_linalg_lapack Interface

GBEQU computes row and column scalings intended to equilibrate an M-by-N band matrix A and reduce its condition number. R returns the row scale factors and C the column scale factors, chosen to try to make the largest element in each row and column of the matrix B with elements B(i,j)=R(i)A(i,j)C(j) have absolute value 1. R(i) and C(j) are restricted to be between SMLNUM = smallest safe number and BIGNUM = largest safe number. Use of these scaling factors is not guaranteed to reduce the condition number of A but works well in practice.

gbequb stdlib_linalg_lapack Interface

GBEQUB computes row and column scalings intended to equilibrate an M-by-N matrix A and reduce its condition number. R returns the row scale factors and C the column scale factors, chosen to try to make the largest element in each row and column of the matrix B with elements B(i,j)=R(i)A(i,j)C(j) have an absolute value of at most the radix. R(i) and C(j) are restricted to be a power of the radix between SMLNUM = smallest safe number and BIGNUM = largest safe number. Use of these scaling factors is not guaranteed to reduce the condition number of A but works well in practice. This routine differs from CGEEQU by restricting the scaling factors to a power of the radix. Barring over- and underflow, scaling by these factors introduces no additional rounding errors. However, the scaled entries' magnitudes are no longer approximately 1 but lie between sqrt(radix) and 1/sqrt(radix).

gbmv stdlib_linalg_blas Interface

GBMV performs one of the matrix-vector operations y := alphaAx + betay, or y := alphaATx + betay, or y := alpha*AHx + betay, where alpha and beta are scalars, x and y are vectors and A is an m by n band matrix, with kl sub-diagonals and ku super-diagonals.

gbrfs stdlib_linalg_lapack Interface

GBRFS improves the computed solution to a system of linear equations when the coefficient matrix is banded, and provides error bounds and backward error estimates for the solution.

gbsv stdlib_linalg_lapack Interface

GBSV computes the solution to a complex system of linear equations A * X = B, where A is a band matrix of order N with KL subdiagonals and KU superdiagonals, and X and B are N-by-NRHS matrices. The LU decomposition with partial pivoting and row interchanges is used to factor A as A = L * U, where L is a product of permutation and unit lower triangular matrices with KL subdiagonals, and U is upper triangular with KL+KU superdiagonals. The factored form of A is then used to solve the system of equations A * X = B.

gbtrf stdlib_linalg_lapack Interface

GBTRF computes an LU factorization of a complex m-by-n band matrix A using partial pivoting with row interchanges. This is the blocked version of the algorithm, calling Level 3 BLAS.

gbtrs stdlib_linalg_lapack Interface

GBTRS solves a system of linear equations A * X = B, AT * X = B, or AH * X = B with a general band matrix A using the LU factorization computed by CGBTRF.

gcd stdlib_math Interface

Returns the greatest common divisor of two integers (Specification)

Read more…
gebak stdlib_linalg_lapack Interface

GEBAK forms the right or left eigenvectors of a complex general matrix by backward transformation on the computed eigenvectors of the balanced matrix output by CGEBAL.

gebal stdlib_linalg_lapack Interface

GEBAL balances a general complex matrix A. This involves, first, permuting A by a similarity transformation to isolate eigenvalues in the first 1 to ILO-1 and last IHI+1 to N elements on the diagonal; and second, applying a diagonal similarity transformation to rows and columns ILO to IHI to make the rows and columns as close in norm as possible. Both steps are optional. Balancing may reduce the 1-norm of the matrix, and improve the accuracy of the computed eigenvalues and/or eigenvectors.

gebrd stdlib_linalg_lapack Interface

GEBRD reduces a general complex M-by-N matrix A to upper or lower bidiagonal form B by a unitary transformation: Q**H * A * P = B. If m >= n, B is upper bidiagonal; if m < n, B is lower bidiagonal.

gecon stdlib_linalg_lapack Interface

GECON estimates the reciprocal of the condition number of a general complex matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by CGETRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / ( norm(A) * norm(inv(A)) ).

geequ stdlib_linalg_lapack Interface

GEEQU computes row and column scalings intended to equilibrate an M-by-N matrix A and reduce its condition number. R returns the row scale factors and C the column scale factors, chosen to try to make the largest element in each row and column of the matrix B with elements B(i,j)=R(i)A(i,j)C(j) have absolute value 1. R(i) and C(j) are restricted to be between SMLNUM = smallest safe number and BIGNUM = largest safe number. Use of these scaling factors is not guaranteed to reduce the condition number of A but works well in practice.

geequb stdlib_linalg_lapack Interface

GEEQUB computes row and column scalings intended to equilibrate an M-by-N matrix A and reduce its condition number. R returns the row scale factors and C the column scale factors, chosen to try to make the largest element in each row and column of the matrix B with elements B(i,j)=R(i)A(i,j)C(j) have an absolute value of at most the radix. R(i) and C(j) are restricted to be a power of the radix between SMLNUM = smallest safe number and BIGNUM = largest safe number. Use of these scaling factors is not guaranteed to reduce the condition number of A but works well in practice. This routine differs from CGEEQU by restricting the scaling factors to a power of the radix. Barring over- and underflow, scaling by these factors introduces no additional rounding errors. However, the scaled entries' magnitudes are no longer approximately 1 but lie between sqrt(radix) and 1/sqrt(radix).

gees stdlib_linalg_lapack Interface

GEES computes for an N-by-N complex nonsymmetric matrix A, the eigenvalues, the Schur form T, and, optionally, the matrix of Schur vectors Z. This gives the Schur factorization A = ZT(Z**H). Optionally, it also orders the eigenvalues on the diagonal of the Schur form so that selected eigenvalues are at the top left. The leading columns of Z then form an orthonormal basis for the invariant subspace corresponding to the selected eigenvalues. A complex matrix is in Schur form if it is upper triangular.

geev stdlib_linalg_lapack Interface

GEEV computes for an N-by-N complex nonsymmetric matrix A, the eigenvalues and, optionally, the left and/or right eigenvectors. The right eigenvector v(j) of A satisfies A * v(j) = lambda(j) * v(j) where lambda(j) is its eigenvalue. The left eigenvector u(j) of A satisfies u(j)H * A = lambda(j) * u(j)H where u(j)**H denotes the conjugate transpose of u(j). The computed eigenvectors are normalized to have Euclidean norm equal to 1 and largest component real.

gehrd stdlib_linalg_lapack Interface

GEHRD reduces a complex general matrix A to upper Hessenberg form H by an unitary similarity transformation: Q**H * A * Q = H .

gejsv stdlib_linalg_lapack Interface

GEJSV computes the singular value decomposition (SVD) of a complex M-by-N matrix [A], where M >= N. The SVD of [A] is written as [A] = [U] * [SIGMA] * [V]^*, where [SIGMA] is an N-by-N (M-by-N) matrix which is zero except for its N diagonal elements, [U] is an M-by-N (or M-by-M) unitary matrix, and [V] is an N-by-N unitary matrix. The diagonal elements of [SIGMA] are the singular values of [A]. The columns of [U] and [V] are the left and the right singular vectors of [A], respectively. The matrices [U] and [V] are computed and stored in the arrays U and V, respectively. The diagonal of [SIGMA] is computed and stored in the array SVA.

gelq stdlib_linalg_lapack Interface

GELQ computes an LQ factorization of a complex M-by-N matrix A: A = ( L 0 ) * Q where: Q is a N-by-N orthogonal matrix; L is a lower-triangular M-by-M matrix; 0 is a M-by-(N-M) zero matrix, if M < N.

gelqf stdlib_linalg_lapack Interface

GELQF computes an LQ factorization of a complex M-by-N matrix A: A = ( L 0 ) * Q where: Q is a N-by-N orthogonal matrix; L is a lower-triangular M-by-M matrix; 0 is a M-by-(N-M) zero matrix, if M < N.

gelqt stdlib_linalg_lapack Interface

GELQT computes a blocked LQ factorization of a complex M-by-N matrix A using the compact WY representation of Q.

gelqt3 stdlib_linalg_lapack Interface

GELQT3 recursively computes a LQ factorization of a complex M-by-N matrix A, using the compact WY representation of Q. Based on the algorithm of Elmroth and Gustavson, IBM J. Res. Develop. Vol 44 No. 4 July 2000.

gels stdlib_linalg_lapack Interface

GELS solves overdetermined or underdetermined complex linear systems involving an M-by-N matrix A, or its conjugate-transpose, using a QR or LQ factorization of A. It is assumed that A has full rank. The following options are provided: 1. If TRANS = 'N' and m >= n: find the least squares solution of an overdetermined system, i.e., solve the least squares problem minimize || B - AX ||. 2. If TRANS = 'N' and m < n: find the minimum norm solution of an underdetermined system A * X = B. 3. If TRANS = 'C' and m >= n: find the minimum norm solution of an underdetermined system AH * X = B. 4. If TRANS = 'C' and m < n: find the least squares solution of an overdetermined system, i.e., solve the least squares problem minimize || B - A*H * X ||. Several right hand side vectors b and solution vectors x can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X.

gelsd stdlib_linalg_lapack Interface

GELSD computes the minimum-norm solution to a real linear least squares problem: minimize 2-norm(| b - A*x |) using the singular value decomposition (SVD) of A. A is an M-by-N matrix which may be rank-deficient. Several right hand side vectors b and solution vectors x can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X. The problem is solved in three steps: (1) Reduce the coefficient matrix A to bidiagonal form with Householder transformations, reducing the original problem into a "bidiagonal least squares problem" (BLS) (2) Solve the BLS using a divide and conquer approach. (3) Apply back all the Householder transformations to solve the original least squares problem. The effective rank of A is determined by treating as zero those singular values which are less than RCOND times the largest singular value. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

gelss stdlib_linalg_lapack Interface

GELSS computes the minimum norm solution to a complex linear least squares problem: Minimize 2-norm(| b - A*x |). using the singular value decomposition (SVD) of A. A is an M-by-N matrix which may be rank-deficient. Several right hand side vectors b and solution vectors x can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X. The effective rank of A is determined by treating as zero those singular values which are less than RCOND times the largest singular value.

gelsy stdlib_linalg_lapack Interface

GELSY computes the minimum-norm solution to a complex linear least squares problem: minimize || A * X - B || using a complete orthogonal factorization of A. A is an M-by-N matrix which may be rank-deficient. Several right hand side vectors b and solution vectors x can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X. The routine first computes a QR factorization with column pivoting: A * P = Q * [ R11 R12 ] [ 0 R22 ] with R11 defined as the largest leading submatrix whose estimated condition number is less than 1/RCOND. The order of R11, RANK, is the effective rank of A. Then, R22 is considered to be negligible, and R12 is annihilated by unitary transformations from the right, arriving at the complete orthogonal factorization: A * P = Q * [ T11 0 ] * Z [ 0 0 ] The minimum-norm solution is then X = P * ZH [ inv(T11)*Q1H*B ] [ 0 ] where Q1 consists of the first RANK columns of Q. This routine is basically identical to the original xGELSX except three differences: o The permutation of matrix B (the right hand side) is faster and more simple. o The call to the subroutine xGEQPF has been substituted by the the call to the subroutine xGEQP3. This subroutine is a Blas-3 version of the QR factorization with column pivoting. o Matrix B (the right hand side) is updated with Blas-3.

gelu stdlib_specialfunctions Interface

Gaussian error linear unit function

gelu_approx stdlib_specialfunctions Interface

Approximated gaussian error linear unit function

gelu_approx_grad stdlib_specialfunctions Interface

Gradient of the approximated gaussian error linear unit function

gelu_grad stdlib_specialfunctions Interface

Gradient of the gaussian error linear unit function

gemlq stdlib_linalg_lapack Interface

GEMLQ overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': QH * C C * QH where Q is a complex unitary matrix defined as the product of blocked elementary reflectors computed by short wide LQ factorization (CGELQ)

gemlqt stdlib_linalg_lapack Interface

GEMLQT overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q C C Q TRANS = 'C': QH C C QH where Q is a complex unitary matrix defined as the product of K elementary reflectors: Q = H(1) H(2) . . . H(K) = I - V T V**H generated using the compact WY representation as returned by CGELQT. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.

gemm stdlib_linalg_blas Interface

GEMM performs one of the matrix-matrix operations C := alphaop( A )op( B ) + betaC, where op( X ) is one of op( X ) = X or op( X ) = XT or op( X ) = X*H, alpha and beta are scalars, and A, B and C are matrices, with op( A ) an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.

gemqr stdlib_linalg_lapack Interface

GEMQR overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QH * C C * QH where Q is a complex unitary matrix defined as the product of blocked elementary reflectors computed by tall skinny QR factorization (CGEQR)

gemqrt stdlib_linalg_lapack Interface

GEMQRT overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q C C Q TRANS = 'C': QH C C QH where Q is a complex orthogonal matrix defined as the product of K elementary reflectors: Q = H(1) H(2) . . . H(K) = I - V T V**H generated using the compact WY representation as returned by CGEQRT. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.

gemv stdlib_linalg_blas Interface

GEMV performs one of the matrix-vector operations y := alphaAx + betay, or y := alphaATx + betay, or y := alpha*AHx + betay, where alpha and beta are scalars, x and y are vectors and A is an m by n matrix.

geqlf stdlib_linalg_lapack Interface

GEQLF computes a QL factorization of a complex M-by-N matrix A: A = Q * L.

geqp3 stdlib_linalg_lapack Interface

GEQP3 computes a QR factorization with column pivoting of a real or complex M-by-N matrix A:

Read more…
geqr stdlib_linalg_lapack Interface

GEQR computes a QR factorization of a complex M-by-N matrix A: A = Q * ( R ), ( 0 ) where: Q is a M-by-M orthogonal matrix; R is an upper-triangular N-by-N matrix; 0 is a (M-N)-by-N zero matrix, if M > N.

geqr2p stdlib_linalg_lapack Interface

GEQR2P computes a QR factorization of a complex m-by-n matrix A: A = Q * ( R ), ( 0 ) where: Q is a m-by-m orthogonal matrix; R is an upper-triangular n-by-n matrix with nonnegative diagonal entries; 0 is a (m-n)-by-n zero matrix, if m > n.

geqrf stdlib_linalg_lapack Interface

GEQRF computes a QR factorization of a complex M-by-N matrix A: A = Q * ( R ), ( 0 ) where: Q is a M-by-M orthogonal matrix; R is an upper-triangular N-by-N matrix; 0 is a (M-N)-by-N zero matrix, if M > N.

geqrfp stdlib_linalg_lapack Interface

CGEQR2P computes a QR factorization of a complex M-by-N matrix A: A = Q * ( R ), ( 0 ) where: Q is a M-by-M orthogonal matrix; R is an upper-triangular N-by-N matrix with nonnegative diagonal entries; 0 is a (M-N)-by-N zero matrix, if M > N.

geqrt stdlib_linalg_lapack Interface

GEQRT computes a blocked QR factorization of a complex M-by-N matrix A using the compact WY representation of Q.

geqrt2 stdlib_linalg_lapack Interface

GEQRT2 computes a QR factorization of a complex M-by-N matrix A, using the compact WY representation of Q.

geqrt3 stdlib_linalg_lapack Interface

GEQRT3 recursively computes a QR factorization of a complex M-by-N matrix A, using the compact WY representation of Q. Based on the algorithm of Elmroth and Gustavson, IBM J. Res. Develop. Vol 44 No. 4 July 2000.

ger stdlib_linalg_blas Interface

GER performs the rank 1 operation A := alphaxy**T + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.

gerc stdlib_linalg_blas Interface

GERC performs the rank 1 operation A := alphaxy**H + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.

gerfs stdlib_linalg_lapack Interface

GERFS improves the computed solution to a system of linear equations and provides error bounds and backward error estimates for the solution.

gerqf stdlib_linalg_lapack Interface

GERQF computes an RQ factorization of a complex M-by-N matrix A: A = R * Q.

geru stdlib_linalg_blas Interface

GERU performs the rank 1 operation A := alphaxy**T + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.

gesdd stdlib_linalg_lapack Interface

GESDD computes the singular value decomposition (SVD) of a complex M-by-N matrix A, optionally computing the left and/or right singular vectors, by using divide-and-conquer method. The SVD is written A = U * SIGMA * conjugate-transpose(V) where SIGMA is an M-by-N matrix which is zero except for its min(m,n) diagonal elements, U is an M-by-M unitary matrix, and V is an N-by-N unitary matrix. The diagonal elements of SIGMA are the singular values of A; they are real and non-negative, and are returned in descending order. The first min(m,n) columns of U and V are the left and right singular vectors of A. Note that the routine returns VT = V**H, not V. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

gesv stdlib_linalg_lapack Interface

GESV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N matrix and X and B are N-by-NRHS matrices. The LU decomposition with partial pivoting and row interchanges is used to factor A as A = P * L * U, where P is a permutation matrix, L is unit lower triangular, and U is upper triangular. The factored form of A is then used to solve the system of equations A * X = B.

gesvd stdlib_linalg_lapack Interface

GESVD computes the singular value decomposition (SVD) of a complex M-by-N matrix A, optionally computing the left and/or right singular vectors. The SVD is written A = U * SIGMA * conjugate-transpose(V) where SIGMA is an M-by-N matrix which is zero except for its min(m,n) diagonal elements, U is an M-by-M unitary matrix, and V is an N-by-N unitary matrix. The diagonal elements of SIGMA are the singular values of A; they are real and non-negative, and are returned in descending order. The first min(m,n) columns of U and V are the left and right singular vectors of A. Note that the routine returns V**H, not V.

gesvdq stdlib_linalg_lapack Interface

GESVDQ computes the singular value decomposition (SVD) of a complex M-by-N matrix A, where M >= N. The SVD of A is written as [++] [xx] [x0] [xx] A = U * SIGMA * V^*, [++] = [xx] * [ox] * [xx] [++] [xx] where SIGMA is an N-by-N diagonal matrix, U is an M-by-N orthonormal matrix, and V is an N-by-N unitary matrix. The diagonal elements of SIGMA are the singular values of A. The columns of U and V are the left and the right singular vectors of A, respectively.

gesvj stdlib_linalg_lapack Interface

GESVJ computes the singular value decomposition (SVD) of a complex M-by-N matrix A, where M >= N. The SVD of A is written as [++] [xx] [x0] [xx] A = U * SIGMA * V^*, [++] = [xx] * [ox] * [xx] [++] [xx] where SIGMA is an N-by-N diagonal matrix, U is an M-by-N orthonormal matrix, and V is an N-by-N unitary matrix. The diagonal elements of SIGMA are the singular values of A. The columns of U and V are the left and the right singular vectors of A, respectively.

get stdlib_hashmap_wrappers Interface
get_file stdlib_io Interface
get_line stdlib_io Interface

Read a whole line from a formatted unit into a string variable

get_norm stdlib_linalg Interface

Vector norm: subroutine interface version: experimental

Read more…
get_stdlib_version stdlib_version Subroutine

Getter function to retrieve standard library version

getrf stdlib_linalg_lapack Interface

GETRF computes an LU factorization of a general M-by-N matrix A using partial pivoting with row interchanges. The factorization has the form A = P * L * U where P is a permutation matrix, L is lower triangular with unit diagonal elements (lower trapezoidal if m > n), and U is upper triangular (upper trapezoidal if m < n). This is the right-looking Level 3 BLAS version of the algorithm.

getrf2 stdlib_linalg_lapack Interface

GETRF2 computes an LU factorization of a general M-by-N matrix A using partial pivoting with row interchanges. The factorization has the form A = P * L * U where P is a permutation matrix, L is lower triangular with unit diagonal elements (lower trapezoidal if m > n), and U is upper triangular (upper trapezoidal if m < n). This is the recursive version of the algorithm. It divides the matrix into four submatrices: [ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2 A = [ -----|----- ] with n1 = min(m,n)/2 [ A21 | A22 ] n2 = n-n1 [ A11 ] The subroutine calls itself to factor [ --- ], [ A12 ] [ A12 ] do the swaps on [ --- ], solve A12, update A22, [ A22 ] then calls itself to factor A22 and do the swaps on A21.

getri stdlib_linalg_lapack Interface

GETRI computes the inverse of a matrix using the LU factorization computed by CGETRF. This method inverts U and then computes inv(A) by solving the system inv(A)*L = inv(U) for inv(A).

getrs stdlib_linalg_lapack Interface

GETRS solves a system of linear equations A * X = B, AT * X = B, or AH * X = B with a general N-by-N matrix A using the LU factorization computed by CGETRF.

getsls stdlib_linalg_lapack Interface

GETSLS solves overdetermined or underdetermined complex linear systems involving an M-by-N matrix A, using a tall skinny QR or short wide LQ factorization of A. It is assumed that A has full rank. The following options are provided: 1. If TRANS = 'N' and m >= n: find the least squares solution of an overdetermined system, i.e., solve the least squares problem minimize || B - AX ||. 2. If TRANS = 'N' and m < n: find the minimum norm solution of an underdetermined system A * X = B. 3. If TRANS = 'C' and m >= n: find the minimum norm solution of an undetermined system AT * X = B. 4. If TRANS = 'C' and m < n: find the least squares solution of an overdetermined system, i.e., solve the least squares problem minimize || B - A*T * X ||. Several right hand side vectors b and solution vectors x can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X.

getsqrhrt stdlib_linalg_lapack Interface

GETSQRHRT computes a NB2-sized column blocked QR-factorization of a complex M-by-N matrix A with M >= N, A = Q * R. The routine uses internally a NB1-sized column blocked and MB1-sized row blocked TSQR-factorization and perfors the reconstruction of the Householder vectors from the TSQR output. The routine also converts the R_tsqr factor from the TSQR-factorization output into the R factor that corresponds to the Householder QR-factorization, A = Q_tsqr * R_tsqr = Q * R. The output Q and R factors are stored in the same format as in CGEQRT (Q is in blocked compact WY-representation). See the documentation of CGEQRT for more details on the format.

ggbak stdlib_linalg_lapack Interface

GGBAK forms the right or left eigenvectors of a complex generalized eigenvalue problem Ax = lambdaB*x, by backward transformation on the computed eigenvectors of the balanced pair of matrices output by CGGBAL.

ggbal stdlib_linalg_lapack Interface

GGBAL balances a pair of general complex matrices (A,B). This involves, first, permuting A and B by similarity transformations to isolate eigenvalues in the first 1 to ILO$-$1 and last IHI+1 to N elements on the diagonal; and second, applying a diagonal similarity transformation to rows and columns ILO to IHI to make the rows and columns as close in norm as possible. Both steps are optional. Balancing may reduce the 1-norm of the matrices, and improve the accuracy of the computed eigenvalues and/or eigenvectors in the generalized eigenvalue problem Ax = lambdaB*x.

gges stdlib_linalg_lapack Interface

GGES computes for a pair of N-by-N complex nonsymmetric matrices (A,B), the generalized eigenvalues, the generalized complex Schur form (S, T), and optionally left and/or right Schur vectors (VSL and VSR). This gives the generalized Schur factorization (A,B) = ( (VSL)S(VSR)H, (VSL)T(VSR)H ) where (VSR)*H is the conjugate-transpose of VSR. Optionally, it also orders the eigenvalues so that a selected cluster of eigenvalues appears in the leading diagonal blocks of the upper triangular matrix S and the upper triangular matrix T. The leading columns of VSL and VSR then form an unitary basis for the corresponding left and right eigenspaces (deflating subspaces). (If only the generalized eigenvalues are needed, use the driver CGGEV instead, which is faster.) A generalized eigenvalue for a pair of matrices (A,B) is a scalar w or a ratio alpha/beta = w, such that A - wB is singular. It is usually represented as the pair (alpha,beta), as there is a reasonable interpretation for beta=0, and even for both being zero. A pair of matrices (S,T) is in generalized complex Schur form if S and T are upper triangular and, in addition, the diagonal elements of T are non-negative real numbers.

ggev stdlib_linalg_lapack Interface

GGEV computes for a pair of N-by-N complex nonsymmetric matrices (A,B), the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors. A generalized eigenvalue for a pair of matrices (A,B) is a scalar lambda or a ratio alpha/beta = lambda, such that A - lambdaB is singular. It is usually represented as the pair (alpha,beta), as there is a reasonable interpretation for beta=0, and even for both being zero. The right generalized eigenvector v(j) corresponding to the generalized eigenvalue lambda(j) of (A,B) satisfies A * v(j) = lambda(j) * B * v(j). The left generalized eigenvector u(j) corresponding to the generalized eigenvalues lambda(j) of (A,B) satisfies u(j)H * A = lambda(j) * u(j)H * B where u(j)*H is the conjugate-transpose of u(j).

ggglm stdlib_linalg_lapack Interface

GGGLM solves a general Gauss-Markov linear model (GLM) problem: minimize || y ||_2 subject to d = Ax + By x where A is an N-by-M matrix, B is an N-by-P matrix, and d is a given N-vector. It is assumed that M <= N <= M+P, and rank(A) = M and rank( A B ) = N. Under these assumptions, the constrained equation is always consistent, and there is a unique solution x and a minimal 2-norm solution y, which is obtained using a generalized QR factorization of the matrices (A, B) given by A = Q(R), B = QTZ. (0) In particular, if matrix B is square nonsingular, then the problem GLM is equivalent to the following weighted linear least squares problem minimize || inv(B)(d-A*x) ||_2 x where inv(B) denotes the inverse of B.

gghrd stdlib_linalg_lapack Interface

GGHRD reduces a pair of complex matrices (A,B) to generalized upper Hessenberg form using unitary transformations, where A is a general matrix and B is upper triangular. The form of the generalized eigenvalue problem is Ax = lambdaBx, and B is typically made upper triangular by computing its QR factorization and moving the unitary matrix Q to the left side of the equation. This subroutine simultaneously reduces A to a Hessenberg matrix H: QHAZ = H and transforms B to another upper triangular matrix T: QHBZ = T in order to reduce the problem to its standard form Hy = lambdaTy where y = ZH*x. The unitary matrices Q and Z are determined as products of Givens rotations. They may either be formed explicitly, or they may be postmultiplied into input matrices Q1 and Z1, so that Q1 * A * Z1H = (Q1Q) * H * (Z1Z)H Q1 * B * Z1H = (Q1Q) * T * (Z1Z)H If Q1 is the unitary matrix from the QR factorization of B in the original equation Ax = lambdaB*x, then GGHRD reduces the original problem to generalized Hessenberg form.

gglse stdlib_linalg_lapack Interface

GGLSE solves the linear equality-constrained least squares (LSE) problem: minimize || c - Ax ||_2 subject to Bx = d where A is an M-by-N matrix, B is a P-by-N matrix, c is a given M-vector, and d is a given P-vector. It is assumed that P <= N <= M+P, and rank(B) = P and rank( (A) ) = N. ( (B) ) These conditions ensure that the LSE problem has a unique solution, which is obtained using a generalized RQ factorization of the matrices (B, A) given by B = (0 R)Q, A = ZT*Q.

ggqrf stdlib_linalg_lapack Interface

GGQRF computes a generalized QR factorization of an N-by-M matrix A and an N-by-P matrix B: A = QR, B = QTZ, where Q is an N-by-N unitary matrix, Z is a P-by-P unitary matrix, and R and T assume one of the forms: if N >= M, R = ( R11 ) M , or if N < M, R = ( R11 R12 ) N, ( 0 ) N-M N M-N M where R11 is upper triangular, and if N <= P, T = ( 0 T12 ) N, or if N > P, T = ( T11 ) N-P, P-N N ( T21 ) P P where T12 or T21 is upper triangular. In particular, if B is square and nonsingular, the GQR factorization of A and B implicitly gives the QR factorization of inv(B)A: inv(B)A = ZH * (inv(T)R) where inv(B) denotes the inverse of the matrix B, and Z' denotes the conjugate transpose of matrix Z.

ggrqf stdlib_linalg_lapack Interface

GGRQF computes a generalized RQ factorization of an M-by-N matrix A and a P-by-N matrix B: A = RQ, B = ZTQ, where Q is an N-by-N unitary matrix, Z is a P-by-P unitary matrix, and R and T assume one of the forms: if M <= N, R = ( 0 R12 ) M, or if M > N, R = ( R11 ) M-N, N-M M ( R21 ) N N where R12 or R21 is upper triangular, and if P >= N, T = ( T11 ) N , or if P < N, T = ( T11 T12 ) P, ( 0 ) P-N P N-P N where T11 is upper triangular. In particular, if B is square and nonsingular, the GRQ factorization of A and B implicitly gives the RQ factorization of Ainv(B): Ainv(B) = (Rinv(T))ZH where inv(B) denotes the inverse of the matrix B, and Z*H denotes the conjugate transpose of the matrix Z.

glagtm stdlib_lapack_extended_base Interface
gsvj0 stdlib_linalg_lapack Interface

GSVJ0 is called from CGESVJ as a pre-processor and that is its main purpose. It applies Jacobi rotations in the same way as CGESVJ does, but it does not check convergence (stopping criterion). Few tuning parameters (marked by [TP]) are available for the implementer.

gsvj1 stdlib_linalg_lapack Interface

GSVJ1 is called from CGESVJ as a pre-processor and that is its main purpose. It applies Jacobi rotations in the same way as CGESVJ does, but it targets only particular pivots and it does not check convergence (stopping criterion). Few tuning parameters (marked by [TP]) are available for the implementer. Further Details ~~~~~~~~~~~~~~~ GSVJ1 applies few sweeps of Jacobi rotations in the column space of the input M-by-N matrix A. The pivot pairs are taken from the (1,2) off-diagonal block in the corresponding N-by-N Gram matrix A^T * A. The block-entries (tiles) of the (1,2) off-diagonal block are marked by the [x]'s in the following scheme: | * * * [x] [x] [x]| | * * * [x] [x] [x]| Row-cycling in the nblr-by-nblc [x] blocks. | * * * [x] [x] [x]| Row-cyclic pivoting inside each [x] block. |[x] [x] [x] * * * | |[x] [x] [x] * * * | |[x] [x] [x] * * * | In terms of the columns of A, the first N1 columns are rotated 'against' the remaining N-N1 columns, trying to increase the angle between the corresponding subspaces. The off-diagonal block is N1-by(N-N1) and it is tiled using quadratic tiles of side KBL. Here, KBL is a tuning parameter. The number of sweeps is given in NSWEEP and the orthogonality threshold is given in TOL.

gtcon stdlib_linalg_lapack Interface

GTCON estimates the reciprocal of the condition number of a complex tridiagonal matrix A using the LU factorization as computed by CGTTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

gtrfs stdlib_linalg_lapack Interface

GTRFS improves the computed solution to a system of linear equations when the coefficient matrix is tridiagonal, and provides error bounds and backward error estimates for the solution.

gtsv stdlib_linalg_lapack Interface

GTSV solves the equation AX = B, where A is an N-by-N tridiagonal matrix, by Gaussian elimination with partial pivoting. Note that the equation AT X = B may be solved by interchanging the order of the arguments DU and DL.

gttrf stdlib_linalg_lapack Interface

GTTRF computes an LU factorization of a complex tridiagonal matrix A using elimination with partial pivoting and row interchanges. The factorization has the form A = L * U where L is a product of permutation and unit lower bidiagonal matrices and U is upper triangular with nonzeros in only the main diagonal and first two superdiagonals.

gttrs stdlib_linalg_lapack Interface

GTTRS solves one of the systems of equations A * X = B, AT * X = B, or AH * X = B, with a tridiagonal matrix A using the LU factorization computed by CGTTRF.

handle_gees_info stdlib_linalg_lapack_aux Subroutine

Wrapper function to handle GEES error codes

handle_geev_info stdlib_linalg_lapack_aux Subroutine

Process GEEV output flags

handle_gelsd_info stdlib_linalg_lapack_aux Subroutine
handle_geqp3_info stdlib_linalg_lapack_aux Subroutine
handle_geqrf_info stdlib_linalg_lapack_aux Subroutine
handle_gesdd_info stdlib_linalg_lapack_aux Subroutine
handle_gesv_info stdlib_linalg_lapack_aux Subroutine
handle_getri_info stdlib_linalg_lapack_aux Subroutine
handle_ggev_info stdlib_linalg_lapack_aux Subroutine

Process GGEV output flags

handle_gglse_info stdlib_linalg_lapack_aux Subroutine
handle_heev_info stdlib_linalg_lapack_aux Subroutine

Process SYEV/HEEV output flags

handle_orgqr_info stdlib_linalg_lapack_aux Subroutine
handle_potrf_info stdlib_linalg_lapack_aux Subroutine
hb2st_kernels stdlib_linalg_lapack Interface

HB2ST_KERNELS is an internal routine used by the CHETRD_HB2ST subroutine.

hbev stdlib_linalg_lapack Interface

HBEV computes all the eigenvalues and, optionally, eigenvectors of a complex Hermitian band matrix A.

hbevd stdlib_linalg_lapack Interface

HBEVD computes all the eigenvalues and, optionally, eigenvectors of a complex Hermitian band matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

hbgst stdlib_linalg_lapack Interface

HBGST reduces a complex Hermitian-definite banded generalized eigenproblem Ax = lambdaBx to standard form Cy = lambday, such that C has the same bandwidth as A. B must have been previously factorized as SHS by CPBSTF, using a split Cholesky factorization. A is overwritten by C = XHAX, where X = S(-1)*Q and Q is a unitary matrix chosen to preserve the bandwidth of A.

hbgv stdlib_linalg_lapack Interface

HBGV computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite banded eigenproblem, of the form Ax=(lambda)B*x. Here A and B are assumed to be Hermitian and banded, and B is also positive definite.

hbgvd stdlib_linalg_lapack Interface

HBGVD computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite banded eigenproblem, of the form Ax=(lambda)B*x. Here A and B are assumed to be Hermitian and banded, and B is also positive definite. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

hbmv stdlib_linalg_blas Interface

HBMV performs the matrix-vector operation y := alphaAx + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n hermitian band matrix, with k super-diagonals.

hbtrd stdlib_linalg_lapack Interface

HBTRD reduces a complex Hermitian band matrix A to real symmetric tridiagonal form T by a unitary similarity transformation: Q**H * A * Q = T.

hecon stdlib_linalg_lapack Interface

HECON estimates the reciprocal of the condition number of a complex Hermitian matrix A using the factorization A = UDUH or A = LDLH computed by CHETRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

hecon_rook stdlib_linalg_lapack Interface

HECON_ROOK estimates the reciprocal of the condition number of a complex Hermitian matrix A using the factorization A = UDUH or A = LDLH computed by CHETRF_ROOK. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

heequb stdlib_linalg_lapack Interface

HEEQUB computes row and column scalings intended to equilibrate a Hermitian matrix A (with respect to the Euclidean norm) and reduce its condition number. The scale factors S are computed by the BIN algorithm (see references) so that the scaled matrix B with elements B(i,j) = S(i)A(i,j)S(j) has a condition number within a factor N of the smallest possible condition number over all possible diagonal scalings.

heev stdlib_linalg_lapack Interface

HEEV computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A.

heevd stdlib_linalg_lapack Interface

HEEVD computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

heevr stdlib_linalg_lapack Interface

HEEVR computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A. Eigenvalues and eigenvectors can be selected by specifying either a range of values or a range of indices for the desired eigenvalues. HEEVR first reduces the matrix A to tridiagonal form T with a call to CHETRD. Then, whenever possible, HEEVR calls CSTEMR to compute the eigenspectrum using Relatively Robust Representations. CSTEMR computes eigenvalues by the dqds algorithm, while orthogonal eigenvectors are computed from various "good" L D L^T representations (also known as Relatively Robust Representations). Gram-Schmidt orthogonalization is avoided as far as possible. More specifically, the various steps of the algorithm are as follows. For each unreduced block (submatrix) of T, (a) Compute T - sigma I = L D L^T, so that L and D define all the wanted eigenvalues to high relative accuracy. This means that small relative changes in the entries of D and L cause only small relative changes in the eigenvalues and eigenvectors. The standard (unfactored) representation of the tridiagonal matrix T does not have this property in general. (b) Compute the eigenvalues to suitable accuracy. If the eigenvectors are desired, the algorithm attains full accuracy of the computed eigenvalues only right before the corresponding vectors have to be computed, see steps c) and d). (c) For each cluster of close eigenvalues, select a new shift close to the cluster, find a new factorization, and refine the shifted eigenvalues to suitable accuracy. (d) For each eigenvalue with a large enough relative separation compute the corresponding eigenvector by forming a rank revealing twisted factorization. Go back to (c) for any clusters that remain. The desired accuracy of the output can be specified by the input parameter ABSTOL. For more details, see CSTEMR's documentation and: - Inderjit S. Dhillon and Beresford N. Parlett: "Multiple representations to compute orthogonal eigenvectors of symmetric tridiagonal matrices," Linear Algebra and its Applications, 387(1), pp. 1-28, August 2004. - Inderjit Dhillon and Beresford Parlett: "Orthogonal Eigenvectors and Relative Gaps," SIAM Journal on Matrix Analysis and Applications, Vol. 25, 2004. Also LAPACK Working Note 154. - Inderjit Dhillon: "A new O(n^2) algorithm for the symmetric tridiagonal eigenvalue/eigenvector problem", Computer Science Division Technical Report No. UCB/CSD-97-971, UC Berkeley, May 1997. Note 1 : HEEVR calls CSTEMR when the full spectrum is requested on machines which conform to the ieee-754 floating point standard. HEEVR calls SSTEBZ and CSTEIN on non-ieee machines and when partial spectrum requests are made. Normal execution of CSTEMR may create NaNs and infinities and hence may abort due to a floating point exception in environments which do not handle NaNs and infinities in the ieee standard default manner.

hegst stdlib_linalg_lapack Interface

HEGST reduces a complex Hermitian-definite generalized eigenproblem to standard form. If ITYPE = 1, the problem is Ax = lambdaBx, and A is overwritten by inv(UH)Ainv(U) or inv(L)Ainv(LH) If ITYPE = 2 or 3, the problem is ABx = lambdax or BAx = lambdax, and A is overwritten by UAUH or LHAL. B must have been previously factorized as UHU or LL*H by CPOTRF.

hegv stdlib_linalg_lapack Interface

HEGV computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, of the form Ax=(lambda)Bx, ABx=(lambda)x, or BAx=(lambda)x. Here A and B are assumed to be Hermitian and B is also positive definite.

hegvd stdlib_linalg_lapack Interface

HEGVD computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, of the form Ax=(lambda)Bx, ABx=(lambda)x, or BAx=(lambda)x. Here A and B are assumed to be Hermitian and B is also positive definite. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

hemm stdlib_linalg_blas Interface

HEMM performs one of the matrix-matrix operations C := alphaAB + betaC, or C := alphaBA + betaC, where alpha and beta are scalars, A is an hermitian matrix and B and C are m by n matrices.

hemv stdlib_linalg_blas Interface

HEMV performs the matrix-vector operation y := alphaAx + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n hermitian matrix.

her stdlib_linalg_blas Interface

HER performs the hermitian rank 1 operation A := alphaxx**H + A, where alpha is a real scalar, x is an n element vector and A is an n by n hermitian matrix.

her2 stdlib_linalg_blas Interface

HER2 performs the hermitian rank 2 operation A := alphaxyH + conjg( alpha )yxH + A, where alpha is a scalar, x and y are n element vectors and A is an n by n hermitian matrix.

her2k stdlib_linalg_blas Interface

HER2K performs one of the hermitian rank 2k operations C := alphaABH + conjg( alpha )BAH + betaC, or C := alphaAHB + conjg( alpha )BHA + betaC, where alpha and beta are scalars with beta real, C is an n by n hermitian matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

herfs stdlib_linalg_lapack Interface

HERFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian indefinite, and provides error bounds and backward error estimates for the solution.

herk stdlib_linalg_blas Interface

HERK performs one of the hermitian rank k operations C := alphaAAH + betaC, or C := alphaAHA + betaC, where alpha and beta are real scalars, C is an n by n hermitian matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

hermitian stdlib_specialmatrices Interface

This interface provides methods to compute the hermitian operation for the different matrix types defined by stdlib_specialmatrices. For real-valued matrices, this is equivalent to the standard transpose. Specifications

hermitian stdlib_linalg Interface

Computes the Hermitian version of a rank-2 matrix. For complex matrices, this returns conjg(transpose(a)). For real or integer matrices, this returns transpose(a).

Read more…
hesv stdlib_linalg_lapack Interface

HESV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * UH, if UPLO = 'U', or A = L * D * LH, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

hesv_aa stdlib_linalg_lapack Interface

HESV_AA computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = UH * T * U, if UPLO = 'U', or A = L * T * LH, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is Hermitian and tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.

hesv_rk stdlib_linalg_lapack Interface

HESV_RK computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = PUD(UH)(PT), if UPLO = 'U', or A = PLD*(LH)(PT), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, UH (or LH) is the conjugate of U (or L), P is a permutation matrix, P*T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. CHETRF_RK is called to compute the factorization of a complex Hermitian matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine CHETRS_3.

hesv_rook stdlib_linalg_lapack Interface

HESV_ROOK computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman ("rook") diagonal pivoting method is used to factor A as A = U * D * UT, if UPLO = 'U', or A = L * D * LT, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. CHETRF_ROOK is called to compute the factorization of a complex Hermition matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling CHETRS_ROOK (uses BLAS 2).

heswapr stdlib_linalg_lapack Interface

HESWAPR applies an elementary permutation on the rows and the columns of a hermitian matrix.

hetf2_rk stdlib_linalg_lapack Interface

HETF2_RK computes the factorization of a complex Hermitian matrix A using the bounded Bunch-Kaufman (rook) diagonal pivoting method: A = PUD(UH)(PT) or A = PLD*(LH)(PT), where U (or L) is unit upper (or lower) triangular matrix, UH (or LH) is the conjugate of U (or L), P is a permutation matrix, P*T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the unblocked version of the algorithm, calling Level 2 BLAS. For more information see Further Details section.

hetf2_rook stdlib_linalg_lapack Interface

HETF2_ROOK computes the factorization of a complex Hermitian matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method: A = UDUH or A = LDLH where U (or L) is a product of permutation and unit upper (lower) triangular matrices, U**H is the conjugate transpose of U, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the unblocked version of the algorithm, calling Level 2 BLAS.

hetrd stdlib_linalg_lapack Interface

HETRD reduces a complex Hermitian matrix A to real symmetric tridiagonal form T by a unitary similarity transformation: Q**H * A * Q = T.

hetrd_hb2st stdlib_linalg_lapack Interface

HETRD_HB2ST reduces a complex Hermitian band matrix A to real symmetric tridiagonal form T by a unitary similarity transformation: Q**H * A * Q = T.

hetrd_he2hb stdlib_linalg_lapack Interface

HETRD_HE2HB reduces a complex Hermitian matrix A to complex Hermitian band-diagonal form AB by a unitary similarity transformation: Q**H * A * Q = AB.

hetrf stdlib_linalg_lapack Interface

HETRF computes the factorization of a complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method. The form of the factorization is A = UDUH or A = LDLH where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the blocked version of the algorithm, calling Level 3 BLAS.

hetrf_aa stdlib_linalg_lapack Interface

HETRF_AA computes the factorization of a complex hermitian matrix A using the Aasen's algorithm. The form of the factorization is A = UHTU or A = LTLH where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is a hermitian tridiagonal matrix. This is the blocked version of the algorithm, calling Level 3 BLAS.

hetrf_rk stdlib_linalg_lapack Interface

HETRF_RK computes the factorization of a complex Hermitian matrix A using the bounded Bunch-Kaufman (rook) diagonal pivoting method: A = PUD(UH)(PT) or A = PLD*(LH)(PT), where U (or L) is unit upper (or lower) triangular matrix, UH (or LH) is the conjugate of U (or L), P is a permutation matrix, P*T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the blocked version of the algorithm, calling Level 3 BLAS. For more information see Further Details section.

hetrf_rook stdlib_linalg_lapack Interface

HETRF_ROOK computes the factorization of a complex Hermitian matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The form of the factorization is A = UDUT or A = LDLT where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the blocked version of the algorithm, calling Level 3 BLAS.

hetri stdlib_linalg_lapack Interface

HETRI computes the inverse of a complex Hermitian indefinite matrix A using the factorization A = UDUH or A = LDLH computed by CHETRF.

hetri_rook stdlib_linalg_lapack Interface

HETRI_ROOK computes the inverse of a complex Hermitian indefinite matrix A using the factorization A = UDUH or A = LDLH computed by CHETRF_ROOK.

hetrs stdlib_linalg_lapack Interface

HETRS solves a system of linear equations AX = B with a complex Hermitian matrix A using the factorization A = UDUH or A = LDL*H computed by CHETRF.

hetrs2 stdlib_linalg_lapack Interface

HETRS2 solves a system of linear equations AX = B with a complex Hermitian matrix A using the factorization A = UDUH or A = LDL*H computed by CHETRF and converted by CSYCONV.

hetrs_3 stdlib_linalg_lapack Interface

HETRS_3 solves a system of linear equations A * X = B with a complex Hermitian matrix A using the factorization computed by CHETRF_RK or CHETRF_BK: A = PUD(UH)(PT) or A = PLD*(LH)(PT), where U (or L) is unit upper (or lower) triangular matrix, UH (or LH) is the conjugate of U (or L), P is a permutation matrix, P*T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This algorithm is using Level 3 BLAS.

hetrs_aa stdlib_linalg_lapack Interface

HETRS_AA solves a system of linear equations AX = B with a complex hermitian matrix A using the factorization A = UHTU or A = LTL*H computed by CHETRF_AA.

hetrs_rook stdlib_linalg_lapack Interface

HETRS_ROOK solves a system of linear equations AX = B with a complex Hermitian matrix A using the factorization A = UDUH or A = LDL*H computed by CHETRF_ROOK.

hfrk stdlib_linalg_lapack Interface

Level 3 BLAS like routine for C in RFP Format. HFRK performs one of the Hermitian rank--k operations C := alphaAAH + betaC, or C := alphaAHA + betaC, where alpha and beta are real scalars, C is an n--by--n Hermitian matrix and A is an n--by--k matrix in the first case and a k--by--n matrix in the second case.

hgeqz stdlib_linalg_lapack Interface

HGEQZ computes the eigenvalues of a complex matrix pair (H,T), where H is an upper Hessenberg matrix and T is upper triangular, using the single-shift QZ method. Matrix pairs of this type are produced by the reduction to generalized upper Hessenberg form of a complex matrix pair (A,B): A = Q1HZ1H, B = Q1TZ1H, as computed by CGGHRD. If JOB='S', then the Hessenberg-triangular pair (H,T) is also reduced to generalized Schur form, H = QSZH, T = QPZH, where Q and Z are unitary matrices and S and P are upper triangular. Optionally, the unitary matrix Q from the generalized Schur factorization may be postmultiplied into an input matrix Q1, and the unitary matrix Z may be postmultiplied into an input matrix Z1. If Q1 and Z1 are the unitary matrices from CGGHRD that reduced the matrix pair (A,B) to generalized Hessenberg form, then the output matrices Q1Q and Z1Z are the unitary factors from the generalized Schur factorization of (A,B): A = (Q1Q)S(Z1Z)H, B = (Q1Q)P(Z1Z)H. To avoid overflow, eigenvalues of the matrix pair (H,T) (equivalently, of (A,B)) are computed as a pair of complex values (alpha,beta). If beta is nonzero, lambda = alpha / beta is an eigenvalue of the generalized nonsymmetric eigenvalue problem (GNEP) Ax = lambdaBx and if alpha is nonzero, mu = beta / alpha is an eigenvalue of the alternate form of the GNEP muAy = By. The values of alpha and beta for the i-th eigenvalue can be read directly from the generalized Schur form: alpha = S(i,i), beta = P(i,i). Ref: C.B. Moler Eigenvalue Problems", SIAM J. Numer. Anal., 10(1973), pp. 241--256.

hpcon stdlib_linalg_lapack Interface

HPCON estimates the reciprocal of the condition number of a complex Hermitian packed matrix A using the factorization A = UDUH or A = LDLH computed by CHPTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

hpev stdlib_linalg_lapack Interface

HPEV computes all the eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix in packed storage.

hpevd stdlib_linalg_lapack Interface

HPEVD computes all the eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix A in packed storage. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

hpgst stdlib_linalg_lapack Interface

HPGST reduces a complex Hermitian-definite generalized eigenproblem to standard form, using packed storage. If ITYPE = 1, the problem is Ax = lambdaBx, and A is overwritten by inv(UH)Ainv(U) or inv(L)Ainv(LH) If ITYPE = 2 or 3, the problem is ABx = lambdax or BAx = lambdax, and A is overwritten by UAUH or LHAL. B must have been previously factorized as UHU or LL*H by CPPTRF.

hpgv stdlib_linalg_lapack Interface

HPGV computes all the eigenvalues and, optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, of the form Ax=(lambda)Bx, ABx=(lambda)x, or BAx=(lambda)x. Here A and B are assumed to be Hermitian, stored in packed format, and B is also positive definite.

hpgvd stdlib_linalg_lapack Interface

HPGVD computes all the eigenvalues and, optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, of the form Ax=(lambda)Bx, ABx=(lambda)x, or BAx=(lambda)x. Here A and B are assumed to be Hermitian, stored in packed format, and B is also positive definite. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

hpmv stdlib_linalg_blas Interface

HPMV performs the matrix-vector operation y := alphaAx + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n hermitian matrix, supplied in packed form.

hpr stdlib_linalg_blas Interface

HPR performs the hermitian rank 1 operation A := alphaxx**H + A, where alpha is a real scalar, x is an n element vector and A is an n by n hermitian matrix, supplied in packed form.

hpr2 stdlib_linalg_blas Interface

HPR2 performs the hermitian rank 2 operation A := alphaxyH + conjg( alpha )yxH + A, where alpha is a scalar, x and y are n element vectors and A is an n by n hermitian matrix, supplied in packed form.

hprfs stdlib_linalg_lapack Interface

HPRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian indefinite and packed, and provides error bounds and backward error estimates for the solution.

hpsv stdlib_linalg_lapack Interface

HPSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * UH, if UPLO = 'U', or A = L * D * LH, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

hptrd stdlib_linalg_lapack Interface

HPTRD reduces a complex Hermitian matrix A stored in packed form to real symmetric tridiagonal form T by a unitary similarity transformation: Q**H * A * Q = T.

hptrf stdlib_linalg_lapack Interface

HPTRF computes the factorization of a complex Hermitian packed matrix A using the Bunch-Kaufman diagonal pivoting method: A = UDUH or A = LDLH where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.

hptri stdlib_linalg_lapack Interface

HPTRI computes the inverse of a complex Hermitian indefinite matrix A in packed storage using the factorization A = UDUH or A = LDLH computed by CHPTRF.

hptrs stdlib_linalg_lapack Interface

HPTRS solves a system of linear equations AX = B with a complex Hermitian matrix A stored in packed format using the factorization A = UDUH or A = LDL*H computed by CHPTRF.

hsein stdlib_linalg_lapack Interface

HSEIN uses inverse iteration to find specified right and/or left eigenvectors of a complex upper Hessenberg matrix H. The right eigenvector x and the left eigenvector y of the matrix H corresponding to an eigenvalue w are defined by: H * x = w * x, yh * H = w * yh where y**h denotes the conjugate transpose of the vector y.

hseqr stdlib_linalg_lapack Interface

HSEQR computes the eigenvalues of a Hessenberg matrix H and, optionally, the matrices T and Z from the Schur decomposition H = Z T ZH, where T is an upper triangular matrix (the Schur form), and Z is the unitary matrix of Schur vectors. Optionally Z may be postmultiplied into an input unitary matrix Q so that this routine can give the Schur factorization of a matrix A which has been reduced to the Hessenberg form H by the unitary matrix Q: A = QHQH = (QZ)T(QZ)**H.

iachar stdlib_string_type Interface

Code in ASCII collating sequence.

Read more…
ichar stdlib_string_type Interface

Character-to-integer conversion function.

Read more…
index stdlib_string_type Interface

Position of a substring within a string.

Read more…
inv stdlib_linalg Interface

Inverse of a square matrix (Specification)

Read more…
invert stdlib_linalg Interface

Inversion of a square matrix (Specification)

Read more…
is_alpha stdlib_ascii Function

Checks whether c is an ASCII letter (A .. Z, a .. z).

is_alphanum stdlib_ascii Function

Checks whether c is a letter or a number (0 .. 9, a .. z, A .. Z).

is_ascii stdlib_ascii Function

Checks whether or not c is in the ASCII character set - i.e. in the range 0 .. 0x7F.

is_blank stdlib_ascii Function

Checks whether or not c is a blank character. That includes the only the space and tab characters

is_close stdlib_math Interface

Returns a boolean scalar/array where two scalar/arrays are element-wise equal within a tolerance. (Specification)

is_control stdlib_ascii Function

Checks whether c is a control character.

is_diagonal stdlib_linalg Interface

Checks if a matrix (rank-2 array) is diagonal (Specification)

is_digit stdlib_ascii Function

Checks whether c is a digit (0 .. 9).

is_graphical stdlib_ascii Function

Checks whether or not c is a printable character other than the space character.

is_hermitian stdlib_linalg Interface

Checks if a matrix (rank-2 array) is Hermitian (Specification)

is_hessenberg stdlib_linalg Interface

Checks if a matrix (rank-2 array) is Hessenberg (Specification)

is_hex_digit stdlib_ascii Function

Checks whether c is a digit in base 16 (0 .. 9, A .. F, a .. f).

is_lower stdlib_ascii Function

Checks whether c is a lowercase ASCII letter (a .. z).

is_octal_digit stdlib_ascii Function

Checks whether c is a digit in base 8 (0 .. 7).

is_printable stdlib_ascii Function

Checks whether or not c is a printable character - including the space character.

is_punctuation stdlib_ascii Function

Checks whether or not c is a punctuation character. That includes all ASCII characters which are not control characters, letters, digits, or whitespace.

is_skew_symmetric stdlib_linalg Interface

Checks if a matrix (rank-2 array) is skew-symmetric (Specification)

is_square stdlib_linalg Interface

Checks if a matrix (rank-2 array) is square (Specification)

is_symmetric stdlib_linalg Interface

Checks if a matrix (rank-2 array) is symmetric (Specification)

is_triangular stdlib_linalg Interface

Checks if a matrix (rank-2 array) is triangular (Specification)

is_upper stdlib_ascii Function

Checks whether c is an uppercase ASCII letter (A .. Z).

is_white stdlib_ascii Function

Checks whether or not c is a whitespace character. That includes the space, tab, vertical tab, form feed, carriage return, and linefeed characters.

isnan stdlib_linalg_lapack Interface

ISNAN returns .TRUE. if its argument is NaN, and .FALSE. otherwise. To be replaced by the Fortran 2003 intrinsic in the future.

join stdlib_strings Interface

Joins an array of strings into a single string. The chunks are separated with a space, or an optional user-defined separator. Specifications

kahan_kernel stdlib_intrinsics Interface
kronecker_product stdlib_linalg Interface

Computes the Kronecker product of two arrays of size M1xN1, and of M2xN2, returning an (M1M2)x(N1N2) array (Specification)

la_gbamv stdlib_linalg_lapack Interface

LA_GBAMV performs one of the matrix-vector operations y := alphaabs(A)abs(x) + betaabs(y), or y := alphaabs(A)Tabs(x) + betaabs(y), where alpha and beta are scalars, x and y are vectors and A is an m by n matrix. This function is primarily used in calculating error bounds. To protect against underflow during evaluation, components in the resulting vector are perturbed away from zero by (N+1) times the underflow threshold. To prevent unnecessarily large errors for block-structure embedded in general matrices, "symbolically" zero components are not perturbed. A zero entry is considered "symbolic" if all multiplications involved in computing that entry have at least one zero multiplicand.

la_gbrcond stdlib_linalg_lapack Interface

LA_GBRCOND Estimates the Skeel condition number of op(A) * op2(C) where op2 is determined by CMODE as follows CMODE = 1 op2(C) = C CMODE = 0 op2(C) = I CMODE = -1 op2(C) = inv(C) The Skeel condition number cond(A) = norminf( |inv(A)||A| ) is computed by computing scaling factors R such that diag(R)Aop2(C) is row equilibrated and computing the standard infinity-norm condition number.

la_gbrcond_c stdlib_linalg_lapack Interface

LA_GBRCOND_C Computes the infinity norm condition number of op(A) * inv(diag(C)) where C is a REAL vector.

la_gbrpvgrw stdlib_linalg_lapack Interface

LA_GBRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U). The "max absolute element" norm is used. If this is much less than 1, the stability of the LU factorization of the (equilibrated) matrix A could be poor. This also means that the solution X, estimated condition numbers, and error bounds could be unreliable.

la_geamv stdlib_linalg_lapack Interface

LA_GEAMV performs one of the matrix-vector operations y := alphaabs(A)abs(x) + betaabs(y), or y := alphaabs(A)Tabs(x) + betaabs(y), where alpha and beta are scalars, x and y are vectors and A is an m by n matrix. This function is primarily used in calculating error bounds. To protect against underflow during evaluation, components in the resulting vector are perturbed away from zero by (N+1) times the underflow threshold. To prevent unnecessarily large errors for block-structure embedded in general matrices, "symbolically" zero components are not perturbed. A zero entry is considered "symbolic" if all multiplications involved in computing that entry have at least one zero multiplicand.

la_gercond stdlib_linalg_lapack Interface

LA_GERCOND estimates the Skeel condition number of op(A) * op2(C) where op2 is determined by CMODE as follows CMODE = 1 op2(C) = C CMODE = 0 op2(C) = I CMODE = -1 op2(C) = inv(C) The Skeel condition number cond(A) = norminf( |inv(A)||A| ) is computed by computing scaling factors R such that diag(R)Aop2(C) is row equilibrated and computing the standard infinity-norm condition number.

la_gercond_c stdlib_linalg_lapack Interface

LA_GERCOND_C computes the infinity norm condition number of op(A) * inv(diag(C)) where C is a REAL vector.

la_gerpvgrw stdlib_linalg_lapack Interface

LA_GERPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U). The "max absolute element" norm is used. If this is much less than 1, the stability of the LU factorization of the (equilibrated) matrix A could be poor. This also means that the solution X, estimated condition numbers, and error bounds could be unreliable.

la_heamv stdlib_linalg_lapack Interface

CLA_SYAMV performs the matrix-vector operation y := alphaabs(A)abs(x) + beta*abs(y), where alpha and beta are scalars, x and y are vectors and A is an n by n symmetric matrix. This function is primarily used in calculating error bounds. To protect against underflow during evaluation, components in the resulting vector are perturbed away from zero by (N+1) times the underflow threshold. To prevent unnecessarily large errors for block-structure embedded in general matrices, "symbolically" zero components are not perturbed. A zero entry is considered "symbolic" if all multiplications involved in computing that entry have at least one zero multiplicand.

la_hercond_c stdlib_linalg_lapack Interface

LA_HERCOND_C computes the infinity norm condition number of op(A) * inv(diag(C)) where C is a REAL vector.

la_herpvgrw stdlib_linalg_lapack Interface

LA_HERPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U). The "max absolute element" norm is used. If this is much less than 1, the stability of the LU factorization of the (equilibrated) matrix A could be poor. This also means that the solution X, estimated condition numbers, and error bounds could be unreliable.

la_lin_berr stdlib_linalg_lapack Interface

LA_LIN_BERR computes componentwise relative backward error from the formula max(i) ( abs(R(i)) / ( abs(op(A_s))*abs(Y) + abs(B_s) )(i) ) where abs(Z) is the componentwise absolute value of the matrix or vector Z.

la_porcond stdlib_linalg_lapack Interface

LA_PORCOND Estimates the Skeel condition number of op(A) * op2(C) where op2 is determined by CMODE as follows CMODE = 1 op2(C) = C CMODE = 0 op2(C) = I CMODE = -1 op2(C) = inv(C) The Skeel condition number cond(A) = norminf( |inv(A)||A| ) is computed by computing scaling factors R such that diag(R)Aop2(C) is row equilibrated and computing the standard infinity-norm condition number.

la_porcond_c stdlib_linalg_lapack Interface

LA_PORCOND_C Computes the infinity norm condition number of op(A) * inv(diag(C)) where C is a REAL vector

la_porpvgrw stdlib_linalg_lapack Interface

LA_PORPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U). The "max absolute element" norm is used. If this is much less than 1, the stability of the LU factorization of the (equilibrated) matrix A could be poor. This also means that the solution X, estimated condition numbers, and error bounds could be unreliable.

la_syamv stdlib_linalg_lapack Interface

LA_SYAMV performs the matrix-vector operation y := alphaabs(A)abs(x) + beta*abs(y), where alpha and beta are scalars, x and y are vectors and A is an n by n symmetric matrix. This function is primarily used in calculating error bounds. To protect against underflow during evaluation, components in the resulting vector are perturbed away from zero by (N+1) times the underflow threshold. To prevent unnecessarily large errors for block-structure embedded in general matrices, "symbolically" zero components are not perturbed. A zero entry is considered "symbolic" if all multiplications involved in computing that entry have at least one zero multiplicand.

la_syrcond stdlib_linalg_lapack Interface

LA_SYRCOND estimates the Skeel condition number of op(A) * op2(C) where op2 is determined by CMODE as follows CMODE = 1 op2(C) = C CMODE = 0 op2(C) = I CMODE = -1 op2(C) = inv(C) The Skeel condition number cond(A) = norminf( |inv(A)||A| ) is computed by computing scaling factors R such that diag(R)Aop2(C) is row equilibrated and computing the standard infinity-norm condition number.

la_syrcond_c stdlib_linalg_lapack Interface

LA_SYRCOND_C Computes the infinity norm condition number of op(A) * inv(diag(C)) where C is a REAL vector.

la_syrpvgrw stdlib_linalg_lapack Interface

LA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U). The "max absolute element" norm is used. If this is much less than 1, the stability of the LU factorization of the (equilibrated) matrix A could be poor. This also means that the solution X, estimated condition numbers, and error bounds could be unreliable.

la_wwaddw stdlib_linalg_lapack Interface

LA_WWADDW adds a vector W into a doubled-single vector (X, Y). This works for all extant IBM's hex and binary floating point arithmetic, but not for decimal.

labad stdlib_linalg_lapack Interface

LABAD takes as input the values computed by DLAMCH for underflow and overflow, and returns the square root of each of these values if the log of LARGE is sufficiently large. This subroutine is intended to identify machines with a large exponent range, such as the Crays, and redefine the underflow and overflow limits to be the square roots of the values computed by DLAMCH. This subroutine is needed because DLAMCH does not compensate for poor arithmetic in the upper half of the exponent range, as is found on a Cray.

labrd stdlib_linalg_lapack Interface

LABRD reduces the first NB rows and columns of a complex general m by n matrix A to upper or lower real bidiagonal form by a unitary transformation Q**H * A * P, and returns the matrices X and Y which are needed to apply the transformation to the unreduced part of A. If m >= n, A is reduced to upper bidiagonal form; if m < n, to lower bidiagonal form. This is an auxiliary routine called by CGEBRD

lacgv stdlib_linalg_lapack Interface

LACGV conjugates a complex vector of length N.

lacon stdlib_linalg_lapack Interface

LACON estimates the 1-norm of a square, complex matrix A. Reverse communication is used for evaluating matrix-vector products.

lacpy stdlib_linalg_lapack Interface

LACPY copies all or part of a two-dimensional matrix A to another matrix B.

lacrm stdlib_linalg_lapack Interface

LACRM performs a very simple matrix-matrix multiplication: C := A * B, where A is M by N and complex; B is N by N and real; C is M by N and complex.

lacrt stdlib_linalg_lapack Interface

LACRT performs the operation ( c s )( x ) ==> ( x ) ( -s c )( y ) ( y ) where c and s are complex and the vectors x and y are complex.

ladiv1 stdlib_linalg_lapack Interface
ladiv2 stdlib_linalg_lapack Interface
ladiv_f stdlib_linalg_lapack Interface

LADIV_F := X / Y, where X and Y are complex. The computation of X / Y will not overflow on an intermediary step unless the results overflows.

ladiv_s stdlib_linalg_lapack Interface

LADIV_S performs complex division in real arithmetic a + ib p + iq = --------- c + i*d The algorithm is due to Michael Baudin and Robert L. Smith and can be found in the paper "A Robust Complex Division in Scilab"

laebz stdlib_linalg_lapack Interface

LAEBZ contains the iteration loops which compute and use the function N(w), which is the count of eigenvalues of a symmetric tridiagonal matrix T less than or equal to its argument w. It performs a choice of two types of loops: IJOB=1, followed by IJOB=2: It takes as input a list of intervals and returns a list of sufficiently small intervals whose union contains the same eigenvalues as the union of the original intervals. The input intervals are (AB(j,1),AB(j,2)], j=1,...,MINP. The output interval (AB(j,1),AB(j,2)] will contain eigenvalues NAB(j,1)+1,...,NAB(j,2), where 1 <= j <= MOUT. IJOB=3: It performs a binary search in each input interval (AB(j,1),AB(j,2)] for a point w(j) such that N(w(j))=NVAL(j), and uses C(j) as the starting point of the search. If such a w(j) is found, then on output AB(j,1)=AB(j,2)=w. If no such w(j) is found, then on output (AB(j,1),AB(j,2)] will be a small interval containing the point where N(w) jumps through NVAL(j), unless that point lies outside the initial interval. Note that the intervals are in all cases half-open intervals, i.e., of the form (a,b] , which includes b but not a . To avoid underflow, the matrix should be scaled so that its largest element is no greater than overflow(1/2) * underflow(1/4) in absolute value. To assure the most accurate computation of small eigenvalues, the matrix should be scaled to be not much smaller than that, either. See W. Kahan "Accurate Eigenvalues of a Symmetric Tridiagonal Matrix", Report CS41, Computer Science Dept., Stanford University, July 21, 1966 Note: the arguments are, in general, not checked for unreasonable values.

laed0 stdlib_linalg_lapack Interface

Using the divide and conquer method, LAED0: computes all eigenvalues of a symmetric tridiagonal matrix which is one diagonal block of those from reducing a dense or band Hermitian matrix and corresponding eigenvectors of the dense or band matrix.

laed1 stdlib_linalg_lapack Interface

LAED1 computes the updated eigensystem of a diagonal matrix after modification by a rank-one symmetric matrix. This routine is used only for the eigenproblem which requires all eigenvalues and eigenvectors of a tridiagonal matrix. DLAED7 handles the case in which eigenvalues only or eigenvalues and eigenvectors of a full symmetric matrix (which was reduced to tridiagonal form) are desired. T = Q(in) ( D(in) + RHO * ZZT ) QT(in) = Q(out) * D(out) * QT(out) where Z = QTu, u is a vector of length N with ones in the CUTPNT and CUTPNT + 1 th elements and zeros elsewhere. The eigenvectors of the original matrix are stored in Q, and the eigenvalues are in D. The algorithm consists of three stages: The first stage consists of deflating the size of the problem when there are multiple eigenvalues or if there is a zero in the Z vector. For each such occurrence the dimension of the secular equation problem is reduced by one. This stage is performed by the routine DLAED2. The second stage consists of calculating the updated eigenvalues. This is done by finding the roots of the secular equation via the routine DLAED4 (as called by DLAED3). This routine also calculates the eigenvectors of the current problem. The final stage consists of computing the updated eigenvectors directly using the updated eigenvalues. The eigenvectors for the current problem are multiplied with the eigenvectors from the overall problem.

laed4 stdlib_linalg_lapack Interface

This subroutine computes the I-th updated eigenvalue of a symmetric rank-one modification to a diagonal matrix whose elements are given in the array d, and that D(i) < D(j) for i < j and that RHO > 0. This is arranged by the calling routine, and is no loss in generality. The rank-one modified system is thus diag( D ) + RHO * Z * Z_transpose. where we assume the Euclidean norm of Z is 1. The method consists of approximating the rational functions in the secular equation by simpler interpolating rational functions.

laed5 stdlib_linalg_lapack Interface

This subroutine computes the I-th eigenvalue of a symmetric rank-one modification of a 2-by-2 diagonal matrix diag( D ) + RHO * Z * transpose(Z) . The diagonal elements in the array D are assumed to satisfy D(i) < D(j) for i < j . We also assume RHO > 0 and that the Euclidean norm of the vector Z is one.

laed6 stdlib_linalg_lapack Interface

LAED6 computes the positive or negative root (closest to the origin) of z(1) z(2) z(3) f(x) = rho + --------- + ---------- + --------- d(1)-x d(2)-x d(3)-x It is assumed that if ORGATI = .true. the root is between d(2) and d(3); otherwise it is between d(1) and d(2) This routine will be called by DLAED4 when necessary. In most cases, the root sought is the smallest in magnitude, though it might not be in some extremely rare situations.

laed7 stdlib_linalg_lapack Interface

LAED7 computes the updated eigensystem of a diagonal matrix after modification by a rank-one symmetric matrix. This routine is used only for the eigenproblem which requires all eigenvalues and optionally eigenvectors of a dense or banded Hermitian matrix that has been reduced to tridiagonal form. T = Q(in) ( D(in) + RHO * ZZH ) QH(in) = Q(out) * D(out) * QH(out) where Z = Q*Hu, u is a vector of length N with ones in the CUTPNT and CUTPNT + 1 th elements and zeros elsewhere. The eigenvectors of the original matrix are stored in Q, and the eigenvalues are in D. The algorithm consists of three stages: The first stage consists of deflating the size of the problem when there are multiple eigenvalues or if there is a zero in the Z vector. For each such occurrence the dimension of the secular equation problem is reduced by one. This stage is performed by the routine SLAED2. The second stage consists of calculating the updated eigenvalues. This is done by finding the roots of the secular equation via the routine SLAED4 (as called by SLAED3). This routine also calculates the eigenvectors of the current problem. The final stage consists of computing the updated eigenvectors directly using the updated eigenvalues. The eigenvectors for the current problem are multiplied with the eigenvectors from the overall problem.

laed8 stdlib_linalg_lapack Interface

LAED8 merges the two sets of eigenvalues together into a single sorted set. Then it tries to deflate the size of the problem. There are two ways in which deflation can occur: when two or more eigenvalues are close together or if there is a tiny element in the Z vector. For each such occurrence the order of the related secular equation problem is reduced by one.

laed9 stdlib_linalg_lapack Interface

LAED9 finds the roots of the secular equation, as defined by the values in D, Z, and RHO, between KSTART and KSTOP. It makes the appropriate calls to DLAED4 and then stores the new matrix of eigenvectors for use in calculating the next level of Z vectors.

laeda stdlib_linalg_lapack Interface

LAEDA computes the Z vector corresponding to the merge step in the CURLVLth step of the merge process with TLVLS steps for the CURPBMth problem.

laein stdlib_linalg_lapack Interface

LAEIN uses inverse iteration to find a right or left eigenvector corresponding to the eigenvalue W of a complex upper Hessenberg matrix H.

laesy stdlib_linalg_lapack Interface

LAESY computes the eigendecomposition of a 2-by-2 symmetric matrix ( ( A, B );( B, C ) ) provided the norm of the matrix of eigenvectors is larger than some threshold value. RT1 is the eigenvalue of larger absolute value, and RT2 of smaller absolute value. If the eigenvectors are computed, then on return ( CS1, SN1 ) is the unit eigenvector for RT1, hence [ CS1 SN1 ] . [ A B ] . [ CS1 -SN1 ] = [ RT1 0 ] [ -SN1 CS1 ] [ B C ] [ SN1 CS1 ] [ 0 RT2 ]

laexc stdlib_linalg_lapack Interface

LAEXC swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in an upper quasi-triangular matrix T by an orthogonal similarity transformation. T must be in Schur canonical form, that is, block upper triangular with 1-by-1 and 2-by-2 diagonal blocks; each 2-by-2 diagonal block has its diagonal elements equal and its off-diagonal elements of opposite sign.

lagtf stdlib_linalg_lapack Interface

LAGTF factorizes the matrix (T - lambdaI), where T is an n by n tridiagonal matrix and lambda is a scalar, as T - lambdaI = PLU, where P is a permutation matrix, L is a unit lower tridiagonal matrix with at most one non-zero sub-diagonal elements per column and U is an upper triangular matrix with at most two non-zero super-diagonal elements per column. The factorization is obtained by Gaussian elimination with partial pivoting and implicit row scaling. The parameter LAMBDA is included in the routine so that LAGTF may be used, in conjunction with DLAGTS, to obtain eigenvectors of T by inverse iteration.

lagtm stdlib_linalg_lapack Interface

LAGTM performs a matrix-vector product of the form B := alpha * A * X + beta * B where A is a tridiagonal matrix of order N, B and X are N by NRHS matrices, and alpha and beta are real scalars, each of which may be 0., 1., or -1.

lagts stdlib_linalg_lapack Interface

LAGTS may be used to solve one of the systems of equations (T - lambdaI)x = y or (T - lambdaI)Tx = y, where T is an n by n tridiagonal matrix, for x, following the factorization of (T - lambdaI) as (T - lambdaI) = PLU , by routine DLAGTF. The choice of equation to be solved is controlled by the argument JOB, and in each case there is an option to perturb zero or very small diagonal elements of U, this option being intended for use in applications such as inverse iteration.

lahef stdlib_linalg_lapack Interface

LAHEF computes a partial factorization of a complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method. The partial factorization has the form: A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: ( 0 U22 ) ( 0 D ) ( U12H U22H ) A = ( L11 0 ) ( D 0 ) ( L11H L21H ) if UPLO = 'L' ( L21 I ) ( 0 A22 ) ( 0 I ) where the order of D is at most NB. The actual order is returned in the argument KB, and is either NB or NB-1, or N if N <= NB. Note that U**H denotes the conjugate transpose of U. LAHEF is an auxiliary routine called by CHETRF. It uses blocked code (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or A22 (if UPLO = 'L').

lahef_aa stdlib_linalg_lapack Interface

LAHEF_AA factorizes a panel of a complex hermitian matrix A using the Aasen's algorithm. The panel consists of a set of NB rows of A when UPLO is U, or a set of NB columns when UPLO is L. In order to factorize the panel, the Aasen's algorithm requires the last row, or column, of the previous panel. The first row, or column, of A is set to be the first row, or column, of an identity matrix, which is used to factorize the first panel. The resulting J-th row of U, or J-th column of L, is stored in the (J-1)-th row, or column, of A (without the unit diagonals), while the diagonal and subdiagonal of A are overwritten by those of T.

lahef_rk stdlib_linalg_lapack Interface

LAHEF_RK computes a partial factorization of a complex Hermitian matrix A using the bounded Bunch-Kaufman (rook) diagonal pivoting method. The partial factorization has the form: A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: ( 0 U22 ) ( 0 D ) ( U12H U22H ) A = ( L11 0 ) ( D 0 ) ( L11H L21H ) if UPLO = 'L', ( L21 I ) ( 0 A22 ) ( 0 I ) where the order of D is at most NB. The actual order is returned in the argument KB, and is either NB or NB-1, or N if N <= NB. LAHEF_RK is an auxiliary routine called by CHETRF_RK. It uses blocked code (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or A22 (if UPLO = 'L').

lahef_rook stdlib_linalg_lapack Interface

LAHEF_ROOK computes a partial factorization of a complex Hermitian matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The partial factorization has the form: A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: ( 0 U22 ) ( 0 D ) ( U12H U22H ) A = ( L11 0 ) ( D 0 ) ( L11H L21H ) if UPLO = 'L' ( L21 I ) ( 0 A22 ) ( 0 I ) where the order of D is at most NB. The actual order is returned in the argument KB, and is either NB or NB-1, or N if N <= NB. Note that U**H denotes the conjugate transpose of U. LAHEF_ROOK is an auxiliary routine called by CHETRF_ROOK. It uses blocked code (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or A22 (if UPLO = 'L').

lahqr stdlib_linalg_lapack Interface

LAHQR is an auxiliary routine called by CHSEQR to update the eigenvalues and Schur decomposition already computed by CHSEQR, by dealing with the Hessenberg submatrix in rows and columns ILO to IHI.

laic1 stdlib_linalg_lapack Interface

LAIC1 applies one step of incremental condition estimation in its simplest version: Let x, twonorm(x) = 1, be an approximate singular vector of an j-by-j lower triangular matrix L, such that twonorm(Lx) = sest Then LAIC1 computes sestpr, s, c such that the vector [ sx ] xhat = [ c ] is an approximate singular vector of [ L 0 ] Lhat = [ wH gamma ] in the sense that twonorm(Lhat*xhat) = sestpr. Depending on JOB, an estimate for the largest or smallest singular value is computed. Note that [s c]H and sestpr2 is an eigenpair of the system diag(sest*sest, 0) + [alpha gamma] * [ conjg(alpha) ] [ conjg(gamma) ] where alpha = xH*w.

laisnan stdlib_linalg_lapack Interface

This routine is not for general use. It exists solely to avoid over-optimization in DISNAN. LAISNAN checks for NaNs by comparing its two arguments for inequality. NaN is the only floating-point value where NaN != NaN returns .TRUE. To check for NaNs, pass the same variable as both arguments. A compiler must assume that the two arguments are not the same variable, and the test will not be optimized away. Interprocedural or whole-program optimization may delete this test. The ISNAN functions will be replaced by the correct Fortran 03 intrinsic once the intrinsic is widely available.

lals0 stdlib_linalg_lapack Interface

LALS0 applies back the multiplying factors of either the left or the right singular vector matrix of a diagonal matrix appended by a row to the right hand side matrix B in solving the least squares problem using the divide-and-conquer SVD approach. For the left singular vector matrix, three types of orthogonal matrices are involved: (1L) Givens rotations: the number of such rotations is GIVPTR; the pairs of columns/rows they were applied to are stored in GIVCOL; and the C- and S-values of these rotations are stored in GIVNUM. (2L) Permutation. The (NL+1)-st row of B is to be moved to the first row, and for J=2:N, PERM(J)-th row of B is to be moved to the J-th row. (3L) The left singular vector matrix of the remaining matrix. For the right singular vector matrix, four types of orthogonal matrices are involved: (1R) The right singular vector matrix of the remaining matrix. (2R) If SQRE = 1, one extra Givens rotation to generate the right null space. (3R) The inverse transformation of (2L). (4R) The inverse transformation of (1L).

lalsa stdlib_linalg_lapack Interface

LALSA is an itermediate step in solving the least squares problem by computing the SVD of the coefficient matrix in compact form (The singular vectors are computed as products of simple orthorgonal matrices.). If ICOMPQ = 0, LALSA applies the inverse of the left singular vector matrix of an upper bidiagonal matrix to the right hand side; and if ICOMPQ = 1, LALSA applies the right singular vector matrix to the right hand side. The singular vector matrices were generated in compact form by LALSA.

lalsd stdlib_linalg_lapack Interface

LALSD uses the singular value decomposition of A to solve the least squares problem of finding X to minimize the Euclidean norm of each column of A*X-B, where A is N-by-N upper bidiagonal, and X and B are N-by-NRHS. The solution X overwrites B. The singular values of A smaller than RCOND times the largest singular value are treated as zero in solving the least squares problem; in this case a minimum norm solution is returned. The actual singular values are returned in D in ascending order. This code makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray XMP, Cray YMP, Cray C 90, or Cray 2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

lamrg stdlib_linalg_lapack Interface

LAMRG will create a permutation list which will merge the elements of A (which is composed of two independently sorted sets) into a single set which is sorted in ascending order.

lamswlq stdlib_linalg_lapack Interface

LAMSWLQ overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QH * C C * QH where Q is a complex unitary matrix defined as the product of blocked elementary reflectors computed by short wide LQ factorization (CLASWLQ)

lamtsqr stdlib_linalg_lapack Interface

LAMTSQR overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': QH * C C * QH where Q is a complex unitary matrix defined as the product of blocked elementary reflectors computed by tall skinny QR factorization (CLATSQR)

laneg stdlib_linalg_lapack Interface

LANEG computes the Sturm count, the number of negative pivots encountered while factoring tridiagonal T - sigma I = L D L^T. This implementation works directly on the factors without forming the tridiagonal matrix T. The Sturm count is also the number of eigenvalues of T less than sigma. This routine is called from DLARRB. The current routine does not use the PIVMIN parameter but rather requires IEEE-754 propagation of Infinities and NaNs. This routine also has no input range restrictions but does require default exception handling such that x/0 produces Inf when x is non-zero, and Inf/Inf produces NaN. For more information, see: Marques, Riedy, and Voemel, "Benefits of IEEE-754 Features in Modern Symmetric Tridiagonal Eigensolvers," SIAM Journal on Scientific Computing, v28, n5, 2006. DOI 10.1137/050641624 (Tech report version in LAWN 172 with the same title.)

langb stdlib_linalg_lapack Interface

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

lange stdlib_linalg_lapack Interface

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

langt stdlib_linalg_lapack Interface

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

lanhb stdlib_linalg_lapack Interface

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

lanhe stdlib_linalg_lapack Interface

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

lanhf stdlib_linalg_lapack Interface

LANHF returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex Hermitian matrix A in RFP format.

lanhp stdlib_linalg_lapack Interface

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

lanhs stdlib_linalg_lapack Interface

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

lanht stdlib_linalg_lapack Interface

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

lansb stdlib_linalg_lapack Interface

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

lansf stdlib_linalg_lapack Interface

LANSF returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a real symmetric matrix A in RFP format.

lansp stdlib_linalg_lapack Interface

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

lanst stdlib_linalg_lapack Interface

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

lansy stdlib_linalg_lapack Interface

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

lantb stdlib_linalg_lapack Interface

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

lantp stdlib_linalg_lapack Interface

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

lantr stdlib_linalg_lapack Interface

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

laorhr_col_getrfnp stdlib_linalg_lapack Interface

LAORHR_COL_GETRFNP computes the modified LU factorization without pivoting of a real general M-by-N matrix A. The factorization has the form: A - S = L * U, where: S is a m-by-n diagonal sign matrix with the diagonal D, so that D(i) = S(i,i), 1 <= i <= min(M,N). The diagonal D is constructed as D(i)=-SIGN(A(i,i)), where A(i,i) is the value after performing i-1 steps of Gaussian elimination. This means that the diagonal element at each step of "modified" Gaussian elimination is at least one in absolute value (so that division-by-zero not not possible during the division by the diagonal element); L is a M-by-N lower triangular matrix with unit diagonal elements (lower trapezoidal if M > N); and U is a M-by-N upper triangular matrix (upper trapezoidal if M < N). This routine is an auxiliary routine used in the Householder reconstruction routine DORHR_COL. In DORHR_COL, this routine is applied to an M-by-N matrix A with orthonormal columns, where each element is bounded by one in absolute value. With the choice of the matrix S above, one can show that the diagonal element at each step of Gaussian elimination is the largest (in absolute value) in the column on or below the diagonal, so that no pivoting is required for numerical stability [1]. For more details on the Householder reconstruction algorithm, including the modified LU factorization, see [1]. This is the blocked right-looking version of the algorithm, calling Level 3 BLAS to update the submatrix. To factorize a block, this routine calls the recursive routine LAORHR_COL_GETRFNP2. [1] "Reconstructing Householder vectors from tall-skinny QR", G. Ballard, J. Demmel, L. Grigori, M. Jacquelin, H.D. Nguyen, E. Solomonik, J. Parallel Distrib. Comput., vol. 85, pp. 3-31, 2015.

laorhr_col_getrfnp2 stdlib_linalg_lapack Interface

LAORHR_COL_GETRFNP2 computes the modified LU factorization without pivoting of a real general M-by-N matrix A. The factorization has the form: A - S = L * U, where: S is a m-by-n diagonal sign matrix with the diagonal D, so that D(i) = S(i,i), 1 <= i <= min(M,N). The diagonal D is constructed as D(i)=-SIGN(A(i,i)), where A(i,i) is the value after performing i-1 steps of Gaussian elimination. This means that the diagonal element at each step of "modified" Gaussian elimination is at least one in absolute value (so that division-by-zero not possible during the division by the diagonal element); L is a M-by-N lower triangular matrix with unit diagonal elements (lower trapezoidal if M > N); and U is a M-by-N upper triangular matrix (upper trapezoidal if M < N). This routine is an auxiliary routine used in the Householder reconstruction routine DORHR_COL. In DORHR_COL, this routine is applied to an M-by-N matrix A with orthonormal columns, where each element is bounded by one in absolute value. With the choice of the matrix S above, one can show that the diagonal element at each step of Gaussian elimination is the largest (in absolute value) in the column on or below the diagonal, so that no pivoting is required for numerical stability [1]. For more details on the Householder reconstruction algorithm, including the modified LU factorization, see [1]. This is the recursive version of the LU factorization algorithm. Denote A - S by B. The algorithm divides the matrix B into four submatrices: [ B11 | B12 ] where B11 is n1 by n1, B = [ -----|----- ] B21 is (m-n1) by n1, [ B21 | B22 ] B12 is n1 by n2, B22 is (m-n1) by n2, with n1 = min(m,n)/2, n2 = n-n1. The subroutine calls itself to factor B11, solves for B21, solves for B12, updates B22, then calls itself to factor B22. For more details on the recursive LU algorithm, see [2]. LAORHR_COL_GETRFNP2 is called to factorize a block by the blocked routine DLAORHR_COL_GETRFNP, which uses blocked code calling Level 3 BLAS to update the submatrix. However, LAORHR_COL_GETRFNP2 is self-sufficient and can be used without DLAORHR_COL_GETRFNP. [1] "Reconstructing Householder vectors from tall-skinny QR", G. Ballard, J. Demmel, L. Grigori, M. Jacquelin, H.D. Nguyen, E. Solomonik, J. Parallel Distrib. Comput., vol. 85, pp. 3-31, 2015. [2] "Recursion leads to automatic variable blocking for dense linear algebra algorithms", F. Gustavson, IBM J. of Res. and Dev., vol. 41, no. 6, pp. 737-755, 1997.

lapll stdlib_linalg_lapack Interface

Given two column vectors X and Y, let A = ( X Y ). The subroutine first computes the QR factorization of A = Q*R, and then computes the SVD of the 2-by-2 upper triangular matrix R. The smaller singular value of R is returned in SSMIN, which is used as the measurement of the linear dependency of the vectors X and Y.

lapmr stdlib_linalg_lapack Interface

LAPMR rearranges the rows of the M by N matrix X as specified by the permutation K(1),K(2),...,K(M) of the integers 1,...,M. If FORWRD = .TRUE., forward permutation: X(K(I),) is moved X(I,) for I = 1,2,...,M. If FORWRD = .FALSE., backward permutation: X(I,) is moved to X(K(I),) for I = 1,2,...,M.

lapmt stdlib_linalg_lapack Interface

LAPMT rearranges the columns of the M by N matrix X as specified by the permutation K(1),K(2),...,K(N) of the integers 1,...,N. If FORWRD = .TRUE., forward permutation: X(,K(J)) is moved X(,J) for J = 1,2,...,N. If FORWRD = .FALSE., backward permutation: X(,J) is moved to X(,K(J)) for J = 1,2,...,N.

laqgb stdlib_linalg_lapack Interface

LAQGB equilibrates a general M by N band matrix A with KL subdiagonals and KU superdiagonals using the row and scaling factors in the vectors R and C.

laqge stdlib_linalg_lapack Interface

LAQGE equilibrates a general M by N matrix A using the row and column scaling factors in the vectors R and C.

laqhb stdlib_linalg_lapack Interface

LAQHB equilibrates an Hermitian band matrix A using the scaling factors in the vector S.

laqhe stdlib_linalg_lapack Interface

LAQHE equilibrates a Hermitian matrix A using the scaling factors in the vector S.

laqhp stdlib_linalg_lapack Interface

LAQHP equilibrates a Hermitian matrix A using the scaling factors in the vector S.

laqps stdlib_linalg_lapack Interface

LAQPS computes a step of QR factorization with column pivoting of a complex M-by-N matrix A by using Blas-3. It tries to factorize NB columns from A starting from the row OFFSET+1, and updates all of the matrix with Blas-3 xGEMM. In some cases, due to catastrophic cancellations, it cannot factorize NB columns. Hence, the actual number of factorized columns is returned in KB. Block A(1:OFFSET,1:N) is accordingly pivoted, but not factorized.

laqr0 stdlib_linalg_lapack Interface

LAQR0 computes the eigenvalues of a Hessenberg matrix H and, optionally, the matrices T and Z from the Schur decomposition H = Z T ZH, where T is an upper triangular matrix (the Schur form), and Z is the unitary matrix of Schur vectors. Optionally Z may be postmultiplied into an input unitary matrix Q so that this routine can give the Schur factorization of a matrix A which has been reduced to the Hessenberg form H by the unitary matrix Q: A = QHQH = (QZ)H(QZ)**H.

laqr1 stdlib_linalg_lapack Interface

Given a 2-by-2 or 3-by-3 matrix H, LAQR1: sets v to a scalar multiple of the first column of the product () K = (H - s1I)(H - s2I) scaling to avoid overflows and most underflows. This is useful for starting double implicit shift bulges in the QR algorithm.

laqr4 stdlib_linalg_lapack Interface

LAQR4 implements one level of recursion for CLAQR0. It is a complete implementation of the small bulge multi-shift QR algorithm. It may be called by CLAQR0 and, for large enough deflation window size, it may be called by CLAQR3. This subroutine is identical to CLAQR0 except that it calls CLAQR2 instead of CLAQR3. LAQR4 computes the eigenvalues of a Hessenberg matrix H and, optionally, the matrices T and Z from the Schur decomposition H = Z T ZH, where T is an upper triangular matrix (the Schur form), and Z is the unitary matrix of Schur vectors. Optionally Z may be postmultiplied into an input unitary matrix Q so that this routine can give the Schur factorization of a matrix A which has been reduced to the Hessenberg form H by the unitary matrix Q: A = QHQH = (QZ)H(QZ)**H.

laqr5 stdlib_linalg_lapack Interface

LAQR5 called by CLAQR0 performs a single small-bulge multi-shift QR sweep.

laqsb stdlib_linalg_lapack Interface

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

laqsp stdlib_linalg_lapack Interface

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

laqsy stdlib_linalg_lapack Interface

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

laqtr stdlib_linalg_lapack Interface

LAQTR solves the real quasi-triangular system op(T)p = scalec, if LREAL = .TRUE. or the complex quasi-triangular systems op(T + iB)(p+iq) = scale(c+id), if LREAL = .FALSE. in real arithmetic, where T is upper quasi-triangular. If LREAL = .FALSE., then the first diagonal block of T must be 1 by 1, B is the specially structured matrix B = [ b(1) b(2) ... b(n) ] [ w ] [ w ] [ . ] [ w ] op(A) = A or AT, AT denotes the transpose of matrix A. On input, X = [ c ]. On output, X = [ p ]. [ d ] [ q ] This subroutine is designed for the condition number estimation in routine DTRSNA.

laqz0 stdlib_linalg_lapack Interface

LAQZ0 computes the eigenvalues of a matrix pair (H,T), where H is an upper Hessenberg matrix and T is upper triangular, using the double-shift QZ method. Matrix pairs of this type are produced by the reduction to generalized upper Hessenberg form of a matrix pair (A,B): A = Q1HZ1H, B = Q1TZ1H, as computed by CGGHRD. If JOB='S', then the Hessenberg-triangular pair (H,T) is also reduced to generalized Schur form, H = QSZH, T = QPZH, where Q and Z are unitary matrices, P and S are an upper triangular matrices. Optionally, the unitary matrix Q from the generalized Schur factorization may be postmultiplied into an input matrix Q1, and the unitary matrix Z may be postmultiplied into an input matrix Z1. If Q1 and Z1 are the unitary matrices from CGGHRD that reduced the matrix pair (A,B) to generalized upper Hessenberg form, then the output matrices Q1Q and Z1Z are the unitary factors from the generalized Schur factorization of (A,B): A = (Q1Q)S(Z1Z)H, B = (Q1Q)P(Z1Z)H. To avoid overflow, eigenvalues of the matrix pair (H,T) (equivalently, of (A,B)) are computed as a pair of values (alpha,beta), where alpha is complex and beta real. If beta is nonzero, lambda = alpha / beta is an eigenvalue of the generalized nonsymmetric eigenvalue problem (GNEP) Ax = lambdaBx and if alpha is nonzero, mu = beta / alpha is an eigenvalue of the alternate form of the GNEP muAy = By. Eigenvalues can be read directly from the generalized Schur form: alpha = S(i,i), beta = P(i,i). Ref: C.B. Moler Eigenvalue Problems", SIAM J. Numer. Anal., 10(1973), pp. 241--256. Ref: B. Kagstrom, D. Kressner, "Multishift Variants of the QZ Algorithm with Aggressive Early Deflation", SIAM J. Numer. Anal., 29(2006), pp. 199--227. Ref: T. Steel, D. Camps, K. Meerbergen, R. Vandebril "A multishift, multipole rational QZ method with agressive early deflation"

laqz1 stdlib_linalg_lapack Interface

LAQZ1 chases a 1x1 shift bulge in a matrix pencil down a single position

laqz4 stdlib_linalg_lapack Interface

LAQZ4 Executes a single multishift QZ sweep

lar1v stdlib_linalg_lapack Interface

LAR1V computes the (scaled) r-th column of the inverse of the sumbmatrix in rows B1 through BN of the tridiagonal matrix L D LT - sigma I. When sigma is close to an eigenvalue, the computed vector is an accurate eigenvector. Usually, r corresponds to the index where the eigenvector is largest in magnitude. The following steps accomplish this computation : (a) Stationary qd transform, L D LT - sigma I = L(+) D(+) L(+)T, (b) Progressive qd transform, L D LT - sigma I = U(-) D(-) U(-)T, (c) Computation of the diagonal elements of the inverse of L D LT - sigma I by combining the above transforms, and choosing r as the index where the diagonal of the inverse is (one of the) largest in magnitude. (d) Computation of the (scaled) r-th column of the inverse using the twisted factorization obtained by combining the top part of the the stationary and the bottom part of the progressive transform.

lar2v stdlib_linalg_lapack Interface

LAR2V applies a vector of complex plane rotations with real cosines from both sides to a sequence of 2-by-2 complex Hermitian matrices, defined by the elements of the vectors x, y and z. For i = 1,2,...,n ( x(i) z(i) ) := ( conjg(z(i)) y(i) ) ( c(i) conjg(s(i)) ) ( x(i) z(i) ) ( c(i) -conjg(s(i)) ) ( -s(i) c(i) ) ( conjg(z(i)) y(i) ) ( s(i) c(i) )

larcm stdlib_linalg_lapack Interface

LARCM performs a very simple matrix-matrix multiplication: C := A * B, where A is M by M and real; B is M by N and complex; C is M by N and complex.

larf stdlib_linalg_lapack Interface

LARF applies a complex elementary reflector H to a complex M-by-N matrix C, from either the left or the right. H is represented in the form H = I - tau * v * vH where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix. To apply HH (the conjugate transpose of H), supply conjg(tau) instead tau.

larfb stdlib_linalg_lapack Interface

LARFB applies a complex block reflector H or its transpose H**H to a complex M-by-N matrix C, from either the left or the right.

larfb_gett stdlib_linalg_lapack Interface

LARFB_GETT applies a complex Householder block reflector H from the left to a complex (K+M)-by-N "triangular-pentagonal" matrix composed of two block matrices: an upper trapezoidal K-by-N matrix A stored in the array A, and a rectangular M-by-(N-K) matrix B, stored in the array B. The block reflector H is stored in a compact WY-representation, where the elementary reflectors are in the arrays A, B and T. See Further Details section.

larfg stdlib_linalg_lapack Interface

LARFG generates a complex elementary reflector H of order n, such that HH * ( alpha ) = ( beta ), HH * H = I. ( x ) ( 0 ) where alpha and beta are scalars, with beta real, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix. Otherwise 1 <= real(tau) <= 2 and abs(tau-1) <= 1 .

larfgp stdlib_linalg_lapack Interface

LARFGP generates a complex elementary reflector H of order n, such that HH * ( alpha ) = ( beta ), HH * H = I. ( x ) ( 0 ) where alpha and beta are scalars, beta is real and non-negative, and x is an (n-1)-element complex vector. H is represented in the form H = I - tau * ( 1 ) * ( 1 v**H ) , ( v ) where tau is a complex scalar and v is a complex (n-1)-element vector. Note that H is not hermitian. If the elements of x are all zero and alpha is real, then tau = 0 and H is taken to be the unit matrix.

larft stdlib_linalg_lapack Interface

LARFT forms the triangular factor T of a complex block reflector H of order n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * VH If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - VH * T * V

larfy stdlib_linalg_lapack Interface

LARFY applies an elementary reflector, or Householder matrix, H, to an n x n Hermitian matrix C, from both the left and the right. H is represented in the form H = I - tau * v * v' where tau is a scalar and v is a vector. If tau is zero, then H is taken to be the unit matrix.

largv stdlib_linalg_lapack Interface

LARGV generates a vector of complex plane rotations with real cosines, determined by elements of the complex vectors x and y. For i = 1,2,...,n ( c(i) s(i) ) ( x(i) ) = ( r(i) ) ( -conjg(s(i)) c(i) ) ( y(i) ) = ( 0 ) where c(i)2 + ABS(s(i))2 = 1 The following conventions are used (these are the same as in CLARTG, but differ from the BLAS1 routine CROTG): If y(i)=0, then c(i)=1 and s(i)=0. If x(i)=0, then c(i)=0 and s(i) is chosen so that r(i) is real.

larnv stdlib_linalg_lapack Interface

LARNV returns a vector of n random complex numbers from a uniform or normal distribution.

larra stdlib_linalg_lapack Interface

Compute the splitting points with threshold SPLTOL. LARRA sets any "small" off-diagonal elements to zero.

larrb stdlib_linalg_lapack Interface

Given the relatively robust representation(RRR) L D L^T, LARRB: does "limited" bisection to refine the eigenvalues of L D L^T, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ), to more accuracy. Initial guesses for these eigenvalues are input in W, the corresponding estimate of the error in these guesses and their gaps are input in WERR and WGAP, respectively. During bisection, intervals [left, right] are maintained by storing their mid-points and semi-widths in the arrays W and WERR respectively.

larrc stdlib_linalg_lapack Interface

Find the number of eigenvalues of the symmetric tridiagonal matrix T that are in the interval (VL,VU] if JOBT = 'T', and of L D L^T if JOBT = 'L'.

larrd stdlib_linalg_lapack Interface

LARRD computes the eigenvalues of a symmetric tridiagonal matrix T to suitable accuracy. This is an auxiliary code to be called from DSTEMR. The user may ask for all eigenvalues, all eigenvalues in the half-open interval (VL, VU], or the IL-th through IU-th eigenvalues. To avoid overflow, the matrix must be scaled so that its largest element is no greater than overflow(1/2) * underflow(1/4) in absolute value, and for greatest accuracy, it should not be much smaller than that. See W. Kahan "Accurate Eigenvalues of a Symmetric Tridiagonal Matrix", Report CS41, Computer Science Dept., Stanford University, July 21, 1966.

larre stdlib_linalg_lapack Interface

To find the desired eigenvalues of a given real symmetric tridiagonal matrix T, LARRE: sets any "small" off-diagonal elements to zero, and for each unreduced block T_i, it finds (a) a suitable shift at one end of the block's spectrum, (b) the base representation, T_i - sigma_i I = L_i D_i L_i^T, and (c) eigenvalues of each L_i D_i L_i^T. The representations and eigenvalues found are then used by DSTEMR to compute the eigenvectors of T. The accuracy varies depending on whether bisection is used to find a few eigenvalues or the dqds algorithm (subroutine DLASQ2) to conpute all and then discard any unwanted one. As an added benefit, LARRE also outputs the n Gerschgorin intervals for the matrices L_i D_i L_i^T.

larrf stdlib_linalg_lapack Interface

Given the initial representation L D L^T and its cluster of close eigenvalues (in a relative measure), W( CLSTRT ), W( CLSTRT+1 ), ... W( CLEND ), LARRF: finds a new relatively robust representation L D L^T - SIGMA I = L(+) D(+) L(+)^T such that at least one of the eigenvalues of L(+) D(+) L(+)^T is relatively isolated.

larrj stdlib_linalg_lapack Interface

Given the initial eigenvalue approximations of T, LARRJ: does bisection to refine the eigenvalues of T, W( IFIRST-OFFSET ) through W( ILAST-OFFSET ), to more accuracy. Initial guesses for these eigenvalues are input in W, the corresponding estimate of the error in these guesses in WERR. During bisection, intervals [left, right] are maintained by storing their mid-points and semi-widths in the arrays W and WERR respectively.

larrk stdlib_linalg_lapack Interface

LARRK computes one eigenvalue of a symmetric tridiagonal matrix T to suitable accuracy. This is an auxiliary code to be called from DSTEMR. To avoid overflow, the matrix must be scaled so that its largest element is no greater than overflow(1/2) * underflow(1/4) in absolute value, and for greatest accuracy, it should not be much smaller than that. See W. Kahan "Accurate Eigenvalues of a Symmetric Tridiagonal Matrix", Report CS41, Computer Science Dept., Stanford University, July 21, 1966.

larrr stdlib_linalg_lapack Interface

Perform tests to decide whether the symmetric tridiagonal matrix T warrants expensive computations which guarantee high relative accuracy in the eigenvalues.

larrv stdlib_linalg_lapack Interface

LARRV computes the eigenvectors of the tridiagonal matrix T = L D LT given L, D and APPROXIMATIONS to the eigenvalues of L D LT. The input eigenvalues should have been computed by SLARRE.

lartg stdlib_linalg_lapack Interface

LARTG generates a plane rotation so that [ C S ] . [ F ] = [ R ] [ -conjg(S) C ] [ G ] [ 0 ] where C is real and C2 + |S|2 = 1. The mathematical formulas used for C and S are sgn(x) = { x / |x|, x != 0 { 1, x = 0 R = sgn(F) * sqrt(|F|2 + |G|2) C = |F| / sqrt(|F|2 + |G|2) S = sgn(F) * conjg(G) / sqrt(|F|2 + |G|2) When F and G are real, the formulas simplify to C = F/R and S = G/R, and the returned values of C, S, and R should be identical to those returned by LARTG. The algorithm used to compute these quantities incorporates scaling to avoid overflow or underflow in computing the square root of the sum of squares. This is a faster version of the BLAS1 routine CROTG, except for the following differences: F and G are unchanged on return. If G=0, then C=1 and S=0. If F=0, then C=0 and S is chosen so that R is real. Below, wp=>sp stands for single precision from LA_CONSTANTS module.

lartgp stdlib_linalg_lapack Interface

LARTGP generates a plane rotation so that [ CS SN ] . [ F ] = [ R ] where CS2 + SN2 = 1. [ -SN CS ] [ G ] [ 0 ] This is a slower, more accurate version of the Level 1 BLAS routine DROTG, with the following other differences: F and G are unchanged on return. If G=0, then CS=(+/-)1 and SN=0. If F=0 and (G .ne. 0), then CS=0 and SN=(+/-)1. The sign is chosen so that R >= 0.

lartgs stdlib_linalg_lapack Interface

LARTGS generates a plane rotation designed to introduce a bulge in Golub-Reinsch-style implicit QR iteration for the bidiagonal SVD problem. X and Y are the top-row entries, and SIGMA is the shift. The computed CS and SN define a plane rotation satisfying [ CS SN ] . [ X^2 - SIGMA ] = [ R ], [ -SN CS ] [ X * Y ] [ 0 ] with R nonnegative. If X^2 - SIGMA and X * Y are 0, then the rotation is by PI/2.

lartv stdlib_linalg_lapack Interface

LARTV applies a vector of complex plane rotations with real cosines to elements of the complex vectors x and y. For i = 1,2,...,n ( x(i) ) := ( c(i) s(i) ) ( x(i) ) ( y(i) ) ( -conjg(s(i)) c(i) ) ( y(i) )

laruv stdlib_linalg_lapack Interface

LARUV returns a vector of n random real numbers from a uniform (0,1) distribution (n <= 128). This is an auxiliary routine called by DLARNV and ZLARNV.

larz stdlib_linalg_lapack Interface

LARZ applies a complex elementary reflector H to a complex M-by-N matrix C, from either the left or the right. H is represented in the form H = I - tau * v * vH where tau is a complex scalar and v is a complex vector. If tau = 0, then H is taken to be the unit matrix. To apply HH (the conjugate transpose of H), supply conjg(tau) instead tau. H is a product of k elementary reflectors as returned by CTZRZF.

larzb stdlib_linalg_lapack Interface

LARZB applies a complex block reflector H or its transpose H**H to a complex distributed M-by-N C from the left or the right. Currently, only STOREV = 'R' and DIRECT = 'B' are supported.

larzt stdlib_linalg_lapack Interface

LARZT forms the triangular factor T of a complex block reflector H of order > n, which is defined as a product of k elementary reflectors. If DIRECT = 'F', H = H(1) H(2) . . . H(k) and T is upper triangular; If DIRECT = 'B', H = H(k) . . . H(2) H(1) and T is lower triangular. If STOREV = 'C', the vector which defines the elementary reflector H(i) is stored in the i-th column of the array V, and H = I - V * T * VH If STOREV = 'R', the vector which defines the elementary reflector H(i) is stored in the i-th row of the array V, and H = I - VH * T * V Currently, only STOREV = 'R' and DIRECT = 'B' are supported.

lascl stdlib_linalg_lapack Interface

LASCL 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.

lasd0 stdlib_linalg_lapack Interface

Using a divide and conquer approach, LASD0: computes the singular value decomposition (SVD) of a real upper bidiagonal N-by-M matrix B with diagonal D and offdiagonal E, where M = N + SQRE. The algorithm computes orthogonal matrices U and VT such that B = U * S * VT. The singular values S are overwritten on D. A related subroutine, DLASDA, computes only the singular values, and optionally, the singular vectors in compact form.

lasd1 stdlib_linalg_lapack Interface

LASD1 computes the SVD of an upper bidiagonal N-by-M matrix B, where N = NL + NR + 1 and M = N + SQRE. LASD1 is called from DLASD0. A related subroutine DLASD7 handles the case in which the singular values (and the singular vectors in factored form) are desired. LASD1 computes the SVD as follows: ( D1(in) 0 0 0 ) B = U(in) * ( Z1T a Z2T b ) * VT(in) ( 0 0 D2(in) 0 ) = U(out) * ( D(out) 0) * VT(out) where ZT = (Z1T a Z2T b) = uT VT**T, and u is a vector of dimension M with ALPHA and BETA in the NL+1 and NL+2 th entries and zeros elsewhere; and the entry b is empty if SQRE = 0. The left singular vectors of the original matrix are stored in U, and the transpose of the right singular vectors are stored in VT, and the singular values are in D. The algorithm consists of three stages: The first stage consists of deflating the size of the problem when there are multiple singular values or when there are zeros in the Z vector. For each such occurrence the dimension of the secular equation problem is reduced by one. This stage is performed by the routine DLASD2. The second stage consists of calculating the updated singular values. This is done by finding the square roots of the roots of the secular equation via the routine DLASD4 (as called by DLASD3). This routine also calculates the singular vectors of the current problem. The final stage consists of computing the updated singular vectors directly using the updated singular values. The singular vectors for the current problem are multiplied with the singular vectors from the overall problem.

lasd4 stdlib_linalg_lapack Interface

This subroutine computes the square root of the I-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix whose entries are given as the squares of the corresponding entries in the array d, and that 0 <= D(i) < D(j) for i < j and that RHO > 0. This is arranged by the calling routine, and is no loss in generality. The rank-one modified system is thus diag( D ) * diag( D ) + RHO * Z * Z_transpose. where we assume the Euclidean norm of Z is 1. The method consists of approximating the rational functions in the secular equation by simpler interpolating rational functions.

lasd5 stdlib_linalg_lapack Interface

This subroutine computes the square root of the I-th eigenvalue of a positive symmetric rank-one modification of a 2-by-2 diagonal matrix diag( D ) * diag( D ) + RHO * Z * transpose(Z) . The diagonal entries in the array D are assumed to satisfy 0 <= D(i) < D(j) for i < j . We also assume RHO > 0 and that the Euclidean norm of the vector Z is one.

lasd6 stdlib_linalg_lapack Interface

LASD6 computes the SVD of an updated upper bidiagonal matrix B obtained by merging two smaller ones by appending a row. This routine is used only for the problem which requires all singular values and optionally singular vector matrices in factored form. B is an N-by-M matrix with N = NL + NR + 1 and M = N + SQRE. A related subroutine, DLASD1, handles the case in which all singular values and singular vectors of the bidiagonal matrix are desired. LASD6 computes the SVD as follows: ( D1(in) 0 0 0 ) B = U(in) * ( Z1T a Z2T b ) * VT(in) ( 0 0 D2(in) 0 ) = U(out) * ( D(out) 0) * VT(out) where ZT = (Z1T a Z2T b) = uT VT**T, and u is a vector of dimension M with ALPHA and BETA in the NL+1 and NL+2 th entries and zeros elsewhere; and the entry b is empty if SQRE = 0. The singular values of B can be computed using D1, D2, the first components of all the right singular vectors of the lower block, and the last components of all the right singular vectors of the upper block. These components are stored and updated in VF and VL, respectively, in LASD6. Hence U and VT are not explicitly referenced. The singular values are stored in D. The algorithm consists of two stages: The first stage consists of deflating the size of the problem when there are multiple singular values or if there is a zero in the Z vector. For each such occurrence the dimension of the secular equation problem is reduced by one. This stage is performed by the routine DLASD7. The second stage consists of calculating the updated singular values. This is done by finding the roots of the secular equation via the routine DLASD4 (as called by DLASD8). This routine also updates VF and VL and computes the distances between the updated singular values and the old singular values. LASD6 is called from DLASDA.

lasd7 stdlib_linalg_lapack Interface

LASD7 merges the two sets of singular values together into a single sorted set. Then it tries to deflate the size of the problem. There are two ways in which deflation can occur: when two or more singular values are close together or if there is a tiny entry in the Z vector. For each such occurrence the order of the related secular equation problem is reduced by one. LASD7 is called from DLASD6.

lasd8 stdlib_linalg_lapack Interface

LASD8 finds the square roots of the roots of the secular equation, as defined by the values in DSIGMA and Z. It makes the appropriate calls to DLASD4, and stores, for each element in D, the distance to its two nearest poles (elements in DSIGMA). It also updates the arrays VF and VL, the first and last components of all the right singular vectors of the original bidiagonal matrix. LASD8 is called from DLASD6.

lasda stdlib_linalg_lapack Interface

Using a divide and conquer approach, LASDA: computes the singular value decomposition (SVD) of a real upper bidiagonal N-by-M matrix B with diagonal D and offdiagonal E, where M = N + SQRE. The algorithm computes the singular values in the SVD B = U * S * VT. The orthogonal matrices U and VT are optionally computed in compact form. A related subroutine, DLASD0, computes the singular values and the singular vectors in explicit form.

lasdq stdlib_linalg_lapack Interface

LASDQ computes the singular value decomposition (SVD) of a real (upper or lower) bidiagonal matrix with diagonal D and offdiagonal E, accumulating the transformations if desired. Letting B denote the input bidiagonal matrix, the algorithm computes orthogonal matrices Q and P such that B = Q * S * PT (PT denotes the transpose of P). The singular values S are overwritten on D. The input matrix U is changed to U * Q if desired. The input matrix VT is changed to PT * VT if desired. The input matrix C is changed to QT * C if desired. See "Computing Small Singular Values of Bidiagonal Matrices With Guaranteed High Relative Accuracy," by J. Demmel and W. Kahan, LAPACK Working Note #3, for a detailed description of the algorithm.

laset stdlib_linalg_lapack Interface

LASET initializes a 2-D array A to BETA on the diagonal and ALPHA on the offdiagonals.

lasq1 stdlib_linalg_lapack Interface

LASQ1 computes the singular values of a real N-by-N bidiagonal matrix with diagonal D and off-diagonal E. The singular values are computed to high relative accuracy, in the absence of denormalization, underflow and overflow. The algorithm was first presented in "Accurate singular values and differential qd algorithms" by K. V. Fernando and B. N. Parlett, Numer. Math., Vol-67, No. 2, pp. 191-230, 1994, and the present implementation is described in "An implementation of the dqds Algorithm (Positive Case)", LAPACK Working Note.

lasq4 stdlib_linalg_lapack Interface

LASQ4 computes an approximation TAU to the smallest eigenvalue using values of d from the previous transform.

lasq5 stdlib_linalg_lapack Interface

LASQ5 computes one dqds transform in ping-pong form, one version for IEEE machines another for non IEEE machines.

lasq6 stdlib_linalg_lapack Interface

LASQ6 computes one dqd (shift equal to zero) transform in ping-pong form, with protection against underflow and overflow.

lasr stdlib_linalg_lapack Interface

LASR applies a sequence of real plane rotations to a complex matrix A, from either the left or the right. When SIDE = 'L', the transformation takes the form A := PA and when SIDE = 'R', the transformation takes the form A := APT where P is an orthogonal matrix consisting of a sequence of z plane rotations, with z = M when SIDE = 'L' and z = N when SIDE = 'R', and PT is the transpose of P. When DIRECT = 'F' (Forward sequence), then P = P(z-1) * ... * P(2) * P(1) and when DIRECT = 'B' (Backward sequence), then P = P(1) * P(2) * ... * P(z-1) where P(k) is a plane rotation matrix defined by the 2-by-2 rotation R(k) = ( c(k) s(k) ) = ( -s(k) c(k) ). When PIVOT = 'V' (Variable pivot), the rotation is performed for the plane (k,k+1), i.e., P(k) has the form P(k) = ( 1 ) ( ... ) ( 1 ) ( c(k) s(k) ) ( -s(k) c(k) ) ( 1 ) ( ... ) ( 1 ) where R(k) appears as a rank-2 modification to the identity matrix in rows and columns k and k+1. When PIVOT = 'T' (Top pivot), the rotation is performed for the plane (1,k+1), so P(k) has the form P(k) = ( c(k) s(k) ) ( 1 ) ( ... ) ( 1 ) ( -s(k) c(k) ) ( 1 ) ( ... ) ( 1 ) where R(k) appears in rows and columns 1 and k+1. Similarly, when PIVOT = 'B' (Bottom pivot), the rotation is performed for the plane (k,z), giving P(k) the form P(k) = ( 1 ) ( ... ) ( 1 ) ( c(k) s(k) ) ( 1 ) ( ... ) ( 1 ) ( -s(k) c(k) ) where R(k) appears in rows and columns k and z. The rotations are performed without ever forming P(k) explicitly.

lasrt stdlib_linalg_lapack Interface

Sort the numbers in D in increasing order (if ID = 'I') or in decreasing order (if ID = 'D' ). Use Quick Sort, reverting to Insertion sort on arrays of size <= 20. Dimension of STACK limits N to about 2**32.

lassq stdlib_linalg_lapack Interface

LASSQ returns the values scl and smsq such that ( scl2 )*smsq = x( 1 )2 +...+ x( n )2 + ( scale2 )sumsq, where x( i ) = X( 1 + ( i - 1 )INCX ). The value of sumsq is assumed to be non-negative. scale and sumsq must be supplied in SCALE and SUMSQ and scl and smsq are overwritten on SCALE and SUMSQ respectively. If scale * sqrt( sumsq ) > tbig then we require: scale >= sqrt( TINYEPS ) / sbig on entry, and if 0 < scale * sqrt( sumsq ) < tsml then we require: scale <= sqrt( HUGE ) / ssml on entry, where tbig -- upper threshold for values whose square is representable; sbig -- scaling constant for big numbers; \see la_constants.f90 tsml -- lower threshold for values whose square is representable; ssml -- scaling constant for small numbers; \see la_constants.f90 and TINYEPS -- tiniest representable number; HUGE -- biggest representable number.

laswlq stdlib_linalg_lapack Interface

LASWLQ computes a blocked Tall-Skinny LQ factorization of a complex M-by-N matrix A for M <= N: A = ( L 0 ) * Q, where: Q is a n-by-N orthogonal matrix, stored on exit in an implicit form in the elements above the diagonal of the array A and in the elements of the array T; L is a lower-triangular M-by-M matrix stored on exit in the elements on and below the diagonal of the array A. 0 is a M-by-(N-M) zero matrix, if M < N, and is not stored.

laswp stdlib_linalg_lapack Interface

LASWP performs a series of row interchanges on the matrix A. One row interchange is initiated for each of rows K1 through K2 of A.

lasyf stdlib_linalg_lapack Interface

LASYF computes a partial factorization of a complex symmetric matrix A using the Bunch-Kaufman diagonal pivoting method. The partial factorization has the form: A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: ( 0 U22 ) ( 0 D ) ( U12T U22T ) A = ( L11 0 ) ( D 0 ) ( L11T L21T ) if UPLO = 'L' ( L21 I ) ( 0 A22 ) ( 0 I ) where the order of D is at most NB. The actual order is returned in the argument KB, and is either NB or NB-1, or N if N <= NB. Note that U**T denotes the transpose of U. LASYF is an auxiliary routine called by CSYTRF. It uses blocked code (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or A22 (if UPLO = 'L').

lasyf_aa stdlib_linalg_lapack Interface

DLATRF_AA factorizes a panel of a complex symmetric matrix A using the Aasen's algorithm. The panel consists of a set of NB rows of A when UPLO is U, or a set of NB columns when UPLO is L. In order to factorize the panel, the Aasen's algorithm requires the last row, or column, of the previous panel. The first row, or column, of A is set to be the first row, or column, of an identity matrix, which is used to factorize the first panel. The resulting J-th row of U, or J-th column of L, is stored in the (J-1)-th row, or column, of A (without the unit diagonals), while the diagonal and subdiagonal of A are overwritten by those of T.

lasyf_rk stdlib_linalg_lapack Interface

LASYF_RK computes a partial factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman (rook) diagonal pivoting method. The partial factorization has the form: A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: ( 0 U22 ) ( 0 D ) ( U12T U22T ) A = ( L11 0 ) ( D 0 ) ( L11T L21T ) if UPLO = 'L', ( L21 I ) ( 0 A22 ) ( 0 I ) where the order of D is at most NB. The actual order is returned in the argument KB, and is either NB or NB-1, or N if N <= NB. LASYF_RK is an auxiliary routine called by CSYTRF_RK. It uses blocked code (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or A22 (if UPLO = 'L').

lasyf_rook stdlib_linalg_lapack Interface

LASYF_ROOK computes a partial factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The partial factorization has the form: A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: ( 0 U22 ) ( 0 D ) ( U12T U22T ) A = ( L11 0 ) ( D 0 ) ( L11T L21T ) if UPLO = 'L' ( L21 I ) ( 0 A22 ) ( 0 I ) where the order of D is at most NB. The actual order is returned in the argument KB, and is either NB or NB-1, or N if N <= NB. LASYF_ROOK is an auxiliary routine called by CSYTRF_ROOK. It uses blocked code (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or A22 (if UPLO = 'L').

latbs stdlib_linalg_lapack Interface

LATBS solves one of the triangular systems A * x = sb, AT * x = sb, or AH * x = s*b, with scaling to prevent overflow, where A is an upper or lower triangular band matrix. Here AT denotes the transpose of A, x and b are n-element vectors, and s is a scaling factor, usually less than or equal to 1, chosen so that the components of x will be less than the overflow threshold. If the unscaled problem will not cause overflow, the Level 2 BLAS routine CTBSV is called. If the matrix A is singular (A(j,j) = 0 for some j), then s is set to 0 and a non-trivial solution to A*x = 0 is returned.

latdf stdlib_linalg_lapack Interface

LATDF computes the contribution to the reciprocal Dif-estimate by solving for x in Z * x = b, where b is chosen such that the norm of x is as large as possible. It is assumed that LU decomposition of Z has been computed by CGETC2. On entry RHS = f holds the contribution from earlier solved sub-systems, and on return RHS = x. The factorization of Z returned by CGETC2 has the form Z = P * L * U * Q, where P and Q are permutation matrices. L is lower triangular with unit diagonal elements and U is upper triangular.

latps stdlib_linalg_lapack Interface

LATPS solves one of the triangular systems A * x = sb, AT * x = sb, or AH * x = s*b, with scaling to prevent overflow, where A is an upper or lower triangular matrix stored in packed form. Here AT denotes the transpose of A, A*H denotes the conjugate transpose of A, x and b are n-element vectors, and s is a scaling factor, usually less than or equal to 1, chosen so that the components of x will be less than the overflow threshold. If the unscaled problem will not cause overflow, the Level 2 BLAS routine CTPSV is called. If the matrix A is singular (A(j,j) = 0 for some j), then s is set to 0 and a non-trivial solution to Ax = 0 is returned.

latrd stdlib_linalg_lapack Interface

LATRD reduces NB rows and columns of a complex Hermitian matrix A to Hermitian tridiagonal form by a unitary similarity transformation Q**H * A * Q, and returns the matrices V and W which are needed to apply the transformation to the unreduced part of A. If UPLO = 'U', LATRD reduces the last NB rows and columns of a matrix, of which the upper triangle is supplied; if UPLO = 'L', LATRD reduces the first NB rows and columns of a matrix, of which the lower triangle is supplied. This is an auxiliary routine called by CHETRD.

latrs stdlib_linalg_lapack Interface

LATRS solves one of the triangular systems A * x = sb, AT * x = sb, or AH * x = s*b, with scaling to prevent overflow. Here A is an upper or lower triangular matrix, AT denotes the transpose of A, A*H denotes the conjugate transpose of A, x and b are n-element vectors, and s is a scaling factor, usually less than or equal to 1, chosen so that the components of x will be less than the overflow threshold. If the unscaled problem will not cause overflow, the Level 2 BLAS routine CTRSV is called. If the matrix A is singular (A(j,j) = 0 for some j), then s is set to 0 and a non-trivial solution to Ax = 0 is returned.

latrz stdlib_linalg_lapack Interface

LATRZ factors the M-by-(M+L) complex upper trapezoidal matrix [ A1 A2 ] = [ A(1:M,1:M) A(1:M,N-L+1:N) ] as ( R 0 ) * Z by means of unitary transformations, where Z is an (M+L)-by-(M+L) unitary matrix and, R and A1 are M-by-M upper triangular matrices.

latsqr stdlib_linalg_lapack Interface

LATSQR computes a blocked Tall-Skinny QR factorization of a complex M-by-N matrix A for M >= N: A = Q * ( R ), ( 0 ) where: Q is a M-by-M orthogonal matrix, stored on exit in an implicit form in the elements below the diagonal of the array A and in the elements of the array T; R is an upper-triangular N-by-N matrix, stored on exit in the elements on and above the diagonal of the array A. 0 is a (M-N)-by-N zero matrix, and is not stored.

launhr_col_getrfnp stdlib_linalg_lapack Interface

LAUNHR_COL_GETRFNP computes the modified LU factorization without pivoting of a complex general M-by-N matrix A. The factorization has the form: A - S = L * U, where: S is a m-by-n diagonal sign matrix with the diagonal D, so that D(i) = S(i,i), 1 <= i <= min(M,N). The diagonal D is constructed as D(i)=-SIGN(A(i,i)), where A(i,i) is the value after performing i-1 steps of Gaussian elimination. This means that the diagonal element at each step of "modified" Gaussian elimination is at least one in absolute value (so that division-by-zero not not possible during the division by the diagonal element); L is a M-by-N lower triangular matrix with unit diagonal elements (lower trapezoidal if M > N); and U is a M-by-N upper triangular matrix (upper trapezoidal if M < N). This routine is an auxiliary routine used in the Householder reconstruction routine CUNHR_COL. In CUNHR_COL, this routine is applied to an M-by-N matrix A with orthonormal columns, where each element is bounded by one in absolute value. With the choice of the matrix S above, one can show that the diagonal element at each step of Gaussian elimination is the largest (in absolute value) in the column on or below the diagonal, so that no pivoting is required for numerical stability [1]. For more details on the Householder reconstruction algorithm, including the modified LU factorization, see [1]. This is the blocked right-looking version of the algorithm, calling Level 3 BLAS to update the submatrix. To factorize a block, this routine calls the recursive routine LAUNHR_COL_GETRFNP2. [1] "Reconstructing Householder vectors from tall-skinny QR", G. Ballard, J. Demmel, L. Grigori, M. Jacquelin, H.D. Nguyen, E. Solomonik, J. Parallel Distrib. Comput., vol. 85, pp. 3-31, 2015.

launhr_col_getrfnp2 stdlib_linalg_lapack Interface

LAUNHR_COL_GETRFNP2 computes the modified LU factorization without pivoting of a complex general M-by-N matrix A. The factorization has the form: A - S = L * U, where: S is a m-by-n diagonal sign matrix with the diagonal D, so that D(i) = S(i,i), 1 <= i <= min(M,N). The diagonal D is constructed as D(i)=-SIGN(A(i,i)), where A(i,i) is the value after performing i-1 steps of Gaussian elimination. This means that the diagonal element at each step of "modified" Gaussian elimination is at least one in absolute value (so that division-by-zero not possible during the division by the diagonal element); L is a M-by-N lower triangular matrix with unit diagonal elements (lower trapezoidal if M > N); and U is a M-by-N upper triangular matrix (upper trapezoidal if M < N). This routine is an auxiliary routine used in the Householder reconstruction routine CUNHR_COL. In CUNHR_COL, this routine is applied to an M-by-N matrix A with orthonormal columns, where each element is bounded by one in absolute value. With the choice of the matrix S above, one can show that the diagonal element at each step of Gaussian elimination is the largest (in absolute value) in the column on or below the diagonal, so that no pivoting is required for numerical stability [1]. For more details on the Householder reconstruction algorithm, including the modified LU factorization, see [1]. This is the recursive version of the LU factorization algorithm. Denote A - S by B. The algorithm divides the matrix B into four submatrices: [ B11 | B12 ] where B11 is n1 by n1, B = [ -----|----- ] B21 is (m-n1) by n1, [ B21 | B22 ] B12 is n1 by n2, B22 is (m-n1) by n2, with n1 = min(m,n)/2, n2 = n-n1. The subroutine calls itself to factor B11, solves for B21, solves for B12, updates B22, then calls itself to factor B22. For more details on the recursive LU algorithm, see [2]. LAUNHR_COL_GETRFNP2 is called to factorize a block by the blocked routine CLAUNHR_COL_GETRFNP, which uses blocked code calling Level 3 BLAS to update the submatrix. However, LAUNHR_COL_GETRFNP2 is self-sufficient and can be used without CLAUNHR_COL_GETRFNP. [1] "Reconstructing Householder vectors from tall-skinny QR", G. Ballard, J. Demmel, L. Grigori, M. Jacquelin, H.D. Nguyen, E. Solomonik, J. Parallel Distrib. Comput., vol. 85, pp. 3-31, 2015. [2] "Recursion leads to automatic variable blocking for dense linear algebra algorithms", F. Gustavson, IBM J. of Res. and Dev., vol. 41, no. 6, pp. 737-755, 1997.

lauum stdlib_linalg_lapack Interface

LAUUM computes the product U * UH or LH * L, where the triangular factor U or L is stored in the upper or lower triangular part of the array A. If UPLO = 'U' or 'u' then the upper triangle of the result is stored, overwriting the factor U in A. If UPLO = 'L' or 'l' then the lower triangle of the result is stored, overwriting the factor L in A. This is the blocked form of the algorithm, calling Level 3 BLAS.

leaky_relu stdlib_specialfunctions Interface

leaky Rectified linear unit function

leaky_relu_grad stdlib_specialfunctions Interface

Gradient of the leaky Rectified linear unit function

legendre stdlib_specialfunctions Interface

Legendre polynomial

len stdlib_string_type Interface

Returns the length of the character sequence represented by the string.

Read more…
len_trim stdlib_string_type Interface

Returns the length of the character sequence without trailing spaces represented by the string.

Read more…
lge stdlib_string_type Interface

Lexically compare the order of two character sequences being greater equal, The left-hand side, the right-hand side or both character sequences can be represented by a string.

Read more…
lgt stdlib_string_type Interface

Lexically compare the order of two character sequences being greater, The left-hand side, the right-hand side or both character sequences can be represented by a string.

Read more…
linalg_error_handling stdlib_linalg_state Subroutine

Flow control: on output flag present, return it; otherwise, halt on error

linalg_state_type stdlib_linalg_state Interface
linspace stdlib_math Interface

Create rank 1 array of linearly spaced elements If the number of elements is not specified, create an array with size 100. If n is a negative value, return an array with size 0. If n = 1, return an array whose only element is end (Specification)

Read more…
lle stdlib_string_type Interface

Lexically compare the order of two character sequences being less equal, The left-hand side, the right-hand side or both character sequences can be represented by a string.

Read more…
llt stdlib_string_type Interface

Lexically compare the order of two character sequences being less, The left-hand side, the right-hand side or both character sequences can be represented by a string.

Read more…
load_npy stdlib_io_npy Interface

Load multidimensional array in npy format (Specification)

loadtxt stdlib_io Interface

Loads a 2D array from a text file (Specification)

log_factorial stdlib_specialfunctions_gamma Interface

Logarithm of factorial n!, integer variable

log_gamma stdlib_specialfunctions_gamma Interface

Logarithm of gamma function

log_lower_incomplete_gamma stdlib_specialfunctions_gamma Interface

Logarithm of lower incomplete gamma function

log_upper_incomplete_gamma stdlib_specialfunctions_gamma Interface

Logarithm of upper incomplete gamma function

logsoftmax stdlib_specialfunctions Interface

softmax function. Available for ranks 1 to 4

logspace stdlib_math Interface

Create rank 1 array of logarithmically spaced elements from basestart to baseend. If the number of elements is not specified, create an array with size 50. If n is a negative value, return an array with size 0. If n = 1, return an array whose only element is base**end. If no base is specified, logspace will default to using a base of 10

Read more…
lower_incomplete_gamma stdlib_specialfunctions_gamma Interface

Lower incomplete gamma function

lstsq stdlib_linalg Interface

Computes the squares solution to system . (Specification)

Read more…
lstsq_space stdlib_linalg Interface

Computes the integer, real [, complex] working space required by the least-squares solver (Specification)

Read more…
matrix_exp stdlib_linalg Interface

Matrix exponential: subroutine interface version : experimental

Read more…
mean stdlib_stats Interface

Mean of array elements (Specification)

median stdlib_stats Interface

Median of array elements (Specification)

meshgrid stdlib_math Interface

Computes a list of coordinate matrices from coordinate vectors. (Specification)

mnorm stdlib_linalg Interface

Matrix norms: function interface version: experimental

Read more…
moment stdlib_stats Interface

Central moment of array elements (Specification)

move stdlib_string_type Interface

Moves the allocated character scalar from 'from' to 'to' Specifications

new_nmhash32_seed stdlib_hash_32bit Interface

(Specification

new_nmhash32x_seed stdlib_hash_32bit Interface

(Specification)

new_pengy_hash_seed stdlib_hash_64bit Interface
new_spooky_hash_seed stdlib_hash_64bit Interface
new_water_hash_seed stdlib_hash_32bit Interface

(Specification)

nmhash32 stdlib_hash_32bit Interface

NMHASH32 interfaces (Specification)

nmhash32x stdlib_hash_32bit Interface

NMHASH32X interfaces (Specification)

norm stdlib_linalg Interface

Computes the vector norm of a generic-rank array . (Specification)

Read more…
nrm2 stdlib_linalg_blas Interface

NRM2 returns the euclidean norm of a vector via the function name, so that NRM2 := sqrt( x'*x )

odd_random_integer stdlib_hash_64bit Subroutine

Returns a 64 bit pseudo random integer, harvest, distributed uniformly over the odd integers of the 64 bit kind. (Specification)

odd_random_integer stdlib_hash_32bit Subroutine

Returns a 32 bit pseudo random integer, harvest, distributed uniformly over the odd integers of the int32 kind. (Specification)

open stdlib_io Function

Opens a file (Specification)

Read more…
operator(*) stdlib_specialmatrices Interface

Overload the * for scalar-matrix multiplications for the different matrix types provided by stdlib_specialmatrices. Specifications

operator(+) stdlib_specialmatrices Interface

Overload the + operator for matrix-matrix addition. The two matrices need to be of the same type and kind. Specifications

operator(+) stdlib_ansi Interface
operator(-) stdlib_specialmatrices Interface

Overload the - operator for matrix-matrix subtraction. The two matrices need to be of the same type and kind. Specifications

operator(.det.) stdlib_linalg Interface

Determinant operator of a square matrix (Specification)

Read more…
operator(.inv.) stdlib_linalg Interface

Inverse operator of a square matrix (Specification)

Read more…
operator(.pinv.) stdlib_linalg Interface

Pseudo-inverse operator of a matrix (Specification)

Read more…
operator(//) stdlib_stringlist_type Interface

Concatenates stringlist with the input entity Returns a new stringlist Specifications

operator(//) stdlib_string_type Interface

Concatenate two character sequences, the left-hand side, the right-hand side or both character sequences can be represented by a string.

Read more…
operator(//) stdlib_ansi Interface
operator(/=) stdlib_stringlist_type Interface

Compares stringlist for inequality with the input entity Returns a logical Specifications

operator(/=) stdlib_error Interface
operator(/=) stdlib_bitsets Interface

Returns .true. if not all bits in set1 and set2 have the same value, .false. otherwise. The sets must have the same number of bits otherwise the result is undefined. (Specification)

Read more…
operator(/=) stdlib_string_type Interface

Compare two character sequences for inequality, the left-hand side, the right-hand side or both character sequences can be represented by a string.

Read more…
operator(<) stdlib_error Interface
operator(<) stdlib_bitsets Interface

Returns .true. if the bits in set1 and set2 differ and the highest order different bit is set to 0 in set1 and to 1 in set2, .false. otherwise. The sets must have the same number of bits otherwise the result is undefined. (Specification)

Read more…
operator(<) stdlib_string_type Interface

Compare two character sequences for being less, the left-hand side, the right-hand side or both character sequences can be represented by a string.

Read more…
operator(<=) stdlib_error Interface
operator(<=) stdlib_bitsets Interface

Returns .true. if the bits in set1 and set2 are the same or the highest order different bit is set to 0 in set1 and to 1 in set2, .false. otherwise. The sets must have the same number of bits otherwise the result is undefined. (Specification)

Read more…
operator(<=) stdlib_string_type Interface

Compare two character sequences for being less than, the left-hand side, the right-hand side or both character sequences can be represented by a string.

Read more…
operator(==) stdlib_stringlist_type Interface

Compares stringlist for equality with the input entity Returns a logical Specifications

operator(==) stdlib_error Interface

Comparison operators

operator(==) stdlib_bitsets Interface

Returns .true. if all bits in set1 and set2 have the same value, .false. otherwise. The sets must have the same number of bits otherwise the result is undefined. (Specification)

Read more…
operator(==) stdlib_string_type Interface

Compare two character sequences for equality, the left-hand side, the right-hand side or both character sequences can be represented by a string.

Read more…
operator(==) stdlib_hashmap_wrappers Interface
operator(>) stdlib_error Interface
operator(>) stdlib_bitsets Interface

Returns .true. if the bits in set1 and set2 differ and the highest order different bit is set to 1 in set1 and to 0 in set2, .false. otherwise. The sets must have the same number of bits otherwise the result is undefined. (Specification)

Read more…
operator(>) stdlib_string_type Interface

Compare two character sequences for being greater, the left-hand side, the right-hand side or both character sequences can be represented by a string.

Read more…
operator(>=) stdlib_error Interface
operator(>=) stdlib_bitsets Interface

Returns .true. if the bits in set1 and set2 are the same or the highest order different bit is set to 1 in set1 and to 0 in set2, .false. otherwise. The sets must have the same number of bits otherwise the result is undefined. (Specification)

Read more…
operator(>=) stdlib_string_type Interface

Compare two character sequences for being greater than, the left-hand side, the right-hand side or both character sequences can be represented by a string.

Read more…
opgtr stdlib_linalg_lapack Interface

OPGTR generates a real orthogonal matrix Q which is defined as the product of n-1 elementary reflectors H(i) of order n, as returned by DSPTRD using packed storage: if UPLO = 'U', Q = H(n-1) . . . H(2) H(1), if UPLO = 'L', Q = H(1) H(2) . . . H(n-1).

opmtr stdlib_linalg_lapack Interface

OPMTR overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QT * C C * QT where Q is a real orthogonal matrix of order nq, with nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of nq-1 elementary reflectors, as returned by DSPTRD using packed storage: if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1); if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).

optval stdlib_optval Interface

Fallback value for optional arguments (Specification)

or stdlib_bitsets Interface

Sets the bits in set1 to the bitwise or of the original bits in set1 and set2. The sets must have the same number of bits otherwise the result is undefined. (Specification)

Read more…
orbdb stdlib_linalg_lapack Interface

ORBDB simultaneously bidiagonalizes the blocks of an M-by-M partitioned orthogonal matrix X: [ B11 | B12 0 0 ] [ X11 | X12 ] [ P1 | ] [ 0 | 0 -I 0 ] [ Q1 | ]**T X = [-----------] = [---------] [----------------] [---------] . [ X21 | X22 ] [ | P2 ] [ B21 | B22 0 0 ] [ | Q2 ] [ 0 | 0 0 I ] X11 is P-by-Q. Q must be no larger than P, M-P, or M-Q. (If this is not the case, then X must be transposed and/or permuted. This can be done in constant time using the TRANS and SIGNS options. See DORCSD for details.) The orthogonal matrices P1, P2, Q1, and Q2 are P-by-P, (M-P)-by- (M-P), Q-by-Q, and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11, B12, B21, and B22 are Q-by-Q bidiagonal matrices represented implicitly by angles THETA, PHI.

orbdb1 stdlib_linalg_lapack Interface

ORBDB1 simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonomal columns: [ B11 ] [ X11 ] [ P1 | ] [ 0 ] [-----] = [---------] [-----] Q1**T . [ X21 ] [ | P2 ] [ B21 ] [ 0 ] X11 is P-by-Q, and X21 is (M-P)-by-Q. Q must be no larger than P, M-P, or M-Q. Routines DORBDB2, DORBDB3, and DORBDB4 handle cases in which Q is not the minimum dimension. The orthogonal matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11 and B12 are Q-by-Q bidiagonal matrices represented implicitly by angles THETA, PHI.

orbdb2 stdlib_linalg_lapack Interface

ORBDB2 simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonomal columns: [ B11 ] [ X11 ] [ P1 | ] [ 0 ] [-----] = [---------] [-----] Q1**T . [ X21 ] [ | P2 ] [ B21 ] [ 0 ] X11 is P-by-Q, and X21 is (M-P)-by-Q. P must be no larger than M-P, Q, or M-Q. Routines DORBDB1, DORBDB3, and DORBDB4 handle cases in which P is not the minimum dimension. The orthogonal matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11 and B12 are P-by-P bidiagonal matrices represented implicitly by angles THETA, PHI.

orbdb3 stdlib_linalg_lapack Interface

ORBDB3 simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonomal columns: [ B11 ] [ X11 ] [ P1 | ] [ 0 ] [-----] = [---------] [-----] Q1**T . [ X21 ] [ | P2 ] [ B21 ] [ 0 ] X11 is P-by-Q, and X21 is (M-P)-by-Q. M-P must be no larger than P, Q, or M-Q. Routines DORBDB1, DORBDB2, and DORBDB4 handle cases in which M-P is not the minimum dimension. The orthogonal matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11 and B12 are (M-P)-by-(M-P) bidiagonal matrices represented implicitly by angles THETA, PHI.

orbdb4 stdlib_linalg_lapack Interface

ORBDB4 simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonomal columns: [ B11 ] [ X11 ] [ P1 | ] [ 0 ] [-----] = [---------] [-----] Q1**T . [ X21 ] [ | P2 ] [ B21 ] [ 0 ] X11 is P-by-Q, and X21 is (M-P)-by-Q. M-Q must be no larger than P, M-P, or Q. Routines DORBDB1, DORBDB2, and DORBDB3 handle cases in which M-Q is not the minimum dimension. The orthogonal matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11 and B12 are (M-Q)-by-(M-Q) bidiagonal matrices represented implicitly by angles THETA, PHI.

orbdb5 stdlib_linalg_lapack Interface

ORBDB5 orthogonalizes the column vector X = [ X1 ] [ X2 ] with respect to the columns of Q = [ Q1 ] . [ Q2 ] The columns of Q must be orthonormal. If the projection is zero according to Kahan's "twice is enough" criterion, then some other vector from the orthogonal complement is returned. This vector is chosen in an arbitrary but deterministic way.

orbdb6 stdlib_linalg_lapack Interface

ORBDB6 orthogonalizes the column vector X = [ X1 ] [ X2 ] with respect to the columns of Q = [ Q1 ] . [ Q2 ] The columns of Q must be orthonormal. If the projection is zero according to Kahan's "twice is enough" criterion, then the zero vector is returned.

orcsd stdlib_linalg_lapack Interface

ORCSD computes the CS decomposition of an M-by-M partitioned orthogonal matrix X: [ I 0 0 | 0 0 0 ] [ 0 C 0 | 0 -S 0 ] [ X11 | X12 ] [ U1 | ] [ 0 0 0 | 0 0 -I ] [ V1 | ]**T X = [-----------] = [---------] [---------------------] [---------] . [ X21 | X22 ] [ | U2 ] [ 0 0 0 | I 0 0 ] [ | V2 ] [ 0 S 0 | 0 C 0 ] [ 0 0 I | 0 0 0 ] X11 is P-by-Q. The orthogonal matrices U1, U2, V1, and V2 are P-by-P, (M-P)-by-(M-P), Q-by-Q, and (M-Q)-by-(M-Q), respectively. C and S are R-by-R nonnegative diagonal matrices satisfying C^2 + S^2 = I, in which R = MIN(P,M-P,Q,M-Q).

orcsd2by1 stdlib_linalg_lapack Interface

ORCSD2BY1 computes the CS decomposition of an M-by-Q matrix X with orthonormal columns that has been partitioned into a 2-by-1 block structure: [ I1 0 0 ] [ 0 C 0 ] [ X11 ] [ U1 | ] [ 0 0 0 ] X = [-----] = [---------] [----------] V1**T . [ X21 ] [ | U2 ] [ 0 0 0 ] [ 0 S 0 ] [ 0 0 I2] X11 is P-by-Q. The orthogonal matrices U1, U2, and V1 are P-by-P, (M-P)-by-(M-P), and Q-by-Q, respectively. C and S are R-by-R nonnegative diagonal matrices satisfying C^2 + S^2 = I, in which R = MIN(P,M-P,Q,M-Q). I1 is a K1-by-K1 identity matrix and I2 is a K2-by-K2 identity matrix, where K1 = MAX(Q+P-M,0), K2 = MAX(Q-P,0).

ord_sort stdlib_sorting Interface

The generic subroutine interface implementing the ORD_SORT algorithm, a translation to Fortran 2008, of the "Rust" sort algorithm found in slice.rs https://github.com/rust-lang/rust/blob/90eb44a5897c39e3dff9c7e48e3973671dcd9496/src/liballoc/slice.rs#L2159 ORD_SORT is a hybrid stable comparison algorithm combining merge sort, and insertion sort. (Specification)

Read more…
org2l stdlib_linalg_lapack Interface

ORG2L generates an m by n real matrix Q with orthonormal columns, which is defined as the last n columns of a product of k elementary reflectors of order m Q = H(k) . . . H(2) H(1) as returned by DGEQLF.

org2r stdlib_linalg_lapack Interface

ORG2R generates an m by n real matrix Q with orthonormal columns, which is defined as the first n columns of a product of k elementary reflectors of order m Q = H(1) H(2) . . . H(k) as returned by DGEQRF.

orgbr stdlib_linalg_lapack Interface

ORGBR generates one of the real orthogonal matrices Q or PT determined by DGEBRD when reducing a real matrix A to bidiagonal form: A = Q * B * PT. Q and PT are defined as products of elementary reflectors H(i) or G(i) respectively. If VECT = 'Q', A is assumed to have been an M-by-K matrix, and Q is of order M: if m >= k, Q = H(1) H(2) . . . H(k) and ORGBR returns the first n columns of Q, where m >= n >= k; if m < k, Q = H(1) H(2) . . . H(m-1) and ORGBR returns Q as an M-by-M matrix. If VECT = 'P', A is assumed to have been a K-by-N matrix, and PT is of order N: if k < n, PT = G(k) . . . G(2) G(1) and ORGBR returns the first m rows of PT, where n >= m >= k; if k >= n, PT = G(n-1) . . . G(2) G(1) and ORGBR returns PT as an N-by-N matrix.

orghr stdlib_linalg_lapack Interface

ORGHR generates a real orthogonal matrix Q which is defined as the product of IHI-ILO elementary reflectors of order N, as returned by DGEHRD: Q = H(ilo) H(ilo+1) . . . H(ihi-1).

orglq stdlib_linalg_lapack Interface

ORGLQ generates an M-by-N real matrix Q with orthonormal rows, which is defined as the first M rows of a product of K elementary reflectors of order N Q = H(k) . . . H(2) H(1) as returned by DGELQF.

orgql stdlib_linalg_lapack Interface

ORGQL generates an M-by-N real matrix Q with orthonormal columns, which is defined as the last N columns of a product of K elementary reflectors of order M Q = H(k) . . . H(2) H(1) as returned by DGEQLF.

orgqr stdlib_linalg_lapack Interface

ORGQR generates an M-by-N real matrix Q with orthonormal columns, which is defined as the first N columns of a product of K elementary reflectors of order M Q = H(1) H(2) . . . H(k) as returned by DGEQRF.

orgrq stdlib_linalg_lapack Interface

ORGRQ generates an M-by-N real matrix Q with orthonormal rows, which is defined as the last M rows of a product of K elementary reflectors of order N Q = H(1) H(2) . . . H(k) as returned by DGERQF.

orgtr stdlib_linalg_lapack Interface

ORGTR generates a real orthogonal matrix Q which is defined as the product of n-1 elementary reflectors of order N, as returned by DSYTRD: if UPLO = 'U', Q = H(n-1) . . . H(2) H(1), if UPLO = 'L', Q = H(1) H(2) . . . H(n-1).

orgtsqr stdlib_linalg_lapack Interface

ORGTSQR generates an M-by-N real matrix Q_out with orthonormal columns, which are the first N columns of a product of real orthogonal matrices of order M which are returned by DLATSQR Q_out = first_N_columns_of( Q(1)_in * Q(2)_in * ... * Q(k)_in ). See the documentation for DLATSQR.

orgtsqr_row stdlib_linalg_lapack Interface

ORGTSQR_ROW generates an M-by-N real matrix Q_out with orthonormal columns from the output of DLATSQR. These N orthonormal columns are the first N columns of a product of complex unitary matrices Q(k)_in of order M, which are returned by DLATSQR in a special format. Q_out = first_N_columns_of( Q(1)_in * Q(2)_in * ... * Q(k)_in ). The input matrices Q(k)_in are stored in row and column blocks in A. See the documentation of DLATSQR for more details on the format of Q(k)_in, where each Q(k)_in is represented by block Householder transformations. This routine calls an auxiliary routine DLARFB_GETT, where the computation is performed on each individual block. The algorithm first sweeps NB-sized column blocks from the right to left starting in the bottom row block and continues to the top row block (hence _ROW in the routine name). This sweep is in reverse order of the order in which DLATSQR generates the output blocks.

orhr_col stdlib_linalg_lapack Interface

ORHR_COL takes an M-by-N real matrix Q_in with orthonormal columns as input, stored in A, and performs Householder Reconstruction (HR), i.e. reconstructs Householder vectors V(i) implicitly representing another M-by-N matrix Q_out, with the property that Q_in = Q_out*S, where S is an N-by-N diagonal matrix with diagonal entries equal to +1 or -1. The Householder vectors (columns V(i) of V) are stored in A on output, and the diagonal entries of S are stored in D. Block reflectors are also returned in T (same output format as DGEQRT).

orm2l stdlib_linalg_lapack Interface

ORM2L overwrites the general real m by n matrix C with Q * C if SIDE = 'L' and TRANS = 'N', or QT * C if SIDE = 'L' and TRANS = 'T', or C * Q if SIDE = 'R' and TRANS = 'N', or C * QT if SIDE = 'R' and TRANS = 'T', where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(k) . . . H(2) H(1) as returned by DGEQLF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'.

orm2r stdlib_linalg_lapack Interface

ORM2R overwrites the general real m by n matrix C with Q * C if SIDE = 'L' and TRANS = 'N', or QT* C if SIDE = 'L' and TRANS = 'T', or C * Q if SIDE = 'R' and TRANS = 'N', or C * QT if SIDE = 'R' and TRANS = 'T', where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(1) H(2) . . . H(k) as returned by DGEQRF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'.

ormbr stdlib_linalg_lapack Interface

If VECT = 'Q', ORMBR: overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QT * C C * QT If VECT = 'P', ORMBR overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': P * C C * P TRANS = 'T': PT * C C * PT Here Q and PT are the orthogonal matrices determined by DGEBRD when reducing a real matrix A to bidiagonal form: A = Q * B * PT. Q and PT are defined as products of elementary reflectors H(i) and G(i) respectively. Let nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Thus nq is the order of the orthogonal matrix Q or PT that is applied. If VECT = 'Q', A is assumed to have been an NQ-by-K matrix: if nq >= k, Q = H(1) H(2) . . . H(k); if nq < k, Q = H(1) H(2) . . . H(nq-1). If VECT = 'P', A is assumed to have been a K-by-NQ matrix: if k < nq, P = G(1) G(2) . . . G(k); if k >= nq, P = G(1) G(2) . . . G(nq-1).

ormhr stdlib_linalg_lapack Interface

ORMHR overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QT * C C * QT where Q is a real orthogonal matrix of order nq, with nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of IHI-ILO elementary reflectors, as returned by DGEHRD: Q = H(ilo) H(ilo+1) . . . H(ihi-1).

ormlq stdlib_linalg_lapack Interface

ORMLQ overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QT * C C * QT where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(k) . . . H(2) H(1) as returned by DGELQF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.

ormql stdlib_linalg_lapack Interface

ORMQL overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QT * C C * QT where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(k) . . . H(2) H(1) as returned by DGEQLF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.

ormqr stdlib_linalg_lapack Interface

ORMQR overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QT * C C * QT where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(1) H(2) . . . H(k) as returned by DGEQRF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.

ormrq stdlib_linalg_lapack Interface

ORMRQ overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QT * C C * QT where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(1) H(2) . . . H(k) as returned by DGERQF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.

ormrz stdlib_linalg_lapack Interface

ORMRZ overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QT * C C * QT where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(1) H(2) . . . H(k) as returned by DTZRZF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.

ormtr stdlib_linalg_lapack Interface

ORMTR overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QT * C C * QT where Q is a real orthogonal matrix of order nq, with nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of nq-1 elementary reflectors, as returned by DSYTRD: if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1); if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).

outer_product stdlib_linalg Interface

Computes the outer product of two vectors, returning a rank-2 array (Specification)

padl stdlib_strings Interface

Left pad the input string Specifications

padr stdlib_strings Interface

Right pad the input string Specifications

parse_mode stdlib_io Function
pbcon stdlib_linalg_lapack Interface

PBCON estimates the reciprocal of the condition number (in the 1-norm) of a complex Hermitian positive definite band matrix using the Cholesky factorization A = UHU or A = LLH computed by CPBTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

pbequ stdlib_linalg_lapack Interface

PBEQU computes row and column scalings intended to equilibrate a Hermitian positive definite band matrix A and reduce its condition number (with respect to the two-norm). S contains the scale factors, S(i) = 1/sqrt(A(i,i)), chosen so that the scaled matrix B with elements B(i,j) = S(i)A(i,j)S(j) has ones on the diagonal. This choice of S puts the condition number of B within a factor N of the smallest possible condition number over all possible diagonal scalings.

pbrfs stdlib_linalg_lapack Interface

PBRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian positive definite and banded, and provides error bounds and backward error estimates for the solution.

pbstf stdlib_linalg_lapack Interface

PBSTF computes a split Cholesky factorization of a complex Hermitian positive definite band matrix A. This routine is designed to be used in conjunction with CHBGST. The factorization has the form A = S*HS where S is a band matrix of the same bandwidth as A and the following structure: S = ( U ) ( M L ) where U is upper triangular of order m = (n+kd)/2, and L is lower triangular of order n-m.

pbsv stdlib_linalg_lapack Interface

PBSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian positive definite band matrix and X and B are N-by-NRHS matrices. The Cholesky decomposition is used to factor A as A = UH * U, if UPLO = 'U', or A = L * LH, if UPLO = 'L', where U is an upper triangular band matrix, and L is a lower triangular band matrix, with the same number of superdiagonals or subdiagonals as A. The factored form of A is then used to solve the system of equations A * X = B.

pbtrf stdlib_linalg_lapack Interface

PBTRF computes the Cholesky factorization of a complex Hermitian positive definite band matrix A. The factorization has the form A = UH * U, if UPLO = 'U', or A = L * LH, if UPLO = 'L', where U is an upper triangular matrix and L is lower triangular.

pbtrs stdlib_linalg_lapack Interface

PBTRS solves a system of linear equations AX = B with a Hermitian positive definite band matrix A using the Cholesky factorization A = UHU or A = LL*H computed by CPBTRF.

pdf_exp stdlib_stats_distribution_exponential Interface

Version experimental

Read more…
pdf_normal stdlib_stats_distribution_normal Interface

Normal Distribution Probability Density Function (Specification)

pdf_uniform stdlib_stats_distribution_uniform Interface

Get uniform distribution probability density (pdf) for integer, real and complex variables. (Specification)

pengy_hash stdlib_hash_64bit Interface

PENGY_HASH interfaces (Specification)

pftrf stdlib_linalg_lapack Interface

PFTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix A. The factorization has the form A = UH * U, if UPLO = 'U', or A = L * LH, if UPLO = 'L', where U is an upper triangular matrix and L is lower triangular. This is the block version of the algorithm, calling Level 3 BLAS.

pftri stdlib_linalg_lapack Interface

PFTRI computes the inverse of a complex Hermitian positive definite matrix A using the Cholesky factorization A = UHU or A = LLH computed by CPFTRF.

pftrs stdlib_linalg_lapack Interface

PFTRS solves a system of linear equations AX = B with a Hermitian positive definite matrix A using the Cholesky factorization A = UHU or A = LL*H computed by CPFTRF.

pinv stdlib_linalg Interface

Pseudo-inverse of a matrix (Specification)

Read more…
pocon stdlib_linalg_lapack Interface

POCON estimates the reciprocal of the condition number (in the 1-norm) of a complex Hermitian positive definite matrix using the Cholesky factorization A = UHU or A = LLH computed by CPOTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

poequ stdlib_linalg_lapack Interface

POEQU computes row and column scalings intended to equilibrate a Hermitian positive definite matrix A and reduce its condition number (with respect to the two-norm). S contains the scale factors, S(i) = 1/sqrt(A(i,i)), chosen so that the scaled matrix B with elements B(i,j) = S(i)A(i,j)S(j) has ones on the diagonal. This choice of S puts the condition number of B within a factor N of the smallest possible condition number over all possible diagonal scalings.

poequb stdlib_linalg_lapack Interface

POEQUB computes row and column scalings intended to equilibrate a Hermitian positive definite matrix A and reduce its condition number (with respect to the two-norm). S contains the scale factors, S(i) = 1/sqrt(A(i,i)), chosen so that the scaled matrix B with elements B(i,j) = S(i)A(i,j)S(j) has ones on the diagonal. This choice of S puts the condition number of B within a factor N of the smallest possible condition number over all possible diagonal scalings. This routine differs from CPOEQU by restricting the scaling factors to a power of the radix. Barring over- and underflow, scaling by these factors introduces no additional rounding errors. However, the scaled diagonal entries are no longer approximately 1 but lie between sqrt(radix) and 1/sqrt(radix).

porfs stdlib_linalg_lapack Interface

PORFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian positive definite, and provides error bounds and backward error estimates for the solution.

posv stdlib_linalg_lapack Interface

POSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian positive definite matrix and X and B are N-by-NRHS matrices. The Cholesky decomposition is used to factor A as A = UH* U, if UPLO = 'U', or A = L * LH, if UPLO = 'L', where U is an upper triangular matrix and L is a lower triangular matrix. The factored form of A is then used to solve the system of equations A * X = B.

potrf stdlib_linalg_lapack Interface

POTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix A. The factorization has the form A = UH * U, if UPLO = 'U', or A = L * LH, if UPLO = 'L', where U is an upper triangular matrix and L is lower triangular. This is the block version of the algorithm, calling Level 3 BLAS.

potrf2 stdlib_linalg_lapack Interface

POTRF2 computes the Cholesky factorization of a Hermitian positive definite matrix A using the recursive algorithm. The factorization has the form A = UH * U, if UPLO = 'U', or A = L * LH, if UPLO = 'L', where U is an upper triangular matrix and L is lower triangular. This is the recursive version of the algorithm. It divides the matrix into four submatrices: [ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2 A = [ -----|----- ] with n1 = n/2 [ A21 | A22 ] n2 = n-n1 The subroutine calls itself to factor A11. Update and scale A21 or A12, update A22 then calls itself to factor A22.

potri stdlib_linalg_lapack Interface

POTRI computes the inverse of a complex Hermitian positive definite matrix A using the Cholesky factorization A = UHU or A = LLH computed by CPOTRF.

potrs stdlib_linalg_lapack Interface

POTRS solves a system of linear equations AX = B with a Hermitian positive definite matrix A using the Cholesky factorization A = UHU or A = LL*H computed by CPOTRF.

ppcon stdlib_linalg_lapack Interface

PPCON estimates the reciprocal of the condition number (in the 1-norm) of a complex Hermitian positive definite packed matrix using the Cholesky factorization A = UHU or A = LLH computed by CPPTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

ppequ stdlib_linalg_lapack Interface

PPEQU computes row and column scalings intended to equilibrate a Hermitian positive definite matrix A in packed storage and reduce its condition number (with respect to the two-norm). S contains the scale factors, S(i)=1/sqrt(A(i,i)), chosen so that the scaled matrix B with elements B(i,j)=S(i)A(i,j)S(j) has ones on the diagonal. This choice of S puts the condition number of B within a factor N of the smallest possible condition number over all possible diagonal scalings.

pprfs stdlib_linalg_lapack Interface

PPRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian positive definite and packed, and provides error bounds and backward error estimates for the solution.

ppsv stdlib_linalg_lapack Interface

PPSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian positive definite matrix stored in packed format and X and B are N-by-NRHS matrices. The Cholesky decomposition is used to factor A as A = UH * U, if UPLO = 'U', or A = L * LH, if UPLO = 'L', where U is an upper triangular matrix and L is a lower triangular matrix. The factored form of A is then used to solve the system of equations A * X = B.

pptrf stdlib_linalg_lapack Interface

PPTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix A stored in packed format. The factorization has the form A = UH * U, if UPLO = 'U', or A = L * LH, if UPLO = 'L', where U is an upper triangular matrix and L is lower triangular.

pptri stdlib_linalg_lapack Interface

PPTRI computes the inverse of a complex Hermitian positive definite matrix A using the Cholesky factorization A = UHU or A = LLH computed by CPPTRF.

pptrs stdlib_linalg_lapack Interface

PPTRS solves a system of linear equations AX = B with a Hermitian positive definite matrix A in packed storage using the Cholesky factorization A = UHU or A = LL*H computed by CPPTRF.

pseudoinvert stdlib_linalg Interface

Computation of the Moore-Penrose pseudo-inverse (Specification)

Read more…
pstrf stdlib_linalg_lapack Interface

PSTRF computes the Cholesky factorization with complete pivoting of a complex Hermitian positive semidefinite matrix A. The factorization has the form PT * A * P = UH * U , if UPLO = 'U', PT * A * P = L * LH, if UPLO = 'L', where U is an upper triangular matrix and L is lower triangular, and P is stored as vector PIV. This algorithm does not attempt to check that A is positive semidefinite. This version of the algorithm calls level 3 BLAS.

ptcon stdlib_linalg_lapack Interface

PTCON computes the reciprocal of the condition number (in the 1-norm) of a complex Hermitian positive definite tridiagonal matrix using the factorization A = LDLH or A = UHDU computed by CPTTRF. Norm(inv(A)) is computed by a direct method, and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

pteqr stdlib_linalg_lapack Interface

PTEQR computes all eigenvalues and, optionally, eigenvectors of a symmetric positive definite tridiagonal matrix by first factoring the matrix using SPTTRF and then calling CBDSQR to compute the singular values of the bidiagonal factor. This routine computes the eigenvalues of the positive definite tridiagonal matrix to high relative accuracy. This means that if the eigenvalues range over many orders of magnitude in size, then the small eigenvalues and corresponding eigenvectors will be computed more accurately than, for example, with the standard QR method. The eigenvectors of a full or band positive definite Hermitian matrix can also be found if CHETRD, CHPTRD, or CHBTRD has been used to reduce this matrix to tridiagonal form. (The reduction to tridiagonal form, however, may preclude the possibility of obtaining high relative accuracy in the small eigenvalues of the original matrix, if these eigenvalues range over many orders of magnitude.)

ptrfs stdlib_linalg_lapack Interface

PTRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian positive definite and tridiagonal, and provides error bounds and backward error estimates for the solution.

ptsv stdlib_linalg_lapack Interface

PTSV computes the solution to a complex system of linear equations AX = B, where A is an N-by-N Hermitian positive definite tridiagonal matrix, and X and B are N-by-NRHS matrices. A is factored as A = LDL*H, and the factored form of A is then used to solve the system of equations.

pttrf stdlib_linalg_lapack Interface

PTTRF computes the LDLH factorization of a complex Hermitian positive definite tridiagonal matrix A. The factorization may also be regarded as having the form A = UH DU.

pttrs stdlib_linalg_lapack Interface

PTTRS solves a tridiagonal system of the form A * X = B using the factorization A = UHDU or A = LDLH computed by CPTTRF. D is a diagonal matrix specified in the vector D, U (or L) is a unit bidiagonal matrix whose superdiagonal (subdiagonal) is specified in the vector E, and X and B are N by NRHS matrices.

qr stdlib_linalg Interface

Computes the QR factorization of matrix . (Specification)

Read more…
qr_space stdlib_linalg Interface

Computes the working array space required by the QR factorization solver (Specification)

Read more…
rad2deg stdlib_math Interface

rad2deg converts phase angles from radians to degrees. (Specification)

radix_sort stdlib_sorting Interface

The generic subroutine interface implementing the LSD radix sort algorithm, see https://en.wikipedia.org/wiki/Radix_sort for more details. It is always O(N) in sorting random data, but need a O(N) buffer. (Specification)

random_seed stdlib_random Interface

Version experimental

Read more…
read(formatted) stdlib_string_type Interface

Read a character sequence from a connected unformatted unit into the string.

read(unformatted) stdlib_string_type Interface

Read a character sequence from a connected unformatted unit into the string.

regularized_gamma_p stdlib_specialfunctions_gamma Interface

Regularized (normalized) lower incomplete gamma function, P

regularized_gamma_q stdlib_specialfunctions_gamma Interface

Regularized (normalized) upper incomplete gamma function, Q

relu stdlib_specialfunctions Interface

Rectified linear unit function

relu_grad stdlib_specialfunctions Interface

Gradient rectified linear unit function

repeat stdlib_string_type Interface

Repeats the character sequence hold by the string by the number of specified copies.

Read more…
replace_all stdlib_strings Interface

Replaces all the occurrences of substring 'pattern' in the input 'string' with the replacement 'replacement' Version: experimental

reverse stdlib_string_type Interface

Reverses the character sequence hold by the input string

Read more…
reverse stdlib_ascii Function

Reverse the character order in the input character variable (Specification)

Read more…
rot stdlib_linalg_lapack Interface

ROT applies a plane rotation, where the cos (C) is real and the sin (S) is complex, and the vectors CX and CY are complex.

rot stdlib_linalg_blas Interface

ROT applies a plane rotation.

rotg stdlib_linalg_blas Interface

The computation uses the formulas |x| = sqrt( Re(x)2 + Im(x)2 ) sgn(x) = x / |x| if x /= 0 = 1 if x = 0 c = |a| / sqrt(|a|2 + |b|2) s = sgn(a) * conjg(b) / sqrt(|a|2 + |b|2) When a and b are real and r /= 0, the formulas simplify to r = sgn(a)sqrt(|a|2 + |b|*2) c = a / r s = b / r the same as in SROTG when |a| > |b|. When |b| >= |a|, the sign of c and s will be different from those computed by SROTG if the signs of a and b are not the same.

rotm stdlib_linalg_blas Interface

ROTM applies the modified Givens transformation, , to the 2-by-N matrix where indicates transpose. The elements of are in DX(LX+IINCX), I = 0:N-1, where LX = 1 if INCX >= 0, else LX = (-INCX)N, and similarly for DY using LY and INCY. With DPARAM(1)=DFLAG, has one of the following forms: See ROTMG for a description of data storage in DPARAM.

rotmg stdlib_linalg_blas Interface

ROTMG Constructs the modified Givens transformation matrix which zeros the second component of the 2-vector With DPARAM(1)=DFLAG, has one of the following forms: Locations 2-4 of DPARAM contain DH11, DH21, DH12 and DH22 respectively. (Values of 1.0, -1.0, or 0.0 implied by the value of DPARAM(1) are not stored in DPARAM.) The values of parameters GAMSQ and RGAMSQ may be inexact. This is OK as they are only used for testing the size of DD1 and DD2. All actual scaling of data is done using GAM.

rscl stdlib_linalg_lapack Interface

RSCL multiplies an n-element real vector x by the real scalar 1/a. This is done without overflow or underflow as long as the final result x/a does not overflow or underflow.

rvs_exp stdlib_stats_distribution_exponential Interface

Version experimental

Read more…
rvs_normal stdlib_stats_distribution_normal Interface

Normal Distribution Random Variates (Specification)

rvs_uniform stdlib_stats_distribution_uniform Interface

Get uniformly distributed random variate for integer, real and complex variables. (Specification)

save_npy stdlib_io_npy Interface

Save multidimensional array in npy format (Specification)

savetxt stdlib_io Interface

Saves a 2D array into a text file (Specification)

sb2st_kernels stdlib_linalg_lapack Interface

SB2ST_KERNELS is an internal routine used by the DSYTRD_SB2ST subroutine.

sbev stdlib_linalg_lapack Interface

SBEV computes all the eigenvalues and, optionally, eigenvectors of a real symmetric band matrix A.

sbevd stdlib_linalg_lapack Interface

SBEVD computes all the eigenvalues and, optionally, eigenvectors of a real symmetric band matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

sbgst stdlib_linalg_lapack Interface

SBGST reduces a real symmetric-definite banded generalized eigenproblem Ax = lambdaBx to standard form Cy = lambday, such that C has the same bandwidth as A. B must have been previously factorized as STS by DPBSTF, using a split Cholesky factorization. A is overwritten by C = XTAX, where X = S(-1)*Q and Q is an orthogonal matrix chosen to preserve the bandwidth of A.

sbgv stdlib_linalg_lapack Interface

SBGV computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite banded eigenproblem, of the form Ax=(lambda)B*x. Here A and B are assumed to be symmetric and banded, and B is also positive definite.

sbgvd stdlib_linalg_lapack Interface

SBGVD computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite banded eigenproblem, of the form Ax=(lambda)B*x. Here A and B are assumed to be symmetric and banded, and B is also positive definite. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

sbmv stdlib_linalg_blas Interface

SBMV performs the matrix-vector operation y := alphaAx + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric band matrix, with k super-diagonals.

sbtrd stdlib_linalg_lapack Interface

SBTRD reduces a real symmetric band matrix A to symmetric tridiagonal form T by an orthogonal similarity transformation: Q**T * A * Q = T.

scal stdlib_linalg_blas Interface

SCAL scales a vector by a constant.

scan stdlib_string_type Interface

Scan a string for the presence of a set of characters. Scans a string for any of the characters in a set of characters.

Read more…
schur stdlib_linalg Interface

Computes the Schur decomposition of matrix . (Specification)

Read more…
schur_space stdlib_linalg Interface

Computes the working array space required by the Schur decomposition solver (Specification)

Read more…
sdot stdlib_linalg_blas Interface

Compute the inner product of two vectors with extended precision accumulation and result. Returns D.P. dot product accumulated in D.P., for S.P. SX and SY SDOT = sum for I = 0 to N-1 of SX(LX+IINCX) * SY(LY+IINCY), where LX = 1 if INCX >= 0, else LX = 1+(1-N)*INCX, and LY is defined in a similar way using INCY.

seeded_nmhash32_hasher stdlib_hashmap_wrappers Function

Hashes a key with the NMHASH32 hash algorithm (Specifications)

Read more…
seeded_nmhash32x_hasher stdlib_hashmap_wrappers Function

Hashes a key with the NMHASH32X hash algorithm (Specifications) Arguments: key - the key to be hashed seed - the seed (unused) for the hashing algorithm

seeded_water_hasher stdlib_hashmap_wrappers Function

Hashes a key with the waterhash algorithm (Specifications)

Read more…
select stdlib_selection Interface

(Specification)

selu stdlib_specialfunctions Interface

Scaled Exponential Linear Unit

selu_grad stdlib_specialfunctions Interface

Scaled Exponential Linear Unit

set stdlib_hashmap_wrappers Interface
sfrk stdlib_linalg_lapack Interface

Level 3 BLAS like routine for C in RFP Format. SFRK performs one of the symmetric rank--k operations C := alphaAAT + betaC, or C := alphaATA + betaC, where alpha and beta are real scalars, C is an n--by--n symmetric matrix and A is an n--by--k matrix in the first case and a k--by--n matrix in the second case.

shuffle stdlib_stats_distribution_uniform Interface

Fisher-Yates shuffle algorithm for a rank one array of integer, real and complex variables. (Specification)

sigmoid stdlib_specialfunctions Interface

Sigmoid function

sigmoid_grad stdlib_specialfunctions Interface

Gradient of the sigmoid function

silu stdlib_specialfunctions Interface

Sigmoid Linear Unit function

silu_grad stdlib_specialfunctions Interface

Gradient of the Sigmoid Linear Unit function

simps stdlib_quadrature Interface

Integrates sampled values using Simpson's rule (Specification)

simps_weights stdlib_quadrature Interface

Integrates sampled values using trapezoidal rule weights for given abscissas (Specification)

slice stdlib_strings Interface

Extracts characters from the input string to return a new string

Read more…
softmax stdlib_specialfunctions Interface

softmax function. Available for ranks 1 to 4

softmax_grad stdlib_specialfunctions Interface

Gradient of the softmax function. Available for ranks 1 to 4

softplus stdlib_specialfunctions Interface

softplus function

softplus_grad stdlib_specialfunctions Interface

Gradient of the softplus function

solve stdlib_linalg Interface

Solves the linear system for the unknown vector from a square matrix . (Specification)

Read more…
solve_constrained_lstsq stdlib_linalg Interface

Computes the solution of the equality constrained least-squares problem

Read more…
solve_lstsq stdlib_linalg Interface

Computes the squares solution to system . (Specification)

Read more…
solve_lu stdlib_linalg Interface

Solves the linear system for the unknown vector from a square matrix . (Specification)

Read more…
sort stdlib_sorting Interface

The generic subroutine interface implementing the SORT algorithm, based on the introsort of David Musser. (Specification)

sort_adjoint stdlib_sorting Interface

The generic subroutine interface implementing the SORT_ADJ algorithm, based on the "Rust" sort algorithm found in slice.rs https://github.com/rust-lang/rust/blob/90eb44a5897c39e3dff9c7e48e3973671dcd9496/src/liballoc/slice.rs#L2159 but modified to return an array of indices that would provide a stable sort of the rank one ARRAY input. (Specification)

Read more…
sort_index stdlib_sorting Interface

The generic subroutine interface implementing the SORT_INDEX algorithm, based on the "Rust" sort algorithm found in slice.rs https://github.com/rust-lang/rust/blob/90eb44a5897c39e3dff9c7e48e3973671dcd9496/src/liballoc/slice.rs#L2159 but modified to return an array of indices that would provide a stable sort of the rank one ARRAY input. (Specification)

Read more…
spcon stdlib_linalg_lapack Interface

SPCON estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric packed matrix A using the factorization A = UDUT or A = LDLT computed by CSPTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

spev stdlib_linalg_lapack Interface

SPEV computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage.

spevd stdlib_linalg_lapack Interface

SPEVD computes all the eigenvalues and, optionally, eigenvectors of a real symmetric matrix A in packed storage. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

spgst stdlib_linalg_lapack Interface

SPGST reduces a real symmetric-definite generalized eigenproblem to standard form, using packed storage. If ITYPE = 1, the problem is Ax = lambdaBx, and A is overwritten by inv(UT)Ainv(U) or inv(L)Ainv(LT) If ITYPE = 2 or 3, the problem is ABx = lambdax or BAx = lambdax, and A is overwritten by UAUT or LTAL. B must have been previously factorized as UTU or LL*T by DPPTRF.

spgv stdlib_linalg_lapack Interface

SPGV computes all the eigenvalues and, optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, of the form Ax=(lambda)Bx, ABx=(lambda)x, or BAx=(lambda)x. Here A and B are assumed to be symmetric, stored in packed format, and B is also positive definite.

spgvd stdlib_linalg_lapack Interface

SPGVD computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, of the form Ax=(lambda)Bx, ABx=(lambda)x, or BAx=(lambda)x. Here A and B are assumed to be symmetric, stored in packed format, and B is also positive definite. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

spmv stdlib_sparse_spmv Interface
spmv stdlib_specialmatrices Interface

(Specifications) This interface provides methods to compute the matrix-vector product

Read more…
spmv stdlib_linalg_lapack Interface

SPMV performs the matrix-vector operation y := alphaAx + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix, supplied in packed form.

spmv stdlib_linalg_blas Interface

SPMV performs the matrix-vector operation y := alphaAx + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix, supplied in packed form.

spooky_hash stdlib_hash_64bit Interface

SPOOKY_HASH interfaces (Specification)

spookyHash_128 stdlib_hash_64bit Interface
spr stdlib_linalg_lapack Interface

SPR performs the symmetric rank 1 operation A := alphaxx**H + A, where alpha is a complex scalar, x is an n element vector and A is an n by n symmetric matrix, supplied in packed form.

spr stdlib_linalg_blas Interface

SPR performs the symmetric rank 1 operation A := alphaxx**T + A, where alpha is a real scalar, x is an n element vector and A is an n by n symmetric matrix, supplied in packed form.

spr2 stdlib_linalg_blas Interface

SPR2 performs the symmetric rank 2 operation A := alphaxyT + alphayxT + A, where alpha is a scalar, x and y are n element vectors and A is an n by n symmetric matrix, supplied in packed form.

sprfs stdlib_linalg_lapack Interface

SPRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite and packed, and provides error bounds and backward error estimates for the solution.

spsv stdlib_linalg_lapack Interface

SPSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * UT, if UPLO = 'U', or A = L * D * LT, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

sptrd stdlib_linalg_lapack Interface

SPTRD reduces a real symmetric matrix A stored in packed form to symmetric tridiagonal form T by an orthogonal similarity transformation: Q**T * A * Q = T.

sptrf stdlib_linalg_lapack Interface

SPTRF computes the factorization of a complex symmetric matrix A stored in packed format using the Bunch-Kaufman diagonal pivoting method: A = UDUT or A = LDLT where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.

sptri stdlib_linalg_lapack Interface

SPTRI computes the inverse of a complex symmetric indefinite matrix A in packed storage using the factorization A = UDUT or A = LDLT computed by CSPTRF.

sptrs stdlib_linalg_lapack Interface

SPTRS solves a system of linear equations AX = B with a complex symmetric matrix A stored in packed format using the factorization A = UDUT or A = LDL*T computed by CSPTRF.

srot stdlib_linalg_blas Interface

SROT applies a plane rotation, where the cos and sin (c and s) are real and the vectors cx and cy are complex. jack dongarra, linpack, 3/11/78.

sscal stdlib_linalg_blas Interface

SSCAL scales a complex vector by a real constant.

starts_with stdlib_strings Interface

Check whether a string starts with substring or not

Read more…
state_type stdlib_error Interface
stdlib_cabs1 stdlib_linalg_blas_aux Interface
stdlib_caxpy stdlib_blas Interface
stdlib_cbbcsd stdlib_lapack_eig_svd_lsq Interface
stdlib_cbdsqr stdlib_lapack_eig_svd_lsq Interface
stdlib_ccopy stdlib_blas Interface
stdlib_cdotc stdlib_blas Interface
stdlib_cdotu stdlib_blas Interface
stdlib_cgbbrd stdlib_lapack_eig_svd_lsq Interface
stdlib_cgbcon stdlib_lapack_solve Interface
stdlib_cgbequ stdlib_lapack_solve Interface
stdlib_cgbequb stdlib_lapack_solve Interface
stdlib_cgbmv stdlib_blas Interface
stdlib_cgbrfs stdlib_lapack_solve Interface
stdlib_cgbsv stdlib_lapack_solve Interface
stdlib_cgbsvx stdlib_lapack_solve Interface
stdlib_cgbtf2 stdlib_lapack_solve Interface
stdlib_cgbtrf stdlib_lapack_solve Interface
stdlib_cgbtrs stdlib_lapack_solve Interface
stdlib_cgebak stdlib_lapack_eig_svd_lsq Interface
stdlib_cgebal stdlib_lapack_eig_svd_lsq Interface
stdlib_cgebd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_cgebrd stdlib_lapack_eig_svd_lsq Interface
stdlib_cgecon stdlib_lapack_solve Interface
stdlib_cgeequ stdlib_lapack_solve Interface
stdlib_cgeequb stdlib_lapack_solve Interface
stdlib_cgees stdlib_lapack_eig_svd_lsq Interface
stdlib_cgeesx stdlib_lapack_eig_svd_lsq Interface
stdlib_cgeev stdlib_lapack_eig_svd_lsq Interface
stdlib_cgeevx stdlib_lapack_eig_svd_lsq Interface
stdlib_cgehd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_cgehrd stdlib_lapack_eig_svd_lsq Interface
stdlib_cgejsv stdlib_lapack_eig_svd_lsq Interface
stdlib_cgelq stdlib_lapack_orthogonal_factors Interface
stdlib_cgelq2 stdlib_lapack_orthogonal_factors Interface
stdlib_cgelqf stdlib_lapack_orthogonal_factors Interface
stdlib_cgelqt stdlib_lapack_orthogonal_factors Interface
stdlib_cgelqt3 stdlib_lapack_orthogonal_factors Interface
stdlib_cgels stdlib_lapack_eig_svd_lsq Interface
stdlib_cgelsd stdlib_lapack_eig_svd_lsq Interface
stdlib_cgelss stdlib_lapack_eig_svd_lsq Interface
stdlib_cgelsy stdlib_lapack_eig_svd_lsq Interface
stdlib_cgemlq stdlib_lapack_orthogonal_factors Interface
stdlib_cgemlqt stdlib_lapack_orthogonal_factors Interface
stdlib_cgemm stdlib_blas Interface
stdlib_cgemqr stdlib_lapack_orthogonal_factors Interface
stdlib_cgemqrt stdlib_lapack_orthogonal_factors Interface
stdlib_cgemv stdlib_blas Interface
stdlib_cgeql2 stdlib_lapack_orthogonal_factors Interface
stdlib_cgeqlf stdlib_lapack_orthogonal_factors Interface
stdlib_cgeqp3 stdlib_lapack_orthogonal_factors Interface
stdlib_cgeqr stdlib_lapack_orthogonal_factors Interface
stdlib_cgeqr2 stdlib_lapack_orthogonal_factors Interface
stdlib_cgeqr2p stdlib_lapack_orthogonal_factors Interface
stdlib_cgeqrf stdlib_lapack_orthogonal_factors Interface
stdlib_cgeqrfp stdlib_lapack_orthogonal_factors Interface
stdlib_cgeqrt stdlib_lapack_orthogonal_factors Interface
stdlib_cgeqrt2 stdlib_lapack_orthogonal_factors Interface
stdlib_cgeqrt3 stdlib_lapack_orthogonal_factors Interface
stdlib_cgerc stdlib_blas Interface
stdlib_cgerfs stdlib_lapack_solve Interface
stdlib_cgerq2 stdlib_lapack_orthogonal_factors Interface
stdlib_cgerqf stdlib_lapack_orthogonal_factors Interface
stdlib_cgeru stdlib_blas Interface
stdlib_cgesc2 stdlib_lapack_solve Interface
stdlib_cgesdd stdlib_lapack_eig_svd_lsq Interface
stdlib_cgesv stdlib_lapack_solve Interface
stdlib_cgesvd stdlib_lapack_eig_svd_lsq Interface
stdlib_cgesvdq stdlib_lapack_eig_svd_lsq Interface
stdlib_cgesvj stdlib_lapack_eig_svd_lsq Interface
stdlib_cgesvx stdlib_lapack_solve Interface
stdlib_cgetc2 stdlib_lapack_solve Interface
stdlib_cgetf2 stdlib_lapack_solve Interface
stdlib_cgetrf stdlib_lapack_solve Interface
stdlib_cgetrf2 stdlib_lapack_solve Interface
stdlib_cgetri stdlib_lapack_solve Interface
stdlib_cgetrs stdlib_lapack_solve Interface
stdlib_cgetsls stdlib_lapack_eig_svd_lsq Interface
stdlib_cgetsqrhrt stdlib_lapack_orthogonal_factors Interface
stdlib_cggbak stdlib_lapack_eig_svd_lsq Interface
stdlib_cggbal stdlib_lapack_eig_svd_lsq Interface
stdlib_cgges stdlib_lapack_eig_svd_lsq Interface
stdlib_cgges3 stdlib_lapack_eig_svd_lsq Interface
stdlib_cggesx stdlib_lapack_eig_svd_lsq Interface
stdlib_cggev stdlib_lapack_eig_svd_lsq Interface
stdlib_cggev3 stdlib_lapack_eig_svd_lsq Interface
stdlib_cggevx stdlib_lapack_eig_svd_lsq Interface
stdlib_cggglm stdlib_lapack_eig_svd_lsq Interface
stdlib_cgghd3 stdlib_lapack_eig_svd_lsq Interface
stdlib_cgghrd stdlib_lapack_eig_svd_lsq Interface
stdlib_cgglse stdlib_lapack_eig_svd_lsq Interface
stdlib_cggqrf stdlib_lapack_orthogonal_factors Interface
stdlib_cggrqf stdlib_lapack_orthogonal_factors Interface
stdlib_cgsvj0 stdlib_lapack_eig_svd_lsq Interface
stdlib_cgsvj1 stdlib_lapack_eig_svd_lsq Interface
stdlib_cgtcon stdlib_lapack_solve Interface
stdlib_cgtrfs stdlib_lapack_solve Interface
stdlib_cgtsv stdlib_lapack_solve Interface
stdlib_cgtsvx stdlib_lapack_solve Interface
stdlib_cgttrf stdlib_lapack_solve Interface
stdlib_cgttrs stdlib_lapack_solve Interface
stdlib_cgtts2 stdlib_lapack_solve Interface
stdlib_chb2st_kernels stdlib_lapack_eig_svd_lsq Interface
stdlib_chbev stdlib_lapack_eig_svd_lsq Interface
stdlib_chbevd stdlib_lapack_eig_svd_lsq Interface
stdlib_chbevx stdlib_lapack_eig_svd_lsq Interface
stdlib_chbgst stdlib_lapack_eig_svd_lsq Interface
stdlib_chbgv stdlib_lapack_eig_svd_lsq Interface
stdlib_chbgvd stdlib_lapack_eig_svd_lsq Interface
stdlib_chbgvx stdlib_lapack_eig_svd_lsq Interface
stdlib_chbmv stdlib_blas Interface
stdlib_chbtrd stdlib_lapack_eig_svd_lsq Interface
stdlib_checon stdlib_lapack_solve Interface
stdlib_checon_rook stdlib_lapack_solve Interface
stdlib_cheequb stdlib_lapack_solve Interface
stdlib_cheev stdlib_lapack_eig_svd_lsq Interface
stdlib_cheevd stdlib_lapack_eig_svd_lsq Interface
stdlib_cheevr stdlib_lapack_eig_svd_lsq Interface
stdlib_cheevx stdlib_lapack_eig_svd_lsq Interface
stdlib_chegs2 stdlib_lapack_eig_svd_lsq Interface
stdlib_chegst stdlib_lapack_eig_svd_lsq Interface
stdlib_chegv stdlib_lapack_eig_svd_lsq Interface
stdlib_chegvd stdlib_lapack_eig_svd_lsq Interface
stdlib_chegvx stdlib_lapack_eig_svd_lsq Interface
stdlib_chemm stdlib_blas Interface
stdlib_chemv stdlib_blas Interface
stdlib_cher stdlib_blas Interface
stdlib_cher2 stdlib_blas Interface
stdlib_cher2k stdlib_blas Interface
stdlib_cherfs stdlib_lapack_solve Interface
stdlib_cherk stdlib_blas Interface
stdlib_chesv stdlib_lapack_solve Interface
stdlib_chesv_aa stdlib_lapack_solve Interface
stdlib_chesv_rk stdlib_lapack_solve Interface
stdlib_chesv_rook stdlib_lapack_solve Interface
stdlib_chesvx stdlib_lapack_solve Interface
stdlib_cheswapr stdlib_lapack_solve Interface
stdlib_chetd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_chetf2 stdlib_lapack_solve Interface
stdlib_chetf2_rk stdlib_lapack_solve Interface
stdlib_chetf2_rook stdlib_lapack_solve Interface
stdlib_chetrd stdlib_lapack_eig_svd_lsq Interface
stdlib_chetrd_hb2st stdlib_lapack_eig_svd_lsq Interface
stdlib_chetrd_he2hb stdlib_lapack_eig_svd_lsq Interface
stdlib_chetrf stdlib_lapack_solve Interface
stdlib_chetrf_aa stdlib_lapack_solve Interface
stdlib_chetrf_rk stdlib_lapack_solve Interface
stdlib_chetrf_rook stdlib_lapack_solve Interface
stdlib_chetri stdlib_lapack_solve Interface
stdlib_chetri_rook stdlib_lapack_solve Interface
stdlib_chetrs stdlib_lapack_solve Interface
stdlib_chetrs2 stdlib_lapack_solve Interface
stdlib_chetrs_3 stdlib_lapack_solve Interface
stdlib_chetrs_aa stdlib_lapack_solve Interface
stdlib_chetrs_rook stdlib_lapack_solve Interface
stdlib_chfrk stdlib_lapack_base Interface
stdlib_chgeqz stdlib_lapack_eig_svd_lsq Interface
stdlib_chla_transtype stdlib_linalg_lapack_aux Function

This subroutine translates from a BLAST-specified integer constant to the character string specifying a transposition operation. CHLA_TRANSTYPE returns an CHARACTER*1. If CHLA_TRANSTYPE: is 'X', then input is not an integer indicating a transposition operator. Otherwise CHLA_TRANSTYPE returns the constant value corresponding to TRANS.

stdlib_chpcon stdlib_lapack_solve Interface
stdlib_chpev stdlib_lapack_eig_svd_lsq Interface
stdlib_chpevd stdlib_lapack_eig_svd_lsq Interface
stdlib_chpevx stdlib_lapack_eig_svd_lsq Interface
stdlib_chpgst stdlib_lapack_eig_svd_lsq Interface
stdlib_chpgv stdlib_lapack_eig_svd_lsq Interface
stdlib_chpgvd stdlib_lapack_eig_svd_lsq Interface
stdlib_chpgvx stdlib_lapack_eig_svd_lsq Interface
stdlib_chpmv stdlib_blas Interface
stdlib_chpr stdlib_blas Interface
stdlib_chpr2 stdlib_blas Interface
stdlib_chprfs stdlib_lapack_solve Interface
stdlib_chpsv stdlib_lapack_solve Interface
stdlib_chpsvx stdlib_lapack_solve Interface
stdlib_chptrd stdlib_lapack_eig_svd_lsq Interface
stdlib_chptrf stdlib_lapack_solve Interface
stdlib_chptri stdlib_lapack_solve Interface
stdlib_chptrs stdlib_lapack_solve Interface
stdlib_chsein stdlib_lapack_eig_svd_lsq Interface
stdlib_chseqr stdlib_lapack_eig_svd_lsq Interface
stdlib_cla_gbamv stdlib_lapack_base Interface
stdlib_cla_gbrcond_c stdlib_lapack_others Interface
stdlib_cla_gbrpvgrw stdlib_lapack_solve Interface
stdlib_cla_geamv stdlib_lapack_base Interface
stdlib_cla_gercond_c stdlib_lapack_others Interface
stdlib_cla_gerpvgrw stdlib_lapack_others Interface
stdlib_cla_heamv stdlib_lapack_base Interface
stdlib_cla_hercond_c stdlib_lapack_others Interface
stdlib_cla_herpvgrw stdlib_lapack_solve Interface
stdlib_cla_lin_berr stdlib_lapack_solve Interface
stdlib_cla_porcond_c stdlib_lapack_others Interface
stdlib_cla_porpvgrw stdlib_lapack_solve Interface
stdlib_cla_syamv stdlib_lapack_others Interface
stdlib_cla_syrcond_c stdlib_lapack_others Interface
stdlib_cla_syrpvgrw stdlib_lapack_others Interface
stdlib_cla_wwaddw stdlib_lapack_base Interface
stdlib_clabrd stdlib_lapack_eig_svd_lsq Interface
stdlib_clacgv stdlib_lapack_base Interface
stdlib_clacn2 stdlib_lapack_solve Interface
stdlib_clacon stdlib_lapack_solve Interface
stdlib_clacp2 stdlib_lapack_base Interface
stdlib_clacpy stdlib_lapack_base Interface
stdlib_clacrm stdlib_lapack_base Interface
stdlib_clacrt stdlib_lapack_base Interface
stdlib_cladiv stdlib_lapack_base Interface
stdlib_claed0 stdlib_lapack_eig_svd_lsq Interface
stdlib_claed7 stdlib_lapack_eig_svd_lsq Interface
stdlib_claed8 stdlib_lapack_eig_svd_lsq Interface
stdlib_claein stdlib_lapack_eig_svd_lsq Interface
stdlib_claesy stdlib_lapack_eig_svd_lsq Interface
stdlib_claev2 stdlib_lapack_eig_svd_lsq Interface
stdlib_clags2 stdlib_lapack_eig_svd_lsq Interface
stdlib_clagtm stdlib_lapack_base Interface
stdlib_clahef stdlib_lapack_solve Interface
stdlib_clahef_aa stdlib_lapack_solve Interface
stdlib_clahef_rk stdlib_lapack_solve Interface
stdlib_clahef_rook stdlib_lapack_solve Interface
stdlib_clahqr stdlib_lapack_eig_svd_lsq Interface
stdlib_clahr2 stdlib_lapack_eig_svd_lsq Interface
stdlib_claic1 stdlib_lapack_eig_svd_lsq Interface
stdlib_clals0 stdlib_lapack_eig_svd_lsq Interface
stdlib_clalsa stdlib_lapack_eig_svd_lsq Interface
stdlib_clalsd stdlib_lapack_eig_svd_lsq Interface
stdlib_clamswlq stdlib_lapack_orthogonal_factors Interface
stdlib_clamtsqr stdlib_lapack_orthogonal_factors Interface
stdlib_clangb stdlib_lapack_base Interface
stdlib_clange stdlib_lapack_base Interface
stdlib_clangt stdlib_lapack_base Interface
stdlib_clanhb stdlib_lapack_base Interface
stdlib_clanhe stdlib_lapack_base Interface
stdlib_clanhf stdlib_lapack_base Interface
stdlib_clanhp stdlib_lapack_base Interface
stdlib_clanhs stdlib_lapack_base Interface
stdlib_clanht stdlib_lapack_base Interface
stdlib_clansb stdlib_lapack_base Interface
stdlib_clansp stdlib_lapack_base Interface
stdlib_clansy stdlib_lapack_base Interface
stdlib_clantb stdlib_lapack_base Interface
stdlib_clantp stdlib_lapack_base Interface
stdlib_clantr stdlib_lapack_base Interface
stdlib_clapll stdlib_lapack_eig_svd_lsq Interface
stdlib_clapmr stdlib_lapack_eig_svd_lsq Interface
stdlib_clapmt stdlib_lapack_eig_svd_lsq Interface
stdlib_claqgb stdlib_lapack_solve Interface
stdlib_claqge stdlib_lapack_solve Interface
stdlib_claqhb stdlib_lapack_solve Interface
stdlib_claqhe stdlib_lapack_solve Interface
stdlib_claqhp stdlib_lapack_solve Interface
stdlib_claqp2 stdlib_lapack_orthogonal_factors Interface
stdlib_claqps stdlib_lapack_orthogonal_factors Interface
stdlib_claqr0 stdlib_lapack_eig_svd_lsq Interface
stdlib_claqr1 stdlib_lapack_eig_svd_lsq Interface
stdlib_claqr2 stdlib_lapack_eig_svd_lsq Interface
stdlib_claqr3 stdlib_lapack_eig_svd_lsq Interface
stdlib_claqr4 stdlib_lapack_eig_svd_lsq Interface
stdlib_claqr5 stdlib_lapack_eig_svd_lsq Interface
stdlib_claqsb stdlib_lapack_base Interface
stdlib_claqsp stdlib_lapack_solve Interface
stdlib_claqsy stdlib_lapack_solve Interface
stdlib_claqz0 stdlib_lapack_eig_svd_lsq Interface
stdlib_claqz1 stdlib_lapack_eig_svd_lsq Interface
stdlib_claqz2 stdlib_lapack_eig_svd_lsq Interface
stdlib_claqz3 stdlib_lapack_eig_svd_lsq Interface
stdlib_clar1v stdlib_lapack_eig_svd_lsq Interface
stdlib_clar2v stdlib_lapack_base Interface
stdlib_clarcm stdlib_lapack_base Interface
stdlib_clarf stdlib_lapack_base Interface
stdlib_clarfb stdlib_lapack_base Interface
stdlib_clarfb_gett stdlib_lapack_orthogonal_factors Interface
stdlib_clarfg stdlib_lapack_base Interface
stdlib_clarfgp stdlib_lapack_base Interface
stdlib_clarft stdlib_lapack_base Interface
stdlib_clarfx stdlib_lapack_base Interface
stdlib_clarfy stdlib_lapack_base Interface
stdlib_clargv stdlib_lapack_base Interface
stdlib_clarnv stdlib_lapack_base Interface
stdlib_clarrv stdlib_lapack_eig_svd_lsq Interface
stdlib_clartg stdlib_lapack_base Interface
stdlib_clartv stdlib_lapack_base Interface
stdlib_clarz stdlib_lapack_orthogonal_factors Interface
stdlib_clarzb stdlib_lapack_orthogonal_factors Interface
stdlib_clarzt stdlib_lapack_orthogonal_factors Interface
stdlib_clascl stdlib_lapack_base Interface
stdlib_claset stdlib_lapack_base Interface
stdlib_clasr stdlib_lapack_base Interface
stdlib_classq stdlib_lapack_base Interface
stdlib_claswlq stdlib_lapack_orthogonal_factors Interface
stdlib_claswp stdlib_lapack_solve Interface
stdlib_clasyf stdlib_lapack_solve Interface
stdlib_clasyf_aa stdlib_lapack_solve Interface
stdlib_clasyf_rk stdlib_lapack_solve Interface
stdlib_clasyf_rook stdlib_lapack_solve Interface
stdlib_clatbs stdlib_lapack_solve Interface
stdlib_clatdf stdlib_lapack_solve Interface
stdlib_clatps stdlib_lapack_solve Interface
stdlib_clatrd stdlib_lapack_eig_svd_lsq Interface
stdlib_clatrs stdlib_lapack_solve Interface
stdlib_clatrz stdlib_lapack_orthogonal_factors Interface
stdlib_clatsqr stdlib_lapack_orthogonal_factors Interface
stdlib_claunhr_col_getrfnp stdlib_lapack_orthogonal_factors Interface
stdlib_claunhr_col_getrfnp2 stdlib_lapack_orthogonal_factors Interface
stdlib_clauu2 stdlib_lapack_solve Interface
stdlib_clauum stdlib_lapack_solve Interface
stdlib_cpbcon stdlib_lapack_solve Interface
stdlib_cpbequ stdlib_lapack_solve Interface
stdlib_cpbrfs stdlib_lapack_solve Interface
stdlib_cpbstf stdlib_lapack_eig_svd_lsq Interface
stdlib_cpbsv stdlib_lapack_solve Interface
stdlib_cpbsvx stdlib_lapack_solve Interface
stdlib_cpbtf2 stdlib_lapack_solve Interface
stdlib_cpbtrf stdlib_lapack_solve Interface
stdlib_cpbtrs stdlib_lapack_solve Interface
stdlib_cpftrf stdlib_lapack_solve Interface
stdlib_cpftri stdlib_lapack_solve Interface
stdlib_cpftrs stdlib_lapack_solve Interface
stdlib_cpocon stdlib_lapack_solve Interface
stdlib_cpoequ stdlib_lapack_solve Interface
stdlib_cpoequb stdlib_lapack_solve Interface
stdlib_cporfs stdlib_lapack_solve Interface
stdlib_cposv stdlib_lapack_solve Interface
stdlib_cposvx stdlib_lapack_solve Interface
stdlib_cpotf2 stdlib_lapack_solve Interface
stdlib_cpotrf stdlib_lapack_solve Interface
stdlib_cpotrf2 stdlib_lapack_solve Interface
stdlib_cpotri stdlib_lapack_solve Interface
stdlib_cpotrs stdlib_lapack_solve Interface
stdlib_cppcon stdlib_lapack_solve Interface
stdlib_cppequ stdlib_lapack_solve Interface
stdlib_cpprfs stdlib_lapack_solve Interface
stdlib_cppsv stdlib_lapack_solve Interface
stdlib_cppsvx stdlib_lapack_solve Interface
stdlib_cpptrf stdlib_lapack_solve Interface
stdlib_cpptri stdlib_lapack_solve Interface
stdlib_cpptrs stdlib_lapack_solve Interface
stdlib_cpstf2 stdlib_lapack_solve Interface
stdlib_cpstrf stdlib_lapack_solve Interface
stdlib_cptcon stdlib_lapack_solve Interface
stdlib_cpteqr stdlib_lapack_eig_svd_lsq Interface
stdlib_cptrfs stdlib_lapack_solve Interface
stdlib_cptsv stdlib_lapack_solve Interface
stdlib_cptsvx stdlib_lapack_solve Interface
stdlib_cpttrf stdlib_lapack_solve Interface
stdlib_cpttrs stdlib_lapack_solve Interface
stdlib_cptts2 stdlib_lapack_solve Interface
stdlib_crot stdlib_lapack_base Interface
stdlib_crotg stdlib_blas Interface
stdlib_cscal stdlib_blas Interface
stdlib_cspcon stdlib_lapack_solve Interface
stdlib_cspmv stdlib_lapack_base Interface
stdlib_cspr stdlib_lapack_base Interface
stdlib_csprfs stdlib_lapack_solve Interface
stdlib_cspsv stdlib_lapack_solve Interface
stdlib_cspsvx stdlib_lapack_solve Interface
stdlib_csptrf stdlib_lapack_solve Interface
stdlib_csptri stdlib_lapack_solve Interface
stdlib_csptrs stdlib_lapack_solve Interface
stdlib_csrot stdlib_blas Interface
stdlib_csrscl stdlib_lapack_base Interface
stdlib_csscal stdlib_blas Interface
stdlib_cstedc stdlib_lapack_eig_svd_lsq Interface
stdlib_cstegr stdlib_lapack_eig_svd_lsq Interface
stdlib_cstein stdlib_lapack_eig_svd_lsq Interface
stdlib_cstemr stdlib_lapack_eig_svd_lsq Interface
stdlib_csteqr stdlib_lapack_eig_svd_lsq Interface
stdlib_cswap stdlib_blas Interface
stdlib_csycon stdlib_lapack_solve Interface
stdlib_csycon_rook stdlib_lapack_solve Interface
stdlib_csyconv stdlib_lapack_solve Interface
stdlib_csyconvf stdlib_lapack_solve Interface
stdlib_csyconvf_rook stdlib_lapack_solve Interface
stdlib_csyequb stdlib_lapack_solve Interface
stdlib_csymm stdlib_blas Interface
stdlib_csymv stdlib_lapack_base Interface
stdlib_csyr stdlib_lapack_base Interface
stdlib_csyr2k stdlib_blas Interface
stdlib_csyrfs stdlib_lapack_solve Interface
stdlib_csyrk stdlib_blas Interface
stdlib_csysv stdlib_lapack_solve Interface
stdlib_csysv_aa stdlib_lapack_solve Interface
stdlib_csysv_rk stdlib_lapack_solve Interface
stdlib_csysv_rook stdlib_lapack_solve Interface
stdlib_csysvx stdlib_lapack_solve Interface
stdlib_csyswapr stdlib_lapack_solve Interface
stdlib_csytf2 stdlib_lapack_solve Interface
stdlib_csytf2_rk stdlib_lapack_solve Interface
stdlib_csytf2_rook stdlib_lapack_solve Interface
stdlib_csytrf stdlib_lapack_solve Interface
stdlib_csytrf_aa stdlib_lapack_solve Interface
stdlib_csytrf_rk stdlib_lapack_solve Interface
stdlib_csytrf_rook stdlib_lapack_solve Interface
stdlib_csytri stdlib_lapack_solve Interface
stdlib_csytri_rook stdlib_lapack_solve Interface
stdlib_csytrs stdlib_lapack_solve Interface
stdlib_csytrs2 stdlib_lapack_solve Interface
stdlib_csytrs_3 stdlib_lapack_solve Interface
stdlib_csytrs_aa stdlib_lapack_solve Interface
stdlib_csytrs_rook stdlib_lapack_solve Interface
stdlib_ctbcon stdlib_lapack_solve Interface
stdlib_ctbmv stdlib_blas Interface
stdlib_ctbrfs stdlib_lapack_solve Interface
stdlib_ctbsv stdlib_blas Interface
stdlib_ctbtrs stdlib_lapack_solve Interface
stdlib_ctfsm stdlib_lapack_base Interface
stdlib_ctftri stdlib_lapack_solve Interface
stdlib_ctfttp stdlib_lapack_base Interface
stdlib_ctfttr stdlib_lapack_base Interface
stdlib_ctgevc stdlib_lapack_eig_svd_lsq Interface
stdlib_ctgex2 stdlib_lapack_eig_svd_lsq Interface
stdlib_ctgexc stdlib_lapack_eig_svd_lsq Interface
stdlib_ctgsen stdlib_lapack_eig_svd_lsq Interface
stdlib_ctgsja stdlib_lapack_eig_svd_lsq Interface
stdlib_ctgsna stdlib_lapack_eig_svd_lsq Interface
stdlib_ctgsy2 stdlib_lapack_eig_svd_lsq Interface
stdlib_ctgsyl stdlib_lapack_eig_svd_lsq Interface
stdlib_ctpcon stdlib_lapack_solve Interface
stdlib_ctplqt stdlib_lapack_orthogonal_factors Interface
stdlib_ctplqt2 stdlib_lapack_orthogonal_factors Interface
stdlib_ctpmlqt stdlib_lapack_orthogonal_factors Interface
stdlib_ctpmqrt stdlib_lapack_orthogonal_factors Interface
stdlib_ctpmv stdlib_blas Interface
stdlib_ctpqrt stdlib_lapack_orthogonal_factors Interface
stdlib_ctpqrt2 stdlib_lapack_orthogonal_factors Interface
stdlib_ctprfb stdlib_lapack_orthogonal_factors Interface
stdlib_ctprfs stdlib_lapack_solve Interface
stdlib_ctpsv stdlib_blas Interface
stdlib_ctptri stdlib_lapack_solve Interface
stdlib_ctptrs stdlib_lapack_solve Interface
stdlib_ctpttf stdlib_lapack_base Interface
stdlib_ctpttr stdlib_lapack_base Interface
stdlib_ctrcon stdlib_lapack_solve Interface
stdlib_ctrevc stdlib_lapack_eig_svd_lsq Interface
stdlib_ctrevc3 stdlib_lapack_eig_svd_lsq Interface
stdlib_ctrexc stdlib_lapack_eig_svd_lsq Interface
stdlib_ctrmm stdlib_blas Interface
stdlib_ctrmv stdlib_blas Interface
stdlib_ctrrfs stdlib_lapack_solve Interface
stdlib_ctrsen stdlib_lapack_eig_svd_lsq Interface
stdlib_ctrsm stdlib_blas Interface
stdlib_ctrsna stdlib_lapack_eig_svd_lsq Interface
stdlib_ctrsv stdlib_blas Interface
stdlib_ctrsyl stdlib_lapack_eig_svd_lsq Interface
stdlib_ctrti2 stdlib_lapack_solve Interface
stdlib_ctrtri stdlib_lapack_solve Interface
stdlib_ctrtrs stdlib_lapack_solve Interface
stdlib_ctrttf stdlib_lapack_base Interface
stdlib_ctrttp stdlib_lapack_base Interface
stdlib_ctzrzf stdlib_lapack_orthogonal_factors Interface
stdlib_cunbdb stdlib_lapack_eig_svd_lsq Interface
stdlib_cunbdb1 stdlib_lapack_eig_svd_lsq Interface
stdlib_cunbdb2 stdlib_lapack_eig_svd_lsq Interface
stdlib_cunbdb3 stdlib_lapack_eig_svd_lsq Interface
stdlib_cunbdb4 stdlib_lapack_eig_svd_lsq Interface
stdlib_cunbdb5 stdlib_lapack_eig_svd_lsq Interface
stdlib_cunbdb6 stdlib_lapack_eig_svd_lsq Interface
stdlib_cuncsd stdlib_lapack_eig_svd_lsq Interface
stdlib_cuncsd2by1 stdlib_lapack_eig_svd_lsq Interface
stdlib_cung2l stdlib_lapack_orthogonal_factors Interface
stdlib_cung2r stdlib_lapack_orthogonal_factors Interface
stdlib_cungbr stdlib_lapack_eig_svd_lsq Interface
stdlib_cunghr stdlib_lapack_eig_svd_lsq Interface
stdlib_cungl2 stdlib_lapack_orthogonal_factors Interface
stdlib_cunglq stdlib_lapack_orthogonal_factors Interface
stdlib_cungql stdlib_lapack_orthogonal_factors Interface
stdlib_cungqr stdlib_lapack_orthogonal_factors Interface
stdlib_cungr2 stdlib_lapack_orthogonal_factors Interface
stdlib_cungrq stdlib_lapack_orthogonal_factors Interface
stdlib_cungtr stdlib_lapack_eig_svd_lsq Interface
stdlib_cungtsqr stdlib_lapack_orthogonal_factors Interface
stdlib_cungtsqr_row stdlib_lapack_orthogonal_factors Interface
stdlib_cunhr_col stdlib_lapack_orthogonal_factors Interface
stdlib_cunm22 stdlib_lapack_orthogonal_factors Interface
stdlib_cunm2l stdlib_lapack_orthogonal_factors Interface
stdlib_cunm2r stdlib_lapack_orthogonal_factors Interface
stdlib_cunmbr stdlib_lapack_eig_svd_lsq Interface
stdlib_cunmhr stdlib_lapack_eig_svd_lsq Interface
stdlib_cunml2 stdlib_lapack_orthogonal_factors Interface
stdlib_cunmlq stdlib_lapack_orthogonal_factors Interface
stdlib_cunmql stdlib_lapack_orthogonal_factors Interface
stdlib_cunmqr stdlib_lapack_orthogonal_factors Interface
stdlib_cunmr2 stdlib_lapack_orthogonal_factors Interface
stdlib_cunmr3 stdlib_lapack_orthogonal_factors Interface
stdlib_cunmrq stdlib_lapack_orthogonal_factors Interface
stdlib_cunmrz stdlib_lapack_orthogonal_factors Interface
stdlib_cunmtr stdlib_lapack_eig_svd_lsq Interface
stdlib_cupgtr stdlib_lapack_eig_svd_lsq Interface
stdlib_cupmtr stdlib_lapack_eig_svd_lsq Interface
stdlib_dasum stdlib_blas Interface
stdlib_daxpy stdlib_blas Interface
stdlib_dbbcsd stdlib_lapack_eig_svd_lsq Interface
stdlib_dbdsdc stdlib_lapack_eig_svd_lsq Interface
stdlib_dbdsqr stdlib_lapack_eig_svd_lsq Interface
stdlib_dcopy stdlib_blas Interface
stdlib_ddisna stdlib_lapack_eig_svd_lsq Interface
stdlib_ddot stdlib_blas Interface
stdlib_dgbbrd stdlib_lapack_eig_svd_lsq Interface
stdlib_dgbcon stdlib_lapack_solve Interface
stdlib_dgbequ stdlib_lapack_solve Interface
stdlib_dgbequb stdlib_lapack_solve Interface
stdlib_dgbmv stdlib_blas Interface
stdlib_dgbrfs stdlib_lapack_solve Interface
stdlib_dgbsv stdlib_lapack_solve Interface
stdlib_dgbsvx stdlib_lapack_solve Interface
stdlib_dgbtf2 stdlib_lapack_solve Interface
stdlib_dgbtrf stdlib_lapack_solve Interface
stdlib_dgbtrs stdlib_lapack_solve Interface
stdlib_dgebak stdlib_lapack_eig_svd_lsq Interface
stdlib_dgebal stdlib_lapack_eig_svd_lsq Interface
stdlib_dgebd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dgebrd stdlib_lapack_eig_svd_lsq Interface
stdlib_dgecon stdlib_lapack_solve Interface
stdlib_dgeequ stdlib_lapack_solve Interface
stdlib_dgeequb stdlib_lapack_solve Interface
stdlib_dgees stdlib_lapack_eig_svd_lsq Interface
stdlib_dgeesx stdlib_lapack_eig_svd_lsq Interface
stdlib_dgeev stdlib_lapack_eig_svd_lsq Interface
stdlib_dgeevx stdlib_lapack_eig_svd_lsq Interface
stdlib_dgehd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dgehrd stdlib_lapack_eig_svd_lsq Interface
stdlib_dgejsv stdlib_lapack_eig_svd_lsq Interface
stdlib_dgelq stdlib_lapack_orthogonal_factors Interface
stdlib_dgelq2 stdlib_lapack_orthogonal_factors Interface
stdlib_dgelqf stdlib_lapack_orthogonal_factors Interface
stdlib_dgelqt stdlib_lapack_orthogonal_factors Interface
stdlib_dgelqt3 stdlib_lapack_orthogonal_factors Interface
stdlib_dgels stdlib_lapack_eig_svd_lsq Interface
stdlib_dgelsd stdlib_lapack_eig_svd_lsq Interface
stdlib_dgelss stdlib_lapack_eig_svd_lsq Interface
stdlib_dgelsy stdlib_lapack_eig_svd_lsq Interface
stdlib_dgemlq stdlib_lapack_orthogonal_factors Interface
stdlib_dgemlqt stdlib_lapack_orthogonal_factors Interface
stdlib_dgemm stdlib_blas Interface
stdlib_dgemqr stdlib_lapack_orthogonal_factors Interface
stdlib_dgemqrt stdlib_lapack_orthogonal_factors Interface
stdlib_dgemv stdlib_blas Interface
stdlib_dgeql2 stdlib_lapack_orthogonal_factors Interface
stdlib_dgeqlf stdlib_lapack_orthogonal_factors Interface
stdlib_dgeqp3 stdlib_lapack_orthogonal_factors Interface
stdlib_dgeqr stdlib_lapack_orthogonal_factors Interface
stdlib_dgeqr2 stdlib_lapack_orthogonal_factors Interface
stdlib_dgeqr2p stdlib_lapack_orthogonal_factors Interface
stdlib_dgeqrf stdlib_lapack_orthogonal_factors Interface
stdlib_dgeqrfp stdlib_lapack_orthogonal_factors Interface
stdlib_dgeqrt stdlib_lapack_orthogonal_factors Interface
stdlib_dgeqrt2 stdlib_lapack_orthogonal_factors Interface
stdlib_dgeqrt3 stdlib_lapack_orthogonal_factors Interface
stdlib_dger stdlib_blas Interface
stdlib_dgerfs stdlib_lapack_solve Interface
stdlib_dgerq2 stdlib_lapack_orthogonal_factors Interface
stdlib_dgerqf stdlib_lapack_orthogonal_factors Interface
stdlib_dgesc2 stdlib_lapack_solve Interface
stdlib_dgesdd stdlib_lapack_eig_svd_lsq Interface
stdlib_dgesv stdlib_lapack_solve Interface
stdlib_dgesvd stdlib_lapack_eig_svd_lsq Interface
stdlib_dgesvdq stdlib_lapack_eig_svd_lsq Interface
stdlib_dgesvj stdlib_lapack_eig_svd_lsq Interface
stdlib_dgesvx stdlib_lapack_solve Interface
stdlib_dgetc2 stdlib_lapack_solve Interface
stdlib_dgetf2 stdlib_lapack_solve Interface
stdlib_dgetrf stdlib_lapack_solve Interface
stdlib_dgetrf2 stdlib_lapack_solve Interface
stdlib_dgetri stdlib_lapack_solve Interface
stdlib_dgetrs stdlib_lapack_solve Interface
stdlib_dgetsls stdlib_lapack_eig_svd_lsq Interface
stdlib_dgetsqrhrt stdlib_lapack_orthogonal_factors Interface
stdlib_dggbak stdlib_lapack_eig_svd_lsq Interface
stdlib_dggbal stdlib_lapack_eig_svd_lsq Interface
stdlib_dgges stdlib_lapack_eig_svd_lsq Interface
stdlib_dgges3 stdlib_lapack_eig_svd_lsq Interface
stdlib_dggesx stdlib_lapack_eig_svd_lsq Interface
stdlib_dggev stdlib_lapack_eig_svd_lsq Interface
stdlib_dggev3 stdlib_lapack_eig_svd_lsq Interface
stdlib_dggevx stdlib_lapack_eig_svd_lsq Interface
stdlib_dggglm stdlib_lapack_eig_svd_lsq Interface
stdlib_dgghd3 stdlib_lapack_eig_svd_lsq Interface
stdlib_dgghrd stdlib_lapack_eig_svd_lsq Interface
stdlib_dgglse stdlib_lapack_eig_svd_lsq Interface
stdlib_dggqrf stdlib_lapack_orthogonal_factors Interface
stdlib_dggrqf stdlib_lapack_orthogonal_factors Interface
stdlib_dgsvj0 stdlib_lapack_eig_svd_lsq Interface
stdlib_dgsvj1 stdlib_lapack_eig_svd_lsq Interface
stdlib_dgtcon stdlib_lapack_solve Interface
stdlib_dgtrfs stdlib_lapack_solve Interface
stdlib_dgtsv stdlib_lapack_solve Interface
stdlib_dgtsvx stdlib_lapack_solve Interface
stdlib_dgttrf stdlib_lapack_solve Interface
stdlib_dgttrs stdlib_lapack_solve Interface
stdlib_dgtts2 stdlib_lapack_solve Interface
stdlib_dhgeqz stdlib_lapack_eig_svd_lsq Interface
stdlib_dhsein stdlib_lapack_eig_svd_lsq Interface
stdlib_dhseqr stdlib_lapack_eig_svd_lsq Interface
stdlib_disnan stdlib_lapack_base Interface
stdlib_dla_gbamv stdlib_lapack_base Interface
stdlib_dla_gbrcond stdlib_lapack_solve Interface
stdlib_dla_gbrpvgrw stdlib_lapack_solve Interface
stdlib_dla_geamv stdlib_lapack_base Interface
stdlib_dla_gercond stdlib_lapack_solve Interface
stdlib_dla_gerpvgrw stdlib_lapack_others Interface
stdlib_dla_lin_berr stdlib_lapack_solve Interface
stdlib_dla_porcond stdlib_lapack_solve Interface
stdlib_dla_porpvgrw stdlib_lapack_solve Interface
stdlib_dla_syamv stdlib_lapack_others Interface
stdlib_dla_syrcond stdlib_lapack_others Interface
stdlib_dla_syrpvgrw stdlib_lapack_others Interface
stdlib_dla_wwaddw stdlib_lapack_base Interface
stdlib_dlabad stdlib_lapack_base Interface
stdlib_dlabrd stdlib_lapack_eig_svd_lsq Interface
stdlib_dlacn2 stdlib_lapack_solve Interface
stdlib_dlacon stdlib_lapack_solve Interface
stdlib_dlacpy stdlib_lapack_base Interface
stdlib_dladiv stdlib_lapack_base Interface
stdlib_dladiv1 stdlib_lapack_base Interface
stdlib_dladiv2 stdlib_lapack_base Interface
stdlib_dlae2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaebz stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaed0 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaed1 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaed2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaed3 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaed4 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaed5 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaed6 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaed7 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaed8 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaed9 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaeda stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaein stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaev2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaexc stdlib_lapack_eig_svd_lsq Interface
stdlib_dlag2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlag2s stdlib_lapack_base Interface
stdlib_dlags2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlagtf stdlib_lapack_eig_svd_lsq Interface
stdlib_dlagtm stdlib_lapack_base Interface
stdlib_dlagts stdlib_lapack_eig_svd_lsq Interface
stdlib_dlagv2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlahqr stdlib_lapack_eig_svd_lsq Interface
stdlib_dlahr2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaic1 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaisnan stdlib_lapack_base Interface
stdlib_dlaln2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlals0 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlalsa stdlib_lapack_eig_svd_lsq Interface
stdlib_dlalsd stdlib_lapack_eig_svd_lsq Interface
stdlib_dlamc3 stdlib_lapack_base Interface
stdlib_dlamch stdlib_lapack_base Interface
stdlib_dlamrg stdlib_lapack_eig_svd_lsq Interface
stdlib_dlamswlq stdlib_lapack_orthogonal_factors Interface
stdlib_dlamtsqr stdlib_lapack_orthogonal_factors Interface
stdlib_dlaneg stdlib_lapack_eig_svd_lsq Interface
stdlib_dlangb stdlib_lapack_base Interface
stdlib_dlange stdlib_lapack_base Interface
stdlib_dlangt stdlib_lapack_base Interface
stdlib_dlanhs stdlib_lapack_base Interface
stdlib_dlansb stdlib_lapack_base Interface
stdlib_dlansf stdlib_lapack_base Interface
stdlib_dlansp stdlib_lapack_base Interface
stdlib_dlanst stdlib_lapack_base Interface
stdlib_dlansy stdlib_lapack_base Interface
stdlib_dlantb stdlib_lapack_base Interface
stdlib_dlantp stdlib_lapack_base Interface
stdlib_dlantr stdlib_lapack_base Interface
stdlib_dlanv2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaorhr_col_getrfnp stdlib_lapack_orthogonal_factors Interface
stdlib_dlaorhr_col_getrfnp2 stdlib_lapack_orthogonal_factors Interface
stdlib_dlapll stdlib_lapack_eig_svd_lsq Interface
stdlib_dlapmr stdlib_lapack_eig_svd_lsq Interface
stdlib_dlapmt stdlib_lapack_eig_svd_lsq Interface
stdlib_dlapy2 stdlib_lapack_base Interface
stdlib_dlapy3 stdlib_lapack_base Interface
stdlib_dlaqgb stdlib_lapack_solve Interface
stdlib_dlaqge stdlib_lapack_solve Interface
stdlib_dlaqp2 stdlib_lapack_orthogonal_factors Interface
stdlib_dlaqps stdlib_lapack_orthogonal_factors Interface
stdlib_dlaqr0 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaqr1 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaqr2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaqr3 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaqr4 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaqr5 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaqsb stdlib_lapack_base Interface
stdlib_dlaqsp stdlib_lapack_solve Interface
stdlib_dlaqsy stdlib_lapack_solve Interface
stdlib_dlaqtr stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaqz0 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaqz1 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaqz2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaqz3 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaqz4 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlar1v stdlib_lapack_eig_svd_lsq Interface
stdlib_dlar2v stdlib_lapack_base Interface
stdlib_dlarf stdlib_lapack_base Interface
stdlib_dlarfb stdlib_lapack_base Interface
stdlib_dlarfb_gett stdlib_lapack_orthogonal_factors Interface
stdlib_dlarfg stdlib_lapack_base Interface
stdlib_dlarfgp stdlib_lapack_base Interface
stdlib_dlarft stdlib_lapack_base Interface
stdlib_dlarfx stdlib_lapack_base Interface
stdlib_dlarfy stdlib_lapack_base Interface
stdlib_dlargv stdlib_lapack_base Interface
stdlib_dlarnv stdlib_lapack_base Interface
stdlib_dlarra stdlib_lapack_eig_svd_lsq Interface
stdlib_dlarrb stdlib_lapack_eig_svd_lsq Interface
stdlib_dlarrc stdlib_lapack_eig_svd_lsq Interface
stdlib_dlarrd stdlib_lapack_eig_svd_lsq Interface
stdlib_dlarre stdlib_lapack_eig_svd_lsq Interface
stdlib_dlarrf stdlib_lapack_eig_svd_lsq Interface
stdlib_dlarrj stdlib_lapack_eig_svd_lsq Interface
stdlib_dlarrk stdlib_lapack_eig_svd_lsq Interface
stdlib_dlarrr stdlib_lapack_eig_svd_lsq Interface
stdlib_dlarrv stdlib_lapack_eig_svd_lsq Interface
stdlib_dlartg stdlib_lapack_base Interface
stdlib_dlartgp stdlib_lapack_base Interface
stdlib_dlartgs stdlib_lapack_eig_svd_lsq Interface
stdlib_dlartv stdlib_lapack_base Interface
stdlib_dlaruv stdlib_lapack_base Interface
stdlib_dlarz stdlib_lapack_orthogonal_factors Interface
stdlib_dlarzb stdlib_lapack_orthogonal_factors Interface
stdlib_dlarzt stdlib_lapack_orthogonal_factors Interface
stdlib_dlas2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlascl stdlib_lapack_base Interface
stdlib_dlasd0 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasd1 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasd3 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasd4 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasd5 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasd6 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasd7 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasd8 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasda stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasdq stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasdt stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaset stdlib_lapack_base Interface
stdlib_dlasq1 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasq2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasq3 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasq4 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasq5 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasq6 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasr stdlib_lapack_base Interface
stdlib_dlasrt stdlib_lapack_base Interface
stdlib_dlassq stdlib_lapack_base Interface
stdlib_dlasv2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlaswlq stdlib_lapack_orthogonal_factors Interface
stdlib_dlaswp stdlib_lapack_solve Interface
stdlib_dlasy2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dlasyf stdlib_lapack_solve Interface
stdlib_dlasyf_aa stdlib_lapack_solve Interface
stdlib_dlasyf_rk stdlib_lapack_solve Interface
stdlib_dlasyf_rook stdlib_lapack_solve Interface
stdlib_dlat2s stdlib_lapack_base Interface
stdlib_dlatbs stdlib_lapack_solve Interface
stdlib_dlatdf stdlib_lapack_solve Interface
stdlib_dlatps stdlib_lapack_solve Interface
stdlib_dlatrd stdlib_lapack_eig_svd_lsq Interface
stdlib_dlatrs stdlib_lapack_solve Interface
stdlib_dlatrz stdlib_lapack_orthogonal_factors Interface
stdlib_dlatsqr stdlib_lapack_orthogonal_factors Interface
stdlib_dlauu2 stdlib_lapack_solve Interface
stdlib_dlauum stdlib_lapack_solve Interface
stdlib_dnrm2 stdlib_blas Interface
stdlib_dopgtr stdlib_lapack_eig_svd_lsq Interface
stdlib_dopmtr stdlib_lapack_eig_svd_lsq Interface
stdlib_dorbdb stdlib_lapack_eig_svd_lsq Interface
stdlib_dorbdb1 stdlib_lapack_eig_svd_lsq Interface
stdlib_dorbdb2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dorbdb3 stdlib_lapack_eig_svd_lsq Interface
stdlib_dorbdb4 stdlib_lapack_eig_svd_lsq Interface
stdlib_dorbdb5 stdlib_lapack_eig_svd_lsq Interface
stdlib_dorbdb6 stdlib_lapack_eig_svd_lsq Interface
stdlib_dorcsd stdlib_lapack_eig_svd_lsq Interface
stdlib_dorcsd2by1 stdlib_lapack_eig_svd_lsq Interface
stdlib_dorg2l stdlib_lapack_orthogonal_factors Interface
stdlib_dorg2r stdlib_lapack_orthogonal_factors Interface
stdlib_dorgbr stdlib_lapack_eig_svd_lsq Interface
stdlib_dorghr stdlib_lapack_eig_svd_lsq Interface
stdlib_dorgl2 stdlib_lapack_orthogonal_factors Interface
stdlib_dorglq stdlib_lapack_orthogonal_factors Interface
stdlib_dorgql stdlib_lapack_orthogonal_factors Interface
stdlib_dorgqr stdlib_lapack_orthogonal_factors Interface
stdlib_dorgr2 stdlib_lapack_orthogonal_factors Interface
stdlib_dorgrq stdlib_lapack_orthogonal_factors Interface
stdlib_dorgtr stdlib_lapack_eig_svd_lsq Interface
stdlib_dorgtsqr stdlib_lapack_orthogonal_factors Interface
stdlib_dorgtsqr_row stdlib_lapack_orthogonal_factors Interface
stdlib_dorhr_col stdlib_lapack_orthogonal_factors Interface
stdlib_dorm22 stdlib_lapack_eig_svd_lsq Interface
stdlib_dorm2l stdlib_lapack_orthogonal_factors Interface
stdlib_dorm2r stdlib_lapack_orthogonal_factors Interface
stdlib_dormbr stdlib_lapack_eig_svd_lsq Interface
stdlib_dormhr stdlib_lapack_eig_svd_lsq Interface
stdlib_dorml2 stdlib_lapack_orthogonal_factors Interface
stdlib_dormlq stdlib_lapack_orthogonal_factors Interface
stdlib_dormql stdlib_lapack_orthogonal_factors Interface
stdlib_dormqr stdlib_lapack_orthogonal_factors Interface
stdlib_dormr2 stdlib_lapack_orthogonal_factors Interface
stdlib_dormr3 stdlib_lapack_orthogonal_factors Interface
stdlib_dormrq stdlib_lapack_orthogonal_factors Interface
stdlib_dormrz stdlib_lapack_orthogonal_factors Interface
stdlib_dormtr stdlib_lapack_eig_svd_lsq Interface
stdlib_dot_product stdlib_intrinsics Interface

dot_product of rank 1 arrays. (Specification)

Read more…
stdlib_dot_product_kahan stdlib_intrinsics Interface

dot_product of rank 1 arrays. (Specification)

Read more…
stdlib_dpbcon stdlib_lapack_solve Interface
stdlib_dpbequ stdlib_lapack_solve Interface
stdlib_dpbrfs stdlib_lapack_solve Interface
stdlib_dpbstf stdlib_lapack_eig_svd_lsq Interface
stdlib_dpbsv stdlib_lapack_solve Interface
stdlib_dpbsvx stdlib_lapack_solve Interface
stdlib_dpbtf2 stdlib_lapack_solve Interface
stdlib_dpbtrf stdlib_lapack_solve Interface
stdlib_dpbtrs stdlib_lapack_solve Interface
stdlib_dpftrf stdlib_lapack_solve Interface
stdlib_dpftri stdlib_lapack_solve Interface
stdlib_dpftrs stdlib_lapack_solve Interface
stdlib_dpocon stdlib_lapack_solve Interface
stdlib_dpoequ stdlib_lapack_solve Interface
stdlib_dpoequb stdlib_lapack_solve Interface
stdlib_dporfs stdlib_lapack_solve Interface
stdlib_dposv stdlib_lapack_solve Interface
stdlib_dposvx stdlib_lapack_solve Interface
stdlib_dpotf2 stdlib_lapack_solve Interface
stdlib_dpotrf stdlib_lapack_solve Interface
stdlib_dpotrf2 stdlib_lapack_solve Interface
stdlib_dpotri stdlib_lapack_solve Interface
stdlib_dpotrs stdlib_lapack_solve Interface
stdlib_dppcon stdlib_lapack_solve Interface
stdlib_dppequ stdlib_lapack_solve Interface
stdlib_dpprfs stdlib_lapack_solve Interface
stdlib_dppsv stdlib_lapack_solve Interface
stdlib_dppsvx stdlib_lapack_solve Interface
stdlib_dpptrf stdlib_lapack_solve Interface
stdlib_dpptri stdlib_lapack_solve Interface
stdlib_dpptrs stdlib_lapack_solve Interface
stdlib_dpstf2 stdlib_lapack_solve Interface
stdlib_dpstrf stdlib_lapack_solve Interface
stdlib_dptcon stdlib_lapack_solve Interface
stdlib_dpteqr stdlib_lapack_eig_svd_lsq Interface
stdlib_dptrfs stdlib_lapack_solve Interface
stdlib_dptsv stdlib_lapack_solve Interface
stdlib_dptsvx stdlib_lapack_solve Interface
stdlib_dpttrf stdlib_lapack_solve Interface
stdlib_dpttrs stdlib_lapack_solve Interface
stdlib_dptts2 stdlib_lapack_solve Interface
stdlib_drot stdlib_blas Interface
stdlib_drotg stdlib_blas Interface
stdlib_drotm stdlib_blas Interface
stdlib_drotmg stdlib_blas Interface
stdlib_droundup_lwork stdlib_linalg_lapack_aux Function

ROUNDUP_LWORK >= LWORK. ROUNDUP_LWORK is guaranteed to have zero decimal part.

stdlib_drscl stdlib_lapack_base Interface
stdlib_dsb2st_kernels stdlib_lapack_eig_svd_lsq Interface
stdlib_dsbev stdlib_lapack_eig_svd_lsq Interface
stdlib_dsbevd stdlib_lapack_eig_svd_lsq Interface
stdlib_dsbevx stdlib_lapack_eig_svd_lsq Interface
stdlib_dsbgst stdlib_lapack_eig_svd_lsq Interface
stdlib_dsbgv stdlib_lapack_eig_svd_lsq Interface
stdlib_dsbgvd stdlib_lapack_eig_svd_lsq Interface
stdlib_dsbgvx stdlib_lapack_eig_svd_lsq Interface
stdlib_dsbmv stdlib_blas Interface
stdlib_dsbtrd stdlib_lapack_eig_svd_lsq Interface
stdlib_dscal stdlib_blas Interface
stdlib_dsdot stdlib_blas Interface
stdlib_dsfrk stdlib_lapack_base Interface
stdlib_dspcon stdlib_lapack_solve Interface
stdlib_dspev stdlib_lapack_eig_svd_lsq Interface
stdlib_dspevd stdlib_lapack_eig_svd_lsq Interface
stdlib_dspevx stdlib_lapack_eig_svd_lsq Interface
stdlib_dspgst stdlib_lapack_eig_svd_lsq Interface
stdlib_dspgv stdlib_lapack_eig_svd_lsq Interface
stdlib_dspgvd stdlib_lapack_eig_svd_lsq Interface
stdlib_dspgvx stdlib_lapack_eig_svd_lsq Interface
stdlib_dspmv stdlib_blas Interface
stdlib_dspr stdlib_blas Interface
stdlib_dspr2 stdlib_blas Interface
stdlib_dsprfs stdlib_lapack_solve Interface
stdlib_dspsv stdlib_lapack_solve Interface
stdlib_dspsvx stdlib_lapack_solve Interface
stdlib_dsptrd stdlib_lapack_eig_svd_lsq Interface
stdlib_dsptrf stdlib_lapack_solve Interface
stdlib_dsptri stdlib_lapack_solve Interface
stdlib_dsptrs stdlib_lapack_solve Interface
stdlib_dstebz stdlib_lapack_eig_svd_lsq Interface
stdlib_dstedc stdlib_lapack_eig_svd_lsq Interface
stdlib_dstegr stdlib_lapack_eig_svd_lsq Interface
stdlib_dstein stdlib_lapack_eig_svd_lsq Interface
stdlib_dstemr stdlib_lapack_eig_svd_lsq Interface
stdlib_dsteqr stdlib_lapack_eig_svd_lsq Interface
stdlib_dsterf stdlib_lapack_eig_svd_lsq Interface
stdlib_dstev stdlib_lapack_eig_svd_lsq Interface
stdlib_dstevd stdlib_lapack_eig_svd_lsq Interface
stdlib_dstevr stdlib_lapack_eig_svd_lsq Interface
stdlib_dstevx stdlib_lapack_eig_svd_lsq Interface
stdlib_dswap stdlib_blas Interface
stdlib_dsycon stdlib_lapack_solve Interface
stdlib_dsycon_rook stdlib_lapack_solve Interface
stdlib_dsyconv stdlib_lapack_solve Interface
stdlib_dsyconvf stdlib_lapack_solve Interface
stdlib_dsyconvf_rook stdlib_lapack_solve Interface
stdlib_dsyequb stdlib_lapack_solve Interface
stdlib_dsyev stdlib_lapack_eig_svd_lsq Interface
stdlib_dsyevd stdlib_lapack_eig_svd_lsq Interface
stdlib_dsyevr stdlib_lapack_eig_svd_lsq Interface
stdlib_dsyevx stdlib_lapack_eig_svd_lsq Interface
stdlib_dsygs2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dsygst stdlib_lapack_eig_svd_lsq Interface
stdlib_dsygv stdlib_lapack_eig_svd_lsq Interface
stdlib_dsygvd stdlib_lapack_eig_svd_lsq Interface
stdlib_dsygvx stdlib_lapack_eig_svd_lsq Interface
stdlib_dsymm stdlib_blas Interface
stdlib_dsymv stdlib_blas Interface
stdlib_dsyr stdlib_blas Interface
stdlib_dsyr2 stdlib_blas Interface
stdlib_dsyr2k stdlib_blas Interface
stdlib_dsyrfs stdlib_lapack_solve Interface
stdlib_dsyrk stdlib_blas Interface
stdlib_dsysv stdlib_lapack_solve Interface
stdlib_dsysv_aa stdlib_lapack_solve Interface
stdlib_dsysv_rk stdlib_lapack_solve Interface
stdlib_dsysv_rook stdlib_lapack_solve Interface
stdlib_dsysvx stdlib_lapack_solve Interface
stdlib_dsyswapr stdlib_lapack_solve Interface
stdlib_dsytd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dsytf2 stdlib_lapack_solve Interface
stdlib_dsytf2_rk stdlib_lapack_solve Interface
stdlib_dsytf2_rook stdlib_lapack_solve Interface
stdlib_dsytrd stdlib_lapack_eig_svd_lsq Interface
stdlib_dsytrd_sb2st stdlib_lapack_eig_svd_lsq Interface
stdlib_dsytrd_sy2sb stdlib_lapack_eig_svd_lsq Interface
stdlib_dsytrf stdlib_lapack_solve Interface
stdlib_dsytrf_aa stdlib_lapack_solve Interface
stdlib_dsytrf_rk stdlib_lapack_solve Interface
stdlib_dsytrf_rook stdlib_lapack_solve Interface
stdlib_dsytri stdlib_lapack_solve Interface
stdlib_dsytri_rook stdlib_lapack_solve Interface
stdlib_dsytrs stdlib_lapack_solve Interface
stdlib_dsytrs2 stdlib_lapack_solve Interface
stdlib_dsytrs_3 stdlib_lapack_solve Interface
stdlib_dsytrs_aa stdlib_lapack_solve Interface
stdlib_dsytrs_rook stdlib_lapack_solve Interface
stdlib_dtbcon stdlib_lapack_solve Interface
stdlib_dtbmv stdlib_blas Interface
stdlib_dtbrfs stdlib_lapack_solve Interface
stdlib_dtbsv stdlib_blas Interface
stdlib_dtbtrs stdlib_lapack_solve Interface
stdlib_dtfsm stdlib_lapack_base Interface
stdlib_dtftri stdlib_lapack_solve Interface
stdlib_dtfttp stdlib_lapack_base Interface
stdlib_dtfttr stdlib_lapack_base Interface
stdlib_dtgevc stdlib_lapack_eig_svd_lsq Interface
stdlib_dtgex2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dtgexc stdlib_lapack_eig_svd_lsq Interface
stdlib_dtgsen stdlib_lapack_eig_svd_lsq Interface
stdlib_dtgsja stdlib_lapack_eig_svd_lsq Interface
stdlib_dtgsna stdlib_lapack_eig_svd_lsq Interface
stdlib_dtgsy2 stdlib_lapack_eig_svd_lsq Interface
stdlib_dtgsyl stdlib_lapack_eig_svd_lsq Interface
stdlib_dtpcon stdlib_lapack_solve Interface
stdlib_dtplqt stdlib_lapack_orthogonal_factors Interface
stdlib_dtplqt2 stdlib_lapack_orthogonal_factors Interface
stdlib_dtpmlqt stdlib_lapack_orthogonal_factors Interface
stdlib_dtpmqrt stdlib_lapack_orthogonal_factors Interface
stdlib_dtpmv stdlib_blas Interface
stdlib_dtpqrt stdlib_lapack_orthogonal_factors Interface
stdlib_dtpqrt2 stdlib_lapack_orthogonal_factors Interface
stdlib_dtprfb stdlib_lapack_orthogonal_factors Interface
stdlib_dtprfs stdlib_lapack_solve Interface
stdlib_dtpsv stdlib_blas Interface
stdlib_dtptri stdlib_lapack_solve Interface
stdlib_dtptrs stdlib_lapack_solve Interface
stdlib_dtpttf stdlib_lapack_base Interface
stdlib_dtpttr stdlib_lapack_base Interface
stdlib_dtrcon stdlib_lapack_solve Interface
stdlib_dtrevc stdlib_lapack_eig_svd_lsq Interface
stdlib_dtrevc3 stdlib_lapack_eig_svd_lsq Interface
stdlib_dtrexc stdlib_lapack_eig_svd_lsq Interface
stdlib_dtrmm stdlib_blas Interface
stdlib_dtrmv stdlib_blas Interface
stdlib_dtrrfs stdlib_lapack_solve Interface
stdlib_dtrsen stdlib_lapack_eig_svd_lsq Interface
stdlib_dtrsm stdlib_blas Interface
stdlib_dtrsna stdlib_lapack_eig_svd_lsq Interface
stdlib_dtrsv stdlib_blas Interface
stdlib_dtrsyl stdlib_lapack_eig_svd_lsq Interface
stdlib_dtrti2 stdlib_lapack_solve Interface
stdlib_dtrtri stdlib_lapack_solve Interface
stdlib_dtrtrs stdlib_lapack_solve Interface
stdlib_dtrttf stdlib_lapack_base Interface
stdlib_dtrttp stdlib_lapack_base Interface
stdlib_dtzrzf stdlib_lapack_orthogonal_factors Interface
stdlib_dzasum stdlib_blas Interface
stdlib_dznrm2 stdlib_blas Interface
stdlib_dzsum1 stdlib_lapack_base Interface
stdlib_icamax stdlib_linalg_blas_aux Function
stdlib_icmax1 stdlib_linalg_lapack_aux Function

IMAX1: finds the index of the first vector element of maximum absolute value. Based on IAMAX from Level 1 BLAS. The change is to use the 'genuine' absolute value.

stdlib_idamax stdlib_linalg_blas_aux Function
stdlib_ieeeck stdlib_linalg_lapack_aux Function

IEEECK is called from the ILAENV to verify that Infinity and possibly NaN arithmetic is safe (i.e. will not trap).

stdlib_ilaclc stdlib_linalg_lapack_aux Function
stdlib_ilaclr stdlib_linalg_lapack_aux Function
stdlib_iladiag stdlib_linalg_lapack_aux Function

This subroutine translated from a character string specifying if a matrix has unit diagonal or not to the relevant BLAST-specified integer constant. ILADIAG returns an INTEGER. If ILADIAG: < 0, then the input is not a character indicating a unit or non-unit diagonal. Otherwise ILADIAG returns the constant value corresponding to DIAG.

stdlib_iladlc stdlib_linalg_lapack_aux Function
stdlib_iladlr stdlib_linalg_lapack_aux Function
stdlib_ilaenv stdlib_linalg_lapack_aux Function

ILAENV is called from the LAPACK routines to choose problem-dependent parameters for the local environment. See ISPEC for a description of the parameters. ILAENV returns an INTEGER if ILAENV >= 0: ILAENV returns the value of the parameter specified by ISPEC if ILAENV < 0: if ILAENV = -k, the k-th argument had an illegal value. This version provides a set of parameters which should give good, but not optimal, performance on many of the currently available computers. Users are encouraged to modify this subroutine to set the tuning parameters for their particular machine using the option and problem size information in the arguments. This routine will not function correctly if it is converted to all lower case. Converting it to all upper case is allowed.

stdlib_ilaenv2stage stdlib_linalg_lapack_aux Function

ILAENV2STAGE is called from the LAPACK routines to choose problem-dependent parameters for the local environment. See ISPEC for a description of the parameters. It sets problem and machine dependent parameters useful for *_2STAGE and related subroutines. ILAENV2STAGE returns an INTEGER if ILAENV2STAGE >= 0: ILAENV2STAGE returns the value of the parameter specified by ISPEC if ILAENV2STAGE < 0: if ILAENV2STAGE = -k, the k-th argument had an illegal value. This version provides a set of parameters which should give good, but not optimal, performance on many of the currently available computers for the 2-stage solvers. Users are encouraged to modify this subroutine to set the tuning parameters for their particular machine using the option and problem size information in the arguments. This routine will not function correctly if it is converted to all lower case. Converting it to all upper case is allowed.

stdlib_ilaprec stdlib_linalg_lapack_aux Function

This subroutine translated from a character string specifying an intermediate precision to the relevant BLAST-specified integer constant. ILAPREC returns an INTEGER. If ILAPREC: < 0, then the input is not a character indicating a supported intermediate precision. Otherwise ILAPREC returns the constant value corresponding to PREC.

stdlib_ilaslc stdlib_linalg_lapack_aux Function
stdlib_ilaslr stdlib_linalg_lapack_aux Function
stdlib_ilatrans stdlib_linalg_lapack_aux Function

This subroutine translates from a character string specifying a transposition operation to the relevant BLAST-specified integer constant. ILATRANS returns an INTEGER. If ILATRANS: < 0, then the input is not a character indicating a transposition operator. Otherwise ILATRANS returns the constant value corresponding to TRANS.

stdlib_ilauplo stdlib_linalg_lapack_aux Function

This subroutine translated from a character string specifying a upper- or lower-triangular matrix to the relevant BLAST-specified integer constant. ILAUPLO returns an INTEGER. If ILAUPLO: < 0, then the input is not a character indicating an upper- or lower-triangular matrix. Otherwise ILAUPLO returns the constant value corresponding to UPLO.

stdlib_ilazlc stdlib_linalg_lapack_aux Function
stdlib_ilazlr stdlib_linalg_lapack_aux Function
stdlib_iparam2stage stdlib_linalg_lapack_aux Function

This program sets problem and machine dependent parameters useful for xHETRD_2STAGE, xHETRD_HE2HB, xHETRD_HB2ST, xGEBRD_2STAGE, xGEBRD_GE2GB, xGEBRD_GB2BD and related subroutines for eigenvalue problems. It is called whenever ILAENV is called with 17 <= ISPEC <= 21. It is called whenever ILAENV2STAGE is called with 1 <= ISPEC <= 5 with a direct conversion ISPEC + 16.

stdlib_iparmq stdlib_linalg_lapack_aux Function

This program sets problem and machine dependent parameters useful for xHSEQR and related subroutines for eigenvalue problems. It is called whenever IPARMQ is called with 12 <= ISPEC <= 16

stdlib_isamax stdlib_linalg_blas_aux Function
stdlib_izamax stdlib_linalg_blas_aux Function
stdlib_izmax1 stdlib_linalg_lapack_aux Function

IMAX1: finds the index of the first vector element of maximum absolute value. Based on IAMAX from Level 1 BLAS. The change is to use the 'genuine' absolute value.

stdlib_lsame stdlib_linalg_blas_aux Function

LSAME returns .TRUE. if CA is the same letter as CB regardless of case.

stdlib_lsamen stdlib_linalg_lapack_aux Function

LSAMEN tests if the first N letters of CA are the same as the first N letters of CB, regardless of case. LSAMEN returns .TRUE. if CA and CB are equivalent except for case and .FALSE. otherwise. LSAMEN also returns .FALSE. if LEN( CA ) or LEN( CB ) is less than N.

stdlib_matmul stdlib_intrinsics Interface

compute the matrix multiplication of more than two matrices with a single function call. (Specification)

Read more…
stdlib_sasum stdlib_blas Interface
stdlib_saxpy stdlib_blas Interface
stdlib_sbbcsd stdlib_lapack_eig_svd_lsq Interface
stdlib_sbdsdc stdlib_lapack_eig_svd_lsq Interface
stdlib_sbdsqr stdlib_lapack_eig_svd_lsq Interface
stdlib_scasum stdlib_blas Interface
stdlib_scnrm2 stdlib_blas Interface
stdlib_scopy stdlib_blas Interface
stdlib_scsum1 stdlib_lapack_base Interface
stdlib_sdisna stdlib_lapack_eig_svd_lsq Interface
stdlib_sdot stdlib_blas Interface
stdlib_sgbbrd stdlib_lapack_eig_svd_lsq Interface
stdlib_sgbcon stdlib_lapack_solve Interface
stdlib_sgbequ stdlib_lapack_solve Interface
stdlib_sgbequb stdlib_lapack_solve Interface
stdlib_sgbmv stdlib_blas Interface
stdlib_sgbrfs stdlib_lapack_solve Interface
stdlib_sgbsv stdlib_lapack_solve Interface
stdlib_sgbsvx stdlib_lapack_solve Interface
stdlib_sgbtf2 stdlib_lapack_solve Interface
stdlib_sgbtrf stdlib_lapack_solve Interface
stdlib_sgbtrs stdlib_lapack_solve Interface
stdlib_sgebak stdlib_lapack_eig_svd_lsq Interface
stdlib_sgebal stdlib_lapack_eig_svd_lsq Interface
stdlib_sgebd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_sgebrd stdlib_lapack_eig_svd_lsq Interface
stdlib_sgecon stdlib_lapack_solve Interface
stdlib_sgeequ stdlib_lapack_solve Interface
stdlib_sgeequb stdlib_lapack_solve Interface
stdlib_sgees stdlib_lapack_eig_svd_lsq Interface
stdlib_sgeesx stdlib_lapack_eig_svd_lsq Interface
stdlib_sgeev stdlib_lapack_eig_svd_lsq Interface
stdlib_sgeevx stdlib_lapack_eig_svd_lsq Interface
stdlib_sgehd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_sgehrd stdlib_lapack_eig_svd_lsq Interface
stdlib_sgejsv stdlib_lapack_eig_svd_lsq Interface
stdlib_sgelq stdlib_lapack_orthogonal_factors Interface
stdlib_sgelq2 stdlib_lapack_orthogonal_factors Interface
stdlib_sgelqf stdlib_lapack_orthogonal_factors Interface
stdlib_sgelqt stdlib_lapack_orthogonal_factors Interface
stdlib_sgelqt3 stdlib_lapack_orthogonal_factors Interface
stdlib_sgels stdlib_lapack_eig_svd_lsq Interface
stdlib_sgelsd stdlib_lapack_eig_svd_lsq Interface
stdlib_sgelss stdlib_lapack_eig_svd_lsq Interface
stdlib_sgelsy stdlib_lapack_eig_svd_lsq Interface
stdlib_sgemlq stdlib_lapack_orthogonal_factors Interface
stdlib_sgemlqt stdlib_lapack_orthogonal_factors Interface
stdlib_sgemm stdlib_blas Interface
stdlib_sgemqr stdlib_lapack_orthogonal_factors Interface
stdlib_sgemqrt stdlib_lapack_orthogonal_factors Interface
stdlib_sgemv stdlib_blas Interface
stdlib_sgeql2 stdlib_lapack_orthogonal_factors Interface
stdlib_sgeqlf stdlib_lapack_orthogonal_factors Interface
stdlib_sgeqp3 stdlib_lapack_orthogonal_factors Interface
stdlib_sgeqr stdlib_lapack_orthogonal_factors Interface
stdlib_sgeqr2 stdlib_lapack_orthogonal_factors Interface
stdlib_sgeqr2p stdlib_lapack_orthogonal_factors Interface
stdlib_sgeqrf stdlib_lapack_orthogonal_factors Interface
stdlib_sgeqrfp stdlib_lapack_orthogonal_factors Interface
stdlib_sgeqrt stdlib_lapack_orthogonal_factors Interface
stdlib_sgeqrt2 stdlib_lapack_orthogonal_factors Interface
stdlib_sgeqrt3 stdlib_lapack_orthogonal_factors Interface
stdlib_sger stdlib_blas Interface
stdlib_sgerfs stdlib_lapack_solve Interface
stdlib_sgerq2 stdlib_lapack_orthogonal_factors Interface
stdlib_sgerqf stdlib_lapack_orthogonal_factors Interface
stdlib_sgesc2 stdlib_lapack_solve Interface
stdlib_sgesdd stdlib_lapack_eig_svd_lsq Interface
stdlib_sgesv stdlib_lapack_solve Interface
stdlib_sgesvd stdlib_lapack_eig_svd_lsq Interface
stdlib_sgesvdq stdlib_lapack_eig_svd_lsq Interface
stdlib_sgesvj stdlib_lapack_eig_svd_lsq Interface
stdlib_sgesvx stdlib_lapack_solve Interface
stdlib_sgetc2 stdlib_lapack_solve Interface
stdlib_sgetf2 stdlib_lapack_solve Interface
stdlib_sgetrf stdlib_lapack_solve Interface
stdlib_sgetrf2 stdlib_lapack_solve Interface
stdlib_sgetri stdlib_lapack_solve Interface
stdlib_sgetrs stdlib_lapack_solve Interface
stdlib_sgetsls stdlib_lapack_eig_svd_lsq Interface
stdlib_sgetsqrhrt stdlib_lapack_orthogonal_factors Interface
stdlib_sggbak stdlib_lapack_eig_svd_lsq Interface
stdlib_sggbal stdlib_lapack_eig_svd_lsq Interface
stdlib_sgges stdlib_lapack_eig_svd_lsq Interface
stdlib_sgges3 stdlib_lapack_eig_svd_lsq Interface
stdlib_sggesx stdlib_lapack_eig_svd_lsq Interface
stdlib_sggev stdlib_lapack_eig_svd_lsq Interface
stdlib_sggev3 stdlib_lapack_eig_svd_lsq Interface
stdlib_sggevx stdlib_lapack_eig_svd_lsq Interface
stdlib_sggglm stdlib_lapack_eig_svd_lsq Interface
stdlib_sgghd3 stdlib_lapack_eig_svd_lsq Interface
stdlib_sgghrd stdlib_lapack_eig_svd_lsq Interface
stdlib_sgglse stdlib_lapack_eig_svd_lsq Interface
stdlib_sggqrf stdlib_lapack_orthogonal_factors Interface
stdlib_sggrqf stdlib_lapack_orthogonal_factors Interface
stdlib_sgsvj0 stdlib_lapack_eig_svd_lsq Interface
stdlib_sgsvj1 stdlib_lapack_eig_svd_lsq Interface
stdlib_sgtcon stdlib_lapack_solve Interface
stdlib_sgtrfs stdlib_lapack_solve Interface
stdlib_sgtsv stdlib_lapack_solve Interface
stdlib_sgtsvx stdlib_lapack_solve Interface
stdlib_sgttrf stdlib_lapack_solve Interface
stdlib_sgttrs stdlib_lapack_solve Interface
stdlib_sgtts2 stdlib_lapack_solve Interface
stdlib_shgeqz stdlib_lapack_eig_svd_lsq Interface
stdlib_shsein stdlib_lapack_eig_svd_lsq Interface
stdlib_shseqr stdlib_lapack_eig_svd_lsq Interface
stdlib_sisnan stdlib_lapack_base Interface
stdlib_sla_gbamv stdlib_lapack_base Interface
stdlib_sla_gbrcond stdlib_lapack_solve Interface
stdlib_sla_gbrpvgrw stdlib_lapack_solve Interface
stdlib_sla_geamv stdlib_lapack_base Interface
stdlib_sla_gercond stdlib_lapack_solve Interface
stdlib_sla_gerpvgrw stdlib_lapack_others Interface
stdlib_sla_lin_berr stdlib_lapack_solve Interface
stdlib_sla_porcond stdlib_lapack_solve Interface
stdlib_sla_porpvgrw stdlib_lapack_solve Interface
stdlib_sla_syamv stdlib_lapack_others Interface
stdlib_sla_syrcond stdlib_lapack_others Interface
stdlib_sla_syrpvgrw stdlib_lapack_others Interface
stdlib_sla_wwaddw stdlib_lapack_base Interface
stdlib_slabad stdlib_lapack_base Interface
stdlib_slabrd stdlib_lapack_eig_svd_lsq Interface
stdlib_slacn2 stdlib_lapack_solve Interface
stdlib_slacon stdlib_lapack_solve Interface
stdlib_slacpy stdlib_lapack_base Interface
stdlib_sladiv stdlib_lapack_base Interface
stdlib_sladiv1 stdlib_lapack_base Interface
stdlib_sladiv2 stdlib_lapack_base Interface
stdlib_slae2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaebz stdlib_lapack_eig_svd_lsq Interface
stdlib_slaed0 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaed1 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaed2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaed3 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaed4 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaed5 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaed6 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaed7 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaed8 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaed9 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaeda stdlib_lapack_eig_svd_lsq Interface
stdlib_slaein stdlib_lapack_eig_svd_lsq Interface
stdlib_slaev2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaexc stdlib_lapack_eig_svd_lsq Interface
stdlib_slag2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slag2d stdlib_lapack_base Interface
stdlib_slags2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slagtf stdlib_lapack_eig_svd_lsq Interface
stdlib_slagtm stdlib_lapack_base Interface
stdlib_slagts stdlib_lapack_eig_svd_lsq Interface
stdlib_slagv2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slahqr stdlib_lapack_eig_svd_lsq Interface
stdlib_slahr2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaic1 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaisnan stdlib_lapack_base Interface
stdlib_slaln2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slals0 stdlib_lapack_eig_svd_lsq Interface
stdlib_slalsa stdlib_lapack_eig_svd_lsq Interface
stdlib_slalsd stdlib_lapack_eig_svd_lsq Interface
stdlib_slamc3 stdlib_lapack_base Interface
stdlib_slamch stdlib_lapack_base Interface
stdlib_slamrg stdlib_lapack_eig_svd_lsq Interface
stdlib_slamswlq stdlib_lapack_orthogonal_factors Interface
stdlib_slamtsqr stdlib_lapack_orthogonal_factors Interface
stdlib_slaneg stdlib_lapack_eig_svd_lsq Interface
stdlib_slangb stdlib_lapack_base Interface
stdlib_slange stdlib_lapack_base Interface
stdlib_slangt stdlib_lapack_base Interface
stdlib_slanhs stdlib_lapack_base Interface
stdlib_slansb stdlib_lapack_base Interface
stdlib_slansf stdlib_lapack_base Interface
stdlib_slansp stdlib_lapack_base Interface
stdlib_slanst stdlib_lapack_base Interface
stdlib_slansy stdlib_lapack_base Interface
stdlib_slantb stdlib_lapack_base Interface
stdlib_slantp stdlib_lapack_base Interface
stdlib_slantr stdlib_lapack_base Interface
stdlib_slanv2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaorhr_col_getrfnp stdlib_lapack_orthogonal_factors Interface
stdlib_slaorhr_col_getrfnp2 stdlib_lapack_orthogonal_factors Interface
stdlib_slapll stdlib_lapack_eig_svd_lsq Interface
stdlib_slapmr stdlib_lapack_eig_svd_lsq Interface
stdlib_slapmt stdlib_lapack_eig_svd_lsq Interface
stdlib_slapy2 stdlib_lapack_base Interface
stdlib_slapy3 stdlib_lapack_base Interface
stdlib_slaqgb stdlib_lapack_solve Interface
stdlib_slaqge stdlib_lapack_solve Interface
stdlib_slaqp2 stdlib_lapack_orthogonal_factors Interface
stdlib_slaqps stdlib_lapack_orthogonal_factors Interface
stdlib_slaqr0 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaqr1 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaqr2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaqr3 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaqr4 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaqr5 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaqsb stdlib_lapack_base Interface
stdlib_slaqsp stdlib_lapack_solve Interface
stdlib_slaqsy stdlib_lapack_solve Interface
stdlib_slaqtr stdlib_lapack_eig_svd_lsq Interface
stdlib_slaqz0 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaqz1 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaqz2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaqz3 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaqz4 stdlib_lapack_eig_svd_lsq Interface
stdlib_slar1v stdlib_lapack_eig_svd_lsq Interface
stdlib_slar2v stdlib_lapack_base Interface
stdlib_slarf stdlib_lapack_base Interface
stdlib_slarfb stdlib_lapack_base Interface
stdlib_slarfb_gett stdlib_lapack_orthogonal_factors Interface
stdlib_slarfg stdlib_lapack_base Interface
stdlib_slarfgp stdlib_lapack_base Interface
stdlib_slarft stdlib_lapack_base Interface
stdlib_slarfx stdlib_lapack_base Interface
stdlib_slarfy stdlib_lapack_base Interface
stdlib_slargv stdlib_lapack_base Interface
stdlib_slarnv stdlib_lapack_base Interface
stdlib_slarra stdlib_lapack_eig_svd_lsq Interface
stdlib_slarrb stdlib_lapack_eig_svd_lsq Interface
stdlib_slarrc stdlib_lapack_eig_svd_lsq Interface
stdlib_slarrd stdlib_lapack_eig_svd_lsq Interface
stdlib_slarre stdlib_lapack_eig_svd_lsq Interface
stdlib_slarrf stdlib_lapack_eig_svd_lsq Interface
stdlib_slarrj stdlib_lapack_eig_svd_lsq Interface
stdlib_slarrk stdlib_lapack_eig_svd_lsq Interface
stdlib_slarrr stdlib_lapack_eig_svd_lsq Interface
stdlib_slarrv stdlib_lapack_eig_svd_lsq Interface
stdlib_slartg stdlib_lapack_base Interface
stdlib_slartgp stdlib_lapack_base Interface
stdlib_slartgs stdlib_lapack_eig_svd_lsq Interface
stdlib_slartv stdlib_lapack_base Interface
stdlib_slaruv stdlib_lapack_base Interface
stdlib_slarz stdlib_lapack_orthogonal_factors Interface
stdlib_slarzb stdlib_lapack_orthogonal_factors Interface
stdlib_slarzt stdlib_lapack_orthogonal_factors Interface
stdlib_slas2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slascl stdlib_lapack_base Interface
stdlib_slasd0 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasd1 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasd3 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasd4 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasd5 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasd6 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasd7 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasd8 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasda stdlib_lapack_eig_svd_lsq Interface
stdlib_slasdq stdlib_lapack_eig_svd_lsq Interface
stdlib_slasdt stdlib_lapack_eig_svd_lsq Interface
stdlib_slaset stdlib_lapack_base Interface
stdlib_slasq1 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasq2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasq3 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasq4 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasq5 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasq6 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasr stdlib_lapack_base Interface
stdlib_slasrt stdlib_lapack_base Interface
stdlib_slassq stdlib_lapack_base Interface
stdlib_slasv2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slaswlq stdlib_lapack_orthogonal_factors Interface
stdlib_slaswp stdlib_lapack_solve Interface
stdlib_slasy2 stdlib_lapack_eig_svd_lsq Interface
stdlib_slasyf stdlib_lapack_solve Interface
stdlib_slasyf_aa stdlib_lapack_solve Interface
stdlib_slasyf_rk stdlib_lapack_solve Interface
stdlib_slasyf_rook stdlib_lapack_solve Interface
stdlib_slatbs stdlib_lapack_solve Interface
stdlib_slatdf stdlib_lapack_solve Interface
stdlib_slatps stdlib_lapack_solve Interface
stdlib_slatrd stdlib_lapack_eig_svd_lsq Interface
stdlib_slatrs stdlib_lapack_solve Interface
stdlib_slatrz stdlib_lapack_orthogonal_factors Interface
stdlib_slatsqr stdlib_lapack_orthogonal_factors Interface
stdlib_slauu2 stdlib_lapack_solve Interface
stdlib_slauum stdlib_lapack_solve Interface
stdlib_snrm2 stdlib_blas Interface
stdlib_solve_bicgstab stdlib_linalg_iterative_solvers Interface
stdlib_solve_bicgstab_kernel stdlib_linalg_iterative_solvers Interface
stdlib_solve_cg stdlib_linalg_iterative_solvers Interface
stdlib_solve_cg_kernel stdlib_linalg_iterative_solvers Interface
stdlib_solve_pcg stdlib_linalg_iterative_solvers Interface
stdlib_solve_pcg_kernel stdlib_linalg_iterative_solvers Interface
stdlib_sopgtr stdlib_lapack_eig_svd_lsq Interface
stdlib_sopmtr stdlib_lapack_eig_svd_lsq Interface
stdlib_sorbdb stdlib_lapack_eig_svd_lsq Interface
stdlib_sorbdb1 stdlib_lapack_eig_svd_lsq Interface
stdlib_sorbdb2 stdlib_lapack_eig_svd_lsq Interface
stdlib_sorbdb3 stdlib_lapack_eig_svd_lsq Interface
stdlib_sorbdb4 stdlib_lapack_eig_svd_lsq Interface
stdlib_sorbdb5 stdlib_lapack_eig_svd_lsq Interface
stdlib_sorbdb6 stdlib_lapack_eig_svd_lsq Interface
stdlib_sorcsd stdlib_lapack_eig_svd_lsq Interface
stdlib_sorcsd2by1 stdlib_lapack_eig_svd_lsq Interface
stdlib_sorg2l stdlib_lapack_orthogonal_factors Interface
stdlib_sorg2r stdlib_lapack_orthogonal_factors Interface
stdlib_sorgbr stdlib_lapack_eig_svd_lsq Interface
stdlib_sorghr stdlib_lapack_eig_svd_lsq Interface
stdlib_sorgl2 stdlib_lapack_orthogonal_factors Interface
stdlib_sorglq stdlib_lapack_orthogonal_factors Interface
stdlib_sorgql stdlib_lapack_orthogonal_factors Interface
stdlib_sorgqr stdlib_lapack_orthogonal_factors Interface
stdlib_sorgr2 stdlib_lapack_orthogonal_factors Interface
stdlib_sorgrq stdlib_lapack_orthogonal_factors Interface
stdlib_sorgtr stdlib_lapack_eig_svd_lsq Interface
stdlib_sorgtsqr stdlib_lapack_orthogonal_factors Interface
stdlib_sorgtsqr_row stdlib_lapack_orthogonal_factors Interface
stdlib_sorhr_col stdlib_lapack_orthogonal_factors Interface
stdlib_sorm22 stdlib_lapack_eig_svd_lsq Interface
stdlib_sorm2l stdlib_lapack_orthogonal_factors Interface
stdlib_sorm2r stdlib_lapack_orthogonal_factors Interface
stdlib_sormbr stdlib_lapack_eig_svd_lsq Interface
stdlib_sormhr stdlib_lapack_eig_svd_lsq Interface
stdlib_sorml2 stdlib_lapack_orthogonal_factors Interface
stdlib_sormlq stdlib_lapack_orthogonal_factors Interface
stdlib_sormql stdlib_lapack_orthogonal_factors Interface
stdlib_sormqr stdlib_lapack_orthogonal_factors Interface
stdlib_sormr2 stdlib_lapack_orthogonal_factors Interface
stdlib_sormr3 stdlib_lapack_orthogonal_factors Interface
stdlib_sormrq stdlib_lapack_orthogonal_factors Interface
stdlib_sormrz stdlib_lapack_orthogonal_factors Interface
stdlib_sormtr stdlib_lapack_eig_svd_lsq Interface
stdlib_spbcon stdlib_lapack_solve Interface
stdlib_spbequ stdlib_lapack_solve Interface
stdlib_spbrfs stdlib_lapack_solve Interface
stdlib_spbstf stdlib_lapack_eig_svd_lsq Interface
stdlib_spbsv stdlib_lapack_solve Interface
stdlib_spbsvx stdlib_lapack_solve Interface
stdlib_spbtf2 stdlib_lapack_solve Interface
stdlib_spbtrf stdlib_lapack_solve Interface
stdlib_spbtrs stdlib_lapack_solve Interface
stdlib_spftrf stdlib_lapack_solve Interface
stdlib_spftri stdlib_lapack_solve Interface
stdlib_spftrs stdlib_lapack_solve Interface
stdlib_spocon stdlib_lapack_solve Interface
stdlib_spoequ stdlib_lapack_solve Interface
stdlib_spoequb stdlib_lapack_solve Interface
stdlib_sporfs stdlib_lapack_solve Interface
stdlib_sposv stdlib_lapack_solve Interface
stdlib_sposvx stdlib_lapack_solve Interface
stdlib_spotf2 stdlib_lapack_solve Interface
stdlib_spotrf stdlib_lapack_solve Interface
stdlib_spotrf2 stdlib_lapack_solve Interface
stdlib_spotri stdlib_lapack_solve Interface
stdlib_spotrs stdlib_lapack_solve Interface
stdlib_sppcon stdlib_lapack_solve Interface
stdlib_sppequ stdlib_lapack_solve Interface
stdlib_spprfs stdlib_lapack_solve Interface
stdlib_sppsv stdlib_lapack_solve Interface
stdlib_sppsvx stdlib_lapack_solve Interface
stdlib_spptrf stdlib_lapack_solve Interface
stdlib_spptri stdlib_lapack_solve Interface
stdlib_spptrs stdlib_lapack_solve Interface
stdlib_spstf2 stdlib_lapack_solve Interface
stdlib_spstrf stdlib_lapack_solve Interface
stdlib_sptcon stdlib_lapack_solve Interface
stdlib_spteqr stdlib_lapack_eig_svd_lsq Interface
stdlib_sptrfs stdlib_lapack_solve Interface
stdlib_sptsv stdlib_lapack_solve Interface
stdlib_sptsvx stdlib_lapack_solve Interface
stdlib_spttrf stdlib_lapack_solve Interface
stdlib_spttrs stdlib_lapack_solve Interface
stdlib_sptts2 stdlib_lapack_solve Interface
stdlib_srot stdlib_blas Interface
stdlib_srotg stdlib_blas Interface
stdlib_srotm stdlib_blas Interface
stdlib_srotmg stdlib_blas Interface
stdlib_sroundup_lwork stdlib_linalg_lapack_aux Function

ROUNDUP_LWORK >= LWORK. ROUNDUP_LWORK is guaranteed to have zero decimal part.

stdlib_srscl stdlib_lapack_base Interface
stdlib_ssb2st_kernels stdlib_lapack_eig_svd_lsq Interface
stdlib_ssbev stdlib_lapack_eig_svd_lsq Interface
stdlib_ssbevd stdlib_lapack_eig_svd_lsq Interface
stdlib_ssbevx stdlib_lapack_eig_svd_lsq Interface
stdlib_ssbgst stdlib_lapack_eig_svd_lsq Interface
stdlib_ssbgv stdlib_lapack_eig_svd_lsq Interface
stdlib_ssbgvd stdlib_lapack_eig_svd_lsq Interface
stdlib_ssbgvx stdlib_lapack_eig_svd_lsq Interface
stdlib_ssbmv stdlib_blas Interface
stdlib_ssbtrd stdlib_lapack_eig_svd_lsq Interface
stdlib_sscal stdlib_blas Interface
stdlib_ssfrk stdlib_lapack_base Interface
stdlib_sspcon stdlib_lapack_solve Interface
stdlib_sspev stdlib_lapack_eig_svd_lsq Interface
stdlib_sspevd stdlib_lapack_eig_svd_lsq Interface
stdlib_sspevx stdlib_lapack_eig_svd_lsq Interface
stdlib_sspgst stdlib_lapack_eig_svd_lsq Interface
stdlib_sspgv stdlib_lapack_eig_svd_lsq Interface
stdlib_sspgvd stdlib_lapack_eig_svd_lsq Interface
stdlib_sspgvx stdlib_lapack_eig_svd_lsq Interface
stdlib_sspmv stdlib_blas Interface
stdlib_sspr stdlib_blas Interface
stdlib_sspr2 stdlib_blas Interface
stdlib_ssprfs stdlib_lapack_solve Interface
stdlib_sspsv stdlib_lapack_solve Interface
stdlib_sspsvx stdlib_lapack_solve Interface
stdlib_ssptrd stdlib_lapack_eig_svd_lsq Interface
stdlib_ssptrf stdlib_lapack_solve Interface
stdlib_ssptri stdlib_lapack_solve Interface
stdlib_ssptrs stdlib_lapack_solve Interface
stdlib_sstebz stdlib_lapack_eig_svd_lsq Interface
stdlib_sstedc stdlib_lapack_eig_svd_lsq Interface
stdlib_sstegr stdlib_lapack_eig_svd_lsq Interface
stdlib_sstein stdlib_lapack_eig_svd_lsq Interface
stdlib_sstemr stdlib_lapack_eig_svd_lsq Interface
stdlib_ssteqr stdlib_lapack_eig_svd_lsq Interface
stdlib_ssterf stdlib_lapack_eig_svd_lsq Interface
stdlib_sstev stdlib_lapack_eig_svd_lsq Interface
stdlib_sstevd stdlib_lapack_eig_svd_lsq Interface
stdlib_sstevr stdlib_lapack_eig_svd_lsq Interface
stdlib_sstevx stdlib_lapack_eig_svd_lsq Interface
stdlib_sswap stdlib_blas Interface
stdlib_ssycon stdlib_lapack_solve Interface
stdlib_ssycon_rook stdlib_lapack_solve Interface
stdlib_ssyconv stdlib_lapack_solve Interface
stdlib_ssyconvf stdlib_lapack_solve Interface
stdlib_ssyconvf_rook stdlib_lapack_solve Interface
stdlib_ssyequb stdlib_lapack_solve Interface
stdlib_ssyev stdlib_lapack_eig_svd_lsq Interface
stdlib_ssyevd stdlib_lapack_eig_svd_lsq Interface
stdlib_ssyevr stdlib_lapack_eig_svd_lsq Interface
stdlib_ssyevx stdlib_lapack_eig_svd_lsq Interface
stdlib_ssygs2 stdlib_lapack_eig_svd_lsq Interface
stdlib_ssygst stdlib_lapack_eig_svd_lsq Interface
stdlib_ssygv stdlib_lapack_eig_svd_lsq Interface
stdlib_ssygvd stdlib_lapack_eig_svd_lsq Interface
stdlib_ssygvx stdlib_lapack_eig_svd_lsq Interface
stdlib_ssymm stdlib_blas Interface
stdlib_ssymv stdlib_blas Interface
stdlib_ssyr stdlib_blas Interface
stdlib_ssyr2 stdlib_blas Interface
stdlib_ssyr2k stdlib_blas Interface
stdlib_ssyrfs stdlib_lapack_solve Interface
stdlib_ssyrk stdlib_blas Interface
stdlib_ssysv stdlib_lapack_solve Interface
stdlib_ssysv_aa stdlib_lapack_solve Interface
stdlib_ssysv_rk stdlib_lapack_solve Interface
stdlib_ssysv_rook stdlib_lapack_solve Interface
stdlib_ssysvx stdlib_lapack_solve Interface
stdlib_ssyswapr stdlib_lapack_solve Interface
stdlib_ssytd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_ssytf2 stdlib_lapack_solve Interface
stdlib_ssytf2_rk stdlib_lapack_solve Interface
stdlib_ssytf2_rook stdlib_lapack_solve Interface
stdlib_ssytrd stdlib_lapack_eig_svd_lsq Interface
stdlib_ssytrd_sb2st stdlib_lapack_eig_svd_lsq Interface
stdlib_ssytrd_sy2sb stdlib_lapack_eig_svd_lsq Interface
stdlib_ssytrf stdlib_lapack_solve Interface
stdlib_ssytrf_aa stdlib_lapack_solve Interface
stdlib_ssytrf_rk stdlib_lapack_solve Interface
stdlib_ssytrf_rook stdlib_lapack_solve Interface
stdlib_ssytri stdlib_lapack_solve Interface
stdlib_ssytri_rook stdlib_lapack_solve Interface
stdlib_ssytrs stdlib_lapack_solve Interface
stdlib_ssytrs2 stdlib_lapack_solve Interface
stdlib_ssytrs_3 stdlib_lapack_solve Interface
stdlib_ssytrs_aa stdlib_lapack_solve Interface
stdlib_ssytrs_rook stdlib_lapack_solve Interface
stdlib_stbcon stdlib_lapack_solve Interface
stdlib_stbmv stdlib_blas Interface
stdlib_stbrfs stdlib_lapack_solve Interface
stdlib_stbsv stdlib_blas Interface
stdlib_stbtrs stdlib_lapack_solve Interface
stdlib_stfsm stdlib_lapack_base Interface
stdlib_stftri stdlib_lapack_solve Interface
stdlib_stfttp stdlib_lapack_base Interface
stdlib_stfttr stdlib_lapack_base Interface
stdlib_stgevc stdlib_lapack_eig_svd_lsq Interface
stdlib_stgex2 stdlib_lapack_eig_svd_lsq Interface
stdlib_stgexc stdlib_lapack_eig_svd_lsq Interface
stdlib_stgsen stdlib_lapack_eig_svd_lsq Interface
stdlib_stgsja stdlib_lapack_eig_svd_lsq Interface
stdlib_stgsna stdlib_lapack_eig_svd_lsq Interface
stdlib_stgsy2 stdlib_lapack_eig_svd_lsq Interface
stdlib_stgsyl stdlib_lapack_eig_svd_lsq Interface
stdlib_stpcon stdlib_lapack_solve Interface
stdlib_stplqt stdlib_lapack_orthogonal_factors Interface
stdlib_stplqt2 stdlib_lapack_orthogonal_factors Interface
stdlib_stpmlqt stdlib_lapack_orthogonal_factors Interface
stdlib_stpmqrt stdlib_lapack_orthogonal_factors Interface
stdlib_stpmv stdlib_blas Interface
stdlib_stpqrt stdlib_lapack_orthogonal_factors Interface
stdlib_stpqrt2 stdlib_lapack_orthogonal_factors Interface
stdlib_stprfb stdlib_lapack_orthogonal_factors Interface
stdlib_stprfs stdlib_lapack_solve Interface
stdlib_stpsv stdlib_blas Interface
stdlib_stptri stdlib_lapack_solve Interface
stdlib_stptrs stdlib_lapack_solve Interface
stdlib_stpttf stdlib_lapack_base Interface
stdlib_stpttr stdlib_lapack_base Interface
stdlib_strcon stdlib_lapack_solve Interface
stdlib_strevc stdlib_lapack_eig_svd_lsq Interface
stdlib_strevc3 stdlib_lapack_eig_svd_lsq Interface
stdlib_strexc stdlib_lapack_eig_svd_lsq Interface
stdlib_strmm stdlib_blas Interface
stdlib_strmv stdlib_blas Interface
stdlib_strrfs stdlib_lapack_solve Interface
stdlib_strsen stdlib_lapack_eig_svd_lsq Interface
stdlib_strsm stdlib_blas Interface
stdlib_strsna stdlib_lapack_eig_svd_lsq Interface
stdlib_strsv stdlib_blas Interface
stdlib_strsyl stdlib_lapack_eig_svd_lsq Interface
stdlib_strti2 stdlib_lapack_solve Interface
stdlib_strtri stdlib_lapack_solve Interface
stdlib_strtrs stdlib_lapack_solve Interface
stdlib_strttf stdlib_lapack_base Interface
stdlib_strttp stdlib_lapack_base Interface
stdlib_stzrzf stdlib_lapack_orthogonal_factors Interface
stdlib_sum stdlib_intrinsics Interface

Sum elements of rank N arrays. (Specification)

Read more…
stdlib_sum_kahan stdlib_intrinsics Interface

Sum elements of rank N arrays. (Specification)

Read more…
stdlib_xerbla stdlib_linalg_blas_aux Subroutine

XERBLA is an error handler for the LAPACK routines. It is called by an LAPACK routine if an input parameter has an invalid value. A message is printed and execution stops. Installers may consider modifying the STOP statement in order to call system-specific exception-handling facilities.

stdlib_xerbla_array stdlib_linalg_blas_aux Subroutine

XERBLA_ARRAY assists other languages in calling XERBLA, the LAPACK and BLAS error handler. Rather than taking a Fortran string argument as the function's name, XERBLA_ARRAY takes an array of single characters along with the array's length. XERBLA_ARRAY then copies up to 32 characters of that array into a Fortran string and passes that to XERBLA. If called with a non-positive SRNAME_LEN, XERBLA_ARRAY will call XERBLA with a string of all blank characters. Say some macro or other device makes XERBLA_ARRAY available to C99 by a name lapack_xerbla and with a common Fortran calling convention. Then a C99 program could invoke XERBLA via: { int flen = strlen(func); lapack_xerbla(func, } Providing XERBLA_ARRAY is not necessary for intercepting LAPACK errors. XERBLA_ARRAY calls XERBLA.

stdlib_zaxpy stdlib_blas Interface
stdlib_zbbcsd stdlib_lapack_eig_svd_lsq Interface
stdlib_zbdsqr stdlib_lapack_eig_svd_lsq Interface
stdlib_zcopy stdlib_blas Interface
stdlib_zdotc stdlib_blas Interface
stdlib_zdotu stdlib_blas Interface
stdlib_zdrot stdlib_blas Interface
stdlib_zdrscl stdlib_lapack_base Interface
stdlib_zdscal stdlib_blas Interface
stdlib_zgbbrd stdlib_lapack_eig_svd_lsq Interface
stdlib_zgbcon stdlib_lapack_solve Interface
stdlib_zgbequ stdlib_lapack_solve Interface
stdlib_zgbequb stdlib_lapack_solve Interface
stdlib_zgbmv stdlib_blas Interface
stdlib_zgbrfs stdlib_lapack_solve Interface
stdlib_zgbsv stdlib_lapack_solve Interface
stdlib_zgbsvx stdlib_lapack_solve Interface
stdlib_zgbtf2 stdlib_lapack_solve Interface
stdlib_zgbtrf stdlib_lapack_solve Interface
stdlib_zgbtrs stdlib_lapack_solve Interface
stdlib_zgebak stdlib_lapack_eig_svd_lsq Interface
stdlib_zgebal stdlib_lapack_eig_svd_lsq Interface
stdlib_zgebd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_zgebrd stdlib_lapack_eig_svd_lsq Interface
stdlib_zgecon stdlib_lapack_solve Interface
stdlib_zgeequ stdlib_lapack_solve Interface
stdlib_zgeequb stdlib_lapack_solve Interface
stdlib_zgees stdlib_lapack_eig_svd_lsq Interface
stdlib_zgeesx stdlib_lapack_eig_svd_lsq Interface
stdlib_zgeev stdlib_lapack_eig_svd_lsq Interface
stdlib_zgeevx stdlib_lapack_eig_svd_lsq Interface
stdlib_zgehd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_zgehrd stdlib_lapack_eig_svd_lsq Interface
stdlib_zgejsv stdlib_lapack_eig_svd_lsq Interface
stdlib_zgelq stdlib_lapack_orthogonal_factors Interface
stdlib_zgelq2 stdlib_lapack_orthogonal_factors Interface
stdlib_zgelqf stdlib_lapack_orthogonal_factors Interface
stdlib_zgelqt stdlib_lapack_orthogonal_factors Interface
stdlib_zgelqt3 stdlib_lapack_orthogonal_factors Interface
stdlib_zgels stdlib_lapack_eig_svd_lsq Interface
stdlib_zgelsd stdlib_lapack_eig_svd_lsq Interface
stdlib_zgelss stdlib_lapack_eig_svd_lsq Interface
stdlib_zgelsy stdlib_lapack_eig_svd_lsq Interface
stdlib_zgemlq stdlib_lapack_orthogonal_factors Interface
stdlib_zgemlqt stdlib_lapack_orthogonal_factors Interface
stdlib_zgemm stdlib_blas Interface
stdlib_zgemqr stdlib_lapack_orthogonal_factors Interface
stdlib_zgemqrt stdlib_lapack_orthogonal_factors Interface
stdlib_zgemv stdlib_blas Interface
stdlib_zgeql2 stdlib_lapack_orthogonal_factors Interface
stdlib_zgeqlf stdlib_lapack_orthogonal_factors Interface
stdlib_zgeqp3 stdlib_lapack_orthogonal_factors Interface
stdlib_zgeqr stdlib_lapack_orthogonal_factors Interface
stdlib_zgeqr2 stdlib_lapack_orthogonal_factors Interface
stdlib_zgeqr2p stdlib_lapack_orthogonal_factors Interface
stdlib_zgeqrf stdlib_lapack_orthogonal_factors Interface
stdlib_zgeqrfp stdlib_lapack_orthogonal_factors Interface
stdlib_zgeqrt stdlib_lapack_orthogonal_factors Interface
stdlib_zgeqrt2 stdlib_lapack_orthogonal_factors Interface
stdlib_zgeqrt3 stdlib_lapack_orthogonal_factors Interface
stdlib_zgerc stdlib_blas Interface
stdlib_zgerfs stdlib_lapack_solve Interface
stdlib_zgerq2 stdlib_lapack_orthogonal_factors Interface
stdlib_zgerqf stdlib_lapack_orthogonal_factors Interface
stdlib_zgeru stdlib_blas Interface
stdlib_zgesc2 stdlib_lapack_solve Interface
stdlib_zgesdd stdlib_lapack_eig_svd_lsq Interface
stdlib_zgesv stdlib_lapack_solve Interface
stdlib_zgesvd stdlib_lapack_eig_svd_lsq Interface
stdlib_zgesvdq stdlib_lapack_eig_svd_lsq Interface
stdlib_zgesvj stdlib_lapack_eig_svd_lsq Interface
stdlib_zgesvx stdlib_lapack_solve Interface
stdlib_zgetc2 stdlib_lapack_solve Interface
stdlib_zgetf2 stdlib_lapack_solve Interface
stdlib_zgetrf stdlib_lapack_solve Interface
stdlib_zgetrf2 stdlib_lapack_solve Interface
stdlib_zgetri stdlib_lapack_solve Interface
stdlib_zgetrs stdlib_lapack_solve Interface
stdlib_zgetsls stdlib_lapack_eig_svd_lsq Interface
stdlib_zgetsqrhrt stdlib_lapack_orthogonal_factors Interface
stdlib_zggbak stdlib_lapack_eig_svd_lsq Interface
stdlib_zggbal stdlib_lapack_eig_svd_lsq Interface
stdlib_zgges stdlib_lapack_eig_svd_lsq Interface
stdlib_zgges3 stdlib_lapack_eig_svd_lsq Interface
stdlib_zggesx stdlib_lapack_eig_svd_lsq Interface
stdlib_zggev stdlib_lapack_eig_svd_lsq Interface
stdlib_zggev3 stdlib_lapack_eig_svd_lsq Interface
stdlib_zggevx stdlib_lapack_eig_svd_lsq Interface
stdlib_zggglm stdlib_lapack_eig_svd_lsq Interface
stdlib_zgghd3 stdlib_lapack_eig_svd_lsq Interface
stdlib_zgghrd stdlib_lapack_eig_svd_lsq Interface
stdlib_zgglse stdlib_lapack_eig_svd_lsq Interface
stdlib_zggqrf stdlib_lapack_orthogonal_factors Interface
stdlib_zggrqf stdlib_lapack_orthogonal_factors Interface
stdlib_zgsvj0 stdlib_lapack_eig_svd_lsq Interface
stdlib_zgsvj1 stdlib_lapack_eig_svd_lsq Interface
stdlib_zgtcon stdlib_lapack_solve Interface
stdlib_zgtrfs stdlib_lapack_solve Interface
stdlib_zgtsv stdlib_lapack_solve Interface
stdlib_zgtsvx stdlib_lapack_solve Interface
stdlib_zgttrf stdlib_lapack_solve Interface
stdlib_zgttrs stdlib_lapack_solve Interface
stdlib_zgtts2 stdlib_lapack_solve Interface
stdlib_zhb2st_kernels stdlib_lapack_eig_svd_lsq Interface
stdlib_zhbev stdlib_lapack_eig_svd_lsq Interface
stdlib_zhbevd stdlib_lapack_eig_svd_lsq Interface
stdlib_zhbevx stdlib_lapack_eig_svd_lsq Interface
stdlib_zhbgst stdlib_lapack_eig_svd_lsq Interface
stdlib_zhbgv stdlib_lapack_eig_svd_lsq Interface
stdlib_zhbgvd stdlib_lapack_eig_svd_lsq Interface
stdlib_zhbgvx stdlib_lapack_eig_svd_lsq Interface
stdlib_zhbmv stdlib_blas Interface
stdlib_zhbtrd stdlib_lapack_eig_svd_lsq Interface
stdlib_zhecon stdlib_lapack_solve Interface
stdlib_zhecon_rook stdlib_lapack_solve Interface
stdlib_zheequb stdlib_lapack_solve Interface
stdlib_zheev stdlib_lapack_eig_svd_lsq Interface
stdlib_zheevd stdlib_lapack_eig_svd_lsq Interface
stdlib_zheevr stdlib_lapack_eig_svd_lsq Interface
stdlib_zheevx stdlib_lapack_eig_svd_lsq Interface
stdlib_zhegs2 stdlib_lapack_eig_svd_lsq Interface
stdlib_zhegst stdlib_lapack_eig_svd_lsq Interface
stdlib_zhegv stdlib_lapack_eig_svd_lsq Interface
stdlib_zhegvd stdlib_lapack_eig_svd_lsq Interface
stdlib_zhegvx stdlib_lapack_eig_svd_lsq Interface
stdlib_zhemm stdlib_blas Interface
stdlib_zhemv stdlib_blas Interface
stdlib_zher stdlib_blas Interface
stdlib_zher2 stdlib_blas Interface
stdlib_zher2k stdlib_blas Interface
stdlib_zherfs stdlib_lapack_solve Interface
stdlib_zherk stdlib_blas Interface
stdlib_zhesv stdlib_lapack_solve Interface
stdlib_zhesv_aa stdlib_lapack_solve Interface
stdlib_zhesv_rk stdlib_lapack_solve Interface
stdlib_zhesv_rook stdlib_lapack_solve Interface
stdlib_zhesvx stdlib_lapack_solve Interface
stdlib_zheswapr stdlib_lapack_solve Interface
stdlib_zhetd2 stdlib_lapack_eig_svd_lsq Interface
stdlib_zhetf2 stdlib_lapack_solve Interface
stdlib_zhetf2_rk stdlib_lapack_solve Interface
stdlib_zhetf2_rook stdlib_lapack_solve Interface
stdlib_zhetrd stdlib_lapack_eig_svd_lsq Interface
stdlib_zhetrd_hb2st stdlib_lapack_eig_svd_lsq Interface
stdlib_zhetrd_he2hb stdlib_lapack_eig_svd_lsq Interface
stdlib_zhetrf stdlib_lapack_solve Interface
stdlib_zhetrf_aa stdlib_lapack_solve Interface
stdlib_zhetrf_rk stdlib_lapack_solve Interface
stdlib_zhetrf_rook stdlib_lapack_solve Interface
stdlib_zhetri stdlib_lapack_solve Interface
stdlib_zhetri_rook stdlib_lapack_solve Interface
stdlib_zhetrs stdlib_lapack_solve Interface
stdlib_zhetrs2 stdlib_lapack_solve Interface
stdlib_zhetrs_3 stdlib_lapack_solve Interface
stdlib_zhetrs_aa stdlib_lapack_solve Interface
stdlib_zhetrs_rook stdlib_lapack_solve Interface
stdlib_zhfrk stdlib_lapack_base Interface
stdlib_zhgeqz stdlib_lapack_eig_svd_lsq Interface
stdlib_zhpcon stdlib_lapack_solve Interface
stdlib_zhpev stdlib_lapack_eig_svd_lsq Interface
stdlib_zhpevd stdlib_lapack_eig_svd_lsq Interface
stdlib_zhpevx stdlib_lapack_eig_svd_lsq Interface
stdlib_zhpgst stdlib_lapack_eig_svd_lsq Interface
stdlib_zhpgv stdlib_lapack_eig_svd_lsq Interface
stdlib_zhpgvd stdlib_lapack_eig_svd_lsq Interface
stdlib_zhpgvx stdlib_lapack_eig_svd_lsq Interface
stdlib_zhpmv stdlib_blas Interface
stdlib_zhpr stdlib_blas Interface
stdlib_zhpr2 stdlib_blas Interface
stdlib_zhprfs stdlib_lapack_solve Interface
stdlib_zhpsv stdlib_lapack_solve Interface
stdlib_zhpsvx stdlib_lapack_solve Interface
stdlib_zhptrd stdlib_lapack_eig_svd_lsq Interface
stdlib_zhptrf stdlib_lapack_solve Interface
stdlib_zhptri stdlib_lapack_solve Interface
stdlib_zhptrs stdlib_lapack_solve Interface
stdlib_zhsein stdlib_lapack_eig_svd_lsq Interface
stdlib_zhseqr stdlib_lapack_eig_svd_lsq Interface
stdlib_zla_gbamv stdlib_lapack_base Interface
stdlib_zla_gbrcond_c stdlib_lapack_others Interface
stdlib_zla_gbrpvgrw stdlib_lapack_solve Interface
stdlib_zla_geamv stdlib_lapack_base Interface
stdlib_zla_gercond_c stdlib_lapack_others Interface
stdlib_zla_gerpvgrw stdlib_lapack_others Interface
stdlib_zla_heamv stdlib_lapack_base Interface
stdlib_zla_hercond_c stdlib_lapack_others Interface
stdlib_zla_herpvgrw stdlib_lapack_solve Interface
stdlib_zla_lin_berr stdlib_lapack_solve Interface
stdlib_zla_porcond_c stdlib_lapack_others Interface
stdlib_zla_porpvgrw stdlib_lapack_solve Interface
stdlib_zla_syamv stdlib_lapack_others Interface
stdlib_zla_syrcond_c stdlib_lapack_others Interface
stdlib_zla_syrpvgrw stdlib_lapack_others Interface
stdlib_zla_wwaddw stdlib_lapack_base Interface
stdlib_zlabrd stdlib_lapack_eig_svd_lsq Interface
stdlib_zlacgv stdlib_lapack_base Interface
stdlib_zlacn2 stdlib_lapack_solve Interface
stdlib_zlacon stdlib_lapack_solve Interface
stdlib_zlacp2 stdlib_lapack_base Interface
stdlib_zlacpy stdlib_lapack_base Interface
stdlib_zlacrm stdlib_lapack_base Interface
stdlib_zlacrt stdlib_lapack_base Interface
stdlib_zladiv stdlib_lapack_base Interface
stdlib_zlaed0 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaed7 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaed8 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaein stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaesy stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaev2 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlags2 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlagtm stdlib_lapack_base Interface
stdlib_zlahef stdlib_lapack_solve Interface
stdlib_zlahef_aa stdlib_lapack_solve Interface
stdlib_zlahef_rk stdlib_lapack_solve Interface
stdlib_zlahef_rook stdlib_lapack_solve Interface
stdlib_zlahqr stdlib_lapack_eig_svd_lsq Interface
stdlib_zlahr2 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaic1 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlals0 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlalsa stdlib_lapack_eig_svd_lsq Interface
stdlib_zlalsd stdlib_lapack_eig_svd_lsq Interface
stdlib_zlamswlq stdlib_lapack_orthogonal_factors Interface
stdlib_zlamtsqr stdlib_lapack_orthogonal_factors Interface
stdlib_zlangb stdlib_lapack_base Interface
stdlib_zlange stdlib_lapack_base Interface
stdlib_zlangt stdlib_lapack_base Interface
stdlib_zlanhb stdlib_lapack_base Interface
stdlib_zlanhe stdlib_lapack_base Interface
stdlib_zlanhf stdlib_lapack_base Interface
stdlib_zlanhp stdlib_lapack_base Interface
stdlib_zlanhs stdlib_lapack_base Interface
stdlib_zlanht stdlib_lapack_base Interface
stdlib_zlansb stdlib_lapack_base Interface
stdlib_zlansp stdlib_lapack_base Interface
stdlib_zlansy stdlib_lapack_base Interface
stdlib_zlantb stdlib_lapack_base Interface
stdlib_zlantp stdlib_lapack_base Interface
stdlib_zlantr stdlib_lapack_base Interface
stdlib_zlapll stdlib_lapack_eig_svd_lsq Interface
stdlib_zlapmr stdlib_lapack_eig_svd_lsq Interface
stdlib_zlapmt stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaqgb stdlib_lapack_solve Interface
stdlib_zlaqge stdlib_lapack_solve Interface
stdlib_zlaqhb stdlib_lapack_solve Interface
stdlib_zlaqhe stdlib_lapack_solve Interface
stdlib_zlaqhp stdlib_lapack_solve Interface
stdlib_zlaqp2 stdlib_lapack_orthogonal_factors Interface
stdlib_zlaqps stdlib_lapack_orthogonal_factors Interface
stdlib_zlaqr0 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaqr1 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaqr2 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaqr3 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaqr4 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaqr5 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaqsb stdlib_lapack_base Interface
stdlib_zlaqsp stdlib_lapack_solve Interface
stdlib_zlaqsy stdlib_lapack_solve Interface
stdlib_zlaqz0 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaqz1 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaqz2 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlaqz3 stdlib_lapack_eig_svd_lsq Interface
stdlib_zlar1v stdlib_lapack_eig_svd_lsq Interface
stdlib_zlar2v stdlib_lapack_base Interface
stdlib_zlarcm stdlib_lapack_base Interface
stdlib_zlarf stdlib_lapack_base Interface
stdlib_zlarfb stdlib_lapack_base Interface
stdlib_zlarfb_gett stdlib_lapack_orthogonal_factors Interface
stdlib_zlarfg stdlib_lapack_base Interface
stdlib_zlarfgp stdlib_lapack_base Interface
stdlib_zlarft stdlib_lapack_base Interface
stdlib_zlarfx stdlib_lapack_base Interface
stdlib_zlarfy stdlib_lapack_base Interface
stdlib_zlargv stdlib_lapack_base Interface
stdlib_zlarnv stdlib_lapack_base Interface
stdlib_zlarrv stdlib_lapack_eig_svd_lsq Interface
stdlib_zlartg stdlib_lapack_base Interface
stdlib_zlartv stdlib_lapack_base Interface
stdlib_zlarz stdlib_lapack_orthogonal_factors Interface
stdlib_zlarzb stdlib_lapack_orthogonal_factors Interface
stdlib_zlarzt stdlib_lapack_orthogonal_factors Interface
stdlib_zlascl stdlib_lapack_base Interface
stdlib_zlaset stdlib_lapack_base Interface
stdlib_zlasr stdlib_lapack_base Interface
stdlib_zlassq stdlib_lapack_base Interface
stdlib_zlaswlq stdlib_lapack_orthogonal_factors Interface
stdlib_zlaswp stdlib_lapack_solve Interface
stdlib_zlasyf stdlib_lapack_solve Interface
stdlib_zlasyf_aa stdlib_lapack_solve Interface
stdlib_zlasyf_rk stdlib_lapack_solve Interface
stdlib_zlasyf_rook stdlib_lapack_solve Interface
stdlib_zlatbs stdlib_lapack_solve Interface
stdlib_zlatdf stdlib_lapack_solve Interface
stdlib_zlatps stdlib_lapack_solve Interface
stdlib_zlatrd stdlib_lapack_eig_svd_lsq Interface
stdlib_zlatrs stdlib_lapack_solve Interface
stdlib_zlatrz stdlib_lapack_orthogonal_factors Interface
stdlib_zlatsqr stdlib_lapack_orthogonal_factors Interface
stdlib_zlaunhr_col_getrfnp stdlib_lapack_orthogonal_factors Interface
stdlib_zlaunhr_col_getrfnp2 stdlib_lapack_orthogonal_factors Interface
stdlib_zlauu2 stdlib_lapack_solve Interface
stdlib_zlauum stdlib_lapack_solve Interface
stdlib_zpbcon stdlib_lapack_solve Interface
stdlib_zpbequ stdlib_lapack_solve Interface
stdlib_zpbrfs stdlib_lapack_solve Interface
stdlib_zpbstf stdlib_lapack_eig_svd_lsq Interface
stdlib_zpbsv stdlib_lapack_solve Interface
stdlib_zpbsvx stdlib_lapack_solve Interface
stdlib_zpbtf2 stdlib_lapack_solve Interface
stdlib_zpbtrf stdlib_lapack_solve Interface
stdlib_zpbtrs stdlib_lapack_solve Interface
stdlib_zpftrf stdlib_lapack_solve Interface
stdlib_zpftri stdlib_lapack_solve Interface
stdlib_zpftrs stdlib_lapack_solve Interface
stdlib_zpocon stdlib_lapack_solve Interface
stdlib_zpoequ stdlib_lapack_solve Interface
stdlib_zpoequb stdlib_lapack_solve Interface
stdlib_zporfs stdlib_lapack_solve Interface
stdlib_zposv stdlib_lapack_solve Interface
stdlib_zposvx stdlib_lapack_solve Interface
stdlib_zpotf2 stdlib_lapack_solve Interface
stdlib_zpotrf stdlib_lapack_solve Interface
stdlib_zpotrf2 stdlib_lapack_solve Interface
stdlib_zpotri stdlib_lapack_solve Interface
stdlib_zpotrs stdlib_lapack_solve Interface
stdlib_zppcon stdlib_lapack_solve Interface
stdlib_zppequ stdlib_lapack_solve Interface
stdlib_zpprfs stdlib_lapack_solve Interface
stdlib_zppsv stdlib_lapack_solve Interface
stdlib_zppsvx stdlib_lapack_solve Interface
stdlib_zpptrf stdlib_lapack_solve Interface
stdlib_zpptri stdlib_lapack_solve Interface
stdlib_zpptrs stdlib_lapack_solve Interface
stdlib_zpstf2 stdlib_lapack_solve Interface
stdlib_zpstrf stdlib_lapack_solve Interface
stdlib_zptcon stdlib_lapack_solve Interface
stdlib_zpteqr stdlib_lapack_eig_svd_lsq Interface
stdlib_zptrfs stdlib_lapack_solve Interface
stdlib_zptsv stdlib_lapack_solve Interface
stdlib_zptsvx stdlib_lapack_solve Interface
stdlib_zpttrf stdlib_lapack_solve Interface
stdlib_zpttrs stdlib_lapack_solve Interface
stdlib_zptts2 stdlib_lapack_solve Interface
stdlib_zrot stdlib_lapack_base Interface
stdlib_zrotg stdlib_blas Interface
stdlib_zscal stdlib_blas Interface
stdlib_zspcon stdlib_lapack_solve Interface
stdlib_zspmv stdlib_lapack_base Interface
stdlib_zspr stdlib_lapack_base Interface
stdlib_zsprfs stdlib_lapack_solve Interface
stdlib_zspsv stdlib_lapack_solve Interface
stdlib_zspsvx stdlib_lapack_solve Interface
stdlib_zsptrf stdlib_lapack_solve Interface
stdlib_zsptri stdlib_lapack_solve Interface
stdlib_zsptrs stdlib_lapack_solve Interface
stdlib_zstedc stdlib_lapack_eig_svd_lsq Interface
stdlib_zstegr stdlib_lapack_eig_svd_lsq Interface
stdlib_zstein stdlib_lapack_eig_svd_lsq Interface
stdlib_zstemr stdlib_lapack_eig_svd_lsq Interface
stdlib_zsteqr stdlib_lapack_eig_svd_lsq Interface
stdlib_zswap stdlib_blas Interface
stdlib_zsycon stdlib_lapack_solve Interface
stdlib_zsycon_rook stdlib_lapack_solve Interface
stdlib_zsyconv stdlib_lapack_solve Interface
stdlib_zsyconvf stdlib_lapack_solve Interface
stdlib_zsyconvf_rook stdlib_lapack_solve Interface
stdlib_zsyequb stdlib_lapack_solve Interface
stdlib_zsymm stdlib_blas Interface
stdlib_zsymv stdlib_lapack_base Interface
stdlib_zsyr stdlib_lapack_base Interface
stdlib_zsyr2k stdlib_blas Interface
stdlib_zsyrfs stdlib_lapack_solve Interface
stdlib_zsyrk stdlib_blas Interface
stdlib_zsysv stdlib_lapack_solve Interface
stdlib_zsysv_aa stdlib_lapack_solve Interface
stdlib_zsysv_rk stdlib_lapack_solve Interface
stdlib_zsysv_rook stdlib_lapack_solve Interface
stdlib_zsysvx stdlib_lapack_solve Interface
stdlib_zsyswapr stdlib_lapack_solve Interface
stdlib_zsytf2 stdlib_lapack_solve Interface
stdlib_zsytf2_rk stdlib_lapack_solve Interface
stdlib_zsytf2_rook stdlib_lapack_solve Interface
stdlib_zsytrf stdlib_lapack_solve Interface
stdlib_zsytrf_aa stdlib_lapack_solve Interface
stdlib_zsytrf_rk stdlib_lapack_solve Interface
stdlib_zsytrf_rook stdlib_lapack_solve Interface
stdlib_zsytri stdlib_lapack_solve Interface
stdlib_zsytri_rook stdlib_lapack_solve Interface
stdlib_zsytrs stdlib_lapack_solve Interface
stdlib_zsytrs2 stdlib_lapack_solve Interface
stdlib_zsytrs_3 stdlib_lapack_solve Interface
stdlib_zsytrs_aa stdlib_lapack_solve Interface
stdlib_zsytrs_rook stdlib_lapack_solve Interface
stdlib_ztbcon stdlib_lapack_solve Interface
stdlib_ztbmv stdlib_blas Interface
stdlib_ztbrfs stdlib_lapack_solve Interface
stdlib_ztbsv stdlib_blas Interface
stdlib_ztbtrs stdlib_lapack_solve Interface
stdlib_ztfsm stdlib_lapack_base Interface
stdlib_ztftri stdlib_lapack_solve Interface
stdlib_ztfttp stdlib_lapack_base Interface
stdlib_ztfttr stdlib_lapack_base Interface
stdlib_ztgevc stdlib_lapack_eig_svd_lsq Interface
stdlib_ztgex2 stdlib_lapack_eig_svd_lsq Interface
stdlib_ztgexc stdlib_lapack_eig_svd_lsq Interface
stdlib_ztgsen stdlib_lapack_eig_svd_lsq Interface
stdlib_ztgsja stdlib_lapack_eig_svd_lsq Interface
stdlib_ztgsna stdlib_lapack_eig_svd_lsq Interface
stdlib_ztgsy2 stdlib_lapack_eig_svd_lsq Interface
stdlib_ztgsyl stdlib_lapack_eig_svd_lsq Interface
stdlib_ztpcon stdlib_lapack_solve Interface
stdlib_ztplqt stdlib_lapack_orthogonal_factors Interface
stdlib_ztplqt2 stdlib_lapack_orthogonal_factors Interface
stdlib_ztpmlqt stdlib_lapack_orthogonal_factors Interface
stdlib_ztpmqrt stdlib_lapack_orthogonal_factors Interface
stdlib_ztpmv stdlib_blas Interface
stdlib_ztpqrt stdlib_lapack_orthogonal_factors Interface
stdlib_ztpqrt2 stdlib_lapack_orthogonal_factors Interface
stdlib_ztprfb stdlib_lapack_orthogonal_factors Interface
stdlib_ztprfs stdlib_lapack_solve Interface
stdlib_ztpsv stdlib_blas Interface
stdlib_ztptri stdlib_lapack_solve Interface
stdlib_ztptrs stdlib_lapack_solve Interface
stdlib_ztpttf stdlib_lapack_base Interface
stdlib_ztpttr stdlib_lapack_base Interface
stdlib_ztrcon stdlib_lapack_solve Interface
stdlib_ztrevc stdlib_lapack_eig_svd_lsq Interface
stdlib_ztrevc3 stdlib_lapack_eig_svd_lsq Interface
stdlib_ztrexc stdlib_lapack_eig_svd_lsq Interface
stdlib_ztrmm stdlib_blas Interface
stdlib_ztrmv stdlib_blas Interface
stdlib_ztrrfs stdlib_lapack_solve Interface
stdlib_ztrsen stdlib_lapack_eig_svd_lsq Interface
stdlib_ztrsm stdlib_blas Interface
stdlib_ztrsna stdlib_lapack_eig_svd_lsq Interface
stdlib_ztrsv stdlib_blas Interface
stdlib_ztrsyl stdlib_lapack_eig_svd_lsq Interface
stdlib_ztrti2 stdlib_lapack_solve Interface
stdlib_ztrtri stdlib_lapack_solve Interface
stdlib_ztrtrs stdlib_lapack_solve Interface
stdlib_ztrttf stdlib_lapack_base Interface
stdlib_ztrttp stdlib_lapack_base Interface
stdlib_ztzrzf stdlib_lapack_orthogonal_factors Interface
stdlib_zunbdb stdlib_lapack_eig_svd_lsq Interface
stdlib_zunbdb1 stdlib_lapack_eig_svd_lsq Interface
stdlib_zunbdb2 stdlib_lapack_eig_svd_lsq Interface
stdlib_zunbdb3 stdlib_lapack_eig_svd_lsq Interface
stdlib_zunbdb4 stdlib_lapack_eig_svd_lsq Interface
stdlib_zunbdb5 stdlib_lapack_eig_svd_lsq Interface
stdlib_zunbdb6 stdlib_lapack_eig_svd_lsq Interface
stdlib_zuncsd stdlib_lapack_eig_svd_lsq Interface
stdlib_zuncsd2by1 stdlib_lapack_eig_svd_lsq Interface
stdlib_zung2l stdlib_lapack_orthogonal_factors Interface
stdlib_zung2r stdlib_lapack_orthogonal_factors Interface
stdlib_zungbr stdlib_lapack_eig_svd_lsq Interface
stdlib_zunghr stdlib_lapack_eig_svd_lsq Interface
stdlib_zungl2 stdlib_lapack_orthogonal_factors Interface
stdlib_zunglq stdlib_lapack_orthogonal_factors Interface
stdlib_zungql stdlib_lapack_orthogonal_factors Interface
stdlib_zungqr stdlib_lapack_orthogonal_factors Interface
stdlib_zungr2 stdlib_lapack_orthogonal_factors Interface
stdlib_zungrq stdlib_lapack_orthogonal_factors Interface
stdlib_zungtr stdlib_lapack_eig_svd_lsq Interface
stdlib_zungtsqr stdlib_lapack_orthogonal_factors Interface
stdlib_zungtsqr_row stdlib_lapack_orthogonal_factors Interface
stdlib_zunhr_col stdlib_lapack_orthogonal_factors Interface
stdlib_zunm22 stdlib_lapack_orthogonal_factors Interface
stdlib_zunm2l stdlib_lapack_orthogonal_factors Interface
stdlib_zunm2r stdlib_lapack_orthogonal_factors Interface
stdlib_zunmbr stdlib_lapack_eig_svd_lsq Interface
stdlib_zunmhr stdlib_lapack_eig_svd_lsq Interface
stdlib_zunml2 stdlib_lapack_orthogonal_factors Interface
stdlib_zunmlq stdlib_lapack_orthogonal_factors Interface
stdlib_zunmql stdlib_lapack_orthogonal_factors Interface
stdlib_zunmqr stdlib_lapack_orthogonal_factors Interface
stdlib_zunmr2 stdlib_lapack_orthogonal_factors Interface
stdlib_zunmr3 stdlib_lapack_orthogonal_factors Interface
stdlib_zunmrq stdlib_lapack_orthogonal_factors Interface
stdlib_zunmrz stdlib_lapack_orthogonal_factors Interface
stdlib_zunmtr stdlib_lapack_eig_svd_lsq Interface
stdlib_zupgtr stdlib_lapack_eig_svd_lsq Interface
stdlib_zupmtr stdlib_lapack_eig_svd_lsq Interface
stebz stdlib_linalg_lapack Interface

STEBZ computes the eigenvalues of a symmetric tridiagonal matrix T. The user may ask for all eigenvalues, all eigenvalues in the half-open interval (VL, VU], or the IL-th through IU-th eigenvalues. To avoid overflow, the matrix must be scaled so that its largest element is no greater than overflow(1/2) * underflow(1/4) in absolute value, and for greatest accuracy, it should not be much smaller than that. See W. Kahan "Accurate Eigenvalues of a Symmetric Tridiagonal Matrix", Report CS41, Computer Science Dept., Stanford University, July 21, 1966.

stedc stdlib_linalg_lapack Interface

STEDC computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the divide and conquer method. The eigenvectors of a full or band complex Hermitian matrix can also be found if CHETRD or CHPTRD or CHBTRD has been used to reduce this matrix to tridiagonal form. This code makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none. See SLAED3 for details.

stegr stdlib_linalg_lapack Interface

STEGR computes selected eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix T. Any such unreduced matrix has a well defined set of pairwise different real eigenvalues, the corresponding real eigenvectors are pairwise orthogonal. The spectrum may be computed either completely or partially by specifying either an interval (VL,VU] or a range of indices IL:IU for the desired eigenvalues. STEGR is a compatibility wrapper around the improved CSTEMR routine. See SSTEMR for further details. One important change is that the ABSTOL parameter no longer provides any benefit and hence is no longer used. Note : STEGR and CSTEMR work only on machines which follow IEEE-754 floating-point standard in their handling of infinities and NaNs. Normal execution may create these exceptiona values and hence may abort due to a floating point exception in environments which do not conform to the IEEE-754 standard.

stein stdlib_linalg_lapack Interface

STEIN computes the eigenvectors of a real symmetric tridiagonal matrix T corresponding to specified eigenvalues, using inverse iteration. The maximum number of iterations allowed for each eigenvector is specified by an internal parameter MAXITS (currently set to 5). Although the eigenvectors are real, they are stored in a complex array, which may be passed to CUNMTR or CUPMTR for back transformation to the eigenvectors of a complex Hermitian matrix which was reduced to tridiagonal form.

stemr stdlib_linalg_lapack Interface

STEMR computes selected eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix T. Any such unreduced matrix has a well defined set of pairwise different real eigenvalues, the corresponding real eigenvectors are pairwise orthogonal. The spectrum may be computed either completely or partially by specifying either an interval (VL,VU] or a range of indices IL:IU for the desired eigenvalues. Depending on the number of desired eigenvalues, these are computed either by bisection or the dqds algorithm. Numerically orthogonal eigenvectors are computed by the use of various suitable L D L^T factorizations near clusters of close eigenvalues (referred to as RRRs, Relatively Robust Representations). An informal sketch of the algorithm follows. For each unreduced block (submatrix) of T, (a) Compute T - sigma I = L D L^T, so that L and D define all the wanted eigenvalues to high relative accuracy. This means that small relative changes in the entries of D and L cause only small relative changes in the eigenvalues and eigenvectors. The standard (unfactored) representation of the tridiagonal matrix T does not have this property in general. (b) Compute the eigenvalues to suitable accuracy. If the eigenvectors are desired, the algorithm attains full accuracy of the computed eigenvalues only right before the corresponding vectors have to be computed, see steps c) and d). (c) For each cluster of close eigenvalues, select a new shift close to the cluster, find a new factorization, and refine the shifted eigenvalues to suitable accuracy. (d) For each eigenvalue with a large enough relative separation compute the corresponding eigenvector by forming a rank revealing twisted factorization. Go back to (c) for any clusters that remain. For more details, see: - Inderjit S. Dhillon and Beresford N. Parlett: "Multiple representations to compute orthogonal eigenvectors of symmetric tridiagonal matrices," Linear Algebra and its Applications, 387(1), pp. 1-28, August 2004. - Inderjit Dhillon and Beresford Parlett: "Orthogonal Eigenvectors and Relative Gaps," SIAM Journal on Matrix Analysis and Applications, Vol. 25, 2004. Also LAPACK Working Note 154. - Inderjit Dhillon: "A new O(n^2) algorithm for the symmetric tridiagonal eigenvalue/eigenvector problem", Computer Science Division Technical Report No. UCB/CSD-97-971, UC Berkeley, May 1997. Further Details 1.STEMR works only on machines which follow IEEE-754 floating-point standard in their handling of infinities and NaNs. This permits the use of efficient inner loops avoiding a check for zero divisors. 2. LAPACK routines can be used to reduce a complex Hermitean matrix to real symmetric tridiagonal form. (Any complex Hermitean tridiagonal matrix has real values on its diagonal and potentially complex numbers on its off-diagonals. By applying a similarity transform with an appropriate diagonal matrix diag(1,e^{i \phy_1}, ... , e^{i \phy_{n-1}}), the complex Hermitean matrix can be transformed into a real symmetric matrix and complex arithmetic can be entirely avoided.) While the eigenvectors of the real symmetric tridiagonal matrix are real, the eigenvectors of original complex Hermitean matrix have complex entries in general. Since LAPACK drivers overwrite the matrix data with the eigenvectors, STEMR accepts complex workspace to facilitate interoperability with CUNMTR or CUPMTR.

step stdlib_specialfunctions Interface

Step function

step_grad stdlib_specialfunctions Interface

Gradient of the step function

steqr stdlib_linalg_lapack Interface

STEQR computes all eigenvalues and, optionally, eigenvectors of a symmetric tridiagonal matrix using the implicit QL or QR method. The eigenvectors of a full or band complex Hermitian matrix can also be found if CHETRD or CHPTRD or CHBTRD has been used to reduce this matrix to tridiagonal form.

sterf stdlib_linalg_lapack Interface

STERF computes all eigenvalues of a symmetric tridiagonal matrix using the Pal-Walker-Kahan variant of the QL or QR algorithm.

stev stdlib_linalg_lapack Interface

STEV computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix A.

stevd stdlib_linalg_lapack Interface

STEVD computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

stevr stdlib_linalg_lapack Interface

STEVR computes selected eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix T. Eigenvalues and eigenvectors can be selected by specifying either a range of values or a range of indices for the desired eigenvalues. Whenever possible, STEVR calls DSTEMR to compute the eigenspectrum using Relatively Robust Representations. DSTEMR computes eigenvalues by the dqds algorithm, while orthogonal eigenvectors are computed from various "good" L D L^T representations (also known as Relatively Robust Representations). Gram-Schmidt orthogonalization is avoided as far as possible. More specifically, the various steps of the algorithm are as follows. For the i-th unreduced block of T, (a) Compute T - sigma_i = L_i D_i L_i^T, such that L_i D_i L_i^T is a relatively robust representation, (b) Compute the eigenvalues, lambda_j, of L_i D_i L_i^T to high relative accuracy by the dqds algorithm, (c) If there is a cluster of close eigenvalues, "choose" sigma_i close to the cluster, and go to step (a), (d) Given the approximate eigenvalue lambda_j of L_i D_i L_i^T, compute the corresponding eigenvector by forming a rank-revealing twisted factorization. The desired accuracy of the output can be specified by the input parameter ABSTOL. For more details, see "A new O(n^2) algorithm for the symmetric tridiagonal eigenvalue/eigenvector problem", by Inderjit Dhillon, Computer Science Division Technical Report No. UCB//CSD-97-971, UC Berkeley, May 1997. Note 1 : STEVR calls DSTEMR when the full spectrum is requested on machines which conform to the ieee-754 floating point standard. STEVR calls DSTEBZ and DSTEIN on non-ieee machines and when partial spectrum requests are made. Normal execution of DSTEMR may create NaNs and infinities and hence may abort due to a floating point exception in environments which do not handle NaNs and infinities in the ieee standard default manner.

string_type stdlib_string_type Interface

Constructor for new string instances

stringlist_type stdlib_stringlist_type Interface

Constructor for stringlist Returns an instance of type stringlist_type Specifications

strip stdlib_strings Interface

Remove leading and trailing whitespace characters.

Read more…
svd stdlib_linalg Interface

Computes the singular value decomposition of a real or complex 2d matrix. (Specification)

Read more…
svdvals stdlib_linalg Interface

Computes the singular values of a real or complex 2d matrix. (Specification)

Read more…
swap stdlib_math Interface

Swap the values of the lhs and rhs arguments (Specification)

Read more…
swap stdlib_linalg_blas Interface

SWAP interchanges two vectors.

sycon stdlib_linalg_lapack Interface

SYCON estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric matrix A using the factorization A = UDUT or A = LDLT computed by CSYTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

sycon_rook stdlib_linalg_lapack Interface

SYCON_ROOK estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric matrix A using the factorization A = UDUT or A = LDLT computed by CSYTRF_ROOK. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

syconv stdlib_linalg_lapack Interface

SYCONV convert A given by TRF into L and D and vice-versa. Get Non-diag elements of D (returned in workspace) and apply or reverse permutation done in TRF.

syconvf stdlib_linalg_lapack Interface

If parameter WAY = 'C': SYCONVF converts the factorization output format used in CSYTRF provided on entry in parameter A into the factorization output format used in CSYTRF_RK (or CSYTRF_BK) that is stored on exit in parameters A and E. It also converts in place details of the intechanges stored in IPIV from the format used in CSYTRF into the format used in CSYTRF_RK (or CSYTRF_BK). If parameter WAY = 'R': SYCONVF performs the conversion in reverse direction, i.e. converts the factorization output format used in CSYTRF_RK (or CSYTRF_BK) provided on entry in parameters A and E into the factorization output format used in CSYTRF that is stored on exit in parameter A. It also converts in place details of the intechanges stored in IPIV from the format used in CSYTRF_RK (or CSYTRF_BK) into the format used in CSYTRF. SYCONVF can also convert in Hermitian matrix case, i.e. between formats used in CHETRF and CHETRF_RK (or CHETRF_BK).

syconvf_rook stdlib_linalg_lapack Interface

If parameter WAY = 'C': SYCONVF_ROOK converts the factorization output format used in CSYTRF_ROOK provided on entry in parameter A into the factorization output format used in CSYTRF_RK (or CSYTRF_BK) that is stored on exit in parameters A and E. IPIV format for CSYTRF_ROOK and CSYTRF_RK (or CSYTRF_BK) is the same and is not converted. If parameter WAY = 'R': SYCONVF_ROOK performs the conversion in reverse direction, i.e. converts the factorization output format used in CSYTRF_RK (or CSYTRF_BK) provided on entry in parameters A and E into the factorization output format used in CSYTRF_ROOK that is stored on exit in parameter A. IPIV format for CSYTRF_ROOK and CSYTRF_RK (or CSYTRF_BK) is the same and is not converted. SYCONVF_ROOK can also convert in Hermitian matrix case, i.e. between formats used in CHETRF_ROOK and CHETRF_RK (or CHETRF_BK).

syequb stdlib_linalg_lapack Interface

SYEQUB computes row and column scalings intended to equilibrate a symmetric matrix A (with respect to the Euclidean norm) and reduce its condition number. The scale factors S are computed by the BIN algorithm (see references) so that the scaled matrix B with elements B(i,j) = S(i)A(i,j)S(j) has a condition number within a factor N of the smallest possible condition number over all possible diagonal scalings.

syev stdlib_linalg_lapack Interface

SYEV computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A.

syevd stdlib_linalg_lapack Interface

SYEVD computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix A. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none. Because of large use of BLAS of level 3, SYEVD needs N**2 more workspace than DSYEVX.

syevr stdlib_linalg_lapack Interface

SYEVR computes selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix A. Eigenvalues and eigenvectors can be selected by specifying either a range of values or a range of indices for the desired eigenvalues. SYEVR first reduces the matrix A to tridiagonal form T with a call to DSYTRD. Then, whenever possible, SYEVR calls DSTEMR to compute the eigenspectrum using Relatively Robust Representations. DSTEMR computes eigenvalues by the dqds algorithm, while orthogonal eigenvectors are computed from various "good" L D L^T representations (also known as Relatively Robust Representations). Gram-Schmidt orthogonalization is avoided as far as possible. More specifically, the various steps of the algorithm are as follows. For each unreduced block (submatrix) of T, (a) Compute T - sigma I = L D L^T, so that L and D define all the wanted eigenvalues to high relative accuracy. This means that small relative changes in the entries of D and L cause only small relative changes in the eigenvalues and eigenvectors. The standard (unfactored) representation of the tridiagonal matrix T does not have this property in general. (b) Compute the eigenvalues to suitable accuracy. If the eigenvectors are desired, the algorithm attains full accuracy of the computed eigenvalues only right before the corresponding vectors have to be computed, see steps c) and d). (c) For each cluster of close eigenvalues, select a new shift close to the cluster, find a new factorization, and refine the shifted eigenvalues to suitable accuracy. (d) For each eigenvalue with a large enough relative separation compute the corresponding eigenvector by forming a rank revealing twisted factorization. Go back to (c) for any clusters that remain. The desired accuracy of the output can be specified by the input parameter ABSTOL. For more details, see DSTEMR's documentation and: - Inderjit S. Dhillon and Beresford N. Parlett: "Multiple representations to compute orthogonal eigenvectors of symmetric tridiagonal matrices," Linear Algebra and its Applications, 387(1), pp. 1-28, August 2004. - Inderjit Dhillon and Beresford Parlett: "Orthogonal Eigenvectors and Relative Gaps," SIAM Journal on Matrix Analysis and Applications, Vol. 25, 2004. Also LAPACK Working Note 154. - Inderjit Dhillon: "A new O(n^2) algorithm for the symmetric tridiagonal eigenvalue/eigenvector problem", Computer Science Division Technical Report No. UCB/CSD-97-971, UC Berkeley, May 1997. Note 1 : SYEVR calls DSTEMR when the full spectrum is requested on machines which conform to the ieee-754 floating point standard. SYEVR calls DSTEBZ and DSTEIN on non-ieee machines and when partial spectrum requests are made. Normal execution of DSTEMR may create NaNs and infinities and hence may abort due to a floating point exception in environments which do not handle NaNs and infinities in the ieee standard default manner.

sygst stdlib_linalg_lapack Interface

SYGST reduces a real symmetric-definite generalized eigenproblem to standard form. If ITYPE = 1, the problem is Ax = lambdaBx, and A is overwritten by inv(UT)Ainv(U) or inv(L)Ainv(LT) If ITYPE = 2 or 3, the problem is ABx = lambdax or BAx = lambdax, and A is overwritten by UAUT or LTAL. B must have been previously factorized as UTU or LL*T by DPOTRF.

sygv stdlib_linalg_lapack Interface

SYGV computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, of the form Ax=(lambda)Bx, ABx=(lambda)x, or BAx=(lambda)x. Here A and B are assumed to be symmetric and B is also positive definite.

sygvd stdlib_linalg_lapack Interface

SYGVD computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, of the form Ax=(lambda)Bx, ABx=(lambda)x, or BAx=(lambda)x. Here A and B are assumed to be symmetric and B is also positive definite. If eigenvectors are desired, it uses a divide and conquer algorithm. The divide and conquer algorithm makes very mild assumptions about floating point arithmetic. It will work on machines with a guard digit in add/subtract, or on those binary machines without guard digits which subtract like the Cray X-MP, Cray Y-MP, Cray C-90, or Cray-2. It could conceivably fail on hexadecimal or decimal machines without guard digits, but we know of none.

symm stdlib_linalg_blas Interface

SYMM performs one of the matrix-matrix operations C := alphaAB + betaC, or C := alphaBA + betaC, where alpha and beta are scalars, A is a symmetric matrix and B and C are m by n matrices.

symv stdlib_linalg_lapack Interface

SYMV performs the matrix-vector operation y := alphaAx + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix.

symv stdlib_linalg_blas Interface

SYMV performs the matrix-vector operation y := alphaAx + beta*y, where alpha and beta are scalars, x and y are n element vectors and A is an n by n symmetric matrix.

syr stdlib_linalg_lapack Interface

SYR performs the symmetric rank 1 operation A := alphaxx**H + A, where alpha is a complex scalar, x is an n element vector and A is an n by n symmetric matrix.

syr stdlib_linalg_blas Interface

SYR performs the symmetric rank 1 operation A := alphaxx**T + A, where alpha is a real scalar, x is an n element vector and A is an n by n symmetric matrix.

syr2 stdlib_linalg_blas Interface

SYR2 performs the symmetric rank 2 operation A := alphaxyT + alphayxT + A, where alpha is a scalar, x and y are n element vectors and A is an n by n symmetric matrix.

syr2k stdlib_linalg_blas Interface

SYR2K performs one of the symmetric rank 2k operations C := alphaABT + alphaBAT + betaC, or C := alphaATB + alphaBTA + betaC, where alpha and beta are scalars, C is an n by n symmetric matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

syrfs stdlib_linalg_lapack Interface

SYRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite, and provides error bounds and backward error estimates for the solution.

syrk stdlib_linalg_blas Interface

SYRK performs one of the symmetric rank k operations C := alphaAAT + betaC, or C := alphaATA + betaC, where alpha and beta are scalars, C is an n by n symmetric matrix and A is an n by k matrix in the first case and a k by n matrix in the second case.

sysv stdlib_linalg_lapack Interface

SYSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * UT, if UPLO = 'U', or A = L * D * LT, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

sysv_aa stdlib_linalg_lapack Interface

CSYSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = UT * T * U, if UPLO = 'U', or A = L * T * LT, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.

sysv_rk stdlib_linalg_lapack Interface

SYSV_RK computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = PUD(UT)(PT), if UPLO = 'U', or A = PLD*(LT)(PT), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, UT (or LT) is the transpose of U (or L), P is a permutation matrix, P*T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. CSYTRF_RK is called to compute the factorization of a complex symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine CSYTRS_3.

sysv_rook stdlib_linalg_lapack Interface

SYSV_ROOK computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * UT, if UPLO = 'U', or A = L * D * LT, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. CSYTRF_ROOK is called to compute the factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling CSYTRS_ROOK.

syswapr stdlib_linalg_lapack Interface

SYSWAPR applies an elementary permutation on the rows and the columns of a symmetric matrix.

sytf2_rk stdlib_linalg_lapack Interface

SYTF2_RK computes the factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman (rook) diagonal pivoting method: A = PUD(UT)(PT) or A = PLD*(LT)(PT), where U (or L) is unit upper (or lower) triangular matrix, UT (or LT) is the transpose of U (or L), P is a permutation matrix, P*T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the unblocked version of the algorithm, calling Level 2 BLAS. For more information see Further Details section.

sytf2_rook stdlib_linalg_lapack Interface

SYTF2_ROOK computes the factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method: A = UDUT or A = LDLT where U (or L) is a product of permutation and unit upper (lower) triangular matrices, U**T is the transpose of U, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the unblocked version of the algorithm, calling Level 2 BLAS.

sytrd stdlib_linalg_lapack Interface

SYTRD reduces a real symmetric matrix A to real symmetric tridiagonal form T by an orthogonal similarity transformation: Q**T * A * Q = T.

sytrd_sb2st stdlib_linalg_lapack Interface

SYTRD_SB2ST reduces a real symmetric band matrix A to real symmetric tridiagonal form T by a orthogonal similarity transformation: Q**T * A * Q = T.

sytrd_sy2sb stdlib_linalg_lapack Interface

SYTRD_SY2SB reduces a real symmetric matrix A to real symmetric band-diagonal form AB by a orthogonal similarity transformation: Q**T * A * Q = AB.

sytrf stdlib_linalg_lapack Interface

SYTRF computes the factorization of a complex symmetric matrix A using the Bunch-Kaufman diagonal pivoting method. The form of the factorization is A = UDUT or A = LDLT where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the blocked version of the algorithm, calling Level 3 BLAS.

sytrf_aa stdlib_linalg_lapack Interface

SYTRF_AA computes the factorization of a complex symmetric matrix A using the Aasen's algorithm. The form of the factorization is A = UTTU or A = LTLT where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is a complex symmetric tridiagonal matrix. This is the blocked version of the algorithm, calling Level 3 BLAS.

sytrf_rk stdlib_linalg_lapack Interface

SYTRF_RK computes the factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman (rook) diagonal pivoting method: A = PUD(UT)(PT) or A = PLD*(LT)(PT), where U (or L) is unit upper (or lower) triangular matrix, UT (or LT) is the transpose of U (or L), P is a permutation matrix, P*T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the blocked version of the algorithm, calling Level 3 BLAS. For more information see Further Details section.

sytrf_rook stdlib_linalg_lapack Interface

SYTRF_ROOK computes the factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The form of the factorization is A = UDUT or A = LDLT where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the blocked version of the algorithm, calling Level 3 BLAS.

sytri stdlib_linalg_lapack Interface

SYTRI computes the inverse of a complex symmetric indefinite matrix A using the factorization A = UDUT or A = LDLT computed by CSYTRF.

sytri_rook stdlib_linalg_lapack Interface

SYTRI_ROOK computes the inverse of a complex symmetric matrix A using the factorization A = UDUT or A = LDLT computed by CSYTRF_ROOK.

sytrs stdlib_linalg_lapack Interface

SYTRS solves a system of linear equations AX = B with a complex symmetric matrix A using the factorization A = UDUT or A = LDL*T computed by CSYTRF.

sytrs2 stdlib_linalg_lapack Interface

SYTRS2 solves a system of linear equations AX = B with a complex symmetric matrix A using the factorization A = UDUT or A = LDL*T computed by CSYTRF and converted by CSYCONV.

sytrs_3 stdlib_linalg_lapack Interface

SYTRS_3 solves a system of linear equations A * X = B with a complex symmetric matrix A using the factorization computed by CSYTRF_RK or CSYTRF_BK: A = PUD(UT)(PT) or A = PLD*(LT)(PT), where U (or L) is unit upper (or lower) triangular matrix, UT (or LT) is the transpose of U (or L), P is a permutation matrix, P*T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This algorithm is using Level 3 BLAS.

sytrs_aa stdlib_linalg_lapack Interface

SYTRS_AA solves a system of linear equations AX = B with a complex symmetric matrix A using the factorization A = UTTU or A = LTL*T computed by CSYTRF_AA.

sytrs_rook stdlib_linalg_lapack Interface

SYTRS_ROOK solves a system of linear equations AX = B with a complex symmetric matrix A using the factorization A = UDUT or A = LDL*T computed by CSYTRF_ROOK.

tbcon stdlib_linalg_lapack Interface

TBCON estimates the reciprocal of the condition number of a triangular band matrix A, in either the 1-norm or the infinity-norm. The norm of A is computed and an estimate is obtained for norm(inv(A)), then the reciprocal of the condition number is computed as RCOND = 1 / ( norm(A) * norm(inv(A)) ).

tbmv stdlib_linalg_blas Interface

TBMV performs one of the matrix-vector operations x := Ax, or x := ATx, or x := A*Hx, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals.

tbrfs stdlib_linalg_lapack Interface

TBRFS provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular band coefficient matrix. The solution matrix X must be computed by CTBTRS or some other means before entering this routine. TBRFS does not do iterative refinement because doing so cannot improve the backward error.

tbsv stdlib_linalg_blas Interface

TBSV solves one of the systems of equations Ax = b, or ATx = b, or A*Hx = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals. No test for singularity or near-singularity is included in this routine. Such tests must be performed before calling this routine.

tbtrs stdlib_linalg_lapack Interface

TBTRS solves a triangular system of the form A * X = B, AT * X = B, or AH * X = B, where A is a triangular band matrix of order N, and B is an N-by-NRHS matrix. A check is made to verify that A is nonsingular.

tfsm stdlib_linalg_lapack Interface

Level 3 BLAS like routine for A in RFP Format. TFSM solves the matrix equation op( A )X = alphaB or Xop( A ) = alphaB where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = A**H. A is in Rectangular Full Packed (RFP) Format. The matrix X is overwritten on B.

tftri stdlib_linalg_lapack Interface

TFTRI computes the inverse of a triangular matrix A stored in RFP format. This is a Level 3 BLAS version of the algorithm.

tfttp stdlib_linalg_lapack Interface

TFTTP copies a triangular matrix A from rectangular full packed format (TF) to standard packed format (TP).

tfttr stdlib_linalg_lapack Interface

TFTTR copies a triangular matrix A from rectangular full packed format (TF) to standard full format (TR).

tgevc stdlib_linalg_lapack Interface

TGEVC computes some or all of the right and/or left eigenvectors of a pair of complex matrices (S,P), where S and P are upper triangular. Matrix pairs of this type are produced by the generalized Schur factorization of a complex matrix pair (A,B): A = QSZH, B = QPZH as computed by CGGHRD + CHGEQZ. The right eigenvector x and the left eigenvector y of (S,P) corresponding to an eigenvalue w are defined by: Sx = wPx, (yH)S = w(yH)P, where yH denotes the conjugate tranpose of y. The eigenvalues are not input to this routine, but are computed directly from the diagonal elements of S and P. This routine returns the matrices X and/or Y of right and left eigenvectors of (S,P), or the products ZX and/or QY, where Z and Q are input matrices. If Q and Z are the unitary factors from the generalized Schur factorization of a matrix pair (A,B), then ZX and QY are the matrices of right and left eigenvectors of (A,B).

tgexc stdlib_linalg_lapack Interface

TGEXC reorders the generalized Schur decomposition of a complex matrix pair (A,B), using an unitary equivalence transformation (A, B) := Q * (A, B) * ZH, so that the diagonal block of (A, B) with row index IFST is moved to row ILST. (A, B) must be in generalized Schur canonical form, that is, A and B are both upper triangular. Optionally, the matrices Q and Z of generalized Schur vectors are updated. Q(in) * A(in) * Z(in)H = Q(out) * A(out) * Z(out)H Q(in) * B(in) * Z(in)H = Q(out) * B(out) * Z(out)**H

tgsen stdlib_linalg_lapack Interface

TGSEN reorders the generalized Schur decomposition of a complex matrix pair (A, B) (in terms of an unitary equivalence trans- formation Q**H * (A, B) * Z), so that a selected cluster of eigenvalues appears in the leading diagonal blocks of the pair (A,B). The leading columns of Q and Z form unitary bases of the corresponding left and right eigenspaces (deflating subspaces). (A, B) must be in generalized Schur canonical form, that is, A and B are both upper triangular. TGSEN also computes the generalized eigenvalues w(j)= ALPHA(j) / BETA(j) of the reordered matrix pair (A, B). Optionally, the routine computes estimates of reciprocal condition numbers for eigenvalues and eigenspaces. These are Difu[(A11,B11), (A22,B22)] and Difl[(A11,B11), (A22,B22)], i.e. the separation(s) between the matrix pairs (A11, B11) and (A22,B22) that correspond to the selected cluster and the eigenvalues outside the cluster, resp., and norms of "projections" onto left and right eigenspaces w.r.t. the selected cluster in the (1,1)-block.

tgsja stdlib_linalg_lapack Interface

TGSJA computes the generalized singular value decomposition (GSVD) of two complex upper triangular (or trapezoidal) matrices A and B. On entry, it is assumed that matrices A and B have the following forms, which may be obtained by the preprocessing subroutine CGGSVP from a general M-by-N matrix A and P-by-N matrix B: N-K-L K L A = K ( 0 A12 A13 ) if M-K-L >= 0; L ( 0 0 A23 ) M-K-L ( 0 0 0 ) N-K-L K L A = K ( 0 A12 A13 ) if M-K-L < 0; M-K ( 0 0 A23 ) N-K-L K L B = L ( 0 0 B13 ) P-L ( 0 0 0 ) where the K-by-K matrix A12 and L-by-L matrix B13 are nonsingular upper triangular; A23 is L-by-L upper triangular if M-K-L >= 0, otherwise A23 is (M-K)-by-L upper trapezoidal. On exit, UH AQ = D1*( 0 R ), VH BQ = D2( 0 R ), where U, V and Q are unitary matrices. R is a nonsingular upper triangular matrix, and D1 and D2 are ``diagonal'' matrices, which are of the following structures: If M-K-L >= 0, K L D1 = K ( I 0 ) L ( 0 C ) M-K-L ( 0 0 ) K L D2 = L ( 0 S ) P-L ( 0 0 ) N-K-L K L ( 0 R ) = K ( 0 R11 R12 ) K L ( 0 0 R22 ) L where C = diag( ALPHA(K+1), ... , ALPHA(K+L) ), S = diag( BETA(K+1), ... , BETA(K+L) ), C2 + S2 = I. R is stored in A(1:K+L,N-K-L+1:N) on exit. If M-K-L < 0, K M-K K+L-M D1 = K ( I 0 0 ) M-K ( 0 C 0 ) K M-K K+L-M D2 = M-K ( 0 S 0 ) K+L-M ( 0 0 I ) P-L ( 0 0 0 ) N-K-L K M-K K+L-M ( 0 R ) = K ( 0 R11 R12 R13 ) M-K ( 0 0 R22 R23 ) K+L-M ( 0 0 0 R33 ) where C = diag( ALPHA(K+1), ... , ALPHA(M) ), S = diag( BETA(K+1), ... , BETA(M) ), C2 + S*2 = I. R = ( R11 R12 R13 ) is stored in A(1:M, N-K-L+1:N) and R33 is stored ( 0 R22 R23 ) in B(M-K+1:L,N+M-K-L+1:N) on exit. The computation of the unitary transformation matrices U, V or Q is optional. These matrices may either be formed explicitly, or they may be postmultiplied into input matrices U1, V1, or Q1.

tgsna stdlib_linalg_lapack Interface

TGSNA estimates reciprocal condition numbers for specified eigenvalues and/or eigenvectors of a matrix pair (A, B). (A, B) must be in generalized Schur canonical form, that is, A and B are both upper triangular.

tgsyl stdlib_linalg_lapack Interface

TGSYL solves the generalized Sylvester equation: A * R - L * B = scale * C (1) D * R - L * E = scale * F where R and L are unknown m-by-n matrices, (A, D), (B, E) and (C, F) are given matrix pairs of size m-by-m, n-by-n and m-by-n, respectively, with complex entries. A, B, D and E are upper triangular (i.e., (A,D) and (B,E) in generalized Schur form). The solution (R, L) overwrites (C, F). 0 <= SCALE <= 1 is an output scaling factor chosen to avoid overflow. In matrix notation (1) is equivalent to solve Zx = scaleb, where Z is defined as Z = [ kron(In, A) -kron(BH, Im) ] (2) [ kron(In, D) -kron(EH, Im) ], Here Ix is the identity matrix of size x and XH is the conjugate transpose of X. Kron(X, Y) is the Kronecker product between the matrices X and Y. If TRANS = 'C', y in the conjugate transposed system ZH y = scaleb is solved for, which is equivalent to solve for R and L in AH * R + DH * L = scale * C (3) R * BH + L * E*H = scale * -F This case (TRANS = 'C') is used to compute an one-norm-based estimate of Dif[(A,D), (B,E)], the separation between the matrix pairs (A,D) and (B,E), using CLACON. If IJOB >= 1, TGSYL computes a Frobenius norm-based estimate of Dif[(A,D),(B,E)]. That is, the reciprocal of a lower bound on the reciprocal of the smallest singular value of Z. This is a level-3 BLAS algorithm.

to_c_char stdlib_strings Interface

Format or transfer other types as a string. (Specification)

to_lower stdlib_string_type Interface

Returns the lowercase version of the character sequence hold by the input string

Read more…
to_lower stdlib_ascii Function

Convert character variable to lower case (Specification)

Read more…
to_num stdlib_str2num Interface

Conversion of strings to numbers (Specification)

to_num_from_stream stdlib_str2num Interface

Conversion of a stream of values in a string to numbers (Specification)

to_real stdlib_codata_type Interface

Get the constant value or uncertainty.

to_sentence stdlib_string_type Interface

Returns the sentencecase version of the character sequence hold by the input string

Read more…
to_sentence stdlib_ascii Function

Converts character sequence to sentence case (Specification)

Read more…
to_string stdlib_ansi Interface
to_string stdlib_strings Interface

Format or transfer other types as a string. (Specification)

to_title stdlib_string_type Interface

Returns the titlecase version of the character sequence hold by the input string

Read more…
to_title stdlib_ascii Function

Converts character sequence to title case (Specification)

Read more…
to_upper stdlib_string_type Interface

Returns the uppercase version of the character sequence hold by the input string

Read more…
to_upper stdlib_ascii Function

Convert character variable to upper case (Specification)

Read more…
tpcon stdlib_linalg_lapack Interface

TPCON estimates the reciprocal of the condition number of a packed triangular matrix A, in either the 1-norm or the infinity-norm. The norm of A is computed and an estimate is obtained for norm(inv(A)), then the reciprocal of the condition number is computed as RCOND = 1 / ( norm(A) * norm(inv(A)) ).

tplqt stdlib_linalg_lapack Interface

TPLQT computes a blocked LQ factorization of a complex "triangular-pentagonal" matrix C, which is composed of a triangular block A and pentagonal block B, using the compact WY representation for Q.

tplqt2 stdlib_linalg_lapack Interface

TPLQT2 computes a LQ a factorization of a complex "triangular-pentagonal" matrix C, which is composed of a triangular block A and pentagonal block B, using the compact WY representation for Q.

tpmlqt stdlib_linalg_lapack Interface

TPMLQT applies a complex unitary matrix Q obtained from a "triangular-pentagonal" complex block reflector H to a general complex matrix C, which consists of two blocks A and B.

tpmqrt stdlib_linalg_lapack Interface

TPMQRT applies a complex orthogonal matrix Q obtained from a "triangular-pentagonal" complex block reflector H to a general complex matrix C, which consists of two blocks A and B.

tpmv stdlib_linalg_blas Interface

TPMV performs one of the matrix-vector operations x := Ax, or x := ATx, or x := A*Hx, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix, supplied in packed form.

tpqrt stdlib_linalg_lapack Interface

TPQRT computes a blocked QR factorization of a complex "triangular-pentagonal" matrix C, which is composed of a triangular block A and pentagonal block B, using the compact WY representation for Q.

tpqrt2 stdlib_linalg_lapack Interface

TPQRT2 computes a QR factorization of a complex "triangular-pentagonal" matrix C, which is composed of a triangular block A and pentagonal block B, using the compact WY representation for Q.

tprfb stdlib_linalg_lapack Interface

TPRFB applies a complex "triangular-pentagonal" block reflector H or its conjugate transpose H**H to a complex matrix C, which is composed of two blocks A and B, either from the left or right.

tprfs stdlib_linalg_lapack Interface

TPRFS provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular packed coefficient matrix. The solution matrix X must be computed by CTPTRS or some other means before entering this routine. TPRFS does not do iterative refinement because doing so cannot improve the backward error.

tpsv stdlib_linalg_blas Interface

TPSV solves one of the systems of equations Ax = b, or ATx = b, or A*Hx = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix, supplied in packed form. No test for singularity or near-singularity is included in this routine. Such tests must be performed before calling this routine.

tptri stdlib_linalg_lapack Interface

TPTRI computes the inverse of a complex upper or lower triangular matrix A stored in packed format.

tptrs stdlib_linalg_lapack Interface

TPTRS solves a triangular system of the form A * X = B, AT * X = B, or AH * X = B, where A is a triangular matrix of order N stored in packed format, and B is an N-by-NRHS matrix. A check is made to verify that A is nonsingular.

tpttf stdlib_linalg_lapack Interface

TPTTF copies a triangular matrix A from standard packed format (TP) to rectangular full packed format (TF).

tpttr stdlib_linalg_lapack Interface

TPTTR copies a triangular matrix A from standard packed format (TP) to standard full format (TR).

trace stdlib_linalg Interface

Computes the trace of a matrix (Specification)

transpose stdlib_specialmatrices Interface

This interface provides methods to compute the transpose operation for the different matrix types defined by stdlib_specialmatrices. Specifications

trapz stdlib_quadrature Interface

Integrates sampled values using trapezoidal rule (Specification)

trapz_weights stdlib_quadrature Interface

Integrates sampled values using trapezoidal rule weights for given abscissas (Specification)

trcon stdlib_linalg_lapack Interface

TRCON estimates the reciprocal of the condition number of a triangular matrix A, in either the 1-norm or the infinity-norm. The norm of A is computed and an estimate is obtained for norm(inv(A)), then the reciprocal of the condition number is computed as RCOND = 1 / ( norm(A) * norm(inv(A)) ).

trevc stdlib_linalg_lapack Interface

TREVC computes some or all of the right and/or left eigenvectors of a complex upper triangular matrix T. Matrices of this type are produced by the Schur factorization of a complex general matrix: A = QTQH, as computed by CHSEQR. The right eigenvector x and the left eigenvector y of T corresponding to an eigenvalue w are defined by: Tx = wx, (yH)T = w(yH) where yH denotes the conjugate transpose of the vector y. The eigenvalues are not input to this routine, but are read directly from the diagonal of T. This routine returns the matrices X and/or Y of right and left eigenvectors of T, or the products QX and/or QY, where Q is an input matrix. If Q is the unitary factor that reduces a matrix A to Schur form T, then QX and QY are the matrices of right and left eigenvectors of A.

trevc3 stdlib_linalg_lapack Interface

TREVC3 computes some or all of the right and/or left eigenvectors of a complex upper triangular matrix T. Matrices of this type are produced by the Schur factorization of a complex general matrix: A = QTQH, as computed by CHSEQR. The right eigenvector x and the left eigenvector y of T corresponding to an eigenvalue w are defined by: Tx = wx, (yH)T = w(yH) where yH denotes the conjugate transpose of the vector y. The eigenvalues are not input to this routine, but are read directly from the diagonal of T. This routine returns the matrices X and/or Y of right and left eigenvectors of T, or the products QX and/or QY, where Q is an input matrix. If Q is the unitary factor that reduces a matrix A to Schur form T, then QX and QY are the matrices of right and left eigenvectors of A. This uses a Level 3 BLAS version of the back transformation.

trexc stdlib_linalg_lapack Interface

TREXC reorders the Schur factorization of a complex matrix A = QTQH, so that the diagonal element of T with row index IFST is moved to row ILST. The Schur form T is reordered by a unitary similarity transformation ZHTZ, and optionally the matrix Q of Schur vectors is updated by postmultplying it with Z.

tridiagonal stdlib_specialmatrices Interface

(Specifications) This interface provides different methods to construct a tridiagonal matrix. Only the non-zero elements of are stored, i.e.

Read more…
trim stdlib_string_type Interface

Returns the character sequence hold by the string without trailing spaces.

Read more…
trmm stdlib_linalg_blas Interface

TRMM performs one of the matrix-matrix operations B := alphaop( A )B, or B := alphaBop( A ) where alpha is a scalar, B is an m by n matrix, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT or op( A ) = AH.

trmv stdlib_linalg_blas Interface

TRMV performs one of the matrix-vector operations x := Ax, or x := ATx, or x := A*Hx, where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix.

trrfs stdlib_linalg_lapack Interface

TRRFS provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular coefficient matrix. The solution matrix X must be computed by CTRTRS or some other means before entering this routine. TRRFS does not do iterative refinement because doing so cannot improve the backward error.

trsen stdlib_linalg_lapack Interface

TRSEN reorders the Schur factorization of a complex matrix A = QTQ**H, so that a selected cluster of eigenvalues appears in the leading positions on the diagonal of the upper triangular matrix T, and the leading columns of Q form an orthonormal basis of the corresponding right invariant subspace. Optionally the routine computes the reciprocal condition numbers of the cluster of eigenvalues and/or the invariant subspace.

trsm stdlib_linalg_blas Interface

TRSM solves one of the matrix equations op( A )X = alphaB, or Xop( A ) = alphaB, where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of op( A ) = A or op( A ) = AT or op( A ) = AH. The matrix X is overwritten on B.

trsna stdlib_linalg_lapack Interface

TRSNA estimates reciprocal condition numbers for specified eigenvalues and/or right eigenvectors of a complex upper triangular matrix T (or of any matrix QTQ**H with Q unitary).

trsv stdlib_linalg_blas Interface

TRSV solves one of the systems of equations Ax = b, or ATx = b, or A*Hx = b, where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular matrix. No test for singularity or near-singularity is included in this routine. Such tests must be performed before calling this routine.

trsyl stdlib_linalg_lapack Interface

TRSYL solves the complex Sylvester matrix equation: op(A)X + Xop(B) = scaleC or op(A)X - Xop(B) = scaleC, where op(A) = A or A**H, and A and B are both upper triangular. A is M-by-M and B is N-by-N; the right hand side C and the solution X are M-by-N; and scale is an output scale factor, set <= 1 to avoid overflow in X.

trtri stdlib_linalg_lapack Interface

TRTRI computes the inverse of a complex upper or lower triangular matrix A. This is the Level 3 BLAS version of the algorithm.

trtrs stdlib_linalg_lapack Interface

TRTRS solves a triangular system of the form A * X = B, AT * X = B, or AH * X = B, where A is a triangular matrix of order N, and B is an N-by-NRHS matrix. A check is made to verify that A is nonsingular.

trttf stdlib_linalg_lapack Interface

TRTTF copies a triangular matrix A from standard full format (TR) to rectangular full packed format (TF) .

trttp stdlib_linalg_lapack Interface

TRTTP copies a triangular matrix A from full format (TR) to standard packed format (TP).

trueloc stdlib_array Function

Return the positions of the true elements in array. Specification

tzrzf stdlib_linalg_lapack Interface

TZRZF reduces the M-by-N ( M<=N ) complex upper trapezoidal matrix A to upper triangular form by means of unitary transformations. The upper trapezoidal matrix A is factored as A = ( R 0 ) * Z, where Z is an N-by-N unitary matrix and R is an M-by-M upper triangular matrix.

unbdb stdlib_linalg_lapack Interface

UNBDB simultaneously bidiagonalizes the blocks of an M-by-M partitioned unitary matrix X: [ B11 | B12 0 0 ] [ X11 | X12 ] [ P1 | ] [ 0 | 0 -I 0 ] [ Q1 | ]**H X = [-----------] = [---------] [----------------] [---------] . [ X21 | X22 ] [ | P2 ] [ B21 | B22 0 0 ] [ | Q2 ] [ 0 | 0 0 I ] X11 is P-by-Q. Q must be no larger than P, M-P, or M-Q. (If this is not the case, then X must be transposed and/or permuted. This can be done in constant time using the TRANS and SIGNS options. See CUNCSD for details.) The unitary matrices P1, P2, Q1, and Q2 are P-by-P, (M-P)-by- (M-P), Q-by-Q, and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11, B12, B21, and B22 are Q-by-Q bidiagonal matrices represented implicitly by angles THETA, PHI.

unbdb1 stdlib_linalg_lapack Interface

UNBDB1 simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonomal columns: [ B11 ] [ X11 ] [ P1 | ] [ 0 ] [-----] = [---------] [-----] Q1**T . [ X21 ] [ | P2 ] [ B21 ] [ 0 ] X11 is P-by-Q, and X21 is (M-P)-by-Q. Q must be no larger than P, M-P, or M-Q. Routines CUNBDB2, CUNBDB3, and CUNBDB4 handle cases in which Q is not the minimum dimension. The unitary matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11 and B12 are Q-by-Q bidiagonal matrices represented implicitly by angles THETA, PHI.

unbdb2 stdlib_linalg_lapack Interface

UNBDB2 simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonomal columns: [ B11 ] [ X11 ] [ P1 | ] [ 0 ] [-----] = [---------] [-----] Q1**T . [ X21 ] [ | P2 ] [ B21 ] [ 0 ] X11 is P-by-Q, and X21 is (M-P)-by-Q. P must be no larger than M-P, Q, or M-Q. Routines CUNBDB1, CUNBDB3, and CUNBDB4 handle cases in which P is not the minimum dimension. The unitary matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11 and B12 are P-by-P bidiagonal matrices represented implicitly by angles THETA, PHI.

unbdb3 stdlib_linalg_lapack Interface

UNBDB3 simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonomal columns: [ B11 ] [ X11 ] [ P1 | ] [ 0 ] [-----] = [---------] [-----] Q1**T . [ X21 ] [ | P2 ] [ B21 ] [ 0 ] X11 is P-by-Q, and X21 is (M-P)-by-Q. M-P must be no larger than P, Q, or M-Q. Routines CUNBDB1, CUNBDB2, and CUNBDB4 handle cases in which M-P is not the minimum dimension. The unitary matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11 and B12 are (M-P)-by-(M-P) bidiagonal matrices represented implicitly by angles THETA, PHI.

unbdb4 stdlib_linalg_lapack Interface

UNBDB4 simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonomal columns: [ B11 ] [ X11 ] [ P1 | ] [ 0 ] [-----] = [---------] [-----] Q1**T . [ X21 ] [ | P2 ] [ B21 ] [ 0 ] X11 is P-by-Q, and X21 is (M-P)-by-Q. M-Q must be no larger than P, M-P, or Q. Routines CUNBDB1, CUNBDB2, and CUNBDB3 handle cases in which M-Q is not the minimum dimension. The unitary matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11 and B12 are (M-Q)-by-(M-Q) bidiagonal matrices represented implicitly by angles THETA, PHI.

unbdb5 stdlib_linalg_lapack Interface

UNBDB5 orthogonalizes the column vector X = [ X1 ] [ X2 ] with respect to the columns of Q = [ Q1 ] . [ Q2 ] The columns of Q must be orthonormal. If the projection is zero according to Kahan's "twice is enough" criterion, then some other vector from the orthogonal complement is returned. This vector is chosen in an arbitrary but deterministic way.

unbdb6 stdlib_linalg_lapack Interface

UNBDB6 orthogonalizes the column vector X = [ X1 ] [ X2 ] with respect to the columns of Q = [ Q1 ] . [ Q2 ] The columns of Q must be orthonormal. If the projection is zero according to Kahan's "twice is enough" criterion, then the zero vector is returned.

uncsd stdlib_linalg_lapack Interface

UNCSD computes the CS decomposition of an M-by-M partitioned unitary matrix X: [ I 0 0 | 0 0 0 ] [ 0 C 0 | 0 -S 0 ] [ X11 | X12 ] [ U1 | ] [ 0 0 0 | 0 0 -I ] [ V1 | ]**H X = [-----------] = [---------] [---------------------] [---------] . [ X21 | X22 ] [ | U2 ] [ 0 0 0 | I 0 0 ] [ | V2 ] [ 0 S 0 | 0 C 0 ] [ 0 0 I | 0 0 0 ] X11 is P-by-Q. The unitary matrices U1, U2, V1, and V2 are P-by-P, (M-P)-by-(M-P), Q-by-Q, and (M-Q)-by-(M-Q), respectively. C and S are R-by-R nonnegative diagonal matrices satisfying C^2 + S^2 = I, in which R = MIN(P,M-P,Q,M-Q).

uncsd2by1 stdlib_linalg_lapack Interface

UNCSD2BY1 computes the CS decomposition of an M-by-Q matrix X with orthonormal columns that has been partitioned into a 2-by-1 block structure: [ I1 0 0 ] [ 0 C 0 ] [ X11 ] [ U1 | ] [ 0 0 0 ] X = [-----] = [---------] [----------] V1**T . [ X21 ] [ | U2 ] [ 0 0 0 ] [ 0 S 0 ] [ 0 0 I2] X11 is P-by-Q. The unitary matrices U1, U2, and V1 are P-by-P, (M-P)-by-(M-P), and Q-by-Q, respectively. C and S are R-by-R nonnegative diagonal matrices satisfying C^2 + S^2 = I, in which R = MIN(P,M-P,Q,M-Q). I1 is a K1-by-K1 identity matrix and I2 is a K2-by-K2 identity matrix, where K1 = MAX(Q+P-M,0), K2 = MAX(Q-P,0).

ung2l stdlib_linalg_lapack Interface

UNG2L generates an m by n complex matrix Q with orthonormal columns, which is defined as the last n columns of a product of k elementary reflectors of order m Q = H(k) . . . H(2) H(1) as returned by CGEQLF.

ung2r stdlib_linalg_lapack Interface

UNG2R generates an m by n complex matrix Q with orthonormal columns, which is defined as the first n columns of a product of k elementary reflectors of order m Q = H(1) H(2) . . . H(k) as returned by CGEQRF.

ungbr stdlib_linalg_lapack Interface

UNGBR generates one of the complex unitary matrices Q or PH determined by CGEBRD when reducing a complex matrix A to bidiagonal form: A = Q * B * PH. Q and PH are defined as products of elementary reflectors H(i) or G(i) respectively. If VECT = 'Q', A is assumed to have been an M-by-K matrix, and Q is of order M: if m >= k, Q = H(1) H(2) . . . H(k) and UNGBR returns the first n columns of Q, where m >= n >= k; if m < k, Q = H(1) H(2) . . . H(m-1) and UNGBR returns Q as an M-by-M matrix. If VECT = 'P', A is assumed to have been a K-by-N matrix, and PH is of order N: if k < n, PH = G(k) . . . G(2) G(1) and UNGBR returns the first m rows of PH, where n >= m >= k; if k >= n, PH = G(n-1) . . . G(2) G(1) and UNGBR returns PH as an N-by-N matrix.

unghr stdlib_linalg_lapack Interface

UNGHR generates a complex unitary matrix Q which is defined as the product of IHI-ILO elementary reflectors of order N, as returned by CGEHRD: Q = H(ilo) H(ilo+1) . . . H(ihi-1).

unglq stdlib_linalg_lapack Interface

UNGLQ generates an M-by-N complex matrix Q with orthonormal rows, which is defined as the first M rows of a product of K elementary reflectors of order N Q = H(k)H . . . H(2)H H(1)**H as returned by CGELQF.

ungql stdlib_linalg_lapack Interface

UNGQL generates an M-by-N complex matrix Q with orthonormal columns, which is defined as the last N columns of a product of K elementary reflectors of order M Q = H(k) . . . H(2) H(1) as returned by CGEQLF.

ungqr stdlib_linalg_lapack Interface

UNGQR generates an M-by-N complex matrix Q with orthonormal columns, which is defined as the first N columns of a product of K elementary reflectors of order M Q = H(1) H(2) . . . H(k) as returned by CGEQRF.

ungrq stdlib_linalg_lapack Interface

UNGRQ generates an M-by-N complex matrix Q with orthonormal rows, which is defined as the last M rows of a product of K elementary reflectors of order N Q = H(1)H H(2)H . . . H(k)**H as returned by CGERQF.

ungtr stdlib_linalg_lapack Interface

UNGTR generates a complex unitary matrix Q which is defined as the product of n-1 elementary reflectors of order N, as returned by CHETRD: if UPLO = 'U', Q = H(n-1) . . . H(2) H(1), if UPLO = 'L', Q = H(1) H(2) . . . H(n-1).

ungtsqr stdlib_linalg_lapack Interface

UNGTSQR generates an M-by-N complex matrix Q_out with orthonormal columns, which are the first N columns of a product of comlpex unitary matrices of order M which are returned by CLATSQR Q_out = first_N_columns_of( Q(1)_in * Q(2)_in * ... * Q(k)_in ). See the documentation for CLATSQR.

ungtsqr_row stdlib_linalg_lapack Interface

UNGTSQR_ROW generates an M-by-N complex matrix Q_out with orthonormal columns from the output of CLATSQR. These N orthonormal columns are the first N columns of a product of complex unitary matrices Q(k)_in of order M, which are returned by CLATSQR in a special format. Q_out = first_N_columns_of( Q(1)_in * Q(2)_in * ... * Q(k)_in ). The input matrices Q(k)_in are stored in row and column blocks in A. See the documentation of CLATSQR for more details on the format of Q(k)_in, where each Q(k)_in is represented by block Householder transformations. This routine calls an auxiliary routine CLARFB_GETT, where the computation is performed on each individual block. The algorithm first sweeps NB-sized column blocks from the right to left starting in the bottom row block and continues to the top row block (hence _ROW in the routine name). This sweep is in reverse order of the order in which CLATSQR generates the output blocks.

unhr_col stdlib_linalg_lapack Interface

UNHR_COL takes an M-by-N complex matrix Q_in with orthonormal columns as input, stored in A, and performs Householder Reconstruction (HR), i.e. reconstructs Householder vectors V(i) implicitly representing another M-by-N matrix Q_out, with the property that Q_in = Q_out*S, where S is an N-by-N diagonal matrix with diagonal entries equal to +1 or -1. The Householder vectors (columns V(i) of V) are stored in A on output, and the diagonal entries of S are stored in D. Block reflectors are also returned in T (same output format as CGEQRT).

universal_mult_hash stdlib_hash_64bit Function

Uses the "random" odd 64 bit integer seed to map the 64 bit integer key to an unsigned integer value with only nbits bits where nbits is less than 64. (Specification)

universal_mult_hash stdlib_hash_32bit Function

Uses the "random" odd 32 bit integer seed to map the 32 bit integer key to an unsigned integer value with only nbits bits where nbits is less than 32 (Specification)

unm2l stdlib_linalg_lapack Interface

UNM2L overwrites the general complex m-by-n matrix C with Q * C if SIDE = 'L' and TRANS = 'N', or QH* C if SIDE = 'L' and TRANS = 'C', or C * Q if SIDE = 'R' and TRANS = 'N', or C * QH if SIDE = 'R' and TRANS = 'C', where Q is a complex unitary matrix defined as the product of k elementary reflectors Q = H(k) . . . H(2) H(1) as returned by CGEQLF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'.

unm2r stdlib_linalg_lapack Interface

UNM2R overwrites the general complex m-by-n matrix C with Q * C if SIDE = 'L' and TRANS = 'N', or QH* C if SIDE = 'L' and TRANS = 'C', or C * Q if SIDE = 'R' and TRANS = 'N', or C * QH if SIDE = 'R' and TRANS = 'C', where Q is a complex unitary matrix defined as the product of k elementary reflectors Q = H(1) H(2) . . . H(k) as returned by CGEQRF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'.

unmbr stdlib_linalg_lapack Interface

If VECT = 'Q', UNMBR: overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': QH * C C * QH If VECT = 'P', UNMBR overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': P * C C * P TRANS = 'C': PH * C C * PH Here Q and PH are the unitary matrices determined by CGEBRD when reducing a complex matrix A to bidiagonal form: A = Q * B * PH. Q and PH are defined as products of elementary reflectors H(i) and G(i) respectively. Let nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Thus nq is the order of the unitary matrix Q or PH that is applied. If VECT = 'Q', A is assumed to have been an NQ-by-K matrix: if nq >= k, Q = H(1) H(2) . . . H(k); if nq < k, Q = H(1) H(2) . . . H(nq-1). If VECT = 'P', A is assumed to have been a K-by-NQ matrix: if k < nq, P = G(1) G(2) . . . G(k); if k >= nq, P = G(1) G(2) . . . G(nq-1).

unmhr stdlib_linalg_lapack Interface

UNMHR overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': QH * C C * QH where Q is a complex unitary matrix of order nq, with nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of IHI-ILO elementary reflectors, as returned by CGEHRD: Q = H(ilo) H(ilo+1) . . . H(ihi-1).

unmlq stdlib_linalg_lapack Interface

UNMLQ overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': QH * C C * QH where Q is a complex unitary matrix defined as the product of k elementary reflectors Q = H(k)H . . . H(2)H H(1)**H as returned by CGELQF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.

unmql stdlib_linalg_lapack Interface

UNMQL overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': QH * C C * QH where Q is a complex unitary matrix defined as the product of k elementary reflectors Q = H(k) . . . H(2) H(1) as returned by CGEQLF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.

unmqr stdlib_linalg_lapack Interface

UNMQR overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': QH * C C * QH where Q is a complex unitary matrix defined as the product of k elementary reflectors Q = H(1) H(2) . . . H(k) as returned by CGEQRF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.

unmrq stdlib_linalg_lapack Interface

UNMRQ overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': QH * C C * QH where Q is a complex unitary matrix defined as the product of k elementary reflectors Q = H(1)H H(2)H . . . H(k)**H as returned by CGERQF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.

unmrz stdlib_linalg_lapack Interface

UNMRZ overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': QH * C C * QH where Q is a complex unitary matrix defined as the product of k elementary reflectors Q = H(1) H(2) . . . H(k) as returned by CTZRZF. Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'.

unmtr stdlib_linalg_lapack Interface

UNMTR overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': QH * C C * QH where Q is a complex unitary matrix of order nq, with nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of nq-1 elementary reflectors, as returned by CHETRD: if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1); if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).

upgtr stdlib_linalg_lapack Interface

UPGTR generates a complex unitary matrix Q which is defined as the product of n-1 elementary reflectors H(i) of order n, as returned by CHPTRD using packed storage: if UPLO = 'U', Q = H(n-1) . . . H(2) H(1), if UPLO = 'L', Q = H(1) H(2) . . . H(n-1).

upmtr stdlib_linalg_lapack Interface

UPMTR overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': QH * C C * QH where Q is a complex unitary matrix of order nq, with nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of nq-1 elementary reflectors, as returned by CHPTRD using packed storage: if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1); if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).

upper_incomplete_gamma stdlib_specialfunctions_gamma Interface

Upper incomplete gamma function

var stdlib_stats Interface

Variance of array elements (Specification)

verify stdlib_string_type Interface

Scan a string for the absence of a set of characters. Verifies that all the characters in string belong to the set of characters in set.

Read more…
water_hash stdlib_hash_32bit Interface

WATER_HASH interfaces (Specification)

write(formatted) stdlib_string_type Interface

Write the character sequence hold by the string to a connected formatted unit.

write(unformatted) stdlib_string_type Interface

Write the character sequence hold by the string to a connected unformatted unit.

xor stdlib_bitsets Interface

Sets the bits in set1 to the bitwise xor of the original bits in set1 and set2. The sets must have the same number of bits otherwise the result is undefined. (Specification)

Read more…
zfill stdlib_strings Interface

Left pad the input string with zeros. Specifications