StarNEig User's Guide  master branch
A task-based library for solving dense 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_NIBBLE -1
134 
138 #define STARNEIG_SCHUR_DEFAULT_AED_PARALLEL_SOFT_LIMIT -1
139 
143 #define STARNEIG_SCHUR_DEFAULT_AED_PARALLEL_HARD_LIMIT -1
144 
148 #define STARNEIG_SCHUR_DEFAULT_SHIFT_ORIGIN -1
149 
153 #define STARNEIG_SCHUR_DEFAULT_SHIFT_COUNT -1
154 
158 #define STARNEIG_SCHUR_DEFAULT_WINDOW_SIZE -1
159 
163 #define STARNEIG_SCHUR_ROUNDED_WINDOW_SIZE -2
164 
168 #define STARNEIG_SCHUR_DEFAULT_SHIFTS_PER_WINDOW -1
169 
173 #define STARNEIG_SCHUR_DEFAULT_UPDATE_WIDTH -1
174 
178 #define STARNEIG_SCHUR_DEFAULT_UPDATE_HEIGHT -1
179 
183 #define STARNEIG_SCHUR_DEFAULT_THRESHOLD -1
184 
188 #define STARNEIG_SCHUR_NORM_STABLE_THRESHOLD -2
189 
193 #define STARNEIG_SCHUR_LAPACK_THRESHOLD -3
194 
199 
206 
212 
221 
229 
238 
250 
261 
273 
281 
297 
305 
314 
323 
336 
350 
361 };
362 
371 
375 
380 
567 typedef enum {
572 
578 typedef enum {
579 
582 
587 
593 
599 
606 
612 
620 
628 
637 
639 
643 #define STARNEIG_REORDER_DEFAULT_UPDATE_WIDTH -1
644 
648 #define STARNEIG_REORDER_DEFAULT_UPDATE_HEIGHT -1
649 
653 #define STARNEIG_REORDER_DEFAULT_TILE_SIZE -1
654 
658 #define STARNEIG_REORDER_DEFAULT_VALUES_PER_CHAIN -1
659 
663 #define STARNEIG_REORDER_DEFAULT_WINDOW_SIZE -1
664 
668 #define STARNEIG_REORDER_ROUNDED_WINDOW_SIZE -2
669 
673 #define STARNEIG_REORDER_DEFAULT_SMALL_WINDOW_SIZE -1
674 
678 #define STARNEIG_REORDER_DEFAULT_SMALL_WINDOW_THRESHOLD -1
679 
684 
689 
695 
701 
708 
724 
731 
739 
748 
757 };
758 
767 
771 
776 
780 #define STARNEIG_EIGENVECTORS_DEFAULT_TILE_SIZE -1
781 
786 
792 };
793 
794 
803 
807 
811 
812 #ifdef __cplusplus
813 }
814 #endif
815 
816 #endif // STARNEIG_EXPERT_H
starneig_schur_conf::tile_size
int tile_size
Definition: expert.h:211
STARNEIG_REORDER_ONE_PART_PLAN
@ STARNEIG_REORDER_ONE_PART_PLAN
One part plan.
Definition: expert.h:569
starneig_hessenberg_init_conf
void starneig_hessenberg_init_conf(struct starneig_hessenberg_conf *conf)
Initializes a Hessenberg reduction configuration structure with default parameters.
starneig_schur_init_conf
void starneig_schur_init_conf(struct starneig_schur_conf *conf)
Initializes a Schur reduction configuration structure with default parameters.
STARNEIG_REORDER_DUMMY_INSERT_A
@ STARNEIG_REORDER_DUMMY_INSERT_A
Definition: expert.h:586
starneig_eigenvectors_conf
Eigenvector computation configuration structure.
Definition: expert.h:785
starneig_schur_conf::left_threshold
double left_threshold
Definition: expert.h:335
starneig_schur_conf::right_threshold
double right_threshold
Definition: expert.h:349
starneig_schur_conf::shift_origin
int shift_origin
Definition: expert.h:272
starneig_hessenberg_conf::panel_width
int panel_width
Definition: expert.h:89
starneig_reorder_conf::tile_size
int tile_size
Definition: expert.h:700
starneig_eigenvectors_init_conf
void starneig_eigenvectors_init_conf(struct starneig_eigenvectors_conf *conf)
Initializes an eigenvectors configuration structure with default parameters.
starneig_reorder_conf::values_per_chain
int values_per_chain
Definition: expert.h:707
STARNEIG_REORDER_CHAIN_INSERT_A
@ STARNEIG_REORDER_CHAIN_INSERT_A
Definition: expert.h:598
starneig_schur_conf::aed_parallel_soft_limit
int aed_parallel_soft_limit
Definition: expert.h:249
starneig_schur_conf::iteration_limit
int iteration_limit
Definition: expert.h:205
STARNEIG_REORDER_CHAIN_INSERT_B
@ STARNEIG_REORDER_CHAIN_INSERT_B
Definition: expert.h:605
starneig_reorder_conf::update_height
int update_height
Definition: expert.h:756
STARNEIG_REORDER_CHAIN_INSERT_D
@ STARNEIG_REORDER_CHAIN_INSERT_D
Definition: expert.h:619
starneig_reorder_conf::small_window_threshold
int small_window_threshold
Definition: expert.h:738
starneig_schur_conf::update_height
int update_height
Definition: expert.h:322
starneig_reorder_plan_t
starneig_reorder_plan_t
Reordering plan enumerator.
Definition: expert.h:567
STARNEIG_REORDER_CHAIN_INSERT_E
@ STARNEIG_REORDER_CHAIN_INSERT_E
Definition: expert.h:627
starneig_reorder_conf::plan
starneig_reorder_plan_t plan
Definition: expert.h:688
starneig_reorder_init_conf
void starneig_reorder_init_conf(struct starneig_reorder_conf *conf)
Initializes an eigenvalue reordering configuration structure with default parameters.
STARNEIG_REORDER_CHAIN_INSERT_F
@ STARNEIG_REORDER_CHAIN_INSERT_F
Definition: expert.h:636
starneig_reorder_conf::blueprint
starneig_reorder_blueprint_t blueprint
Definition: expert.h:694
starneig_schur_conf::aed_parallel_hard_limit
int aed_parallel_hard_limit
Definition: expert.h:260
starneig_eigenvectors_conf::tile_size
int tile_size
Definition: expert.h:791
STARNEIG_REORDER_DEFAULT_PLAN
@ STARNEIG_REORDER_DEFAULT_PLAN
Default plan.
Definition: expert.h:568
STARNEIG_REORDER_CHAIN_INSERT_C
@ STARNEIG_REORDER_CHAIN_INSERT_C
Definition: expert.h:611
STARNEIG_REORDER_DUMMY_INSERT_B
@ STARNEIG_REORDER_DUMMY_INSERT_B
Definition: expert.h:592
starneig_reorder_conf::update_width
int update_width
Definition: expert.h:747
STARNEIG_REORDER_DEFAULT_BLUEPRINT
@ STARNEIG_REORDER_DEFAULT_BLUEPRINT
Default blueprint.
Definition: expert.h:581
starneig_schur_conf::shift_count
int shift_count
Definition: expert.h:280
starneig_reorder_conf::window_size
int window_size
Definition: expert.h:723
starneig_reorder_conf
Eigenvalue reordering configuration structure.
Definition: expert.h:683
configuration.h
This file contains StarNEig library configuration.
starneig_schur_conf::small_limit
int small_limit
Definition: expert.h:220
starneig_schur_conf
Schur reduction configuration structure.
Definition: expert.h:198
starneig_schur_conf::inf_threshold
double inf_threshold
Definition: expert.h:360
starneig_schur_conf::aed_nibble
int aed_nibble
Definition: expert.h:237
starneig_schur_conf::update_width
int update_width
Definition: expert.h:313
starneig_schur_conf::aed_window_size
int aed_window_size
Definition: expert.h:228
starneig_reorder_blueprint_t
starneig_reorder_blueprint_t
Task insertion blueprint.
Definition: expert.h:578
starneig_reorder_conf::small_window_size
int small_window_size
Definition: expert.h:730
starneig_schur_conf::window_size
int window_size
Definition: expert.h:296
STARNEIG_REORDER_MULTI_PART_PLAN
@ STARNEIG_REORDER_MULTI_PART_PLAN
Multi part plan.
Definition: expert.h:570
starneig_schur_conf::shifts_per_window
int shifts_per_window
Definition: expert.h:304
starneig_hessenberg_conf::tile_size
int tile_size
Definition: expert.h:83
starneig_hessenberg_conf
Hessenberg reduction configuration structure.
Definition: expert.h:77