Functions for solving non-symmetric generalized eigenvalue problems on distributed memory systems.
More...
|
starneig_error_t | starneig_GEP_DM_HessenbergTriangular (starneig_distr_matrix_t A, starneig_distr_matrix_t B, starneig_distr_matrix_t Q, starneig_distr_matrix_t Z) |
| Computes a Hessenberg-triangular decomposition of a general matrix pencil. More...
|
|
starneig_error_t | starneig_GEP_DM_Schur (starneig_distr_matrix_t H, starneig_distr_matrix_t T, starneig_distr_matrix_t Q, starneig_distr_matrix_t Z, double real[], double imag[], double beta[]) |
| Computes a generalized Schur decomposition given a Hessenberg-triangular decomposition. More...
|
|
starneig_error_t | starneig_GEP_DM_ReorderSchur (int selected[], starneig_distr_matrix_t S, starneig_distr_matrix_t T, starneig_distr_matrix_t Q, starneig_distr_matrix_t Z, double real[], double imag[], double beta[]) |
| Reorders selected generalized eigenvalues to the top left corner of a generalized Schur decomposition. More...
|
|
starneig_error_t | starneig_GEP_DM_Reduce (starneig_distr_matrix_t A, starneig_distr_matrix_t B, starneig_distr_matrix_t Q, starneig_distr_matrix_t Z, double real[], double imag[], double beta[], int(*predicate)(double real, double imag, double beta, void *arg), void *arg, int selected[], int *num_selected) |
| Computes a (reordered) generalized Schur decomposition given a general matrix pencil. More...
|
|
starneig_error_t | starneig_GEP_DM_Eigenvectors (int selected[], starneig_distr_matrix_t S, starneig_distr_matrix_t T, starneig_distr_matrix_t Z, starneig_distr_matrix_t X) |
| Computes a generalized eigenvector for each selected generalized eigenvalue. More...
|
|
|
starneig_error_t | starneig_GEP_DM_Schur_expert (struct starneig_schur_conf *conf, starneig_distr_matrix_t H, starneig_distr_matrix_t T, starneig_distr_matrix_t Q, starneig_distr_matrix_t Z, double real[], double imag[], double beta[]) |
| Computes a generalized Schur decomposition given a Hessenberg-triangular decomposition. More...
|
|
starneig_error_t | starneig_GEP_DM_ReorderSchur_expert (struct starneig_reorder_conf *conf, int selected[], starneig_distr_matrix_t S, starneig_distr_matrix_t T, starneig_distr_matrix_t Q, starneig_distr_matrix_t Z, double real[], double imag[], double beta[]) |
| Reorders selected generalized eigenvalues to the top left corner of a generalized Schur decomposition. More...
|
|
starneig_error_t | starneig_GEP_DM_Eigenvectors_expert (struct starneig_eigenvectors_conf *conf, int selected[], starneig_distr_matrix_t S, starneig_distr_matrix_t T, starneig_distr_matrix_t Z, starneig_distr_matrix_t X) |
| Computes a generalized eigenvector for each selected generalized eigenvalue. More...
|
|
Functions for solving non-symmetric generalized eigenvalue problems on distributed memory systems.
◆ starneig_GEP_DM_HessenbergTriangular()
Computes a Hessenberg-triangular decomposition of a general matrix pencil.
- Attention
- This function is a wrapper for several ScaLAPACK subroutines. The function exists if STARNEIG_GEP_DM_HESSENBERGTRIANGULAR is defined.
- Parameters
-
[in,out] | A | On entry, the general matrix . On exit, the upper Hessenberg matrix . |
[in,out] | B | On entry, the general matrix . On exit, the upper triangular matrix . |
[in,out] | Q | On entry, the orthogonal matrix . On exit, the product matrix . |
[in,out] | Z | On entry, the orthogonal matrix . On exit, the product matrix . |
- Returns
- STARNEIG_SUCCESS (0) on success. Negative integer -i when i'th argument is invalid. Positive error code otherwise.
- Examples:
- gep_dm_full_chain.c.
◆ starneig_GEP_DM_Schur()
Computes a generalized Schur decomposition given a Hessenberg-triangular decomposition.
- Parameters
-
[in,out] | H | On entry, the upper Hessenberg matrix . On exit, the Schur matrix . |
[in,out] | T | On entry, the upper triangular matrix . On exit, the upper triangular matrix . |
[in,out] | Q | On entry, the orthogonal matrix . On exit, the product matrix . |
[in,out] | Z | On entry, the orthogonal matrix . On exit, the product matrix . |
[out] | real | An array of the same size as containing the real parts of the values of the computed generalized eigenvalues. |
[out] | imag | An array of the same size as containing the imaginary parts of the values of the computed generalized eigenvalues. |
[out] | beta | An array of the same size as containing the values of computed generalized eigenvalues. |
- Returns
- STARNEIG_SUCCESS (0) on success. Negative integer -i when i'th argument is invalid. Positive error code otherwise. STARNEIG_DID_NOT_CONVERGE if the QZ algorithm failed to converge.
- Examples:
- gep_dm_full_chain.c.
◆ starneig_GEP_DM_ReorderSchur()
Reorders selected generalized eigenvalues to the top left corner of a generalized Schur decomposition.
- Parameters
-
[in,out] | selected | The selection array. On entry, the initial positions of the selected generalized eigenvalues. On exit, the final positions of all correctly placed selected generalized eigenvalues. In case of failure, the number of 1's in the output may be less than the number of 1's in the input. |
[in,out] | S | On entry, the Schur matrix . On exit, the updated Schur matrix . |
[in,out] | T | On entry, the upper triangular . On exit, the updates upper triangular matrix . |
[in,out] | Q | On entry, the orthogonal matrix . On exit, the product matrix . |
[in,out] | Z | On entry, the orthogonal matrix . On exit, the product matrix . |
[out] | real | An array of the same size as containing the real parts of the values of the computed generalized eigenvalues. |
[out] | imag | An array of the same size as containing the imaginary parts of the values of the computed generalized eigenvalues. |
[out] | beta | An array of the same size as containing the values of computed generalized eigenvalues. |
- Returns
- STARNEIG_SUCCESS (0) on success. Negative integer -i when i'th argument is invalid. Positive error code otherwise. STARNEIG_PARTIAL_REORDERING if the generalized Schur form is not fully reordered.
- See also
- starneig_GEP_DM_Select
- Examples:
- gep_dm_full_chain.c.
◆ starneig_GEP_DM_Reduce()
starneig_error_t starneig_GEP_DM_Reduce |
( |
starneig_distr_matrix_t |
A, |
|
|
starneig_distr_matrix_t |
B, |
|
|
starneig_distr_matrix_t |
Q, |
|
|
starneig_distr_matrix_t |
Z, |
|
|
double |
real[], |
|
|
double |
imag[], |
|
|
double |
beta[], |
|
|
int(*)(double real, double imag, double beta, void *arg) |
predicate, |
|
|
void * |
arg, |
|
|
int |
selected[], |
|
|
int * |
num_selected |
|
) |
| |
Computes a (reordered) generalized Schur decomposition given a general matrix pencil.
- Attention
- This function uses several ScaLAPACK subroutines. The function exists if STARNEIG_GEP_DM_REDUCE is defined.
- Parameters
-
[in,out] | A | On entry, the general matrix . On exit, the Schur matrix . |
[in,out] | B | On entry, the general matrix . On exit, the upper triangular matrix . |
[in,out] | Q | On entry, the orthogonal matrix . On exit, the product matrix . |
[in,out] | Z | On entry, the orthogonal matrix . On exit, the product matrix . |
[out] | real | An array of the same size as containing the real parts of the values of the computed generalized eigenvalues. |
[out] | imag | An array of the same size as containing the imaginary parts of the values of the computed generalized eigenvalues. |
[out] | beta | An array of the same size as containing the values of computed generalized eigenvalues. |
[in] | predicate | A function that takes a (complex) generalized eigenvalue as input and returns non-zero if it should be selected. For complex conjugate pairs of generalized eigenvalues, the predicate is called only for the generalized eigenvalue with positive imaginary part and the corresponding block is either selected or deselected. The reordering step is skipped if the argument is a NULL pointer. |
[in] | arg | An optional argument for the predicate function. |
[out] | selected | The final positions of all correctly placed selected generalized eigenvalues. |
[out] | num_selected | The number of selected generalized eigenvalues (a complex conjugate pair is counted as two selected generalized eigenvalues). |
- Returns
- STARNEIG_SUCCESS (0) on success. Negative integer -i when i'th argument is invalid. Positive error code otherwise. STARNEIG_DID_NOT_CONVERGE if the QZ algorithm failed to converge. STARNEIG_PARTIAL_REORDERING if the generalized Schur form is not fully reordered.
◆ starneig_GEP_DM_Eigenvectors()
◆ starneig_GEP_DM_Select()
◆ starneig_GEP_DM_Schur_expert()
Computes a generalized Schur decomposition given a Hessenberg-triangular decomposition.
- Parameters
-
[in] | conf | Configuration structure. |
[in,out] | H | On entry, the upper Hessenberg matrix . On exit, the Schur matrix . |
[in,out] | T | On entry, the upper triangular matrix . On exit, the upper triangular matrix . |
[in,out] | Q | On entry, the orthogonal matrix . On exit, the product matrix . |
[in,out] | Z | On entry, the orthogonal matrix . On exit, the product matrix . |
[out] | real | An array of the same size as containing the real parts of the values of the computed generalized eigenvalues. |
[out] | imag | An array of the same size as containing the imaginary parts of the values of the computed generalized eigenvalues. |
[out] | beta | An array of the same size as containing the values of computed generalized eigenvalues. |
- Returns
- STARNEIG_SUCCESS (0) on success. Negative integer -i when i'th argument is invalid. Positive error code otherwise.
- See also
- starneig_GEP_DM_Schur
-
starneig_schur_conf
-
starneig_schur_init_conf
◆ starneig_GEP_DM_ReorderSchur_expert()
Reorders selected generalized eigenvalues to the top left corner of a generalized Schur decomposition.
- Parameters
-
[in] | conf | Configuration structure. |
[in,out] | selected | The selection array. |
[in,out] | S | On entry, the Schur matrix . On exit, the updated Schur matrix . |
[in,out] | T | On entry, the upper triangular . On exit, the updates upper triangular matrix . |
[in,out] | Q | On entry, the orthogonal matrix . On exit, the product matrix . |
[in,out] | Z | On entry, the orthogonal matrix . On exit, the product matrix . |
[out] | real | An array of the same size as containing the real parts of the values of the computed generalized eigenvalues. |
[out] | imag | An array of the same size as containing the imaginary parts of the values of the computed generalized eigenvalues. |
[out] | beta | An array of the same size as containing the values of computed generalized eigenvalues. |
- Returns
- STARNEIG_SUCCESS (0) on success. Negative integer -i when i'th argument is invalid. Positive error code otherwise.
- See also
- starneig_GEP_DM_ReorderSchur
-
starneig_GEP_DM_Select
-
starneig_reorder_conf
-
starneig_reorder_init_conf
◆ starneig_GEP_DM_Eigenvectors_expert()