StarNEig User's Guide  v0.1.7
A task-based library for solving dense nonsymmetric eigenvalue problems
sep_sm.h
Go to the documentation of this file.
1 
41 #ifndef STARNEIG_SEP_SM_H
42 #define STARNEIG_SEP_SM_H
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 #include <starneig/configuration.h>
49 #include <starneig/error.h>
50 #include <starneig/expert.h>
51 
60 
65 
90  int n,
91  double A[], int ldA,
92  double Q[], int ldQ);
93 
127  int n,
128  double H[], int ldH,
129  double Q[], int ldQ,
130  double real[], double imag[]);
131 
175  int n,
176  int selected[],
177  double S[], int ldS,
178  double Q[], int ldQ,
179  double real[], double imag[]);
180 
233  int n,
234  double A[], int ldA,
235  double Q[], int ldQ,
236  double real[], double imag[],
237  int (*predicate)(double real, double imag, void *arg),
238  void *arg,
239  int selected[],
240  int *num_selected);
241 
279  int n,
280  int selected[],
281  double S[], int ldS,
282  double Q[], int ldQ,
283  double X[], int ldX);
284 
288 
292 
328  int n,
329  double S[], int ldS,
330  int (*predicate)(double real, double imag, void *arg),
331  void *arg,
332  int selected[],
333  int *num_selected);
334 
338 
343 
381  struct starneig_hessenberg_conf *conf,
382  int n, int begin, int end,
383  double A[], int ldA,
384  double Q[], int ldQ);
385 
425  struct starneig_schur_conf *conf,
426  int n,
427  double H[], int ldH,
428  double Q[], int ldQ,
429  double real[], double imag[]);
430 
475  struct starneig_reorder_conf *conf,
476  int n,
477  int selected[],
478  double S[], int ldS,
479  double Q[], int ldQ,
480  double real[], double imag[]);
481 
522  struct starneig_eigenvectors_conf *conf,
523  int n,
524  int selected[],
525  double S[], int ldS,
526  double Q[], int ldQ,
527  double X[], int ldX);
528 
532 
536 
537 #ifdef __cplusplus
538 }
539 #endif
540 
541 #endif // STARNEIG_SEP_SM_H
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)
Computes an eigenvector for each selected eigenvalue.
starneig_SEP_SM_Eigenvectors_expert
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.
expert.h
This file contains configuration structures and functions for the expert interface functions.
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[])
Computes a Schur decomposition given a Hessenberg decomposition.
starneig_eigenvectors_conf
Eigenvector computation configuration structure.
Definition: expert.h:780
starneig_SEP_SM_Hessenberg
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.
starneig_error_t
int starneig_error_t
Interface function return value data type.
Definition: error.h:59
error.h
This file contains the library error codes.
starneig_SEP_SM_Select
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.
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(*predicate)(double real, double imag, void *arg), void *arg, int selected[], int *num_selected)
Computes a (reordered) Schur decomposition of a general matrix.
starneig_SEP_SM_Hessenberg_expert
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.
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
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.
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[])
Reorders selected eigenvalues to the top left corner of a Schur decomposition.
starneig_SEP_SM_Schur_expert
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.
starneig_hessenberg_conf
Hessenberg reduction configuration structure.
Definition: expert.h:82