Functions for solving non-symmetric standard eigenvalue problems on shared memory systems.
More...
|
starneig_error_t | starneig_SEP_SM_Hessenberg (int n, double A[], int ldA, double Q[], int ldQ) |
| Computes a Hessenberg decomposition of a general matrix. More...
|
|
starneig_error_t | starneig_SEP_SM_Schur (int n, double H[], int ldH, double Q[], int ldQ, double real[], double imag[]) |
| Computes a Schur decomposition given a Hessenberg decomposition. More...
|
|
starneig_error_t | starneig_SEP_SM_ReorderSchur (int n, int selected[], double S[], int ldS, double Q[], int ldQ, double real[], double imag[]) |
| Reorders selected eigenvalues to the top left corner of a Schur decomposition. More...
|
|
starneig_error_t | starneig_SEP_SM_Reduce (int n, double A[], int ldA, double Q[], int ldQ, double real[], double imag[], int(*predicate)(double real, double imag, void *arg), void *arg, int selected[], int *num_selected) |
| Computes a (reordered) Schur decomposition of a general matrix. More...
|
|
starneig_error_t | starneig_SEP_SM_Eigenvectors (int n, int selected[], double S[], int ldS, double Q[], int ldQ, double X[], int ldX) |
| Computes an eigenvector for each selected eigenvalue. More...
|
|
|
starneig_error_t | starneig_SEP_SM_Select (int n, double S[], int ldS, int(*predicate)(double real, double imag, void *arg), void *arg, int selected[], int *num_selected) |
| Generates a selection array for a Schur matrix using a user-supplied predicate function. More...
|
|
|
starneig_error_t | starneig_SEP_SM_Hessenberg_expert (struct starneig_hessenberg_conf *conf, int n, int begin, int end, double A[], int ldA, double Q[], int ldQ) |
| Computes a Hessenberg decomposition of a general matrix. More...
|
|
starneig_error_t | starneig_SEP_SM_Schur_expert (struct starneig_schur_conf *conf, int n, double H[], int ldH, double Q[], int ldQ, double real[], double imag[]) |
| Computes a Schur decomposition given a Hessenberg decomposition. More...
|
|
starneig_error_t | starneig_SEP_SM_ReorderSchur_expert (struct starneig_reorder_conf *conf, int n, int selected[], double S[], int ldS, double Q[], int ldQ, double real[], double imag[]) |
| Reorders selected eigenvalues to the top left corner of a Schur decomposition. More...
|
|
starneig_error_t | starneig_SEP_SM_Eigenvectors_expert (struct starneig_eigenvectors_conf *conf, int n, int selected[], double S[], int ldS, double Q[], int ldQ, double X[], int ldX) |
| Computes an eigenvector for each selected eigenvalue. More...
|
|
Functions for solving non-symmetric standard eigenvalue problems on shared memory systems.
◆ starneig_SEP_SM_Hessenberg()
starneig_error_t starneig_SEP_SM_Hessenberg |
( |
int |
n, |
|
|
double |
A[], |
|
|
int |
ldA, |
|
|
double |
Q[], |
|
|
int |
ldQ |
|
) |
| |
◆ starneig_SEP_SM_Schur()
starneig_error_t starneig_SEP_SM_Schur |
( |
int |
n, |
|
|
double |
H[], |
|
|
int |
ldH, |
|
|
double |
Q[], |
|
|
int |
ldQ, |
|
|
double |
real[], |
|
|
double |
imag[] |
|
) |
| |
◆ starneig_SEP_SM_ReorderSchur()
starneig_error_t starneig_SEP_SM_ReorderSchur |
( |
int |
n, |
|
|
int |
selected[], |
|
|
double |
S[], |
|
|
int |
ldS, |
|
|
double |
Q[], |
|
|
int |
ldQ, |
|
|
double |
real[], |
|
|
double |
imag[] |
|
) |
| |
Reorders selected eigenvalues to the top left corner of a Schur decomposition.
- Parameters
-
[in] | n | The order of and . |
[in,out] | selected | The selection array. On entry, the initial positions of the selected eigenvalues. On exit, the final positions of all correctly placed selected 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] | ldS | The leading dimension of . |
[in,out] | Q | On entry, the orthogonal matrix . On exit, the product matrix . |
[in] | ldQ | The leading dimension of . |
[out] | real | An array of the same size as containing the real parts of the computed eigenvalues. |
[out] | imag | An array of the same size as containing the imaginary parts of the computed 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 Schur form is not fully reordered.
- See also
- starneig_SEP_SM_Select
- Examples:
- sep_sm_full_chain.c.
◆ starneig_SEP_SM_Reduce()
starneig_error_t starneig_SEP_SM_Reduce |
( |
int |
n, |
|
|
double |
A[], |
|
|
int |
ldA, |
|
|
double |
Q[], |
|
|
int |
ldQ, |
|
|
double |
real[], |
|
|
double |
imag[], |
|
|
int(*)(double real, double imag, void *arg) |
predicate, |
|
|
void * |
arg, |
|
|
int |
selected[], |
|
|
int * |
num_selected |
|
) |
| |
◆ starneig_SEP_SM_Eigenvectors()
starneig_error_t starneig_SEP_SM_Eigenvectors |
( |
int |
n, |
|
|
int |
selected[], |
|
|
double |
S[], |
|
|
int |
ldS, |
|
|
double |
Q[], |
|
|
int |
ldQ, |
|
|
double |
X[], |
|
|
int |
ldX |
|
) |
| |
◆ starneig_SEP_SM_Select()
starneig_error_t starneig_SEP_SM_Select |
( |
int |
n, |
|
|
double |
S[], |
|
|
int |
ldS, |
|
|
int(*)(double real, double imag, void *arg) |
predicate, |
|
|
void * |
arg, |
|
|
int |
selected[], |
|
|
int * |
num_selected |
|
) |
| |
◆ starneig_SEP_SM_Hessenberg_expert()
◆ starneig_SEP_SM_Schur_expert()
◆ starneig_SEP_SM_ReorderSchur_expert()
starneig_error_t starneig_SEP_SM_ReorderSchur_expert |
( |
struct starneig_reorder_conf * |
conf, |
|
|
int |
n, |
|
|
int |
selected[], |
|
|
double |
S[], |
|
|
int |
ldS, |
|
|
double |
Q[], |
|
|
int |
ldQ, |
|
|
double |
real[], |
|
|
double |
imag[] |
|
) |
| |
◆ starneig_SEP_SM_Eigenvectors_expert()