|
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;
}
1.7.6.1