StarNEig Library  v0.1.2
A task-based library for solving dense nonsymmetric eigenvalue problems
gep_sm.h
Go to the documentation of this file.
1 
41 #ifndef STARNEIG_GEP_SM_H
42 #define STARNEIG_GEP_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 
107  int n,
108  double A[], int ldA,
109  double B[], int ldB,
110  double Q[], int ldQ,
111  double Z[], int ldZ);
112 
165  int n,
166  double H[], int ldH,
167  double R[], int ldR,
168  double Q[], int ldQ,
169  double Z[], int ldZ,
170  double real[], double imag[], double beta[]);
171 
235  int n,
236  int selected[],
237  double S[], int ldS,
238  double T[], int ldT,
239  double Q[], int ldQ,
240  double Z[], int ldZ,
241  double real[], double imag[], double beta[]);
242 
317  int n,
318  double A[], int ldA,
319  double B[], int ldB,
320  double Q[], int ldQ,
321  double Z[], int ldZ,
322  double real[], double imag[], double beta[],
323  int (*predicate)(double real, double imag, double beta, void *arg),
324  void *arg,
325  int selected[],
326  int *num_selected);
327 
372  int n,
373  int selected[],
374  double S[], int ldS,
375  double T[], int ldT,
376  double Z[], int ldZ,
377  double X[], int ldX);
378 
382 
386 
429  int n,
430  double S[], int ldS,
431  double T[], int ldT,
432  int (*predicate)(double real, double imag, double beta, void *arg),
433  void *arg,
434  int selected[],
435  int *num_selected);
436 
440 
445 
504  struct starneig_schur_conf *conf,
505  int n,
506  double H[], int ldH,
507  double R[], int ldR,
508  double Q[], int ldQ,
509  double Z[], int ldZ,
510  double real[], double imag[], double beta[]);
511 
574  struct starneig_reorder_conf *conf,
575  int n,
576  int selected[],
577  double S[], int ldS,
578  double T[], int ldT,
579  double Q[], int ldQ,
580  double Z[], int ldZ,
581  double real[], double imag[], double beta[]);
582 
630  struct starneig_eigenvectors_conf *conf,
631  int n,
632  int selected[],
633  double S[], int ldS,
634  double T[], int ldT,
635  double Z[], int ldZ,
636  double X[], int ldX);
637 
641 
645 
646 #ifdef __cplusplus
647 }
648 #endif
649 
650 #endif // STARNEIG_GEP_SM_H
starneig_error_t starneig_GEP_SM_HessenbergTriangular(int n, double A[], int ldA, double B[], int ldB, double Q[], int ldQ, double Z[], int ldZ)
Computes a Hessenberg-triangular decomposition of a general matrix pencil.
starneig_error_t starneig_GEP_SM_Eigenvectors(int n, int selected[], double S[], int ldS, double T[], int ldT, double Z[], int ldZ, double X[], int ldX)
Computes a generalized eigenvector for each selected generalized eigenvalue.
This file contains configuration structures and functions for the expert interface functions...
Schur reduction configuration structure.
Definition: expert.h:193
Eigenvalue reordering configuration structure.
Definition: expert.h:666
This file contains the library error codes.
This file contains StarNEig library configuration.
starneig_error_t starneig_GEP_SM_Schur(int n, double H[], int ldH, double R[], int ldR, double Q[], int ldQ, double Z[], int ldZ, double real[], double imag[], double beta[])
Computes a generalized Schur decomposition given a Hessenberg-triangular decomposition.
Eigenvector computation configuration structure.
Definition: expert.h:768
starneig_error_t starneig_GEP_SM_ReorderSchur(int n, int selected[], double S[], int ldS, double T[], int ldT, double Q[], int ldQ, double Z[], int ldZ, double real[], double imag[], double beta[])
Reorders selected generalized eigenvalues to the top left corner of a generalized Schur decomposition...
int starneig_error_t
Interface function return value data type.
Definition: error.h:59
starneig_error_t starneig_GEP_SM_Reduce(int n, double A[], int ldA, double B[], int ldB, double Q[], int ldQ, double Z[], int ldZ, 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 starneig_GEP_SM_Schur_expert(struct starneig_schur_conf *conf, int n, double H[], int ldH, double R[], int ldR, double Q[], int ldQ, double Z[], int ldZ, double real[], double imag[], double beta[])
Computes a generalized Schur decomposition given a Hessenberg-triangular decomposition.
starneig_error_t starneig_GEP_SM_Eigenvectors_expert(struct starneig_eigenvectors_conf *conf, int n, int selected[], double S[], int ldS, double T[], int ldT, double Z[], int ldZ, double X[], int ldX)
Computes a generalized eigenvector for each selected generalized eigenvalue.
starneig_error_t starneig_GEP_SM_ReorderSchur_expert(struct starneig_reorder_conf *conf, int n, int selected[], double S[], int ldS, double T[], int ldT, double Q[], int ldQ, double Z[], int ldZ, double real[], double imag[], double beta[])
Reorders selected eigenvalues to the top left corner of a generalized Schur decomposition.
starneig_error_t starneig_GEP_SM_Select(int n, double S[], int ldS, double T[], int ldT, 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...