libflame
revision_anchor
|
Functions | |
FLA_Error | FLA_Apply_H2_UT_l_unb_var1 (FLA_Obj tau, FLA_Obj u2, FLA_Obj a1t, FLA_Obj A2) |
References FLA_Axpy_external(), FLA_Copy_external(), FLA_Gemvc_external(), FLA_Ger_external(), FLA_Inv_scalc_external(), FLA_MINUS_ONE, FLA_Obj_create_conf_to(), FLA_Obj_free(), FLA_Obj_has_zero_dim(), and FLA_ONE.
{ FLA_Obj w1t; if ( FLA_Obj_has_zero_dim( a1t ) ) return FLA_SUCCESS; // w1t = a1t; FLA_Obj_create_conf_to( FLA_NO_TRANSPOSE, a1t, &w1t ); FLA_Copy_external( a1t, w1t ); // w1t = w1t + u2' * A2; // w1t = w1t + A2^T * conj(u2); FLA_Gemvc_external( FLA_TRANSPOSE, FLA_CONJUGATE, FLA_ONE, A2, u2, FLA_ONE, w1t ); // w1t = w1t / tau; FLA_Inv_scalc_external( FLA_NO_CONJUGATE, tau, w1t ); // a1t = a1t - w1t; FLA_Axpy_external( FLA_MINUS_ONE, w1t, a1t ); // A2 = A2 - u2 * w1t; FLA_Ger_external( FLA_MINUS_ONE, u2, w1t, A2 ); FLA_Obj_free( &w1t ); return FLA_SUCCESS; }