From 9a62febb8cbfbcfe9fea07096107097d6470da77 Mon Sep 17 00:00:00 2001 From: tobolar Date: Mon, 1 Jul 2024 16:29:03 +0200 Subject: [PATCH] Prefer using '≥' and '≤' instead of '>=' and '<=', respectively --- Modelica/Math/package.mo | 482 +++++++++++++++++++-------------------- 1 file changed, 241 insertions(+), 241 deletions(-) diff --git a/Modelica/Math/package.mo b/Modelica/Math/package.mo index ba2710d324..e965c60f3e 100644 --- a/Modelica/Math/package.mo +++ b/Modelica/Math/package.mo @@ -4899,24 +4899,24 @@ Lapack documentation N (input) INTEGER The number of linear equations, i.e., the order of the - matrix A. N >= 0. + matrix A. N ≥ 0. KL (input) INTEGER - The number of subdiagonals within the band of A. KL >= 0. + The number of subdiagonals within the band of A. KL ≥ 0. KU (input) INTEGER - The number of superdiagonals within the band of A. KU >= 0. + The number of superdiagonals within the band of A. KU ≥ 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of columns - of the matrix B. NRHS >= 0. + of the matrix B. NRHS ≥ 0. AB (input/output) DOUBLE PRECISION array, dimension (LDAB,N) On entry, the matrix A in band storage, in rows KL+1 to 2*KL+KU+1; rows 1 to KL of the array need not be set. The j-th column of A is stored in the j-th column of the array AB as follows: - AB(KL+KU+1+i-j,j) = A(i,j) for max(1,j-KU)<=i<=min(N,j+KL) + AB(KL+KU+1+i-j,j) = A(i,j) for max(1,j-KU) ≤ i ≤ min(N,j+KL) On exit, details of the factorization: U is stored as an upper triangular band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and the multipliers used during the @@ -4924,7 +4924,7 @@ Lapack documentation See below for further details. LDAB (input) INTEGER - The leading dimension of the array AB. LDAB >= 2*KL+KU+1. + The leading dimension of the array AB. LDAB ≥ 2*KL+KU+1. IPIV (output) INTEGER array, dimension (N) The pivot indices that define the permutation matrix P; @@ -4935,7 +4935,7 @@ Lapack documentation On exit, if INFO = 0, the N-by-NRHS solution matrix X. LDB (input) INTEGER - The leading dimension of the array B. LDB >= max(1,N). + The leading dimension of the array B. LDB ≥ max(1,N). INFO (output) INTEGER = 0: successful exit @@ -5055,14 +5055,14 @@ Lapack documentation = 'I': Infinity-norm. N (input) INTEGER - The order of the matrix A. N >= 0. + The order of the matrix A. N ≥ 0. A (input) DOUBLE PRECISION array, dimension (LDA,N) The factors L and U from the factorization A = P*L*U as computed by DGETRF. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,N). + The leading dimension of the array A. LDA ≥ max(1,N). ANORM (input) DOUBLE PRECISION If NORM = '1' or 'O', the 1-norm of the original matrix A. @@ -5175,14 +5175,14 @@ Lapack documentation case INFO is set to N+2 (see INFO below). N (input) INTEGER - The order of the matrix A. N >= 0. + The order of the matrix A. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the N-by-N matrix A. On exit, A has been overwritten by its real Schur form T. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,N). + The leading dimension of the array A. LDA ≥ max(1,N). SDIM (output) INTEGER If SORT = 'N', SDIM = 0. @@ -5206,14 +5206,14 @@ Lapack documentation If JOBVS = 'N', VS is not referenced. LDVS (input) INTEGER - The leading dimension of the array VS. LDVS >= 1; if - JOBVS = 'V', LDVS >= N. + The leading dimension of the array VS. LDVS ≥ 1; if + JOBVS = 'V', LDVS ≥ N. WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) On exit, if INFO = 0, WORK(1) contains the optimal LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= max(1,3*N). + The dimension of the array WORK. LWORK ≥ max(1,3*N). For good performance, LWORK must generally be larger. If LWORK = -1, then a workspace query is assumed; the routine @@ -5228,7 +5228,7 @@ Lapack documentation = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value. > 0: if INFO = i, and i is - <= N: the QR algorithm failed to compute all the + ≤ N: the QR algorithm failed to compute all the eigenvalues; elements 1:ILO-1 and i+1:N of WR and WI contain those eigenvalues which have converged; if JOBVS = 'V', VS contains the matrix which reduces A @@ -5315,14 +5315,14 @@ Lapack documentation = 'V': right eigenvectors of A are computed. N (input) INTEGER - The order of the matrix A. N >= 0. + The order of the matrix A. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the N-by-N matrix A. On exit, A has been overwritten. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,N). + The leading dimension of the array A. LDA ≥ max(1,N). WR (output) DOUBLE PRECISION array, dimension (N) WI (output) DOUBLE PRECISION array, dimension (N) @@ -5344,8 +5344,8 @@ Lapack documentation u(j+1) = VL(:,j) - i*VL(:,j+1). LDVL (input) INTEGER - The leading dimension of the array VL. LDVL >= 1; if - JOBVL = 'V', LDVL >= N. + The leading dimension of the array VL. LDVL ≥ 1; if + JOBVL = 'V', LDVL ≥ N. VR (output) DOUBLE PRECISION array, dimension (LDVR,N) If JOBVR = 'V', the right eigenvectors v(j) are stored one @@ -5359,15 +5359,15 @@ Lapack documentation v(j+1) = VR(:,j) - i*VR(:,j+1). LDVR (input) INTEGER - The leading dimension of the array VR. LDVR >= 1; if - JOBVR = 'V', LDVR >= N. + The leading dimension of the array VR. LDVR ≥ 1; if + JOBVR = 'V', LDVR ≥ N. WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= max(1,3*N), and - if JOBVL = 'V' or JOBVR = 'V', LWORK >= 4*N. For good + The dimension of the array WORK. LWORK ≥ max(1,3*N), and + if JOBVL = 'V' or JOBVR = 'V', LWORK ≥ 4*N. For good performance, LWORK must generally be larger. If LWORK = -1, then a workspace query is assumed; the routine @@ -5459,14 +5459,14 @@ Lapack documentation = 'V': right eigenvectors of A are computed. N (input) INTEGER - The order of the matrix A. N >= 0. + The order of the matrix A. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the N-by-N matrix A. On exit, A has been overwritten. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,N). + The leading dimension of the array A. LDA ≥ max(1,N). WR (output) DOUBLE PRECISION array, dimension (N) WI (output) DOUBLE PRECISION array, dimension (N) @@ -5488,8 +5488,8 @@ Lapack documentation u(j+1) = VL(:,j) - i*VL(:,j+1). LDVL (input) INTEGER - The leading dimension of the array VL. LDVL >= 1; if - JOBVL = 'V', LDVL >= N. + The leading dimension of the array VL. LDVL ≥ 1; if + JOBVL = 'V', LDVL ≥ N. VR (output) DOUBLE PRECISION array, dimension (LDVR,N) If JOBVR = 'V', the right eigenvectors v(j) are stored one @@ -5503,15 +5503,15 @@ Lapack documentation v(j+1) = VR(:,j) - i*VR(:,j+1). LDVR (input) INTEGER - The leading dimension of the array VR. LDVR >= 1; if - JOBVR = 'V', LDVR >= N. + The leading dimension of the array VR. LDVR ≥ 1; if + JOBVR = 'V', LDVR ≥ N. WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= max(1,3*N), and - if JOBVL = 'V' or JOBVR = 'V', LWORK >= 4*N. For good + The dimension of the array WORK. LWORK ≥ max(1,3*N), and + if JOBVL = 'V' or JOBVR = 'V', LWORK ≥ 4*N. For good performance, LWORK must generally be larger. If LWORK = -1, then a workspace query is assumed; the routine @@ -5661,7 +5661,7 @@ Lapack documentation must also be computed (JOBVL = 'V' and JOBVR = 'V'). N (input) INTEGER - The order of the matrix A. N >= 0. + The order of the matrix A. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the N-by-N matrix A. @@ -5670,7 +5670,7 @@ Lapack documentation version of the input matrix A. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,N). + The leading dimension of the array A. LDA ≥ max(1,N). WR (output) DOUBLE PRECISION array, dimension (N) WI (output) DOUBLE PRECISION array, dimension (N) @@ -5692,8 +5692,8 @@ Lapack documentation u(j+1) = VL(:,j) - i*VL(:,j+1). LDVL (input) INTEGER - The leading dimension of the array VL. LDVL >= 1; if - JOBVL = 'V', LDVL >= N. + The leading dimension of the array VL. LDVL ≥ 1; if + JOBVL = 'V', LDVL ≥ N. VR (output) DOUBLE PRECISION array, dimension (LDVR,N) If JOBVR = 'V', the right eigenvectors v(j) are stored one @@ -5707,8 +5707,8 @@ Lapack documentation v(j+1) = VR(:,j) - i*VR(:,j+1). LDVR (input) INTEGER - The leading dimension of the array VR. LDVR >= 1, and if - JOBVR = 'V', LDVR >= N. + The leading dimension of the array VR. LDVR ≥ 1, and if + JOBVR = 'V', LDVR ≥ N. ILO (output) INTEGER IHI (output) INTEGER @@ -5744,8 +5744,8 @@ Lapack documentation LWORK (input) INTEGER The dimension of the array WORK. If SENSE = 'N' or 'E', - LWORK >= max(1,2*N), and if JOBVL = 'V' or JOBVR = 'V', - LWORK >= 3*N. If SENSE = 'V' or 'B', LWORK >= N*(N+6). + LWORK ≥ max(1,2*N), and if JOBVL = 'V' or JOBVR = 'V', + LWORK ≥ 3*N. If SENSE = 'V' or 'B', LWORK ≥ N*(N+6). For good performance, LWORK must generally be larger. If LWORK = -1, then a workspace query is assumed; the routine @@ -5812,7 +5812,7 @@ Lapack documentation ========= N (input) INTEGER - The order of the matrix A. N >= 0. + The order of the matrix A. N ≥ 0. ILO (input) INTEGER IHI (input) INTEGER @@ -5820,7 +5820,7 @@ Lapack documentation and columns 1:ILO-1 and IHI+1:N. ILO and IHI are normally set by a previous call to DGEBAL; otherwise they should be set to 1 and N respectively. See Further Details. - 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. + 1 ≤ ILO ≤ IHI ≤ N, if N > 0; ILO=1 and IHI=0, if N=0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the N-by-N general matrix to be reduced. @@ -5831,7 +5831,7 @@ Lapack documentation reflectors. See Further Details. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,N). + The leading dimension of the array A. LDA ≥ max(1,N). TAU (output) DOUBLE PRECISION array, dimension (N-1) The scalar factors of the elementary reflectors (see Further @@ -5842,8 +5842,8 @@ Lapack documentation On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER - The length of the array WORK. LWORK >= max(1,N). - For optimum performance LWORK >= N*NB, where NB is the + The length of the array WORK. LWORK ≥ max(1,N). + For optimum performance LWORK ≥ N*NB, where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine @@ -5937,14 +5937,14 @@ Lapack documentation The following options are provided: - 1. If TRANS = 'N' and m >= n: find the least squares solution of + 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 - A*X ||. 2. If TRANS = 'N' and m < n: find the minimum norm solution of an underdetermined system A * X = B. - 3. If TRANS = 'T' and m >= n: find the minimum norm solution of + 3. If TRANS = 'T' and m ≥ n: find the minimum norm solution of an undetermined system A**T * X = B. 4. If TRANS = 'T' and m < n: find the least squares solution of @@ -5964,25 +5964,25 @@ Lapack documentation = 'T': the linear system involves A**T. M (input) INTEGER - The number of rows of the matrix A. M >= 0. + The number of rows of the matrix A. M ≥ 0. N (input) INTEGER - The number of columns of the matrix A. N >= 0. + The number of columns of the matrix A. N ≥ 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of - columns of the matrices B and X. NRHS >=0. + columns of the matrices B and X. NRHS ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix A. On exit, - if M >= N, A is overwritten by details of its QR + if M ≥ N, A is overwritten by details of its QR factorization as returned by DGEQRF; if M < N, A is overwritten by details of its LQ factorization as returned by DGELQF. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,M). + The leading dimension of the array A. LDA ≥ max(1,M). B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) On entry, the matrix B of right hand side vectors, stored @@ -5990,13 +5990,13 @@ Lapack documentation if TRANS = 'T'. On exit, if INFO = 0, B is overwritten by the solution vectors, stored columnwise: - if TRANS = 'N' and m >= n, rows 1 to n of B contain the least + if TRANS = 'N' and m ≥ n, rows 1 to n of B contain the least squares solution vectors; the residual sum of squares for the solution in each column is given by the sum of squares of elements N+1 to M in that column; if TRANS = 'N' and m < n, rows 1 to N of B contain the minimum norm solution vectors; - if TRANS = 'T' and m >= n, rows 1 to M of B contain the + if TRANS = 'T' and m ≥ n, rows 1 to M of B contain the minimum norm solution vectors; if TRANS = 'T' and m < n, rows 1 to M of B contain the least squares solution vectors; the residual sum of squares @@ -6004,16 +6004,16 @@ Lapack documentation squares of elements M+1 to N in that column. LDB (input) INTEGER - The leading dimension of the array B. LDB >= MAX(1,M,N). + The leading dimension of the array B. LDB ≥ MAX(1,M,N). WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. - LWORK >= max( 1, MN + max( MN, NRHS ) ). + LWORK ≥ max( 1, MN + max( MN, NRHS ) ). For optimal performance, - LWORK >= max( 1, MN + max( MN, NRHS )*NB ). + LWORK ≥ max( 1, MN + max( MN, NRHS )*NB ). where MN = min(M,N) and NB is the optimum block size. If LWORK = -1, then a workspace query is assumed; the routine @@ -6120,14 +6120,14 @@ Lapack documentation ========= M (input) INTEGER - The number of rows of the matrix A. M >= 0. + The number of rows of the matrix A. M ≥ 0. N (input) INTEGER - The number of columns of the matrix A. N >= 0. + The number of columns of the matrix A. N ≥ 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of - columns of matrices B and X. NRHS >= 0. + columns of matrices B and X. NRHS ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix A. @@ -6135,14 +6135,14 @@ Lapack documentation complete orthogonal factorization. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,M). + The leading dimension of the array A. LDA ≥ max(1,M). B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) On entry, the M-by-NRHS right hand side matrix B. On exit, the N-by-NRHS solution matrix X. LDB (input) INTEGER - The leading dimension of the array B. LDB >= max(1,M,N). + The leading dimension of the array B. LDB ≥ max(1,M,N). JPVT (input/output) INTEGER array, dimension (N) On entry, if JPVT(i) .ne. 0, the i-th column of A is permuted @@ -6167,10 +6167,10 @@ Lapack documentation LWORK (input) INTEGER The dimension of the array WORK. The unblocked strategy requires that: - LWORK >= MAX( MN+3*N+1, 2*MN+NRHS ), + LWORK ≥ MAX( MN+3*N+1, 2*MN+NRHS ), where MN = min( M, N ). The block algorithm requires that: - LWORK >= MAX( MN+2*N+NB*(N+1), 2*MN+NB*NRHS ), + LWORK ≥ MAX( MN+2*N+NB*(N+1), 2*MN+NB*NRHS ), where NB is an upper bound on the blocksize returned by ILAENV for the routines DGEQP3, DTZRZF, STZRQF, DORMQR, and DORMRZ. @@ -6277,10 +6277,10 @@ Lapack documentation ========= M (input) INTEGER - The number of rows of the matrix A. M >= 0. + The number of rows of the matrix A. M ≥ 0. N (input) INTEGER - The number of columns of the matrix A. N >= 0. + The number of columns of the matrix A. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix A. @@ -6291,7 +6291,7 @@ Lapack documentation reflectors. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,M). + The leading dimension of the array A. LDA ≥ max(1,M). JPVT (input/output) INTEGER array, dimension (N) On entry, if JPVT(J).ne.0, the J-th column of A is permuted @@ -6307,8 +6307,8 @@ Lapack documentation On exit, if INFO=0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= 3*N+1. - For optimal performance LWORK >= 2*N+( N+1 )*NB, where NB + The dimension of the array WORK. LWORK ≥ 3*N+1. + For optimal performance LWORK ≥ 2*N+( N+1 )*NB, where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine @@ -6382,22 +6382,22 @@ Lapack documentation ========= M (input) INTEGER - The number of rows of the matrix A. M >= 0. + The number of rows of the matrix A. M ≥ 0. N (input) INTEGER - The number of columns of the matrix A. N >= 0. + The number of columns of the matrix A. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix A. On exit, the elements on and above the diagonal of the array contain the min(M,N)-by-N upper trapezoidal matrix R (R is - upper triangular if m >= n); the elements below the diagonal, + upper triangular if m ≥ n); the elements below the diagonal, with the array TAU, represent the orthogonal matrix Q as a product of min(m,n) elementary reflectors (see Further Details). LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,M). + The leading dimension of the array A. LDA ≥ max(1,M). TAU (output) DOUBLE PRECISION array, dimension (min(M,N)) The scalar factors of the elementary reflectors (see Further @@ -6407,8 +6407,8 @@ Lapack documentation On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= max(1,N). - For optimum performance LWORK >= N*NB, where NB is + The dimension of the array WORK. LWORK ≥ max(1,N). + For optimum performance LWORK ≥ N*NB, where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine @@ -6518,7 +6518,7 @@ Lapack documentation = 'S': the first min(M,N) columns of U and the first min(M,N) rows of V**T are returned in the arrays U and VT; - = 'O': If M >= N, the first N columns of U are overwritten + = 'O': If M ≥ N, the first N columns of U are overwritten on the array A and all rows of V**T are returned in the array VT; otherwise, all columns of U are returned in the @@ -6527,27 +6527,27 @@ Lapack documentation = 'N': no columns of U or rows of V**T are computed. M (input) INTEGER - The number of rows of the input matrix A. M >= 0. + The number of rows of the input matrix A. M ≥ 0. N (input) INTEGER - The number of columns of the input matrix A. N >= 0. + The number of columns of the input matrix A. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix A. On exit, if JOBZ = 'O', A is overwritten with the first N columns of U (the left singular vectors, stored - columnwise) if M >= N; + columnwise) if M ≥ N; A is overwritten with the first M rows of V**T (the right singular vectors, stored rowwise) otherwise. if JOBZ .ne. 'O', the contents of A are destroyed. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,M). + The leading dimension of the array A. LDA ≥ max(1,M). S (output) DOUBLE PRECISION array, dimension (min(M,N)) - The singular values of A, sorted so that S(i) >= S(i+1). + The singular values of A, sorted so that S(i) ≥ S(i+1). U (output) DOUBLE PRECISION array, dimension (LDU,UCOL) UCOL = M if JOBZ = 'A' or JOBZ = 'O' and M < N; @@ -6556,36 +6556,36 @@ Lapack documentation orthogonal matrix U; if JOBZ = 'S', U contains the first min(M,N) columns of U (the left singular vectors, stored columnwise); - if JOBZ = 'O' and M >= N, or JOBZ = 'N', U is not referenced. + if JOBZ = 'O' and M ≥ N, or JOBZ = 'N', U is not referenced. LDU (input) INTEGER - The leading dimension of the array U. LDU >= 1; if - JOBZ = 'S' or 'A' or JOBZ = 'O' and M < N, LDU >= M. + The leading dimension of the array U. LDU ≥ 1; if + JOBZ = 'S' or 'A' or JOBZ = 'O' and M < N, LDU ≥ M. VT (output) DOUBLE PRECISION array, dimension (LDVT,N) - If JOBZ = 'A' or JOBZ = 'O' and M >= N, VT contains the + If JOBZ = 'A' or JOBZ = 'O' and M ≥ N, VT contains the N-by-N orthogonal matrix V**T; if JOBZ = 'S', VT contains the first min(M,N) rows of V**T (the right singular vectors, stored rowwise); if JOBZ = 'O' and M < N, or JOBZ = 'N', VT is not referenced. LDVT (input) INTEGER - The leading dimension of the array VT. LDVT >= 1; if - JOBZ = 'A' or JOBZ = 'O' and M >= N, LDVT >= N; - if JOBZ = 'S', LDVT >= min(M,N). + The leading dimension of the array VT. LDVT ≥ 1; if + JOBZ = 'A' or JOBZ = 'O' and M ≥ N, LDVT ≥ N; + if JOBZ = 'S', LDVT ≥ min(M,N). WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) On exit, if INFO = 0, WORK(1) returns the optimal LWORK; LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= 1. + The dimension of the array WORK. LWORK ≥ 1. If JOBZ = 'N', - LWORK >= 3*min(M,N) + max(max(M,N),7*min(M,N)). + LWORK ≥ 3*min(M,N) + max(max(M,N),7*min(M,N)). If JOBZ = 'O', - LWORK >= 3*min(M,N) + + LWORK ≥ 3*min(M,N) + max(max(M,N),5*min(M,N)*min(M,N)+4*min(M,N)). If JOBZ = 'S' or 'A' - LWORK >= 3*min(M,N) + + LWORK ≥ 3*min(M,N) + max(max(M,N),4*min(M,N)*min(M,N)+4*min(M,N)). For good performance, LWORK should generally be larger. If LWORK = -1 but other input arguments are legal, WORK(1) @@ -6656,11 +6656,11 @@ Lapack documentation N (input) INTEGER The number of linear equations, i.e., the order of the - matrix A. N >= 0. + matrix A. N ≥ 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of columns - of the matrix B. NRHS >= 0. + of the matrix B. NRHS ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the N-by-N coefficient matrix A. @@ -6668,7 +6668,7 @@ Lapack documentation A = P*L*U; the unit diagonal elements of L are not stored. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,N). + The leading dimension of the array A. LDA ≥ max(1,N). IPIV (output) INTEGER array, dimension (N) The pivot indices that define the permutation matrix P; @@ -6679,7 +6679,7 @@ Lapack documentation On exit, if INFO = 0, the N-by-NRHS solution matrix X. LDB (input) INTEGER - The leading dimension of the array B. LDB >= max(1,N). + The leading dimension of the array B. LDB ≥ max(1,N). INFO (output) INTEGER = 0: successful exit @@ -6803,10 +6803,10 @@ Lapack documentation JOBVT and JOBU cannot both be 'O'. M (input) INTEGER - The number of rows of the input matrix A. M >= 0. + The number of rows of the input matrix A. M ≥ 0. N (input) INTEGER - The number of columns of the input matrix A. N >= 0. + The number of columns of the input matrix A. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix A. @@ -6821,10 +6821,10 @@ Lapack documentation are destroyed. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,M). + The leading dimension of the array A. LDA ≥ max(1,M). S (output) DOUBLE PRECISION array, dimension (min(M,N)) - The singular values of A, sorted so that S(i) >= S(i+1). + The singular values of A, sorted so that S(i) ≥ S(i+1). U (output) DOUBLE PRECISION array, dimension (LDU,UCOL) (LDU,M) if JOBU = 'A' or (LDU,min(M,N)) if JOBU = 'S'. @@ -6834,8 +6834,8 @@ Lapack documentation if JOBU = 'N' or 'O', U is not referenced. LDU (input) INTEGER - The leading dimension of the array U. LDU >= 1; if - JOBU = 'S' or 'A', LDU >= M. + The leading dimension of the array U. LDU ≥ 1; if + JOBU = 'S' or 'A', LDU ≥ M. VT (output) DOUBLE PRECISION array, dimension (LDVT,N) If JOBVT = 'A', VT contains the N-by-N orthogonal matrix @@ -6845,8 +6845,8 @@ Lapack documentation if JOBVT = 'N' or 'O', VT is not referenced. LDVT (input) INTEGER - The leading dimension of the array VT. LDVT >= 1; if - JOBVT = 'A', LDVT >= N; if JOBVT = 'S', LDVT >= min(M,N). + The leading dimension of the array VT. LDVT ≥ 1; if + JOBVT = 'A', LDVT ≥ N; if JOBVT = 'S', LDVT ≥ min(M,N). WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) On exit, if INFO = 0, WORK(1) returns the optimal LWORK; @@ -6858,7 +6858,7 @@ Lapack documentation LWORK (input) INTEGER The dimension of the array WORK. - LWORK >= MAX(1,3*MIN(M,N)+MAX(M,N),5*MIN(M,N)). + LWORK ≥ MAX(1,3*MIN(M,N)+MAX(M,N),5*MIN(M,N)). For good performance, LWORK should generally be larger. If LWORK = -1, then a workspace query is assumed; the routine @@ -6956,10 +6956,10 @@ Lapack documentation JOBVT and JOBU cannot both be 'O'. M (input) INTEGER - The number of rows of the input matrix A. M >= 0. + The number of rows of the input matrix A. M ≥ 0. N (input) INTEGER - The number of columns of the input matrix A. N >= 0. + The number of columns of the input matrix A. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix A. @@ -6974,10 +6974,10 @@ Lapack documentation are destroyed. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,M). + The leading dimension of the array A. LDA ≥ max(1,M). S (output) DOUBLE PRECISION array, dimension (min(M,N)) - The singular values of A, sorted so that S(i) >= S(i+1). + The singular values of A, sorted so that S(i) ≥ S(i+1). U (output) DOUBLE PRECISION array, dimension (LDU,UCOL) (LDU,M) if JOBU = 'A' or (LDU,min(M,N)) if JOBU = 'S'. @@ -6987,8 +6987,8 @@ Lapack documentation if JOBU = 'N' or 'O', U is not referenced. LDU (input) INTEGER - The leading dimension of the array U. LDU >= 1; if - JOBU = 'S' or 'A', LDU >= M. + The leading dimension of the array U. LDU ≥ 1; if + JOBU = 'S' or 'A', LDU ≥ M. VT (output) DOUBLE PRECISION array, dimension (LDVT,N) If JOBVT = 'A', VT contains the N-by-N orthogonal matrix @@ -6998,8 +6998,8 @@ Lapack documentation if JOBVT = 'N' or 'O', VT is not referenced. LDVT (input) INTEGER - The leading dimension of the array VT. LDVT >= 1; if - JOBVT = 'A', LDVT >= N; if JOBVT = 'S', LDVT >= min(M,N). + The leading dimension of the array VT. LDVT ≥ 1; if + JOBVT = 'A', LDVT ≥ N; if JOBVT = 'S', LDVT ≥ min(M,N). WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) On exit, if INFO = 0, WORK(1) returns the optimal LWORK; @@ -7011,7 +7011,7 @@ Lapack documentation LWORK (input) INTEGER The dimension of the array WORK. - LWORK >= MAX(1,3*MIN(M,N)+MAX(M,N),5*MIN(M,N)). + LWORK ≥ MAX(1,3*MIN(M,N)+MAX(M,N),5*MIN(M,N)). For good performance, LWORK should generally be larger. If LWORK = -1, then a workspace query is assumed; the routine @@ -7159,11 +7159,11 @@ Lapack documentation N (input) INTEGER The number of linear equations, i.e., the order of the - matrix A. N >= 0. + matrix A. N ≥ 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of columns - of the matrices B and X. NRHS >= 0. + of the matrices B and X. NRHS ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the N-by-N matrix A. If FACT = 'F' and EQUED is @@ -7177,7 +7177,7 @@ Lapack documentation EQUED = 'B': A := diag(R) * A * diag(C). LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,N). + The leading dimension of the array A. LDA ≥ max(1,N). AF (input or output) DOUBLE PRECISION array, dimension (LDAF,N) If FACT = 'F', then AF is an input argument and on entry @@ -7195,7 +7195,7 @@ Lapack documentation the form of the equilibrated matrix). LDAF (input) INTEGER - The leading dimension of the array AF. LDAF >= max(1,N). + The leading dimension of the array AF. LDAF ≥ max(1,N). IPIV (input or output) INTEGER array, dimension (N) If FACT = 'F', then IPIV is an input argument and on entry @@ -7247,7 +7247,7 @@ Lapack documentation overwritten by diag(C)*B. LDB (input) INTEGER - The leading dimension of the array B. LDB >= max(1,N). + The leading dimension of the array B. LDB ≥ max(1,N). X (output) DOUBLE PRECISION array, dimension (LDX,NRHS) If INFO = 0 or INFO = N+1, the N-by-NRHS solution matrix X @@ -7258,7 +7258,7 @@ Lapack documentation and EQUED = 'R' or 'B'. LDX (input) INTEGER - The leading dimension of the array X. LDX >= max(1,N). + The leading dimension of the array X. LDX ≥ max(1,N). RCOND (output) DOUBLE PRECISION The estimate of the reciprocal condition number of the matrix @@ -7289,7 +7289,7 @@ Lapack documentation of the LU factorization of the (equilibrated) matrix A could be poor. This also means that the solution X, condition estimator RCOND, and forward error bound FERR could be - unreliable. If factorization fails with 0<INFO<=N, then + unreliable. If factorization fails with 0 < INFO ≤ N, then WORK(1) contains the reciprocal pivot growth factor for the leading INFO columns of A. @@ -7299,7 +7299,7 @@ Lapack documentation = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, and i is - <= N: U(i,i) is exactly zero. The factorization has + ≤ N: U(i,i) is exactly zero. The factorization has been completed, but the factor U is exactly singular, so the solution and error bounds could not be computed. RCOND = 0 is returned. @@ -7357,10 +7357,10 @@ Lapack documentation ========= M (input) INTEGER - The number of rows of the matrix A. M >= 0. + The number of rows of the matrix A. M ≥ 0. N (input) INTEGER - The number of columns of the matrix A. N >= 0. + The number of columns of the matrix A. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix to be factored. @@ -7368,10 +7368,10 @@ Lapack documentation A = P*L*U; the unit diagonal elements of L are not stored. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,M). + The leading dimension of the array A. LDA ≥ max(1,M). IPIV (output) INTEGER array, dimension (min(M,N)) - The pivot indices; for 1 <= i <= min(M,N), row i of the + The pivot indices; for 1 ≤ i ≤ min(M,N), row i of the matrix was interchanged with row IPIV(i). INFO (output) INTEGER @@ -7428,7 +7428,7 @@ Lapack documentation ========= N (input) INTEGER - The order of the matrix A. N >= 0. + The order of the matrix A. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the factors L and U from the factorization @@ -7436,18 +7436,18 @@ Lapack documentation On exit, if INFO = 0, the inverse of the original matrix A. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,N). + The leading dimension of the array A. LDA ≥ max(1,N). IPIV (input) INTEGER array, dimension (N) - The pivot indices from DGETRF; for 1<=i<=N, row i of the + The pivot indices from DGETRF; for 1 ≤ i ≤ N, row i of the matrix was interchanged with row IPIV(i). WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) On exit, if INFO=0, then WORK(1) returns the optimal LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= max(1,N). - For optimal performance LWORK >= N*NB, where NB is + The dimension of the array WORK. LWORK ≥ max(1,N). + For optimal performance LWORK ≥ N*NB, where NB is the optimal blocksize returned by ILAENV. If LWORK = -1, then a workspace query is assumed; the routine @@ -7514,21 +7514,21 @@ Lapack documentation = 'C': A'* X = B (Conjugate transpose = Transpose) N (input) INTEGER - The order of the matrix A. N >= 0. + The order of the matrix A. N ≥ 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of columns - of the matrix B. NRHS >= 0. + of the matrix B. NRHS ≥ 0. A (input) DOUBLE PRECISION array, dimension (LDA,N) The factors L and U from the factorization A = P*L*U as computed by DGETRF. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,N). + The leading dimension of the array A. LDA ≥ max(1,N). IPIV (input) INTEGER array, dimension (N) - The pivot indices from DGETRF; for 1<=i<=N, row i of the + The pivot indices from DGETRF; for 1 ≤ i ≤ N, row i of the matrix was interchanged with row IPIV(i). B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS) @@ -7536,7 +7536,7 @@ Lapack documentation On exit, the solution matrix X. LDB (input) INTEGER - The leading dimension of the array B. LDB >= max(1,N). + The leading dimension of the array B. LDB ≥ max(1,N). INFO (output) INTEGER = 0: successful exit @@ -7668,21 +7668,21 @@ Lapack documentation = 'V': compute the right generalized eigenvectors. N (input) INTEGER - The order of the matrices A, B, VL, and VR. N >= 0. + The order of the matrices A, B, VL, and VR. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA, N) On entry, the matrix A in the pair (A,B). On exit, A has been overwritten. LDA (input) INTEGER - The leading dimension of A. LDA >= max(1,N). + The leading dimension of A. LDA ≥ max(1,N). B (input/output) DOUBLE PRECISION array, dimension (LDB, N) On entry, the matrix B in the pair (A,B). On exit, B has been overwritten. LDB (input) INTEGER - The leading dimension of B. LDB >= max(1,N). + The leading dimension of B. LDB ≥ max(1,N). ALPHAR (output) DOUBLE PRECISION array, dimension (N) ALPHAI (output) DOUBLE PRECISION array, dimension (N) @@ -7712,8 +7712,8 @@ Lapack documentation Not referenced if JOBVL = 'N'. LDVL (input) INTEGER - The leading dimension of the matrix VL. LDVL >= 1, and - if JOBVL = 'V', LDVL >= N. + The leading dimension of the matrix VL. LDVL ≥ 1, and + if JOBVL = 'V', LDVL ≥ N. VR (output) DOUBLE PRECISION array, dimension (LDVR,N) If JOBVR = 'V', the right eigenvectors v(j) are stored one @@ -7727,14 +7727,14 @@ Lapack documentation Not referenced if JOBVR = 'N'. LDVR (input) INTEGER - The leading dimension of the matrix VR. LDVR >= 1, and - if JOBVR = 'V', LDVR >= N. + The leading dimension of the matrix VR. LDVR ≥ 1, and + if JOBVR = 'V', LDVR ≥ N. WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= max(1,8*N). + The dimension of the array WORK. LWORK ≥ max(1,8*N). For good performance, LWORK must generally be larger. If LWORK = -1, then a workspace query is assumed; the routine @@ -7883,7 +7883,7 @@ Lapack documentation = 'B': computed for eigenvalues and eigenvectors. N (input) INTEGER - The order of the matrices A, B, VL, and VR. N >= 0. + The order of the matrices A, B, VL, and VR. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA, N) On entry, the matrix A in the pair (A,B). @@ -7892,7 +7892,7 @@ Lapack documentation form of the \"balanced\" versions of the input A and B. LDA (input) INTEGER - The leading dimension of A. LDA >= max(1,N). + The leading dimension of A. LDA ≥ max(1,N). B (input/output) DOUBLE PRECISION array, dimension (LDB, N) On entry, the matrix B in the pair (A,B). @@ -7901,7 +7901,7 @@ Lapack documentation form of the \"balanced\" versions of the input A and B. LDB (input) INTEGER - The leading dimension of B. LDB >= max(1,N). + The leading dimension of B. LDB ≥ max(1,N). ALPHAR (output) DOUBLE PRECISION array, dimension (N) ALPHAI (output) DOUBLE PRECISION array, dimension (N) @@ -7931,8 +7931,8 @@ Lapack documentation Not referenced if JOBVL = 'N'. LDVL (input) INTEGER - The leading dimension of the matrix VL. LDVL >= 1, and - if JOBVL = 'V', LDVL >= N. + The leading dimension of the matrix VL. LDVL ≥ 1, and + if JOBVL = 'V', LDVL ≥ N. VR (output) DOUBLE PRECISION array, dimension (LDVR,N) If JOBVR = 'V', the right eigenvectors v(j) are stored one @@ -7946,8 +7946,8 @@ Lapack documentation Not referenced if JOBVR = 'N'. LDVR (input) INTEGER - The leading dimension of the matrix VR. LDVR >= 1, and - if JOBVR = 'V', LDVR >= N. + The leading dimension of the matrix VR. LDVR ≥ 1, and + if JOBVR = 'V', LDVR ≥ N. ILO (output) INTEGER IHI (output) INTEGER @@ -8007,11 +8007,11 @@ Lapack documentation On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= max(1,2*N). + The dimension of the array WORK. LWORK ≥ max(1,2*N). If BALANC = 'S' or 'B', or JOBVL = 'V', or JOBVR = 'V', - LWORK >= max(1,6*N). - If SENSE = 'E' or 'B', LWORK >= max(1,10*N). - If SENSE = 'V' or 'B', LWORK >= 2*N*N+8*N+16. + LWORK ≥ max(1,6*N). + If SENSE = 'E' or 'B', LWORK ≥ max(1,10*N). + If SENSE = 'V' or 'B', LWORK ≥ 2*N*N+8*N+16. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns @@ -8050,7 +8050,7 @@ Lapack documentation computed generalized eigenvalue w and the corresponding exact eigenvalue lambda is - chord(w, lambda) <= EPS * norm(ABNRM, BBNRM) / RCONDE(I) + chord(w, lambda) ≤ EPS * norm(ABNRM, BBNRM) / RCONDE(I) An approximate error bound for the angle between the i-th computed eigenvector VL(i) or VR(i) is given by @@ -8114,7 +8114,7 @@ Lapack documentation 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 + P ≤ N ≤ M+P, and rank(B) = P and rank( (A) ) = N. ( (B) ) @@ -8129,13 +8129,13 @@ Lapack documentation ========= M (input) INTEGER - The number of rows of the matrix A. M >= 0. + The number of rows of the matrix A. M ≥ 0. N (input) INTEGER - The number of columns of the matrices A and B. N >= 0. + The number of columns of the matrices A and B. N ≥ 0. P (input) INTEGER - The number of rows of the matrix B. 0 <= P <= N <= M+P. + The number of rows of the matrix B. 0 ≤ P ≤ N ≤ M+P. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the M-by-N matrix A. @@ -8143,7 +8143,7 @@ Lapack documentation contain the min(M,N)-by-N upper trapezoidal matrix T. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,M). + The leading dimension of the array A. LDA ≥ max(1,M). B (input/output) DOUBLE PRECISION array, dimension (LDB,N) On entry, the P-by-N matrix B. @@ -8151,7 +8151,7 @@ Lapack documentation contains the P-by-P upper triangular matrix R. LDB (input) INTEGER - The leading dimension of the array B. LDB >= max(1,P). + The leading dimension of the array B. LDB ≥ max(1,P). C (input/output) DOUBLE PRECISION array, dimension (M) On entry, C contains the right hand side vector for the @@ -8172,8 +8172,8 @@ Lapack documentation On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= max(1,M+N+P). - For optimum performance LWORK >= P+min(M,N)+max(M,N)*NB, + The dimension of the array WORK. LWORK ≥ max(1,M+N+P). + For optimum performance LWORK ≥ P+min(M,N)+max(M,N)*NB, where NB is an upper bound for the optimal blocksizes for DGEQRF, SGERQF, DORMQR and SORMRQ. @@ -8248,11 +8248,11 @@ Lapack documentation ========= N (input) INTEGER - The order of the matrix A. N >= 0. + The order of the matrix A. N ≥ 0. NRHS (input) INTEGER The number of right hand sides, i.e., the number of columns - of the matrix B. NRHS >= 0. + of the matrix B. NRHS ≥ 0. DL (input/output) DOUBLE PRECISION array, dimension (N-1) On entry, DL must contain the (n-1) sub-diagonal elements of @@ -8279,7 +8279,7 @@ Lapack documentation On exit, if INFO = 0, the N by NRHS solution matrix X. LDB (input) INTEGER - The leading dimension of the array B. LDB >= max(1,N). + The leading dimension of the array B. LDB ≥ max(1,N). INFO (output) INTEGER = 0: successful exit @@ -8458,14 +8458,14 @@ Lapack documentation the product Z1*Z is returned. N (input) INTEGER - The order of the matrices H, T, Q, and Z. N >= 0. + The order of the matrices H, T, Q, and Z. N ≥ 0. ILO (input) INTEGER IHI (input) INTEGER ILO and IHI mark the rows and columns of H which are in Hessenberg form. It is assumed that A is already upper triangular in rows and columns 1:ILO-1 and IHI+1:N. - If N > 0, 1 <= ILO <= IHI <= N; if N = 0, ILO=1 and IHI=0. + If N > 0, 1 ≤ ILO ≤ IHI ≤ N; if N = 0, ILO=1 and IHI=0. H (input/output) DOUBLE PRECISION array, dimension (LDH, N) On entry, the N-by-N upper Hessenberg matrix H. @@ -8478,7 +8478,7 @@ Lapack documentation the rest of H is unspecified. LDH (input) INTEGER - The leading dimension of the array H. LDH >= max( 1, N ). + The leading dimension of the array H. LDH ≥ max( 1, N ). T (input/output) DOUBLE PRECISION array, dimension (LDT, N) On entry, the N-by-N upper triangular matrix T. @@ -8492,7 +8492,7 @@ Lapack documentation the rest of T is unspecified. LDT (input) INTEGER - The leading dimension of the array T. LDT >= max( 1, N ). + The leading dimension of the array T. LDT ≥ max( 1, N ). ALPHAR (output) DOUBLE PRECISION array, dimension (N) The real parts of each scalar alpha defining an eigenvalue @@ -8522,8 +8522,8 @@ Lapack documentation Not referenced if COMPZ = 'N'. LDQ (input) INTEGER - The leading dimension of the array Q. LDQ >= 1. - If COMPQ='V' or 'I', then LDQ >= N. + The leading dimension of the array Q. LDQ ≥ 1. + If COMPQ='V' or 'I', then LDQ ≥ N. Z (input/output) DOUBLE PRECISION array, dimension (LDZ, N) On entry, if COMPZ = 'V', the orthogonal matrix Z1 used in @@ -8534,14 +8534,14 @@ Lapack documentation Not referenced if COMPZ = 'N'. LDZ (input) INTEGER - The leading dimension of the array Z. LDZ >= 1. - If COMPZ='V' or 'I', then LDZ >= N. + The leading dimension of the array Z. LDZ ≥ 1. + If COMPZ='V' or 'I', then LDZ ≥ N. WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) - On exit, if INFO >= 0, WORK(1) returns the optimal LWORK. + On exit, if INFO ≥ 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= max(1,N). + The dimension of the array WORK. LWORK ≥ max(1,N). If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns @@ -8647,7 +8647,7 @@ Lapack documentation the product Q*Z is returned. N (input) INTEGER - The order of the matrix H. N >= 0. + The order of the matrix H. N ≥ 0. ILO (input) INTEGER IHI (input) INTEGER @@ -8656,7 +8656,7 @@ Lapack documentation set by a previous call to DGEBAL, and then passed to DGEHRD when the matrix output by DGEBAL is reduced to Hessenberg form. Otherwise ILO and IHI should be set to 1 and N - respectively. If N>0, then 1<=ILO<=IHI<=N. + respectively. If N > 0, then 1 ≤ ILO ≤ IHI ≤ N. If N = 0, then ILO = 1 and IHI = 0. H (input/output) DOUBLE PRECISION array, dimension (LDH,N) @@ -8676,7 +8676,7 @@ Lapack documentation or j = IHI+1, IHI+2, ... N. LDH (input) INTEGER - The leading dimension of the array H. LDH >= max(1,N). + The leading dimension of the array H. LDH ≥ max(1,N). WR (output) DOUBLE PRECISION array, dimension (N) WI (output) DOUBLE PRECISION array, dimension (N) @@ -8705,14 +8705,14 @@ Lapack documentation LDZ (input) INTEGER The leading dimension of the array Z. if COMPZ = 'I' or - COMPZ = 'V', then LDZ>=MAX(1,N). Otherwise, LDZ>=1. + COMPZ = 'V', then LDZ ≥ MAX(1,N). Otherwise, LDZ ≥ 1. WORK (workspace/output) DOUBLE PRECISION array, dimension (LWORK) On exit, if INFO = 0, WORK(1) returns an estimate of the optimal value for LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= max(1,N) + The dimension of the array WORK. LWORK ≥ max(1,N) is sufficient and delivers very good and sometimes optimal performance. However, LWORK as large as 11*N may be required for optimal performance. A workspace @@ -8824,21 +8824,21 @@ Lapack documentation above. M (input) INTEGER - The number of rows of the matrix A. M >= 0. When M = 0, + The number of rows of the matrix A. M ≥ 0. When M = 0, DLANGE is set to zero. N (input) INTEGER - The number of columns of the matrix A. N >= 0. When N = 0, + The number of columns of the matrix A. N ≥ 0. When N = 0, DLANGE is set to zero. A (input) DOUBLE PRECISION array, dimension (LDA,N) The m by n matrix A. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(M,1). + The leading dimension of the array A. LDA ≥ max(M,1). WORK (workspace) DOUBLE PRECISION array, dimension (MAX(1,LWORK)), - where LWORK >= M when NORM = 'I'; otherwise, WORK is not + where LWORK ≥ M when NORM = 'I'; otherwise, WORK is not referenced. ")); @@ -8894,14 +8894,14 @@ Lapack documentation ========= N (input) INTEGER - The order of the matrix Q. N >= 0. + The order of the matrix Q. N ≥ 0. ILO (input) INTEGER IHI (input) INTEGER ILO and IHI must have the same values as in the previous call of DGEHRD. Q is equal to the unit matrix except in the submatrix Q(ilo+1:ihi,ilo+1:ihi). - 1 <= ILO <= IHI <= N, if N > 0; ILO=1 and IHI=0, if N=0. + 1 ≤ ILO ≤ IHI ≤ N, if N > 0; ILO=1 and IHI=0, if N=0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the vectors which define the elementary reflectors, @@ -8909,7 +8909,7 @@ Lapack documentation On exit, the N-by-N orthogonal matrix Q. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,N). + The leading dimension of the array A. LDA ≥ max(1,N). TAU (input) DOUBLE PRECISION array, dimension (N-1) TAU(i) must contain the scalar factor of the elementary @@ -8919,8 +8919,8 @@ Lapack documentation On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= IHI-ILO. - For optimum performance LWORK >= (IHI-ILO)*NB, where NB is + The dimension of the array WORK. LWORK ≥ IHI-ILO. + For optimum performance LWORK ≥ (IHI-ILO)*NB, where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine @@ -8984,14 +8984,14 @@ Lapack documentation ========= M (input) INTEGER - The number of rows of the matrix Q. M >= 0. + The number of rows of the matrix Q. M ≥ 0. N (input) INTEGER - The number of columns of the matrix Q. M >= N >= 0. + The number of columns of the matrix Q. M ≥ N ≥ 0. K (input) INTEGER The number of elementary reflectors whose product defines the - matrix Q. N >= K >= 0. + matrix Q. N ≥ K ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the i-th column must contain the vector which @@ -9001,7 +9001,7 @@ Lapack documentation On exit, the M-by-N matrix Q. LDA (input) INTEGER - The first dimension of the array A. LDA >= max(1,M). + The first dimension of the array A. LDA ≥ max(1,M). TAU (input) DOUBLE PRECISION array, dimension (K) TAU(i) must contain the scalar factor of the elementary @@ -9011,8 +9011,8 @@ Lapack documentation On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER - The dimension of the array WORK. LWORK >= max(1,N). - For optimum performance LWORK >= N*NB, where NB is the + The dimension of the array WORK. LWORK ≥ max(1,N). + For optimum performance LWORK ≥ N*NB, where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine @@ -9099,19 +9099,19 @@ Lapack documentation = 'T': Transpose, apply Q**T. M (input) INTEGER - The number of rows of the matrix C. M >= 0. + The number of rows of the matrix C. M ≥ 0. N (input) INTEGER - The number of columns of the matrix C. N >= 0. + The number of columns of the matrix C. N ≥ 0. ILO (input) INTEGER IHI (input) INTEGER ILO and IHI must have the same values as in the previous call of DGEHRD. Q is equal to the unit matrix except in the submatrix Q(ilo+1:ihi,ilo+1:ihi). - If SIDE = 'L', then 1 <= ILO <= IHI <= M, if M > 0, and + If SIDE = 'L', then 1 ≤ ILO ≤ IHI ≤ M, if M > 0, and ILO = 1 and IHI = 0, if M = 0; - if SIDE = 'R', then 1 <= ILO <= IHI <= N, if N > 0, and + if SIDE = 'R', then 1 ≤ ILO ≤ IHI ≤ N, if N > 0, and ILO = 1 and IHI = 0, if N = 0. A (input) DOUBLE PRECISION array, dimension @@ -9122,7 +9122,7 @@ Lapack documentation LDA (input) INTEGER The leading dimension of the array A. - LDA >= max(1,M) if SIDE = 'L'; LDA >= max(1,N) if SIDE = 'R'. + LDA ≥ max(1,M) if SIDE = 'L'; LDA ≥ max(1,N) if SIDE = 'R'. TAU (input) DOUBLE PRECISION array, dimension (M-1) if SIDE = 'L' @@ -9135,17 +9135,17 @@ Lapack documentation On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. LDC (input) INTEGER - The leading dimension of the array C. LDC >= max(1,M). + The leading dimension of the array C. LDC ≥ max(1,M). WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. - If SIDE = 'L', LWORK >= max(1,N); - if SIDE = 'R', LWORK >= max(1,M). - For optimum performance LWORK >= N*NB if SIDE = 'L', and - LWORK >= M*NB if SIDE = 'R', where NB is the optimal + If SIDE = 'L', LWORK ≥ max(1,N); + if SIDE = 'R', LWORK ≥ max(1,M). + For optimum performance LWORK ≥ N*NB if SIDE = 'L', and + LWORK ≥ M*NB if SIDE = 'R', where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine @@ -9231,16 +9231,16 @@ Lapack documentation = 'T': Transpose, apply Q**T. M (input) INTEGER - The number of rows of the matrix C. M >= 0. + The number of rows of the matrix C. M ≥ 0. N (input) INTEGER - The number of columns of the matrix C. N >= 0. + The number of columns of the matrix C. N ≥ 0. K (input) INTEGER The number of elementary reflectors whose product defines the matrix Q. - If SIDE = 'L', M >= K >= 0; - if SIDE = 'R', N >= K >= 0. + If SIDE = 'L', M ≥ K ≥ 0; + if SIDE = 'R', N ≥ K ≥ 0. A (input) DOUBLE PRECISION array, dimension (LDA,K) The i-th column must contain the vector which defines the @@ -9250,8 +9250,8 @@ Lapack documentation LDA (input) INTEGER The leading dimension of the array A. - If SIDE = 'L', LDA >= max(1,M); - if SIDE = 'R', LDA >= max(1,N). + If SIDE = 'L', LDA ≥ max(1,M); + if SIDE = 'R', LDA ≥ max(1,N). TAU (input) DOUBLE PRECISION array, dimension (K) TAU(i) must contain the scalar factor of the elementary @@ -9262,17 +9262,17 @@ Lapack documentation On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. LDC (input) INTEGER - The leading dimension of the array C. LDC >= max(1,M). + The leading dimension of the array C. LDC ≥ max(1,M). WORK (workspace/output) DOUBLE PRECISION array, dimension (MAX(1,LWORK)) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. LWORK (input) INTEGER The dimension of the array WORK. - If SIDE = 'L', LWORK >= max(1,N); - if SIDE = 'R', LWORK >= max(1,M). - For optimum performance LWORK >= N*NB if SIDE = 'L', and - LWORK >= M*NB if SIDE = 'R', where NB is the optimal + If SIDE = 'L', LWORK ≥ max(1,N); + if SIDE = 'R', LWORK ≥ max(1,M). + For optimum performance LWORK ≥ N*NB if SIDE = 'L', and + LWORK ≥ M*NB if SIDE = 'R', where NB is the optimal blocksize. If LWORK = -1, then a workspace query is assumed; the routine @@ -9332,7 +9332,7 @@ Lapack documentation = 'L': Lower triangle of A is stored. N (input) INTEGER - The order of the matrix A. N >= 0. + The order of the matrix A. N ≥ 0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the symmetric matrix A. If UPLO = 'U', the leading @@ -9347,7 +9347,7 @@ Lapack documentation factorization A = U**T*U or A = L*L**T. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,N). + The leading dimension of the array A. LDA ≥ max(1,N). INFO (output) INTEGER = 0: successful exit @@ -9454,13 +9454,13 @@ Lapack documentation Not referenced if HOWMNY = 'A' or 'B'. N (input) INTEGER - The order of the matrix T. N >= 0. + The order of the matrix T. N ≥ 0. T (input) DOUBLE PRECISION array, dimension (LDT,N) The upper quasi-triangular matrix T in Schur canonical form. LDT (input) INTEGER - The leading dimension of the array T. LDT >= max(1,N). + The leading dimension of the array T. LDT ≥ max(1,N). VL (input/output) DOUBLE PRECISION array, dimension (LDVL,MM) On entry, if SIDE = 'L' or 'B' and HOWMNY = 'B', VL must @@ -9479,8 +9479,8 @@ Lapack documentation Not referenced if SIDE = 'R'. LDVL (input) INTEGER - The leading dimension of the array VL. LDVL >= 1, and if - SIDE = 'L' or 'B', LDVL >= N. + The leading dimension of the array VL. LDVL ≥ 1, and if + SIDE = 'L' or 'B', LDVL ≥ N. VR (input/output) DOUBLE PRECISION array, dimension (LDVR,MM) On entry, if SIDE = 'R' or 'B' and HOWMNY = 'B', VR must @@ -9499,11 +9499,11 @@ Lapack documentation Not referenced if SIDE = 'L'. LDVR (input) INTEGER - The leading dimension of the array VR. LDVR >= 1, and if - SIDE = 'R' or 'B', LDVR >= N. + The leading dimension of the array VR. LDVR ≥ 1, and if + SIDE = 'R' or 'B', LDVR ≥ N. MM (input) INTEGER - The number of columns in the arrays VL and/or VR. MM >= M. + The number of columns in the arrays VL and/or VR. MM ≥ M. M (output) INTEGER The number of columns in the arrays VL and/or VR actually @@ -9633,7 +9633,7 @@ Lapack documentation either both included in the cluster or both excluded. N (input) INTEGER - The order of the matrix T. N >= 0. + The order of the matrix T. N ≥ 0. T (input/output) DOUBLE PRECISION array, dimension (LDT,N) On entry, the upper quasi-triangular matrix T, in Schur @@ -9643,7 +9643,7 @@ Lapack documentation leading diagonal blocks. LDT (input) INTEGER - The leading dimension of the array T. LDT >= max(1,N). + The leading dimension of the array T. LDT ≥ max(1,N). Q (input/output) DOUBLE PRECISION array, dimension (LDQ,N) On entry, if COMPQ = 'V', the matrix Q of Schur vectors. @@ -9655,7 +9655,7 @@ Lapack documentation LDQ (input) INTEGER The leading dimension of the array Q. - LDQ >= 1; and if COMPQ = 'V', LDQ >= N. + LDQ ≥ 1; and if COMPQ = 'V', LDQ ≥ N. WR (output) DOUBLE PRECISION array, dimension (N) WI (output) DOUBLE PRECISION array, dimension (N) @@ -9669,7 +9669,7 @@ Lapack documentation M (output) INTEGER The dimension of the specified invariant subspace. - 0 < = M <= N. + 0 < = M ≤ N. S (output) DOUBLE PRECISION If JOB = 'E' or 'B', S is a lower bound on the reciprocal @@ -9689,9 +9689,9 @@ Lapack documentation LWORK (input) INTEGER The dimension of the array WORK. - If JOB = 'N', LWORK >= max(1,N); - if JOB = 'E', LWORK >= max(1,M*(N-M)); - if JOB = 'V' or 'B', LWORK >= max(1,2*M*(N-M)). + If JOB = 'N', LWORK ≥ max(1,N); + if JOB = 'E', LWORK ≥ max(1,M*(N-M)); + if JOB = 'V' or 'B', LWORK ≥ max(1,2*M*(N-M)). If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns @@ -9703,8 +9703,8 @@ Lapack documentation LIWORK (input) INTEGER The dimension of the array IWORK. - If JOB = 'N' or 'E', LIWORK >= 1; - if JOB = 'V' or 'B', LIWORK >= max(1,M*(N-M)). + If JOB = 'N' or 'E', LIWORK ≥ 1; + if JOB = 'V' or 'B', LIWORK ≥ max(1,M*(N-M)). If LIWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the IWORK array, @@ -10033,33 +10033,33 @@ Lapack documentation M (input) INTEGER The order of the matrix A, and the number of rows in the - matrices X and C. M >= 0. + matrices X and C. M ≥ 0. N (input) INTEGER The order of the matrix B, and the number of columns in the - matrices X and C. N >= 0. + matrices X and C. N ≥ 0. A (input) DOUBLE PRECISION array, dimension (LDA,M) The upper quasi-triangular matrix A, in Schur canonical form. LDA (input) INTEGER - The leading dimension of the array A. LDA >= max(1,M). + The leading dimension of the array A. LDA ≥ max(1,M). B (input) DOUBLE PRECISION array, dimension (LDB,N) The upper quasi-triangular matrix B, in Schur canonical form. LDB (input) INTEGER - The leading dimension of the array B. LDB >= max(1,N). + The leading dimension of the array B. LDB ≥ max(1,N). C (input/output) DOUBLE PRECISION array, dimension (LDC,N) On entry, the M-by-N right hand side matrix C. On exit, C is overwritten by the solution matrix X. LDC (input) INTEGER - The leading dimension of the array C. LDC >= max(1,M) + The leading dimension of the array C. LDC ≥ max(1,M) SCALE (output) DOUBLE PRECISION - The scale factor, scale, set <= 1 to avoid overflow in X. + The scale factor, scale, set ≤ 1 to avoid overflow in X. INFO (output) INTEGER = 0: successful exit