StarNEig User's Guide  master branch
A task-based library for solving dense nonsymmetric eigenvalue problems
sep_dm.h
Go to the documentation of this file.
1 
41 #ifndef STARNEIG_SEP_DM_H
42 #define STARNEIG_SEP_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 
89 
116  double real[], double imag[]);
117 
152  int selected[],
155  double real[], double imag[]);
156 
202  double real[], double imag[],
203  int (*predicate)(double real, double imag, void *arg),
204  void *arg,
205  int selected[],
206  int *num_selected);
207 
235  int selected[],
239 
243 
248 
279  int (*predicate)(double real, double imag, void *arg),
280  void *arg,
281  int selected[],
282  int *num_selected);
283 
287 
292 
317  struct starneig_hessenberg_conf *conf,
318  int begin, int end,
321 
352  struct starneig_schur_conf *conf,
355  double real[], double imag[]);
356 
392  struct starneig_reorder_conf *conf,
393  int selected[],
396  double real[], double imag[]);
397 
428  struct starneig_eigenvectors_conf *conf,
429  int selected[],
433 
437 
441 
442 #ifdef __cplusplus
443 }
444 #endif
445 
446 #endif // STARNEIG_SEP_DM_H
distr_matrix.h
This file contains data types and functions for distributed matrices.
expert.h
This file contains configuration structures and functions for the expert interface functions.
starneig_SEP_DM_ReorderSchur
starneig_error_t starneig_SEP_DM_ReorderSchur(int selected[], starneig_distr_matrix_t S, starneig_distr_matrix_t Q, double real[], double imag[])
Reorders selected eigenvalues to the top left corner of a Schur decomposition.
starneig_eigenvectors_conf
Eigenvector computation configuration structure.
Definition: expert.h:785
starneig_SEP_DM_Schur_expert
starneig_error_t starneig_SEP_DM_Schur_expert(struct starneig_schur_conf *conf, starneig_distr_matrix_t H, starneig_distr_matrix_t Q, double real[], double imag[])
Computes a Schur decomposition given a Hessenberg decomposition.
starneig_SEP_DM_Hessenberg
starneig_error_t starneig_SEP_DM_Hessenberg(starneig_distr_matrix_t A, starneig_distr_matrix_t Q)
Computes a Hessenberg decomposition of a general matrix.
starneig_SEP_DM_Eigenvectors
starneig_error_t starneig_SEP_DM_Eigenvectors(int selected[], starneig_distr_matrix_t S, starneig_distr_matrix_t Q, starneig_distr_matrix_t X)
Computes an eigenvector for each selected eigenvalue.
starneig_error_t
int starneig_error_t
Interface function return value data type.
Definition: error.h:59
starneig_SEP_DM_ReorderSchur_expert
starneig_error_t starneig_SEP_DM_ReorderSchur_expert(struct starneig_reorder_conf *conf, int selected[], starneig_distr_matrix_t S, starneig_distr_matrix_t Q, double real[], double imag[])
Reorders selected eigenvalues to the top left corner of a Schur decomposition.
error.h
This file contains the library error codes.
starneig_SEP_DM_Schur
starneig_error_t starneig_SEP_DM_Schur(starneig_distr_matrix_t H, starneig_distr_matrix_t Q, double real[], double imag[])
Computes a Schur decomposition given a Hessenberg decomposition.
starneig_distr_matrix_t
struct starneig_distr_matrix * starneig_distr_matrix_t
Distributed matrix.
Definition: distr_matrix.h:189
starneig_reorder_conf
Eigenvalue reordering configuration structure.
Definition: expert.h:683
configuration.h
This file contains StarNEig library configuration.
starneig_SEP_DM_Reduce
starneig_error_t starneig_SEP_DM_Reduce(starneig_distr_matrix_t A, starneig_distr_matrix_t Q, 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.
starneig_schur_conf
Schur reduction configuration structure.
Definition: expert.h:198
starneig_SEP_DM_Eigenvectors_expert
starneig_error_t starneig_SEP_DM_Eigenvectors_expert(struct starneig_eigenvectors_conf *conf, int selected[], starneig_distr_matrix_t S, starneig_distr_matrix_t Q, starneig_distr_matrix_t X)
Computes an eigenvector for each selected eigenvalue.
starneig_SEP_DM_Select
starneig_error_t starneig_SEP_DM_Select(starneig_distr_matrix_t S, 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.
starneig_SEP_DM_Hessenberg_expert
starneig_error_t starneig_SEP_DM_Hessenberg_expert(struct starneig_hessenberg_conf *conf, int begin, int end, starneig_distr_matrix_t A, starneig_distr_matrix_t Q)
Computes a Hessenberg decomposition of a general matrix.
starneig_hessenberg_conf
Hessenberg reduction configuration structure.
Definition: expert.h:77