libflame  revision_anchor
Functions
FLASH_Chol_solve.c File Reference

(r)

Functions

FLA_Error FLASH_Chol_solve (FLA_Uplo uplo, FLA_Obj A, FLA_Obj B, FLA_Obj X)
 

Function Documentation

◆ FLASH_Chol_solve()

FLA_Error FLASH_Chol_solve ( FLA_Uplo  uplo,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  X 
)
14 {
15  // Check parameters.
16  if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
17  FLA_Chol_solve_check( uplo, A, B, X );
18 
19  FLASH_Copy( B, X );
20 
21  if ( uplo == FLA_LOWER_TRIANGULAR )
22  {
23  FLASH_Trsm( FLA_LEFT, FLA_LOWER_TRIANGULAR, FLA_NO_TRANSPOSE,
24  FLA_NONUNIT_DIAG, FLA_ONE, A, X );
25  FLASH_Trsm( FLA_LEFT, FLA_LOWER_TRIANGULAR, FLA_CONJ_TRANSPOSE,
26  FLA_NONUNIT_DIAG, FLA_ONE, A, X );
27  }
28  else // if ( uplo == FLA_UPPER_TRIANGULAR )
29  {
30  FLASH_Trsm( FLA_LEFT, FLA_UPPER_TRIANGULAR, FLA_CONJ_TRANSPOSE,
31  FLA_NONUNIT_DIAG, FLA_ONE, A, X );
32  FLASH_Trsm( FLA_LEFT, FLA_UPPER_TRIANGULAR, FLA_NO_TRANSPOSE,
33  FLA_NONUNIT_DIAG, FLA_ONE, A, X );
34  }
35 
36  return FLA_SUCCESS;
37 }
FLA_Error FLASH_Copy(FLA_Obj A, FLA_Obj B)
Definition: FLASH_Copy.c:15
FLA_Error FLASH_Trsm(FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
Definition: FLASH_Trsm.c:15
FLA_Error FLA_Chol_solve_check(FLA_Uplo uplo, FLA_Obj A, FLA_Obj B, FLA_Obj X)
Definition: FLA_Chol_solve_check.c:13
FLA_Obj FLA_ONE
Definition: FLA_Init.c:18
unsigned int FLA_Check_error_level(void)
Definition: FLA_Check.c:18

References FLA_Check_error_level(), FLA_Chol_solve_check(), FLA_ONE, FLASH_Copy(), and FLASH_Trsm().