StarNEig User's Guide  v0.1.7
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 
72 #ifdef STARNEIG_SEP_DM_HESSENBERG
73 
94 
95 #endif
96 
123  double real[], double imag[]);
124 
159  int selected[],
162  double real[], double imag[]);
163 
164 #ifdef STARNEIG_SEP_DM_REDUCE
165 
214  double real[], double imag[],
215  int (*predicate)(double real, double imag, void *arg),
216  void *arg,
217  int selected[],
218  int *num_selected);
219 
220 #endif
221 
249  int selected[],
253 
257 
262 
293  int (*predicate)(double real, double imag, void *arg),
294  void *arg,
295  int selected[],
296  int *num_selected);
297 
301 
306 
337  struct starneig_schur_conf *conf,
340  double real[], double imag[]);
341 
377  struct starneig_reorder_conf *conf,
378  int selected[],
381  double real[], double imag[]);
382 
413  struct starneig_eigenvectors_conf *conf,
414  int selected[],
418 
422 
426 
427 #ifdef __cplusplus
428 }
429 #endif
430 
431 #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:780
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:678
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:205
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.