libflame  revision_anchor
Functions
FLA_LQ_UT_form_Q_check.c File Reference

(r)

Functions

FLA_Error FLA_LQ_UT_form_Q_check (FLA_Obj A, FLA_Obj T, FLA_Obj Q)
 

Function Documentation

◆ FLA_LQ_UT_form_Q_check()

FLA_Error FLA_LQ_UT_form_Q_check ( FLA_Obj  A,
FLA_Obj  T,
FLA_Obj  Q 
)

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

14 {
15  FLA_Error e_val;
16 
17  e_val = FLA_Check_floating_object( A );
18  FLA_Check_error_code( e_val );
19 
20  e_val = FLA_Check_nonconstant_object( A );
21  FLA_Check_error_code( e_val );
22 
24  FLA_Check_error_code( e_val );
25 
27  FLA_Check_error_code( e_val );
28 
29  // - the width of T represents the number of applied house-holder vectors.
30  // - the length of A may represent the same number of those vectors.
31  // - however, if A and Q share the same buffer (in-place operation),
32  // then the length of A should match to the length of the maximum length
33  // of the applied house-holder vectors.
34  //if ( FLA_Obj_is_overlapped( A, Q ) == FALSE )
35  //{
36  // e_val = FLA_Check_object_width_equals( T, FLA_Obj_length( A ) );
37  // FLA_Check_error_code( e_val );
38  //}
39 
41  FLA_Check_error_code( e_val );
42 
43  // Q matrix should not be restricted to be a square matrix
44  // e_val = FLA_Check_square( Q );
45  // FLA_Check_error_code( e_val );
46 
47  return FLA_SUCCESS;
48 }
FLA_Error FLA_Check_identical_object_datatype(FLA_Obj A, FLA_Obj B)
Definition: FLA_Check.c:967
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Error FLA_Check_nonconstant_object(FLA_Obj A)
Definition: FLA_Check.c:954
FLA_Error FLA_Check_floating_object(FLA_Obj A)
Definition: FLA_Check.c:232
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