StarNEig Library  version v0.1-beta.3
A task-based library for solving nonsymmetric eigenvalue problems
expert.h
Go to the documentation of this file.
1 
41 #ifndef STARNEIG_EXPERT_H
42 #define STARNEIG_EXPERT_H
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 #include <starneig/configuration.h>
49 
58 
63 
67 #define STARNEIG_HESSENBERG_DEFAULT_TILE_SIZE -1
68 
72 #define STARNEIG_HESSENBERG_DEFAULT_PANEL_WIDTH -1
73 
78 
83  int tile_size;
84 
90 };
91 
100 
104 
109 
113 #define STARNEIG_SCHUR_DEFAULT_INTERATION_LIMIT -1
114 
118 #define STARNEIG_SCHUR_DEFAULT_TILE_SIZE -1
119 
123 #define STARNEIG_SCHUR_DEFAULT_SMALL_LIMIT -1
124 
128 #define STARNEIG_SCHUR_DEFAULT_AED_WINDOW_SIZE -1
129 
133 #define STARNEIG_SCHUR_DEFAULT_AED_SHIFT_COUNT -1
134 
138 #define STARNEIG_SCHUR_DEFAULT_AED_NIBBLE -1
139 
143 #define STARNEIG_SCHUR_DEFAULT_AED_PARALLEL_SOFT_LIMIT -1
144 
148 #define STARNEIG_SCHUR_DEFAULT_AED_PARALLEL_HARD_LIMIT -1
149 
153 #define STARNEIG_SCHUR_DEFAULT_WINDOW_SIZE -1
154 
158 #define STARNEIG_SCHUR_ROUNDED_WINDOW_SIZE -2
159 
163 #define STARNEIG_SCHUR_DEFAULT_SHIFTS_PER_WINDOW -1
164 
168 #define STARNEIG_SCHUR_DEFAULT_UPDATE_WIDTH -1
169 
173 #define STARNEIG_SCHUR_DEFAULT_UPDATE_HEIGHT -1
174 
179 
186 
192 
201 
209 
217 
226 
238 
249 
265 
273 
282 
291 };
292 
301 
305 
310 
496 typedef enum {
501 
507 typedef enum {
508 
511 
516 
522 
528 
535 
541 
549 
557 
566 
568 
572 #define STARNEIG_REORDER_DEFAULT_UPDATE_WIDTH -1
573 
577 #define STARNEIG_REORDER_DEFAULT_UPDATE_HEIGHT -1
578 
582 #define STARNEIG_REORDER_DEFAULT_TILE_SIZE -1
583 
587 #define STARNEIG_REORDER_DEFAULT_VALUES_PER_CHAIN -1
588 
592 #define STARNEIG_REORDER_DEFAULT_WINDOW_SIZE -1
593 
597 #define STARNEIG_REORDER_ROUNDED_WINDOW_SIZE -2
598 
602 #define STARNEIG_REORDER_DEFAULT_SMALL_WINDOW_SIZE -1
603 
607 #define STARNEIG_REORDER_DEFAULT_SMALL_WINDOW_THRESHOLD -1
608 
613 
618 
624 
630 
637 
653 
660 
668 
677 
686 };
687 
696 
700 
705 
709 #define STARNEIG_EIGENVECTORS_DEFAULT_TILE_SIZE -1
710 
715 
721 };
722 
723 
732 
736 
740 
741 #ifdef __cplusplus
742 }
743 #endif
744 
745 #endif // STARNEIG_EXPERT_H
int aed_window_size
Definition: expert.h:208
void starneig_schur_init_conf(struct starneig_schur_conf *conf)
Initializes a Schur reduction configuration structure with default parameters.
int small_window_threshold
Definition: expert.h:667
Default blueprint.
Definition: expert.h:510
int small_window_size
Definition: expert.h:659
int aed_shift_count
Definition: expert.h:216
Definition: expert.h:548
int iteration_limit
Definition: expert.h:185
void starneig_eigenvectors_init_conf(struct starneig_eigenvectors_conf *conf)
Initializes an eigenvectors configuration structure with default parameters.
Multi part plan.
Definition: expert.h:499
One part plan.
Definition: expert.h:498
Definition: expert.h:515
int update_height
Definition: expert.h:685
int window_size
Definition: expert.h:652
Schur reduction configuration structure.
Definition: expert.h:178
int shifts_per_window
Definition: expert.h:272
Eigenvalue reordering configuration structure.
Definition: expert.h:612
starneig_reorder_plan_t
Reordering plan enumerator.
Definition: expert.h:496
int aed_nibble
Definition: expert.h:225
starneig_reorder_plan_t plan
Definition: expert.h:617
starneig_reorder_blueprint_t
Task insertion blueprint.
Definition: expert.h:507
Default plan.
Definition: expert.h:497
This file contains StarNEig library configuration.
void starneig_hessenberg_init_conf(struct starneig_hessenberg_conf *conf)
Initializes a Hessenberg reduction configuration structure with default parameters.
Definition: expert.h:521
int aed_parallel_soft_limit
Definition: expert.h:237
int update_width
Definition: expert.h:281
Eigenvector computation configuration structure.
Definition: expert.h:714
int update_height
Definition: expert.h:290
int small_limit
Definition: expert.h:200
int window_size
Definition: expert.h:264
int aed_parallel_hard_limit
Definition: expert.h:248
Definition: expert.h:556
int panel_width
Definition: expert.h:89
int tile_size
Definition: expert.h:83
int tile_size
Definition: expert.h:720
starneig_reorder_blueprint_t blueprint
Definition: expert.h:623
int tile_size
Definition: expert.h:191
Definition: expert.h:534
Definition: expert.h:540
int update_width
Definition: expert.h:676
void starneig_reorder_init_conf(struct starneig_reorder_conf *conf)
Initializes an eigenvalue reordering configuration structure with default parameters.
Definition: expert.h:527
Definition: expert.h:565
Hessenberg reduction configuration structure.
Definition: expert.h:77
int tile_size
Definition: expert.h:629
int values_per_chain
Definition: expert.h:636