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_Tridiag_UT_l.h" 00034 //#include "FLA_Tridiag_UT_u.h" 00035 00036 FLA_Error FLA_Tridiag_UT( FLA_Uplo uplo, FLA_Obj A, FLA_Obj T ); 00037 00038 FLA_Error FLA_Tridiag_UT_internal( FLA_Uplo uplo, FLA_Obj A, FLA_Obj T, fla_tridiagut_t* cntl ); 00039 00040 FLA_Error FLA_Tridiag_UT_l( FLA_Obj A, FLA_Obj T, fla_tridiagut_t* cntl ); 00041 FLA_Error FLA_Tridiag_UT_u( FLA_Obj A, FLA_Obj T, fla_tridiagut_t* cntl ); 00042 00043 FLA_Error FLA_Tridiag_UT_create_T( FLA_Obj A, FLA_Obj* T ); 00044 00045 FLA_Error FLA_Tridiag_UT_recover_tau( FLA_Obj T, FLA_Obj t ); 00046 00047 FLA_Error FLA_Tridiag_UT_extract_diagonals( FLA_Uplo uplo, FLA_Obj A, FLA_Obj d, FLA_Obj e ); 00048 FLA_Error FLA_Tridiag_UT_l_extract_diagonals( FLA_Obj A, FLA_Obj d, FLA_Obj e ); 00049 FLA_Error FLA_Tridiag_UT_u_extract_diagonals( FLA_Obj A, FLA_Obj d, FLA_Obj e ); 00050 00051 FLA_Error FLA_Tridiag_UT_realify( FLA_Uplo uplo, FLA_Obj A, FLA_Obj d ); 00052 FLA_Error FLA_Tridiag_UT_l_realify_unb( FLA_Obj A, FLA_Obj d ); 00053 FLA_Error FLA_Tridiag_UT_l_realify_opt( FLA_Obj A, FLA_Obj d ); 00054 FLA_Error FLA_Tridiag_UT_u_realify_unb( FLA_Obj A, FLA_Obj d ); 00055 FLA_Error FLA_Tridiag_UT_u_realify_opt( FLA_Obj A, FLA_Obj d ); 00056 00057 00058 FLA_Error FLA_Tridiag_UT_shift_U( FLA_Uplo uplo, FLA_Obj A ); 00059 FLA_Error FLA_Tridiag_UT_shift_U_l_ops( int m_A, 00060 float* buff_A, int rs_A, int cs_A ); 00061 FLA_Error FLA_Tridiag_UT_shift_U_u_ops( int m_A, 00062 float* buff_A, int rs_A, int cs_A ); 00063 FLA_Error FLA_Tridiag_UT_shift_U_l_opd( int m_A, 00064 double* buff_A, int rs_A, int cs_A ); 00065 FLA_Error FLA_Tridiag_UT_shift_U_u_opd( int m_A, 00066 double* buff_A, int rs_A, int cs_A ); 00067 FLA_Error FLA_Tridiag_UT_shift_U_l_opc( int m_A, 00068 scomplex* buff_A, int rs_A, int cs_A ); 00069 FLA_Error FLA_Tridiag_UT_shift_U_u_opc( int m_A, 00070 scomplex* buff_A, int rs_A, int cs_A ); 00071 FLA_Error FLA_Tridiag_UT_shift_U_l_opz( int m_A, 00072 dcomplex* buff_A, int rs_A, int cs_A ); 00073 FLA_Error FLA_Tridiag_UT_shift_U_u_opz( int m_A, 00074 dcomplex* buff_A, int rs_A, int cs_A ); 00075 00076 FLA_Error FLA_Tridiag_UT_form_Q( FLA_Uplo uplo, FLA_Obj A, FLA_Obj T ); 00077 FLA_Error FLA_Tridiag_UT_form_Q_l_blk_var1( FLA_Obj A, FLA_Obj T, FLA_Obj W ); 00078 FLA_Error FLA_Tridiag_UT_form_Q_u_blk_var1( FLA_Obj A, FLA_Obj T, FLA_Obj W ); 00079 FLA_Error FLA_Tridiag_UT_form_Q_l_opt_var1( FLA_Obj A, FLA_Obj T ); 00080 FLA_Error FLA_Tridiag_UT_form_Q_l_ops_var1( int m_A, 00081 int n_AT, 00082 float* buff_A, int rs_A, int cs_A, 00083 float* buff_T, int rs_T, int cs_T ); 00084 FLA_Error FLA_Tridiag_UT_form_Q_l_opd_var1( int m_A, 00085 int n_AT, 00086 double* buff_A, int rs_A, int cs_A, 00087 double* buff_T, int rs_T, int cs_T ); 00088 FLA_Error FLA_Tridiag_UT_form_Q_l_opc_var1( int m_A, 00089 int n_AT, 00090 scomplex* buff_A, int rs_A, int cs_A, 00091 scomplex* buff_T, int rs_T, int cs_T ); 00092 FLA_Error FLA_Tridiag_UT_form_Q_l_opz_var1( int m_A, 00093 int n_AT, 00094 dcomplex* buff_A, int rs_A, int cs_A, 00095 dcomplex* buff_T, int rs_T, int cs_T );