Package jline.lib.qmam
Class Q_Sylvest
java.lang.Object
jline.lib.qmam.Q_Sylvest
-
Method Summary
Modifier and TypeMethodDescriptionstatic ComplexMatrixkronEye(ComplexMatrix A, int m) Computes kron(A, eye(m)) for a complex matrix A.static MatrixqSylvest(ComplexMatrix U, ComplexMatrix T, Matrix B) Solves the equation X*kron(A,I)+B*X=-I, where kron(A,I)=U*T*U' is given by its complex Schur decomposition (U unitary, T upper triangular).static Map<String, ComplexMatrix> Computes the complex Schur decomposition of A, equivalent to MATLAB's[U,T] = schur(A,'complex')with A = U*T*U'.
-
Method Details
-
qSylvest
Solves the equation X*kron(A,I)+B*X=-I, where kron(A,I)=U*T*U' is given by its complex Schur decomposition (U unitary, T upper triangular).Mirrors MATLAB Q_Sylvest.m: B is reduced to upper Hessenberg form NBAR=V'*B*V, the transformed equation Y*T+NBAR*Y=F with F=-V'*U is solved column by column exploiting the triangularity of T, and the solution is mapped back as X=real(V*Y*U').
- Parameters:
U- unitary factor of the complex Schur decomposition of kron(A,I)T- upper triangular factor of the complex Schur decomposition of kron(A,I)B- the coefficient matrix multiplying X from the left- Returns:
- the real solution X
-
schurDecomposition
Computes the complex Schur decomposition of A, equivalent to MATLAB's[U,T] = schur(A,'complex')with A = U*T*U'.- Parameters:
A- the matrix to decompose- Returns:
- a map with keys "U" (unitary) and "T" (upper triangular)
-
kronEye
Computes kron(A, eye(m)) for a complex matrix A.- Parameters:
A- the complex matrixm- the order of the identity factor- Returns:
- the Kronecker product kron(A, eye(m))
-