libflame revision_anchor
FLA_util_lapack_prototypes.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 // --- LAPACK-related utility prototypes ---------------------------------------
00034 
00035 FLA_Error FLA_Househ2_UT( FLA_Side side, FLA_Obj chi_1, FLA_Obj x2, FLA_Obj tau );
00036 FLA_Error FLA_Househ2_UT_l_ops( int m_x2,
00037                                 float* chi_1,
00038                                 float* x2, int inc_x2,
00039                                 float* tau );
00040 FLA_Error FLA_Househ2_UT_l_opd( int m_x2,
00041                                 double* chi_1,
00042                                 double* x2, int inc_x2,
00043                                 double* tau );
00044 FLA_Error FLA_Househ2_UT_l_opc( int m_x2,
00045                                 scomplex* chi_1,
00046                                 scomplex* x2, int inc_x2,
00047                                 scomplex* tau );
00048 FLA_Error FLA_Househ2_UT_l_opz( int m_x2,
00049                                 dcomplex* chi_1,
00050                                 dcomplex* x2, int inc_x2,
00051                                 dcomplex* tau );
00052 FLA_Error FLA_Househ2_UT_r_ops( int m_x2,
00053                                 float* chi_1,
00054                                 float* x2, int inc_x2,
00055                                 float* tau );
00056 FLA_Error FLA_Househ2_UT_r_opd( int m_x2,
00057                                 double* chi_1,
00058                                 double* x2, int inc_x2,
00059                                 double* tau );
00060 FLA_Error FLA_Househ2_UT_r_opc( int m_x2,
00061                                 scomplex* chi_1,
00062                                 scomplex* x2, int inc_x2,
00063                                 scomplex* tau );
00064 FLA_Error FLA_Househ2_UT_r_opz( int m_x2,
00065                                 dcomplex* chi_1,
00066                                 dcomplex* x2, int inc_x2,
00067                                 dcomplex* tau );
00068 
00069 FLA_Error FLA_Househ3UD_UT( FLA_Obj chi_1, FLA_Obj x2, FLA_Obj y2, FLA_Obj tau );
00070 FLA_Error FLA_Househ3UD_UT_ops( int m_x2,
00071                                 int m_y2,
00072                                 float* chi_1,
00073                                 float* x2, int inc_x2,
00074                                 float* y2, int inc_y2,
00075                                 float* tau );
00076 FLA_Error FLA_Househ3UD_UT_opd( int m_x2,
00077                                 int m_y2,
00078                                 double* chi_1,
00079                                 double* x2, int inc_x2,
00080                                 double* y2, int inc_y2,
00081                                 double* tau );
00082 FLA_Error FLA_Househ3UD_UT_opc( int m_x2,
00083                                 int m_y2,
00084                                 scomplex* chi_1,
00085                                 scomplex* x2, int inc_x2,
00086                                 scomplex* y2, int inc_y2,
00087                                 scomplex* tau );
00088 FLA_Error FLA_Househ3UD_UT_opz( int m_x2,
00089                                 int m_y2,
00090                                 dcomplex* chi_1,
00091                                 dcomplex* x2, int inc_x2,
00092                                 dcomplex* y2, int inc_y2,
00093                                 dcomplex* tau );
00094 
00095 FLA_Error FLA_Househ2s_UT( FLA_Side side, FLA_Obj chi_1, FLA_Obj x2, FLA_Obj alpha, FLA_Obj chi_1_minus_alpha, FLA_Obj tau );
00096 FLA_Error FLA_Househ2s_UT_l_ops( int    m_x2,
00097                                  float* chi_1,
00098                                  float* x2, int inc_x2,
00099                                  float* alpha,
00100                                  float* chi_1_minus_alpha,
00101                                  float* tau );
00102 FLA_Error FLA_Househ2s_UT_l_opd( int     m_x2,
00103                                  double* chi_1,
00104                                  double* x2, int inc_x2,
00105                                  double* alpha,
00106                                  double* chi_1_minus_alpha,
00107                                  double* tau );
00108 FLA_Error FLA_Househ2s_UT_l_opc( int       m_x2,
00109                                  scomplex* chi_1,
00110                                  scomplex* x2, int inc_x2,
00111                                  scomplex* alpha,
00112                                  scomplex* chi_1_minus_alpha,
00113                                  scomplex* tau );
00114 FLA_Error FLA_Househ2s_UT_l_opz( int       m_x2,
00115                                  dcomplex* chi_1,
00116                                  dcomplex* x2, int inc_x2,
00117                                  dcomplex* alpha,
00118                                  dcomplex* chi_1_minus_alpha,
00119                                  dcomplex* tau );
00120 FLA_Error FLA_Househ2s_UT_r_ops( int    m_x2,
00121                                  float* chi_1,
00122                                  float* x2, int inc_x2,
00123                                  float* alpha,
00124                                  float* chi_1_minus_alpha,
00125                                  float* tau );
00126 FLA_Error FLA_Househ2s_UT_r_opd( int     m_x2,
00127                                  double* chi_1,
00128                                  double* x2, int inc_x2,
00129                                  double* alpha,
00130                                  double* chi_1_minus_alpha,
00131                                  double* tau );
00132 FLA_Error FLA_Househ2s_UT_r_opc( int       m_x2,
00133                                  scomplex* chi_1,
00134                                  scomplex* x2, int inc_x2,
00135                                  scomplex* alpha,
00136                                  scomplex* chi_1_minus_alpha,
00137                                  scomplex* tau );
00138 FLA_Error FLA_Househ2s_UT_r_opz( int       m_x2,
00139                                  dcomplex* chi_1,
00140                                  dcomplex* x2, int inc_x2,
00141                                  dcomplex* alpha,
00142                                  dcomplex* chi_1_minus_alpha,
00143                                  dcomplex* tau );
00144 
00145 FLA_Error FLA_Apply_diag_matrix( FLA_Side side, FLA_Conj conj, FLA_Obj x, FLA_Obj A );
00146 FLA_Error FLA_Shift_pivots_to( FLA_Pivot_type ptype, FLA_Obj p );
00147 FLA_Error FLA_Form_perm_matrix( FLA_Obj p, FLA_Obj A );
00148 FLA_Error FLA_LU_find_zero_on_diagonal( FLA_Obj A );
00149 
00150 // --- LAPACK-related utility check routine prototypes -------------------------
00151 
00152 FLA_Error FLA_Househ2_UT_check( FLA_Side side, FLA_Obj chi_1, FLA_Obj x2, FLA_Obj tau );
00153 FLA_Error FLA_Househ3UD_UT_check( FLA_Obj chi_1, FLA_Obj x2, FLA_Obj y2, FLA_Obj tau );
00154 FLA_Error FLA_Househ2s_UT_check( FLA_Side side, FLA_Obj chi_1, FLA_Obj x2, FLA_Obj alpha, FLA_Obj chi_1_minus_alpha, FLA_Obj tau );
00155 FLA_Error FLA_Apply_diag_matrix_check( FLA_Side side, FLA_Conj conj, FLA_Obj x, FLA_Obj A );
00156 FLA_Error FLA_Shift_pivots_to_check( FLA_Pivot_type ptype, FLA_Obj p );
00157 FLA_Error FLA_Form_perm_matrix_check( FLA_Obj p, FLA_Obj A );
00158 FLA_Error FLA_LU_find_zero_on_diagonal_check( FLA_Obj A );
00159