File Release.Notes ================== This file contains a short description of the latest modifications performed for the Release 5.0 of the SLICOT Library. The history of the Release 4.0 is stored in the file Release4.History. The history of the Release 3.0 is stored in the file Release3.History. =============================================================================== Update November 22, 2010 Improved routines: ================= AG08BY, : replaced the logic for updating the column/row norms following AG8BYZ, Bujanovic and Drmac's suggestion, in order to avoid a possibly MB02CU, erratic behavior described in SLICOT Working note SLWN2010-1. MB03OY, MB03PY, MB3OYZ, MB3PYZ, MB04GD, TG01HX Updated routines: ================ AB09JV, : replaced DLAMCH( 'Epsilon' ) by DLAMCH( 'Precision' ) when setting AB09JW TOLMIN New Routines: ============ MA01BD : computes the general product of k real scalars without over- or underflow. MA01CD : computes, without over- or underflow, the sign of the sum of two real numbers represented using integer powers of a base (usually, the machine base). Any base can be used, but it should the same for both numbers. The result is an integer with value 1, 0, or -1, depending on the sum being found as positive, zero, or negative, respectively. MB01KD : performs one of the skew-symmetric rank 2k operations C := alpha*A*B' - alpha*B*A' + beta*C, or C := alpha*A'*B - alpha*B'*A + beta*C, where alpha and beta are scalars, C is a real N-by-N skew- symmetric matrix and A, B are N-by-K matrices in the first case and K-by-N matrices in the second case. The notation M' denotes the transpose of the matrix M. MB01LD : computes the matrix formula _ R = alpha*R + beta*op( A )*X*op( A )', _ where alpha and beta are scalars, R, X, and R are skew-symmetric matrices, A is a general matrix, and op( A ) is one of op( A ) = A or op( A ) = A'. MB02UW : solves a system of the form A X = s B or A' X = s B with possible scaling ("s") and perturbation of A, where A is an N-by-N real matrix, and X and B are N-by-M matrices. N may be 1 or 2. The scalar s is a scaling factor (.LE. 1), computed by this subroutine, which is so chosen that X can be computed without overflow. X is further scaled if necessary to assure that norm(A)*norm(X) is less than overflow. MB03AD : computes two Givens rotations (C1,S1) and (C2,S2) such that the orthogonal matrix [ C1 S1 0 ] [ 1 0 0 ] Q = [ -S1 C1 0 ] * [ 0 C2 S2 ] [ 0 0 1 ] [ 0 -S2 C2 ] makes the first column of the real Wilkinson single/double shift polynomial of the general product of matrices, stored in the array A, parallel to the first unit vector. MB03BA : computes the suitable maps for Hessenberg index and signature array. MB03BB : computes the eigenvalues of a general 2-by-2 matrix product via a complex single shifted periodic QZ algorithm. MB03BC : computes the product singular value decomposition of the K-1 triangular factors corresponding to a 2-by-2 product of K factors in upper Hessenberg-triangular form. MB03BD : computes the eigenvalues of the generalized formal matrix product s1 s2 sk A = A1 * A * ... * Ak , where sj = 1 or sj = -1, j = 1, ..., k, Ah is upper Hessenberg and Ai, i <> h, is upper triangular, using a double-shift version of the periodic QZ algorithm. In addition, A may be reduced to periodic Schur form: Ah is upper quasi-triangular and all the other factors A_i are upper triangular. Optionally, the 2-by-2 triangular matrices corresponding to 2-by-2 diagonal blocks in Ah are reduced so that their product is a 2-by-2 diagonal matrix. Optionally, the orthogonal factors Qj used, j = 1, ..., k, are accumulated. MB03BE : applies 10 iterations of a real single shifted periodic QZ algorithm to a 2-by-2 product of matrices stored in an array. MB03CD : computes orthogonal matrices Q1, Q2, Q3 for a real 2-by-2, 3-by-3, or 4-by-4 regular block upper triangular pencil ( A11 A12 ) ( B11 B12 ) ( D11 D12 ) aAB - bD = a ( ) ( ) - b ( ), ( 0 A22 ) ( 0 B22 ) ( 0 D22 ) such that the pencil a(Q3' A Q2 )(Q2' B Q1 ) - b(Q3' D Q1) is still in block upper triangular form, but the eigenvalues in Spec(A11 B11, D11), Spec(A22 B22, D22) are exchanged, where Spec(X,Y) denotes the spectrum of the matrix pencil (X,Y). Optionally, upper triangularizes a real regular pencil in block lower triangular form while keeping the eigenvalues in the same diagonal position. MB03DD : computes orthogonal matrices Q1 and Q2 for a real 2-by-2, 3-by-3, or 4-by-4 regular block upper triangular pencil ( A11 A12 ) ( B11 B12 ) aA - bB = a ( ) - b ( ), ( 0 A22 ) ( 0 B22 ) such that the pencil a(Q2' A Q1) - b(Q2' B Q1) is still in block upper triangular form, but the eigenvalues in Spec(A11, B11), Spec(A22, B22) are exchanged. Optionally, upper triangularizes a real regular pencil in block lower triangular form while keeping the eigenvalues in the same diagonal position. MB03ED : computes orthogonal matrices Q1, Q2, Q3 for a real 2-by-2 or 4-by-4 regular pencil ( A11 0 ) ( B11 0 ) ( 0 D12 ) aAB - bD = a ( ) ( ) - b ( ), ( 0 A22 ) ( 0 B22 ) ( D21 0 ) such that Q3' A Q2 and Q2' B Q1 are upper triangular, Q3' D Q1 is upper quasi-triangular, and the eigenvalues with negative real parts (if there are any) are allocated on the top. The submatrices A11, A22, B11, B22 and D12 are upper triangular. If D21 is 2-by-2, then all other blocks are nonsingular and the product -1 -1 -1 -1 A22 D21 B11 A11 D12 B22 has a pair of complex conjugate eigenvalues. MB03FD : computes orthogonal matrices Q1 and Q2 for a real 2-by-2 or 4-by-4 regular pencil ( A11 0 ) ( 0 B12 ) aA - bB = a ( ) - b ( ), ( 0 A22 ) ( B21 0 ) such that Q2' A Q1 is upper triangular, Q2' B Q1 is upper quasi- triangular, and the eigenvalues with negative real parts (if there are any) are allocated on the top. The submatrices A11, A22, and B12 are upper triangular. If B21 is 2-by-2, then all the other blocks are nonsingular and the product -1 -1 A11 B12 A22 B21 has a pair of complex conjugate eigenvalues. MB03GD : computes an orthogonal matrix Q and an orthogonal symplectic matrix U for a real regular 2-by-2 or 4-by-4 skew-Hamiltonian/ Hamiltonian pencil a J B' J' B - b D with ( B11 B12 ) ( D11 D12 ) B = ( ), D = ( ), ( 0 B22 ) ( 0 -D11' ) such that J Q' J' D Q and U' B Q keep block triangular form, but the eigenvalues are reordered. MB03HD : determines an orthogonal matrix Q, for a real regular 2-by-2 or 4-by-4 skew-Hamiltonian/Hamiltonian pencil ( A11 A12 ) ( B11 B12 ) aA - bB = a ( ) - b ( ) ( 0 A11' ) ( 0 -B11' ) in structured Schur form, such that J Q' J' (aA - bB) Q is still in structured Schur form but the eigenvalues are exchanged. MB03ID : moves the eigenvalues with strictly negative real parts of an N-by-N real skew-Hamiltonian/Hamiltonian pencil aS - bH in structured Schur form, with ( 0 I ) ( A D ) ( B F ) S = J Z' J' Z, J = ( ), Z = ( ), H = ( ), ( -I 0 ) ( 0 C ) ( 0 -B' ) to the leading principal subpencil, while keeping the triangular form. Above, A is upper triangular, B is upper quasi-triangular, and C is lower triangular. The matrices Z and H are transformed by an orthogonal symplectic matrix U and an orthogonal matrix Q such that ( Aout Dout ) Zout = U' Z Q = ( ), and ( 0 Cout ) ( Bout Fout ) Hout = J Q' J' H Q = ( ), ( 0 -Bout' ) where Aout, Bout and Cout remain in triangular form. Optionally, the matrices Q and U are computed. MB03JD : moves the eigenvalues with strictly negative real parts of an N-by-N real skew-Hamiltonian/Hamiltonian pencil aS - bH in structured Schur form, ( A D ) ( B F ) S = ( ), H = ( ), ( 0 A' ) ( 0 -B' ) with A upper triangular and B upper quasi-triangular, to the leading principal subpencil, while keeping the triangular form: ( Aout Dout ) ( Bout Fout ) Sout = ( ), Hout = ( ), where ( 0 Aout' ) ( 0 -Bout' ) Optionally, the matrix Q is computed, where J Q' J' (aS - bH) Q = aSout - bHout. MB03KA : reorders the diagonal blocks of the formal matrix product T22_K^S(K) * T22_K-1^S(K-1) * ... * T22_1^S(1), (1) of length K, in the generalized periodic Schur form [ T11_k T12_k T13_k ] T_k = [ 0 T22_k T23_k ], k = 1, ..., K, (2) [ 0 0 T33_k ] where - the submatrices T11_k are NI(k+1)-by-NI(k), if S(k) = 1, or NI(k)-by-NI(k+1), if S(k) = -1, and contain dimension-induced infinite eigenvalues, - the submatrices T22_k are NC-by-NC and contain core eigenvalues, which are generically neither zero nor infinite, - the submatrices T33_k contain dimension-induced zero eigenvalues, such that the block with starting row index IFST in (1) is moved to row index ILST. The indices refer to the T22_k submatrices. Optionally, the transformation matrices Q_1,...,Q_K from the reduction into generalized periodic Schur form are updated with respect to the performed reordering. MB03KB : reorders the diagonal blocks of the formal matrix product (1) of length K, in the generalized periodic Schur form (2), such that pairs of adjacent diagonal blocks of sizes 1 and/or 2 in the product (1) are swapped. Optionally, the transformation matrices Q_1,...,Q_K are updated with respect to the performed reordering. MB03KC : reduces a 2-by-2 general, formal matrix product A of length K, A_K^s(K) * A_K-1^s(K-1) * ... * A_1^s(1), to the periodic Hessenberg-triangular form using a K-periodic sequence of elementary reflectors (Householder matrices). The matrices A_k, k = 1, ..., K, are stored in an N-by-N-by-K array starting in the R-th row and column, and N can be 3 or 4. MB03KD : reorders the diagonal blocks of the formal matrix product (1) of length K, in the generalized periodic Schur form (2), such that M selected eigenvalues pointed to by a logical vector end up in the leading part of the matrix sequence T22_k. MB03KE : solves small periodic Sylvester-like equations op(A(i))*X( i ) + isgn*X(i+1)*op(B(i)) = -scale*C(i), S(i) = 1, op(A(i))*X(i+1) + isgn*X( i )*op(B(i)) = -scale*C(i), S(i) = -1. i = 1, ..., K, where op(A) means A or A', for the K-periodic matrix sequence X(i) = X(i+K), where A, B and C are K-periodic matrix sequences and A and B are in periodic real Schur form. The matrices A(i) are M-by-M and B(i) are N-by-N, with 1 <= M, N <= 2. MB03LD : computes the relevant eigenvalues of a real N-by-N skew- Hamiltonian/Hamiltonian pencil aS - bH, with ( A D ) ( B F ) S = ( ) and H = ( ). ( E A' ) ( G -B' ) Optionally, an orthogonal basis of the right deflating subspace of aS - bH corresponding to the eigenvalues with strictly negative real part is computed. MB04AD : computes the eigenvalues and a generalized symplectic URV decomposition for a real N-by-N factored pencil a T Z - b H, i.e., it determines orthogonal matrices Q1, Q2 and orthogonal symplectic matrices U1, U2 such that, Q1' T U1 = [ T11 T12; 0 T22 ], U2' Z Q2 = [ Z11 Z12; 0 Z22 ], Q1' H Q2 = [ H11 H12; 0 H22 ], where T11, T22', Z11, Z22', H11 are upper triangular and H22' is upper quasi-triangular. Optionally, the matrices Q1, Q2, U1 and U2 are computed. MB04BD : computes the eigenvalues of a real N-by-N skew-Hamiltonian/ Hamiltonian pencil a S - b H, with S = [ A D; E A' ], H = [ C V; W -C' ]. Optionally, decompositions of S and H are computed via orthogonal transformations Q1 and Q2, as follows: Q1' S J Q1 J' = [ Ao Do; 0 Ao' ], J' Q2' J S Q2 = [ Bo Fo; 0 Bo' ], Q1' H Q2 = [ C1 Vo; 0 C2' ], and Ao, Bo, C1 are upper triangular, C2 is upper quasi-triangular and Do and Fo are skew-symmetric. Optionally, the orthogonal transformation matrices Q1 and Q2 are computed. MB04HD : computes the transformed matrices A and B, using orthogonal matrices Q1 and Q2 for a real N-by-N regular pencil ( A11 0 ) ( 0 B12 ) aA - bB = a ( ) - b ( ), ( 0 A22 ) ( B21 0 ) where A11, A22, and B12 are upper triangular and the generalized -1 -1 matrix product A11 B12 A22 B21 is upper quasi-triangular. MB04SU : computes a symplectic QR decomposition of a real 2M-by-N matrix. Unblocked version. New test programs: ================= TMB03BD : test program for MB03BD.f. TMB03KD : test program for MB03KD.f. TMB03LD : test program for MB03LD.f. TMB04AD : test program for MB04AD.f. TMB04BD : test program for MB04BD.f. Documentation: ============= All the new 29 routines have associated html documentation, accessible from the Library indexes libindex.html (3 new documents) and support.html (26 new documents). New MEX-files: ============= skewHamildefl : computes the eigenvalues of a skew-Hamiltonian/Hamiltonian pencil and the right deflating subspace corresponding to the eigenvalues with strictly negative real part. skewHamileig : computes the eigenvalues and orthogonal decomposition of a skew-Hamiltonian/Hamiltonian pencil. symplURV : computes the eigenvalues and generalized symplectic URV decomposition of a skew-Hamiltonian/Hamiltonian pencil in factored form. New M-files: =========== test_skewHamildefl test_skewHamileig test_symplURV Updated M-files: =============== test_M_haeig.m - some tests are performed only when there are no eigenvalues on the imaginary axis. Since the results might have different T, G0, and S submatrices than in the R matrix, their comparison may be by-passed, and the reduction is compared. Replaced i by 1i, and the argument dum by different names in the calls of the function qr. Compared the absolute value of some orthogonal matrices instead of the values themselves. test_genleq.m - replaced the value 0 for flag by [0,0] in the second call of slgesg. test_polezeroz.m - the matrices Af obtained using A, B, C, D, E are no longer compared with those obtained using the system objects ss or dss, just their (generalized) eigenvalues are compared. Increased tole to eps^(2/3). test_TotalLS.m - changed the sequences for comparing the singular vectors corresponding to the smallest singular values. New version of SLICOT-based MATLAB toolboxes: ============================================ SLICOT-based MATLAB toolboxes on Linux platforms under MATLAB 7.10 (R2010a) are now available under commercial licenses. The versions on Windows platforms have been available since spring 2010.