libflame  revision_anchor
FLA_Tevd_v.h
Go to the documentation of this file.
00001 /*
00002 
00003     Copyright (C) 2014, The University of Texas at Austin
00004 
00005     This file is part of libflame and is available under the 3-Clause
00006     BSD license, which can be found in the LICENSE file at the top-level
00007     directory, or at http://opensource.org/licenses/BSD-3-Clause
00008 
00009 */
00010 
00011 #include "FLA_Tevd_iteracc_v.h"
00012 #include "FLA_Tevd_eigval_v.h"
00013 #include "FLA_Tevd_francis_v.h"
00014 
00015 // --- FLA_Tevd_compute_scaling() ----------------------------------------------
00016 
00017 FLA_Error FLA_Tevd_compute_scaling_ops( int       m_A,
00018                                         float*    buff_d, int inc_d, 
00019                                         float*    buff_e, int inc_e,
00020                                         float*    sigma );
00021 FLA_Error FLA_Tevd_compute_scaling_opd( int       m_A,
00022                                         double*   buff_d, int inc_d, 
00023                                         double*   buff_e, int inc_e,
00024                                         double*   sigma );
00025 
00026 // --- FLA_Tevd_find_submatrix() -----------------------------------------------
00027 
00028 FLA_Error FLA_Tevd_find_submatrix_ops( int       m_A,
00029                                        int       ij_begin,
00030                                        float*    buff_d, int inc_d, 
00031                                        float*    buff_e, int inc_e,
00032                                        int*      ijTL,
00033                                        int*      ijBR );
00034 FLA_Error FLA_Tevd_find_submatrix_opd( int       m_A,
00035                                        int       ij_begin,
00036                                        double*   buff_d, int inc_d, 
00037                                        double*   buff_e, int inc_e,
00038                                        int*      ijTL,
00039                                        int*      ijBR );
00040 
00041 // --- FLA_Tevd_find_perfshift() -----------------------------------------------
00042 
00043 FLA_Error FLA_Tevd_find_perfshift_ops( int       m_d,
00044                                        int       m_l,
00045                                        float*    buff_d, int inc_d, 
00046                                        float*    buff_e, int inc_e, 
00047                                        float*    buff_l, int inc_l, 
00048                                        int*      buff_lstat, int inc_lstat, 
00049                                        float*    buff_pu, int inc_pu, 
00050                                        int*      ij_shift );
00051 FLA_Error FLA_Tevd_find_perfshift_opd( int       m_d,
00052                                        int       m_l,
00053                                        double*   buff_d, int inc_d, 
00054                                        double*   buff_e, int inc_e, 
00055                                        double*   buff_l, int inc_l, 
00056                                        int*      buff_lstat, int inc_lstat, 
00057                                        double*   buff_pu, int inc_pu, 
00058                                        int*      ij_shift );
00059 
00060 // --- FLA_Norm1_tridiag() -----------------------------------------------------
00061 
00062 FLA_Error FLA_Norm1_tridiag( FLA_Obj d, FLA_Obj e, FLA_Obj norm );
00063 FLA_Error FLA_Norm1_tridiag_ops( int       m_A,
00064                                  float*    buff_d, int inc_d, 
00065                                  float*    buff_e, int inc_e,
00066                                  float*    norm );
00067 FLA_Error FLA_Norm1_tridiag_opd( int       m_A,
00068                                  double*   buff_d, int inc_d, 
00069                                  double*   buff_e, int inc_e,
00070                                  double*   norm );
00071 
00072 // --- FLA_Tevd_v_opt_var1() ---------------------------------------------------
00073 
00074 FLA_Error FLA_Tevd_v_opt_var1( dim_t n_iter_max, FLA_Obj d, FLA_Obj e, FLA_Obj G, FLA_Obj U, dim_t b_alg );
00075 FLA_Error FLA_Tevd_v_ops_var1( int       m_A,
00076                                int       m_U,
00077                                int       n_G,
00078                                int       n_iter_max,
00079                                float*    buff_d, int inc_d, 
00080                                float*    buff_e, int inc_e,
00081                                scomplex* buff_G, int rs_G, int cs_G,
00082                                float*    buff_U, int rs_U, int cs_U,
00083                                int       b_alg );
00084 FLA_Error FLA_Tevd_v_opd_var1( int       m_A,
00085                                int       m_U,
00086                                int       n_G,
00087                                int       n_iter_max,
00088                                double*   buff_d, int inc_d, 
00089                                double*   buff_e, int inc_e,
00090                                dcomplex* buff_G, int rs_G, int cs_G,
00091                                double*   buff_U, int rs_U, int cs_U,
00092                                int       b_alg );
00093 FLA_Error FLA_Tevd_v_opc_var1( int       m_A,
00094                                int       m_U,
00095                                int       n_G,
00096                                int       n_iter_max,
00097                                float*    buff_d, int inc_d, 
00098                                float*    buff_e, int inc_e,
00099                                scomplex* buff_G, int rs_G, int cs_G,
00100                                scomplex* buff_U, int rs_U, int cs_U,
00101                                int       b_alg );
00102 FLA_Error FLA_Tevd_v_opz_var1( int       m_A,
00103                                int       m_U,
00104                                int       n_G,
00105                                int       n_iter_max,
00106                                double*   buff_d, int inc_d, 
00107                                double*   buff_e, int inc_e,
00108                                dcomplex* buff_G, int rs_G, int cs_G,
00109                                dcomplex* buff_U, int rs_U, int cs_U,
00110                                int       b_alg );
00111 
00112 // --- FLA_Tevd_v_opt_var2() ---------------------------------------------------
00113 
00114 FLA_Error FLA_Tevd_v_opt_var2( dim_t n_iter_max, FLA_Obj d, FLA_Obj e, FLA_Obj G, FLA_Obj R, FLA_Obj W, FLA_Obj U, dim_t b_alg );
00115 FLA_Error FLA_Tevd_v_ops_var2( int       m_A,
00116                                int       m_U,
00117                                int       n_G,
00118                                int       n_G_extra,
00119                                float*    buff_d, int inc_d, 
00120                                float*    buff_e, int inc_e,
00121                                scomplex* buff_G, int rs_G, int cs_G,
00122                                float*    buff_R, int rs_R, int cs_R,
00123                                float*    buff_W, int rs_W, int cs_W,
00124                                float*    buff_U, int rs_U, int cs_U,
00125                                int       b_alg );
00126 FLA_Error FLA_Tevd_v_opd_var2( int       m_A,
00127                                int       m_U,
00128                                int       n_G,
00129                                int       n_G_extra,
00130                                double*   buff_d, int inc_d, 
00131                                double*   buff_e, int inc_e,
00132                                dcomplex* buff_G, int rs_G, int cs_G,
00133                                double*   buff_R, int rs_R, int cs_R,
00134                                double*   buff_W, int rs_W, int cs_W,
00135                                double*   buff_U, int rs_U, int cs_U,
00136                                int       b_alg );
00137 FLA_Error FLA_Tevd_v_opc_var2( int       m_A,
00138                                int       m_U,
00139                                int       n_G,
00140                                int       n_G_extra,
00141                                float*    buff_d, int inc_d, 
00142                                float*    buff_e, int inc_e,
00143                                scomplex* buff_G, int rs_G, int cs_G,
00144                                float*    buff_R, int rs_R, int cs_R,
00145                                scomplex* buff_W, int rs_W, int cs_W,
00146                                scomplex* buff_U, int rs_U, int cs_U,
00147                                int       b_alg );
00148 FLA_Error FLA_Tevd_v_opz_var2( int       m_A,
00149                                int       m_U,
00150                                int       n_G,
00151                                int       n_G_extra,
00152                                double*   buff_d, int inc_d, 
00153                                double*   buff_e, int inc_e,
00154                                dcomplex* buff_G, int rs_G, int cs_G,
00155                                double*   buff_R, int rs_R, int cs_R,
00156                                dcomplex* buff_W, int rs_W, int cs_W,
00157                                dcomplex* buff_U, int rs_U, int cs_U,
00158                                int       b_alg );
00159