StarNEig User's Guide  v0.1 branch
A task-based library for solving dense nonsymmetric eigenvalue problems
gep_dm.h
Go to the documentation of this file.
1 
41 #ifndef STARNEIG_GEP_DM_H
42 #define STARNEIG_GEP_DM_H
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 #include <starneig/configuration.h>
49 
50 #ifndef STARNEIG_ENABLE_MPI
51 #error "This header should be included only when STARNEIG_ENABLE_MPI is defined."
52 #endif
53 
54 #include <starneig/error.h>
55 #include <starneig/expert.h>
56 #include <starneig/distr_matrix.h>
57 
66 
71 
72 #ifdef STARNEIG_GEP_DM_HESSENBERGTRIANGULAR
73 
105 
106 #endif
107 
149  double real[], double imag[], double beta[]);
150 
199  int selected[],
204  double real[], double imag[], double beta[]);
205 
206 #ifdef STARNEIG_GEP_DM_REDUCE
207 
274  double real[], double imag[], double beta[],
275  int (*predicate)(double real, double imag, double beta, void *arg),
276  void *arg,
277  int selected[],
278  int *num_selected);
279 
280 #endif
281 
313  int selected[],
318 
322 
327 
363  int (*predicate)(double real, double imag, double beta, void *arg),
364  void *arg,
365  int selected[],
366  int *num_selected);
367 
371 
376 
419  struct starneig_schur_conf *conf,
424  double real[], double imag[], double beta[]);
425 
473  struct starneig_reorder_conf *conf,
474  int selected[],
479  double real[], double imag[], double beta[]);
480 
515  struct starneig_eigenvectors_conf *conf,
516  int selected[],
521 
525 
529 
530 #ifdef __cplusplus
531 }
532 #endif
533 
534 #endif // STARNEIG_GEP_DM_H
distr_matrix.h
This file contains data types and functions for distributed matrices.
starneig_GEP_DM_ReorderSchur
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...
expert.h
This file contains configuration structures and functions for the expert interface functions.
starneig_eigenvectors_conf
Eigenvector computation configuration structure.
Definition: expert.h:780
starneig_GEP_DM_ReorderSchur_expert
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...
starneig_GEP_DM_Schur_expert
starneig_error_t starneig_GEP_DM_Schur_expert(struct starneig_schur_conf *conf, starneig_distr_matrix_t H, starneig_distr_matrix_t R, 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.
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(*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.
starneig_error_t
int starneig_error_t
Interface function return value data type.
Definition: error.h:59
starneig_GEP_DM_Select
starneig_error_t starneig_GEP_DM_Select(starneig_distr_matrix_t S, starneig_distr_matrix_t T, int(*predicate)(double real, double imag, double beta, void *arg), void *arg, int selected[], int *num_selected)
Generates a selection array for a Schur-triangular matrix pencil using a user-supplied predicate func...
starneig_GEP_DM_Schur
starneig_error_t starneig_GEP_DM_Schur(starneig_distr_matrix_t H, starneig_distr_matrix_t R, 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.
error.h
This file contains the library error codes.
starneig_GEP_DM_Eigenvectors
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.
starneig_GEP_DM_Eigenvectors_expert
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.
starneig_distr_matrix_t
struct starneig_distr_matrix * starneig_distr_matrix_t
Distributed matrix.
Definition: distr_matrix.h:189
starneig_GEP_DM_HessenbergTriangular
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.
starneig_reorder_conf
Eigenvalue reordering configuration structure.
Definition: expert.h:678
configuration.h
This file contains StarNEig library configuration.
starneig_schur_conf
Schur reduction configuration structure.
Definition: expert.h:205