libflame  revision_anchor
FLA_Tevd_n.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_Tevd_iteracc_n.h"
00034 #include "FLA_Tevd_eigval_n.h"
00035 #include "FLA_Tevd_francis_n.h"
00036 
00037 // --- FLA_Tevd_find_submatrix() -----------------------------------------------
00038 
00039 FLA_Error FLA_Tevd_find_submatrix_ops( int       m_A,
00040                                        int       ij_begin,
00041                                        float*    buff_d, int inc_d, 
00042                                        float*    buff_e, int inc_e,
00043                                        int*      ijTL,
00044                                        int*      ijBR );
00045 FLA_Error FLA_Tevd_find_submatrix_opd( int       m_A,
00046                                        int       ij_begin,
00047                                        double*   buff_d, int inc_d, 
00048                                        double*   buff_e, int inc_e,
00049                                        int*      ijTL,
00050                                        int*      ijBR );
00051 
00052 // --- FLA_Norm1_tridiag() -----------------------------------------------------
00053 
00054 FLA_Error FLA_Norm1_tridiag( FLA_Obj d, FLA_Obj e, FLA_Obj norm );
00055 FLA_Error FLA_Norm1_tridiag_ops( int       m_A,
00056                                  float*    buff_d, int inc_d, 
00057                                  float*    buff_e, int inc_e,
00058                                  float*    norm );
00059 FLA_Error FLA_Norm1_tridiag_opd( int       m_A,
00060                                  double*   buff_d, int inc_d, 
00061                                  double*   buff_e, int inc_e,
00062                                  double*   norm );
00063 
00064 // --- FLA_Tevd_n_opt_var1() ---------------------------------------------------
00065 
00066 FLA_Error FLA_Tevd_n_opt_var1( dim_t n_iter_max, FLA_Obj d, FLA_Obj e, FLA_Obj G, FLA_Obj U );
00067 FLA_Error FLA_Tevd_n_ops_var1( int       m_A,
00068                                int       m_U,
00069                                int       n_G,
00070                                int       n_iter_max,
00071                                float*    buff_d, int inc_d, 
00072                                float*    buff_e, int inc_e,
00073                                scomplex* buff_G, int rs_G, int cs_G );
00074 FLA_Error FLA_Tevd_n_opd_var1( int       m_A,
00075                                int       m_U,
00076                                int       n_G,
00077                                int       n_iter_max,
00078                                double*   buff_d, int inc_d, 
00079                                double*   buff_e, int inc_e,
00080                                dcomplex* buff_G, int rs_G, int cs_G );
00081 FLA_Error FLA_Tevd_n_opc_var1( int       m_A,
00082                                int       m_U,
00083                                int       n_G,
00084                                int       n_iter_max,
00085                                float*    buff_d, int inc_d, 
00086                                float*    buff_e, int inc_e,
00087                                scomplex* buff_G, int rs_G, int cs_G );
00088 FLA_Error FLA_Tevd_n_opz_var1( int       m_A,
00089                                int       m_U,
00090                                int       n_G,
00091                                int       n_iter_max,
00092                                double*   buff_d, int inc_d, 
00093                                double*   buff_e, int inc_e,
00094                                dcomplex* buff_G, int rs_G, int cs_G );
00095 
00096