libflame
revision_anchor
|
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 );