StarNEig User's Guide  v0.1.7
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 
77 #define STARNEIG_HESSENBERG_DEFAULT_PARALLEL_WORKER_SIZE -1
78 
83 
88  int tile_size;
89 
95 
102 };
103 
112 
116 
121 
125 #define STARNEIG_SCHUR_DEFAULT_INTERATION_LIMIT -1
126 
130 #define STARNEIG_SCHUR_DEFAULT_TILE_SIZE -1
131 
135 #define STARNEIG_SCHUR_DEFAULT_SMALL_LIMIT -1
136 
140 #define STARNEIG_SCHUR_DEFAULT_AED_WINDOW_SIZE -1
141 
145 #define STARNEIG_SCHUR_DEFAULT_AED_NIBBLE -1
146 
150 #define STARNEIG_SCHUR_DEFAULT_AED_PARALLEL_SOFT_LIMIT -1
151 
155 #define STARNEIG_SCHUR_DEFAULT_AED_PARALLEL_HARD_LIMIT -1
156 
160 #define STARNEIG_SCHUR_DEFAULT_SHIFT_COUNT -1
161 
165 #define STARNEIG_SCHUR_DEFAULT_WINDOW_SIZE -1
166 
170 #define STARNEIG_SCHUR_ROUNDED_WINDOW_SIZE -2
171 
175 #define STARNEIG_SCHUR_DEFAULT_SHIFTS_PER_WINDOW -1
176 
180 #define STARNEIG_SCHUR_DEFAULT_UPDATE_WIDTH -1
181 
185 #define STARNEIG_SCHUR_DEFAULT_UPDATE_HEIGHT -1
186 
190 #define STARNEIG_SCHUR_DEFAULT_THRESHOLD -1
191 
195 #define STARNEIG_SCHUR_NORM_STABLE_THRESHOLD -2
196 
200 #define STARNEIG_SCHUR_LAPACK_THRESHOLD -3
201 
206 
213 
219 
228 
236 
245 
257 
268 
276 
292 
300 
309 
318 
331 
345 
356 };
357 
366 
370 
375 
562 typedef enum {
567 
573 typedef enum {
574 
577 
582 
588 
594 
601 
607 
615 
623 
632 
634 
638 #define STARNEIG_REORDER_DEFAULT_UPDATE_WIDTH -1
639 
643 #define STARNEIG_REORDER_DEFAULT_UPDATE_HEIGHT -1
644 
648 #define STARNEIG_REORDER_DEFAULT_TILE_SIZE -1
649 
653 #define STARNEIG_REORDER_DEFAULT_VALUES_PER_CHAIN -1
654 
658 #define STARNEIG_REORDER_DEFAULT_WINDOW_SIZE -1
659 
663 #define STARNEIG_REORDER_ROUNDED_WINDOW_SIZE -2
664 
668 #define STARNEIG_REORDER_DEFAULT_SMALL_WINDOW_SIZE -1
669 
673 #define STARNEIG_REORDER_DEFAULT_SMALL_WINDOW_THRESHOLD -1
674 
679 
684 
690 
696 
703 
719 
726 
734 
743 
752 };
753 
762 
766 
771 
775 #define STARNEIG_EIGENVECTORS_DEFAULT_TILE_SIZE -1
776 
781 
787 };
788 
789 
798 
802 
806 
807 #ifdef __cplusplus
808 }
809 #endif
810 
811 #endif // STARNEIG_EXPERT_H
starneig_schur_conf::tile_size
int tile_size
Definition: expert.h:218
STARNEIG_REORDER_ONE_PART_PLAN
@ STARNEIG_REORDER_ONE_PART_PLAN
One part plan.
Definition: expert.h:564
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:581
starneig_eigenvectors_conf
Eigenvector computation configuration structure.
Definition: expert.h:780
starneig_schur_conf::left_threshold
double left_threshold
Definition: expert.h:330
starneig_schur_conf::right_threshold
double right_threshold
Definition: expert.h:344
starneig_hessenberg_conf::panel_width
int panel_width
Definition: expert.h:94
starneig_reorder_conf::tile_size
int tile_size
Definition: expert.h:695
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:702
STARNEIG_REORDER_CHAIN_INSERT_A
@ STARNEIG_REORDER_CHAIN_INSERT_A
Definition: expert.h:593
starneig_schur_conf::aed_parallel_soft_limit
int aed_parallel_soft_limit
Definition: expert.h:256
starneig_schur_conf::iteration_limit
int iteration_limit
Definition: expert.h:212
STARNEIG_REORDER_CHAIN_INSERT_B
@ STARNEIG_REORDER_CHAIN_INSERT_B
Definition: expert.h:600
starneig_reorder_conf::update_height
int update_height
Definition: expert.h:751
STARNEIG_REORDER_CHAIN_INSERT_D
@ STARNEIG_REORDER_CHAIN_INSERT_D
Definition: expert.h:614
starneig_reorder_conf::small_window_threshold
int small_window_threshold
Definition: expert.h:733
starneig_schur_conf::update_height
int update_height
Definition: expert.h:317
starneig_reorder_plan_t
starneig_reorder_plan_t
Reordering plan enumerator.
Definition: expert.h:562
STARNEIG_REORDER_CHAIN_INSERT_E
@ STARNEIG_REORDER_CHAIN_INSERT_E
Definition: expert.h:622
starneig_reorder_conf::plan
starneig_reorder_plan_t plan
Definition: expert.h:683
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:631
starneig_reorder_conf::blueprint
starneig_reorder_blueprint_t blueprint
Definition: expert.h:689
starneig_schur_conf::aed_parallel_hard_limit
int aed_parallel_hard_limit
Definition: expert.h:267
starneig_eigenvectors_conf::tile_size
int tile_size
Definition: expert.h:786
STARNEIG_REORDER_DEFAULT_PLAN
@ STARNEIG_REORDER_DEFAULT_PLAN
Default plan.
Definition: expert.h:563
STARNEIG_REORDER_CHAIN_INSERT_C
@ STARNEIG_REORDER_CHAIN_INSERT_C
Definition: expert.h:606
STARNEIG_REORDER_DUMMY_INSERT_B
@ STARNEIG_REORDER_DUMMY_INSERT_B
Definition: expert.h:587
starneig_reorder_conf::update_width
int update_width
Definition: expert.h:742
STARNEIG_REORDER_DEFAULT_BLUEPRINT
@ STARNEIG_REORDER_DEFAULT_BLUEPRINT
Default blueprint.
Definition: expert.h:576
starneig_schur_conf::shift_count
int shift_count
Definition: expert.h:275
starneig_reorder_conf::window_size
int window_size
Definition: expert.h:718
starneig_reorder_conf
Eigenvalue reordering configuration structure.
Definition: expert.h:678
configuration.h
This file contains StarNEig library configuration.
starneig_schur_conf::small_limit
int small_limit
Definition: expert.h:227
starneig_schur_conf
Schur reduction configuration structure.
Definition: expert.h:205
starneig_schur_conf::inf_threshold
double inf_threshold
Definition: expert.h:355
starneig_schur_conf::aed_nibble
int aed_nibble
Definition: expert.h:244
starneig_schur_conf::update_width
int update_width
Definition: expert.h:308
starneig_schur_conf::aed_window_size
int aed_window_size
Definition: expert.h:235
starneig_reorder_blueprint_t
starneig_reorder_blueprint_t
Task insertion blueprint.
Definition: expert.h:573
starneig_reorder_conf::small_window_size
int small_window_size
Definition: expert.h:725
starneig_schur_conf::window_size
int window_size
Definition: expert.h:291
STARNEIG_REORDER_MULTI_PART_PLAN
@ STARNEIG_REORDER_MULTI_PART_PLAN
Multi part plan.
Definition: expert.h:565
starneig_hessenberg_conf::parallel_worker_size
int parallel_worker_size
Definition: expert.h:101
starneig_schur_conf::shifts_per_window
int shifts_per_window
Definition: expert.h:299
starneig_hessenberg_conf::tile_size
int tile_size
Definition: expert.h:88
starneig_hessenberg_conf
Hessenberg reduction configuration structure.
Definition: expert.h:82