libflame  revision_anchor
FLA_QR_UT.h
Go to the documentation of this file.
00001 /*
00002    libflame
00003    An object-based infrastructure for developing high-performance
00004    dense linear algebra libraries.
00005 
00006    Copyright (C) 2011, The University of Texas
00007 
00008    libflame is free software; you can redistribute it and/or modify
00009    it under the terms of the GNU Lesser General Public License as
00010    published by the Free Software Foundation; either version 2.1 of
00011    the License, or (at your option) any later version.
00012 
00013    libflame is distributed in the hope that it will be useful, but
00014    WITHOUT ANY WARRANTY; without even the implied warranty of
00015    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00016    Lesser General Public License for more details.
00017 
00018    You should have received a copy of the GNU Lesser General Public
00019    License along with libflame; if you did not receive a copy, see
00020    http://www.gnu.org/licenses/.
00021 
00022    For more information, please contact us at flame@cs.utexas.edu or
00023    send mail to:
00024 
00025    Field G. Van Zee and/or
00026    Robert A. van de Geijn
00027    The University of Texas at Austin
00028    Department of Computer Sciences
00029    1 University Station C0500
00030    Austin TX 78712
00031 */
00032 
00033 #include "FLA_QR_UT_vars.h"
00034 
00035 FLA_Error FLA_QR_UT( FLA_Obj A, FLA_Obj T );
00036 
00037 FLA_Error FLA_QR_UT_internal( FLA_Obj A, FLA_Obj T, fla_qrut_t* cntl );
00038 FLA_Error FLA_QR_UT_copy_internal( FLA_Obj A, FLA_Obj T, FLA_Obj U, fla_qrut_t* cntl );
00039 
00040 FLA_Error FLA_QR_UT_create_T( FLA_Obj A, FLA_Obj* T );
00041 
00042 FLA_Error FLA_QR_UT_recover_tau( FLA_Obj T, FLA_Obj tau );
00043 
00044 FLA_Error FLA_QR_UT_solve( FLA_Obj A, FLA_Obj T, FLA_Obj B, FLA_Obj X );
00045 
00046 FLA_Error FLASH_QR_UT( FLA_Obj A, FLA_Obj TW );
00047 FLA_Error FLASH_QR_UT_create_hier_matrices( FLA_Obj A_flat, dim_t depth, dim_t* b_flash, FLA_Obj* A, FLA_Obj* TW );
00048 FLA_Error FLASH_QR_UT_solve( FLA_Obj A, FLA_Obj T, FLA_Obj B, FLA_Obj X );
00049 
00050 
00051 FLA_Error FLA_QR_UT_form_Q( FLA_Obj A, FLA_Obj T, FLA_Obj Q );
00052 FLA_Error FLA_QR_UT_form_Q_blk_var1( FLA_Obj A, FLA_Obj T, FLA_Obj W );
00053 FLA_Error FLA_QR_UT_form_Q_opt_var1( FLA_Obj A, FLA_Obj T );
00054 FLA_Error FLA_QR_UT_form_Q_ops_var1( int       m_A,
00055                                      int       n_AT,
00056                                      float*    buff_A, int rs_A, int cs_A,
00057                                      float*    buff_T, int rs_T, int cs_T );
00058 FLA_Error FLA_QR_UT_form_Q_opd_var1( int       m_A,
00059                                      int       n_AT,
00060                                      double*   buff_A, int rs_A, int cs_A,
00061                                      double*   buff_T, int rs_T, int cs_T );
00062 FLA_Error FLA_QR_UT_form_Q_opc_var1( int       m_A,
00063                                      int       n_AT,
00064                                      scomplex* buff_A, int rs_A, int cs_A,
00065                                      scomplex* buff_T, int rs_T, int cs_T );
00066 FLA_Error FLA_QR_UT_form_Q_opz_var1( int       m_A,
00067                                      int       n_AT,
00068                                      dcomplex* buff_A, int rs_A, int cs_A,
00069                                      dcomplex* buff_T, int rs_T, int cs_T );