libflame  revision_anchor
Functions
FLA_Apply_HUD_UT_l_unb_var1.c File Reference

(r)

Functions

FLA_Error FLA_Apply_HUD_UT_lh_unb_var1 (FLA_Obj tau, FLA_Obj w12t, FLA_Obj r12t, FLA_Obj u1, FLA_Obj C2, FLA_Obj v1, FLA_Obj D2)
 

Function Documentation

◆ FLA_Apply_HUD_UT_lh_unb_var1()

FLA_Error FLA_Apply_HUD_UT_lh_unb_var1 ( FLA_Obj  tau,
FLA_Obj  w12t,
FLA_Obj  r12t,
FLA_Obj  u1,
FLA_Obj  C2,
FLA_Obj  v1,
FLA_Obj  D2 
)
80 {
81  if ( FLA_Obj_has_zero_dim( r12t ) ) return FLA_SUCCESS;
82 
83  // w12t = r12t;
84  FLA_Copy_external( r12t, w12t );
85 
86  // w12t = w12t + u1' * C2;
87  // = w12t + C2^T * conj(u1);
88  FLA_Gemvc_external( FLA_TRANSPOSE, FLA_CONJUGATE, FLA_ONE, C2, u1, FLA_ONE, w12t );
89 
90  // w12t = w12t + v1' * D2;
91  // = w12t + D2^T * conj(v1);
92  FLA_Gemvc_external( FLA_TRANSPOSE, FLA_CONJUGATE, FLA_ONE, D2, v1, FLA_ONE, w12t );
93 
94  // w12t = w12t / tau;
95  FLA_Inv_scalc_external( FLA_NO_CONJUGATE, tau, w12t );
96 
97  // r12t = - w12t + r12t;
98  FLA_Axpy_external( FLA_MINUS_ONE, w12t, r12t );
99 
100  // C2 = - u1 * w12t + C2;
101  FLA_Ger_external( FLA_MINUS_ONE, u1, w12t, C2 );
102 
103  // D2 = v1 * w12t + D2;
104  FLA_Ger_external( FLA_ONE, v1, w12t, D2 );
105 
106  return FLA_SUCCESS;
107 }
FLA_Error FLA_Inv_scalc_external(FLA_Conj conjalpha, FLA_Obj alpha, FLA_Obj A)
Definition: FLA_Inv_scalc_external.c:13
FLA_Error FLA_Axpy_external(FLA_Obj alpha, FLA_Obj A, FLA_Obj B)
Definition: FLA_Axpy_external.c:13
FLA_Error FLA_Copy_external(FLA_Obj A, FLA_Obj B)
Definition: FLA_Copy_external.c:13
FLA_Error FLA_Gemvc_external(FLA_Trans transa, FLA_Conj conjx, FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y)
Definition: FLA_Gemvc_external.c:13
FLA_Error FLA_Ger_external(FLA_Obj alpha, FLA_Obj x, FLA_Obj y, FLA_Obj A)
Definition: FLA_Ger_external.c:13
FLA_Obj FLA_MINUS_ONE
Definition: FLA_Init.c:22
FLA_Obj FLA_ONE
Definition: FLA_Init.c:18
FLA_Bool FLA_Obj_has_zero_dim(FLA_Obj A)
Definition: FLA_Query.c:400

References FLA_Axpy_external(), FLA_Copy_external(), FLA_Gemvc_external(), FLA_Ger_external(), FLA_Inv_scalc_external(), FLA_MINUS_ONE, FLA_Obj_has_zero_dim(), and FLA_ONE.