libflame  revision_anchor
Functions
FLA_Random_unitary_matrix.c File Reference

(r)

Functions

FLA_Error FLA_Random_unitary_matrix (FLA_Obj A)
 

Function Documentation

◆ FLA_Random_unitary_matrix()

FLA_Error FLA_Random_unitary_matrix ( FLA_Obj  A)
14 {
15  FLA_Obj B, T;
16 
17  if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
19 
20  FLA_Obj_create_conf_to( FLA_NO_TRANSPOSE, A, &B );
21 
22  FLA_Random_matrix( B );
23 
24  FLA_QR_UT_create_T( B, &T );
25 
26  FLA_QR_UT( B, T );
27 
28  FLA_QR_UT_form_Q( B, T, A );
29  //FLA_Apply_Q_UT_create_workspace( A, T, &W );
30  //FLA_Apply_Q_UT( FLA_LEFT, FLA_NO_TRANSPOSE, FLA_FORWARD, FLA_COLUMNWISE, B, T, W, A );
31 
32  //FLA_Obj_free( &W );
33  FLA_Obj_free( &T );
34  FLA_Obj_free( &B );
35 
36 /*
37  FLA_Datatype datatype;
38  FLA_Obj v, tau;
39  FLA_Obj aT,
40  AB;
41  int i, mn;
42  int k;
43 
44  datatype = FLA_Obj_datatype( A );
45  mn = FLA_Obj_length( A );
46  k = 1;
47 
48  FLA_Obj_create( datatype, mn-1, 1, 0, 0, &v );
49  FLA_Obj_create( datatype, 1, 1, 0, 0, &tau );
50 
51  FLA_Obj_set_to_identity( A );
52 
53  FLA_Part_2x1( A, &aT,
54  &AB, 1, FLA_TOP );
55 
56  for ( i = 0; i < k; ++i )
57  {
58  FLA_Random_matrix( tau );
59  FLA_Random_matrix( v );
60 
61  FLA_Apply_H2_UT( FLA_LEFT, tau, v, aT,
62  AB );
63  }
64 
65  FLA_Obj_free( &tau );
66  FLA_Obj_free( &v );
67 */
68 
69  return FLA_SUCCESS;
70 }
FLA_Error FLA_QR_UT_form_Q(FLA_Obj A, FLA_Obj T, FLA_Obj Q)
Definition: FLA_QR_UT_form_Q.c:13
FLA_Error FLA_QR_UT_create_T(FLA_Obj A, FLA_Obj *T)
Definition: FLA_QR_UT_create_T.c:13
FLA_Error FLA_Random_unitary_matrix_check(FLA_Obj A)
Definition: FLA_Random_unitary_matrix_check.c:13
FLA_Error FLA_QR_UT(FLA_Obj A, FLA_Obj T)
Definition: FLA_QR_UT.c:15
unsigned int FLA_Check_error_level(void)
Definition: FLA_Check.c:18
FLA_Error FLA_Obj_create_conf_to(FLA_Trans trans, FLA_Obj old, FLA_Obj *obj)
Definition: FLA_Obj.c:286
FLA_Error FLA_Obj_free(FLA_Obj *obj)
Definition: FLA_Obj.c:588
FLA_Error FLA_Random_matrix(FLA_Obj A)
Definition: FLA_Random_matrix.c:13
Definition: FLA_type_defs.h:159

References FLA_Check_error_level(), FLA_Obj_create_conf_to(), FLA_Obj_free(), FLA_QR_UT(), FLA_QR_UT_create_T(), FLA_QR_UT_form_Q(), FLA_Random_matrix(), and FLA_Random_unitary_matrix_check().