libflame revision_anchor
Functions
FLA_Lyap.h File Reference

(r)

Go to the source code of this file.

Functions

FLA_Error FLASH_Lyap (FLA_Trans trans, FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale)
 
FLA_Error FLA_Lyap (FLA_Trans trans, FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale)
 
FLA_Error FLA_Lyap_internal (FLA_Trans trans, FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
 
FLA_Error FLA_Lyap_n (FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
 
FLA_Error FLA_Lyap_h (FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
 

Function Documentation

◆ FLA_Lyap()

FLA_Error FLA_Lyap ( FLA_Trans  trans,
FLA_Obj  isgn,
FLA_Obj  A,
FLA_Obj  C,
FLA_Obj  scale 
)
16{
18
19 // Check parameters.
22
23 // Invoke FLA_Lyap_internal() with the appropriate control tree.
25
26 return r_val;
27}
fla_lyap_t * fla_lyap_cntl
Definition FLA_Lyap_cntl_init.c:20
FLA_Error FLA_Lyap_internal(FLA_Trans trans, FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_internal.c:16
FLA_Error FLA_Lyap_check(FLA_Trans trans, FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale)
Definition FLA_Lyap_check.c:13
unsigned int FLA_Check_error_level(void)
Definition FLA_Check.c:18
int FLA_Error
Definition FLA_type_defs.h:47
int i
Definition bl1_axmyv2.c:145

References FLA_Check_error_level(), FLA_Lyap_check(), fla_lyap_cntl, FLA_Lyap_internal(), and i.

◆ FLA_Lyap_h()

FLA_Error FLA_Lyap_h ( FLA_Obj  isgn,
FLA_Obj  A,
FLA_Obj  C,
FLA_Obj  scale,
fla_lyap_t cntl 
)
14{
16
18 {
20 }
21 else if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_VARIANT2 )
22 {
24 }
25 else if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_VARIANT3 )
26 {
28 }
29 else if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_VARIANT4 )
30 {
32 }
33 else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT1 )
34 {
36 }
37 else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT2 )
38 {
40 }
41 else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT3 )
42 {
44 }
45 else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT4 )
46 {
48 }
49 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
50 {
51 r_val = FLA_Lyap_h_blk_var1( isgn, A, C, scale, cntl );
52 }
53 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
54 {
55 r_val = FLA_Lyap_h_blk_var2( isgn, A, C, scale, cntl );
56 }
57 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
58 {
59 r_val = FLA_Lyap_h_blk_var3( isgn, A, C, scale, cntl );
60 }
61 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 )
62 {
63 r_val = FLA_Lyap_h_blk_var4( isgn, A, C, scale, cntl );
64 }
65 else
66 {
68 }
69
70 return r_val;
71}
FLA_Error FLA_Lyap_h_opt_var4(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_h_opt_var4.c:13
FLA_Error FLA_Lyap_h_blk_var3(FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_h_blk_var3.c:13
FLA_Error FLA_Lyap_h_opt_var1(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_h_opt_var1.c:13
FLA_Error FLA_Lyap_h_unb_var2(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_h_unb_var2.c:13
FLA_Error FLA_Lyap_h_unb_var4(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_h_unb_var4.c:13
FLA_Error FLA_Lyap_h_blk_var1(FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_h_blk_var1.c:13
FLA_Error FLA_Lyap_h_blk_var4(FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_h_blk_var4.c:13
FLA_Error FLA_Lyap_h_opt_var3(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_h_opt_var3.c:13
FLA_Error FLA_Lyap_h_opt_var2(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_h_opt_var2.c:13
FLA_Error FLA_Lyap_h_unb_var1(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_h_unb_var1.c:13
FLA_Error FLA_Lyap_h_unb_var3(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_h_unb_var3.c:13
FLA_Error FLA_Lyap_h_blk_var2(FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_h_blk_var2.c:13

References FLA_Lyap_h_blk_var1(), FLA_Lyap_h_blk_var2(), FLA_Lyap_h_blk_var3(), FLA_Lyap_h_blk_var4(), FLA_Lyap_h_opt_var1(), FLA_Lyap_h_opt_var2(), FLA_Lyap_h_opt_var3(), FLA_Lyap_h_opt_var4(), FLA_Lyap_h_unb_var1(), FLA_Lyap_h_unb_var2(), FLA_Lyap_h_unb_var3(), FLA_Lyap_h_unb_var4(), and i.

Referenced by FLA_Lyap_internal().

◆ FLA_Lyap_internal()

FLA_Error FLA_Lyap_internal ( FLA_Trans  trans,
FLA_Obj  isgn,
FLA_Obj  A,
FLA_Obj  C,
FLA_Obj  scale,
fla_lyap_t cntl 
)
17{
19
22
23 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
26 {
27 // Recurse
29 isgn,
32 scale,
34 }
35 else if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
38 {
39 // Enqueue
40 ENQUEUE_FLASH_Lyap( trans, isgn, A, C, scale, cntl );
41 }
42 else
43 {
44 if ( FLA_Cntl_matrix_type( cntl ) == FLA_HIER &&
47 {
48 // Execute leaf
49 cntl = fla_lyap_cntl_leaf;
50 }
51
52 // Parameter combinations
53 if ( trans == FLA_NO_TRANSPOSE )
54 {
55 r_val = FLA_Lyap_n( isgn, A, C, scale, cntl );
56 }
57 else if ( trans == FLA_TRANSPOSE || trans == FLA_CONJ_TRANSPOSE )
58 {
59 r_val = FLA_Lyap_h( isgn, A, C, scale, cntl );
60 }
61 }
62
63 return r_val;
64}
FLA_Bool FLASH_Queue_get_enabled(void)
Definition FLASH_Queue.c:171
FLA_Error FLA_Lyap_n(FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_n.c:13
FLA_Error FLA_Lyap_h(FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_h.c:13
FLA_Error FLA_Lyap_internal(FLA_Trans trans, FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_internal.c:16
fla_lyap_t * fla_lyap_cntl_leaf
Definition FLA_Lyap_cntl_init.c:19
fla_lyap_t * flash_lyap_cntl
Definition FLASH_Lyap_cntl_init.c:21
FLA_Error FLA_Lyap_internal_check(FLA_Trans trans, FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_internal_check.c:13
FLA_Elemtype FLA_Obj_elemtype(FLA_Obj obj)
Definition FLA_Query.c:51

References FLA_Check_error_level(), fla_lyap_cntl_leaf, FLA_Lyap_h(), FLA_Lyap_internal(), FLA_Lyap_internal_check(), FLA_Lyap_n(), FLA_Obj_elemtype(), flash_lyap_cntl, FLASH_Queue_get_enabled(), and i.

Referenced by FLA_Lyap(), FLA_Lyap_h_blk_var1(), FLA_Lyap_h_blk_var2(), FLA_Lyap_h_blk_var3(), FLA_Lyap_h_blk_var4(), FLA_Lyap_h_task(), FLA_Lyap_internal(), FLA_Lyap_n_blk_var1(), FLA_Lyap_n_blk_var2(), FLA_Lyap_n_blk_var3(), FLA_Lyap_n_blk_var4(), FLA_Lyap_n_task(), FLA_Lyap_task(), and FLASH_Lyap().

◆ FLA_Lyap_n()

FLA_Error FLA_Lyap_n ( FLA_Obj  isgn,
FLA_Obj  A,
FLA_Obj  C,
FLA_Obj  scale,
fla_lyap_t cntl 
)
14{
16
18 {
20 }
21 else if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_VARIANT2 )
22 {
24 }
25 else if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_VARIANT3 )
26 {
28 }
29 else if ( FLA_Cntl_variant( cntl ) == FLA_UNBLOCKED_VARIANT4 )
30 {
32 }
33 else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT1 )
34 {
36 }
37 else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT2 )
38 {
40 }
41 else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT3 )
42 {
44 }
45 else if ( FLA_Cntl_variant( cntl ) == FLA_UNB_OPT_VARIANT4 )
46 {
48 }
49 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT1 )
50 {
51 r_val = FLA_Lyap_n_blk_var1( isgn, A, C, scale, cntl );
52 }
53 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT2 )
54 {
55 r_val = FLA_Lyap_n_blk_var2( isgn, A, C, scale, cntl );
56 }
57 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT3 )
58 {
59 r_val = FLA_Lyap_n_blk_var3( isgn, A, C, scale, cntl );
60 }
61 else if ( FLA_Cntl_variant( cntl ) == FLA_BLOCKED_VARIANT4 )
62 {
63 r_val = FLA_Lyap_n_blk_var4( isgn, A, C, scale, cntl );
64 }
65 else
66 {
68 }
69
70 return r_val;
71}
FLA_Error FLA_Lyap_n_opt_var4(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_n_opt_var4.c:13
FLA_Error FLA_Lyap_n_unb_var1(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_n_unb_var1.c:13
FLA_Error FLA_Lyap_n_opt_var2(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_n_opt_var2.c:13
FLA_Error FLA_Lyap_n_blk_var4(FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_n_blk_var4.c:13
FLA_Error FLA_Lyap_n_blk_var2(FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_n_blk_var2.c:13
FLA_Error FLA_Lyap_n_blk_var3(FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_n_blk_var3.c:13
FLA_Error FLA_Lyap_n_blk_var1(FLA_Obj isgn, FLA_Obj A, FLA_Obj C, FLA_Obj scale, fla_lyap_t *cntl)
Definition FLA_Lyap_n_blk_var1.c:13
FLA_Error FLA_Lyap_n_opt_var1(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_n_opt_var1.c:13
FLA_Error FLA_Lyap_n_unb_var3(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_n_unb_var3.c:13
FLA_Error FLA_Lyap_n_unb_var2(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_n_unb_var2.c:13
FLA_Error FLA_Lyap_n_unb_var4(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_n_unb_var4.c:13
FLA_Error FLA_Lyap_n_opt_var3(FLA_Obj isgn, FLA_Obj A, FLA_Obj C)
Definition FLA_Lyap_n_opt_var3.c:13

References FLA_Lyap_n_blk_var1(), FLA_Lyap_n_blk_var2(), FLA_Lyap_n_blk_var3(), FLA_Lyap_n_blk_var4(), FLA_Lyap_n_opt_var1(), FLA_Lyap_n_opt_var2(), FLA_Lyap_n_opt_var3(), FLA_Lyap_n_opt_var4(), FLA_Lyap_n_unb_var1(), FLA_Lyap_n_unb_var2(), FLA_Lyap_n_unb_var3(), FLA_Lyap_n_unb_var4(), and i.

Referenced by FLA_Lyap_internal().

◆ FLASH_Lyap()

FLA_Error FLASH_Lyap ( FLA_Trans  trans,
FLA_Obj  isgn,
FLA_Obj  A,
FLA_Obj  C,
FLA_Obj  scale 
)
16{
18
19 // Check parameters.
22
23 // Begin a parallel region.
25
26 // Enqueue tasks via a SuperMatrix-aware control tree.
28
29 // End the parallel region.
31
32 return r_val;
33}
fla_lyap_t * flash_lyap_cntl
Definition FLASH_Lyap_cntl_init.c:21
void FLASH_Queue_begin(void)
Definition FLASH_Queue.c:59
void FLASH_Queue_end(void)
Definition FLASH_Queue.c:81

References FLA_Check_error_level(), FLA_Lyap_check(), FLA_Lyap_internal(), flash_lyap_cntl, FLASH_Queue_begin(), FLASH_Queue_end(), and i.