Algebraic Ricatti¶
Under suitable conditions, the following routines solve for \(X\) in the algebraic Ricatti equation
\[X K X - A^H X - X A = L,\]
where both \(K\) and \(L\) are Hermitian, via computing the matrix sign of
\[\begin{split}W = \begin{pmatrix} A^H & L \\ K & -A \end{pmatrix}.\end{split}\]
C++ API¶
-
void
Ricatti
(UpperOrLower uplo, const Matrix<F> &A, const Matrix<F> &K, const Matrix<F> &L, Matrix<F> &X, SignCtrl<Base<F>> signCtrl = SignCtrl<Base<F>>())¶
-
void
Ricatti
(UpperOrLower uplo, const AbstractDistMatrix<F> &A, const AbstractDistMatrix<F> &K, const AbstractDistMatrix<F> &L, AbstractDistMatrix<F> &X, SignCtrl<Base<F>> signCtrl = SignCtrl<Base<F>>())¶ Versions which accept the individual matrices
-
void
Ricatti
(AbstractDistMatrix<F> &W, AbstractDistMatrix<F> &X, SignCtrl<Base<F>> signCtrl = SignCtrl<Base<F>>())¶ Versions which save memory by directly accepting the preformed \(W\) matrix
C API¶
Single-precision¶
-
ElError
ElRicatti_s
(ElUpperOrLower uplo, ElConstMatrix_s A, ElConstMatrix_s K, ElConstMatrix_s L, ElMatrix_s X)¶
-
ElError
ElRicattiDist_s
(ElUpperOrLower uplo, ElConstDistMatrix_s A, ElConstDistMatrix_s K, ElConstDistMatrix_s L, ElDistMatrix_s X)¶ Versions which accept the individual matrices
Double-precision¶
-
ElError
ElRicatti_d
(ElUpperOrLower uplo, ElConstMatrix_d A, ElConstMatrix_d K, ElConstMatrix_d L, ElMatrix_d X)¶
-
ElError
ElRicattiDist_d
(ElUpperOrLower uplo, ElConstDistMatrix_d A, ElConstDistMatrix_d K, ElConstDistMatrix_d L, ElDistMatrix_d X)¶ Versions which accept the individual matrices
Single-precision complex¶
-
ElError
ElRicatti_c
(ElUpperOrLower uplo, ElConstMatrix_c A, ElConstMatrix_c K, ElConstMatrix_c L, ElMatrix_c X)¶
-
ElError
ElRicattiDist_c
(ElUpperOrLower uplo, ElConstDistMatrix_c A, ElConstDistMatrix_c K, ElConstDistMatrix_c L, ElDistMatrix_c X)¶ Versions which accept the individual matrices
Double-precision complex¶
-
ElError
ElRicatti_z
(ElUpperOrLower uplo, ElConstMatrix_z A, ElConstMatrix_z K, ElConstMatrix_z L, ElMatrix_z X)¶
-
ElError
ElRicattiDist_z
(ElUpperOrLower uplo, ElConstDistMatrix_z A, ElConstDistMatrix_z K, ElConstDistMatrix_z L, ElDistMatrix_z X)¶ Versions which accept the individual matrices