libflame
revision_anchor
|
Functions | |
FLA_Error | FLA_LQ_UT_form_Q (FLA_Obj A, FLA_Obj T, FLA_Obj Q) |
FLA_Error FLA_LQ_UT_form_Q | ( | FLA_Obj | A, |
FLA_Obj | T, | ||
FLA_Obj | Q | ||
) |
References FLA_Conjugate(), FLA_Obj_flip_base(), FLA_Obj_flip_view(), FLA_Obj_is(), FLA_Obj_is_complex(), and FLA_QR_UT_form_Q().
Referenced by FLA_Bidiag_UT_form_V_ext().
{ FLA_Error r_val = FLA_SUCCESS; // Flip a base once. FLA_Obj_flip_base( &A ); if ( FLA_Obj_is( A, Q ) == FALSE ) FLA_Obj_flip_base( &Q ); // Dimensions of the both matrices should be flipped. FLA_Obj_flip_view( &A ); FLA_Obj_flip_view( &Q ); // Run the QR utility function. r_val = FLA_QR_UT_form_Q( A, T, Q ); // Apply conjugation on Q as we use QR_UT_form_Q. if ( FLA_Obj_is_complex( Q ) ) FLA_Conjugate( Q ); // Recover the base object. if ( FLA_Obj_is( A, Q ) == FALSE ) FLA_Obj_flip_base( &Q ); FLA_Obj_flip_base( &A ); return r_val; }