Spectral Integral Suite in C++
lyap.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  OrdQz
 

Typedefs

typedef complex< double > Cd_t
 

Functions

void zgees_ (char *JOBVS, char *SORT, bool(*SELCTG)(Cd_t a), int *N, Cd_t *A, int *LDA, int *SDIM, Cd_t *W, Cd_t *VS, int *LDVS, Cd_t *WORK, int *LWORK, double *RWORK, bool *BWORK, int *INFO)
 
void ztgsen_ (int *IJOB, bool *WANTQ, bool *WANTZ, bool *SELECT, int *N, Cd_t *A, int *LDA, Cd_t *B, int *LDB, Cd_t *ALPHA, Cd_t *BETA, Cd_t *Q, int *LDQ, Cd_t *Z, int *LDZ, int *M, double *PL, double *PR, double *DIF, Cd_t *WORK, int *LWORK, int *IWORK, int *LIWORK, int *INFO)
 
bool criteria_ (Cd_t alpha, Cd_t beta)
 
void zgges_ (char *JOBVSL, char *JOBVSR, char *SORT, bool(*SELCTG)(Cd_t a, Cd_t b), int *N, Cd_t *A, int *LDA, Cd_t *B, int *LDB, int *SDIM, Cd_t *ALPHA, Cd_t *BETA, Cd_t *VSL, int *LDVSL, Cd_t *VSR, int *LDVSR, Cd_t *WORK, int *LWORK, double *RWORK, bool *BWORK, int *INFO)
 
bool forZgees (Cd_t a)
 
Eigen::MatrixXcd lyap (Eigen::MatrixXcd A, Eigen::MatrixXcd B, Eigen::MatrixXcd Q)
 Solves the Lyapunov/ sylvester equation: AX + XB + Q = 0. More...
 
Eigen::MatrixXcd dlyap (Eigen::MatrixXcd A, Eigen::MatrixXcd B, Eigen::MatrixXcd Q)
 Solves the Lyapunov/ sylvester equation: AXB - X + Q = 0. More...
 

Typedef Documentation

◆ Cd_t

typedef complex<double> Cd_t

Definition at line 3 of file lyap.h.

Function Documentation

◆ criteria_()

bool criteria_ ( Cd_t  alpha,
Cd_t  beta 
)

Definition at line 16 of file lyap.h.

Referenced by OrdQz::compute(), and main().

◆ dlyap()

Eigen::MatrixXcd dlyap ( Eigen::MatrixXcd  A,
Eigen::MatrixXcd  B,
Eigen::MatrixXcd  Q 
)

Solves the Lyapunov/ sylvester equation: AXB - X + Q = 0.

Definition at line 217 of file lyap.h.

References forZgees(), sis::N, std::real(), and zgees_().

Referenced by main().

◆ forZgees()

bool forZgees ( Cd_t  a)

Definition at line 128 of file lyap.h.

Referenced by dlyap(), and lyap().

◆ lyap()

Eigen::MatrixXcd lyap ( Eigen::MatrixXcd  A,
Eigen::MatrixXcd  B,
Eigen::MatrixXcd  Q 
)

Solves the Lyapunov/ sylvester equation: AX + XB + Q = 0.

Definition at line 133 of file lyap.h.

References forZgees(), sis::N, std::real(), and zgees_().

Referenced by main().

◆ zgees_()

void zgees_ ( char *  JOBVS,
char *  SORT,
bool(*)(Cd_t a)  SELCTG,
int *  N,
Cd_t A,
int *  LDA,
int *  SDIM,
Cd_t W,
Cd_t VS,
int *  LDVS,
Cd_t WORK,
int *  LWORK,
double *  RWORK,
bool *  BWORK,
int *  INFO 
)

Referenced by dlyap(), and lyap().

◆ zgges_()

void zgges_ ( char *  JOBVSL,
char *  JOBVSR,
char *  SORT,
bool(*)(Cd_t a, Cd_t b)  SELCTG,
int *  N,
Cd_t A,
int *  LDA,
Cd_t B,
int *  LDB,
int *  SDIM,
Cd_t ALPHA,
Cd_t BETA,
Cd_t VSL,
int *  LDVSL,
Cd_t VSR,
int *  LDVSR,
Cd_t WORK,
int *  LWORK,
double *  RWORK,
bool *  BWORK,
int *  INFO 
)

Referenced by OrdQz::compute(), and main().

◆ ztgsen_()

void ztgsen_ ( int *  IJOB,
bool *  WANTQ,
bool *  WANTZ,
bool *  SELECT,
int *  N,
Cd_t A,
int *  LDA,
Cd_t B,
int *  LDB,
Cd_t ALPHA,
Cd_t BETA,
Cd_t Q,
int *  LDQ,
Cd_t Z,
int *  LDZ,
int *  M,
double *  PL,
double *  PR,
double *  DIF,
Cd_t WORK,
int *  LWORK,
int *  IWORK,
int *  LIWORK,
int *  INFO 
)

Referenced by OrdQz::compute().