libflame revision_anchor
Functions | Variables
FLASH_LU_piv.c File Reference

(r)

Functions

FLA_Error FLASH_LU_piv (FLA_Obj A, FLA_Obj p)
 

Variables

fla_lu_tflash_lu_piv_cntl
 

Function Documentation

◆ FLASH_LU_piv()

FLA_Error FLASH_LU_piv ( FLA_Obj  A,
FLA_Obj  p 
)
16{
18
19 // Check parameters.
22
23 // *** The current LU_piv algorithm implemented assumes that
24 // the matrix has a hierarchical depth of 1. We check for that here, because
25 // we anticipate that we'll use a more general algorithm in the future, and
26 // we don't want to forget to remove the constraint. ***
27 if ( FLASH_Obj_depth( A ) != 1 )
28 {
29 FLA_Print_message( "FLASH_LU_piv() currently only supports matrices of depth 1",
31 FLA_Abort();
32 }
33
34 // Begin a parallel region.
36
37 // Invoke FLA_LU_piv_internal() with large control tree.
39
40 // End the parallel region.
42
43 // Check for singularity.
46
47 return r_val;
48}
fla_lu_t * flash_lu_piv_cntl
Definition FLASH_LU_piv_cntl_init.c:18
void FLASH_Queue_begin(void)
Definition FLASH_Queue.c:59
void FLASH_Queue_end(void)
Definition FLASH_Queue.c:81
dim_t FLASH_Obj_depth(FLA_Obj H)
Definition FLASH_Obj.c:20
FLA_Error FLASH_LU_find_zero_on_diagonal(FLA_Obj A)
Definition FLASH_LU_find_zero_on_diagonal.c:13
FLA_Error FLA_LU_piv_internal(FLA_Obj A, FLA_Obj p, fla_lu_t *cntl)
Definition FLA_LU_piv_internal.c:15
FLA_Error FLA_LU_piv_check(FLA_Obj A, FLA_Obj p)
Definition FLA_LU_piv_check.c:13
void FLA_Abort(void)
Definition FLA_Error.c:248
unsigned int FLA_Check_error_level(void)
Definition FLA_Check.c:18
void FLA_Print_message(char *str, char *file, int line)
Definition FLA_Error.c:234
int FLA_Error
Definition FLA_type_defs.h:47
int i
Definition bl1_axmyv2.c:145

References FLA_Abort(), FLA_Check_error_level(), FLA_LU_piv_check(), FLA_LU_piv_internal(), FLA_Print_message(), FLASH_LU_find_zero_on_diagonal(), flash_lu_piv_cntl, FLASH_Obj_depth(), FLASH_Queue_begin(), FLASH_Queue_end(), and i.

Variable Documentation

◆ flash_lu_piv_cntl

fla_lu_t* flash_lu_piv_cntl
extern