libflame  revision_anchor
Functions
FLA_Bidiag_UT_form_V_check.c File Reference

(r)

Functions

FLA_Error FLA_Bidiag_UT_form_V_check (FLA_Obj A, FLA_Obj T, FLA_Obj V)
 

Function Documentation

◆ FLA_Bidiag_UT_form_V_check()

FLA_Error FLA_Bidiag_UT_form_V_check ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  V 
)
14 {
15  FLA_Error e_val;
16  dim_t m_A, n_A;
17 
18  e_val = FLA_Check_floating_object( A );
19  FLA_Check_error_code( e_val );
20 
21  e_val = FLA_Check_nonconstant_object( A );
22  FLA_Check_error_code( e_val );
23 
25  FLA_Check_error_code( e_val );
26 
28  FLA_Check_error_code( e_val );
29 
30  // U is not necessary to be square.
31  // e_val = FLA_Check_square( V );
32  // FLA_Check_error_code( e_val );
33 
34 
35  m_A = FLA_Obj_length( A );
36  n_A = FLA_Obj_width( A );
37 
38  // Form V (not V^H) has a problem that dimensions are mismatched
39  // when it overwrites on A that contains house holder vectors on
40  // the uppper triangular of the diagonal or subdiagonal.
41  if ( m_A >= n_A )
42  {
43  e_val = FLA_Check_object_width_equals( T, n_A );
44  FLA_Check_error_code( e_val );
45 
46  e_val = FLA_Check_object_width_equals( V, n_A );
47  FLA_Check_error_code( e_val );
48  }
49  else
50  {
51  e_val = FLA_Check_object_width_equals( T, m_A );
52  FLA_Check_error_code( e_val );
53 
54  e_val = FLA_Check_object_length_equals( V, n_A );
55  FLA_Check_error_code( e_val );
56  }
57 
58  return FLA_SUCCESS;
59 }
FLA_Error FLA_Check_object_width_equals(FLA_Obj A, dim_t n)
Definition: FLA_Check.c:1049
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
FLA_Error FLA_Check_object_length_equals(FLA_Obj A, dim_t m)
Definition: FLA_Check.c:1039
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116
FLA_Error FLA_Check_nonconstant_object(FLA_Obj A)
Definition: FLA_Check.c:954
FLA_Error FLA_Check_identical_object_datatype(FLA_Obj A, FLA_Obj B)
Definition: FLA_Check.c:967
FLA_Error FLA_Check_floating_object(FLA_Obj A)
Definition: FLA_Check.c:232
int FLA_Error
Definition: FLA_type_defs.h:47
unsigned long dim_t
Definition: FLA_type_defs.h:71

References FLA_Check_floating_object(), FLA_Check_identical_object_datatype(), FLA_Check_nonconstant_object(), FLA_Check_object_length_equals(), FLA_Check_object_width_equals(), FLA_Obj_length(), and FLA_Obj_width().

Referenced by FLA_Bidiag_UT_form_V().