Main Page | Modules | Class List | File List | Class Members | File Members

matvec_clapack.h

Go to the documentation of this file.
00001 
00014 /* This library is free software; you can redistribute it and/or
00015    modify it under the terms of the GNU Lesser General Public
00016    License as published by the Free Software Foundation; either
00017    version 2.1 of the License, or (at your option) any later version.
00018 
00019    This library is distributed in the hope that it will be useful,
00020    but WITHOUT ANY WARRANTY; without even the implied warranty of
00021    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00022    Lesser General Public License for more details.
00023 
00024    You should have received a copy of the GNU Lesser General Public
00025    License along with this library; if not, write to the Free Software
00026    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00027 */
00028 
00029 #ifndef _GAN_MATVEC_CLAPACK_H
00030 #define _GAN_MATVEC_CLAPACK_H
00031 
00032 #include <gandalf/common/misc_defs.h>
00033 #include <gandalf/linalg/vec_gen.h>
00034 #include <gandalf/linalg/mat_gen.h>
00035 #include <gandalf/linalg/mat_square.h>
00036 
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040 
00056  Gan_Bool gan_clapack_pptrf ( Gan_SquMatrix *A, int *error_code );
00057  Gan_Bool gan_clapack_pptri ( Gan_SquMatrix *A );
00058  Gan_Bool gan_clapack_getf2 ( Gan_Matrix *A, long *ipiv, int *error_code );
00059  Gan_Bool gan_clapack_getrf ( Gan_Matrix *A, long *ipiv, int *error_code );
00060  Gan_Bool gan_clapack_getri ( Gan_Matrix *A, long *ipiv,
00061                              double *work, unsigned long work_size );
00062  Gan_Bool gan_clapack_geqrf ( Gan_Matrix *A, Gan_Vector *tau,
00063                              double *work, unsigned long work_size );
00064  Gan_Bool gan_clapack_gelqf ( Gan_Matrix *A, Gan_Vector *tau,
00065                              double *work, unsigned long work_size );
00066  Gan_Bool gan_clapack_orgqr ( Gan_Matrix *A, Gan_Vector *tau,
00067                              double *work, unsigned long work_size );
00068  Gan_Bool gan_clapack_orglq ( Gan_Matrix *A, Gan_Vector *tau,
00069                              double *work, unsigned long work_size );
00070  Gan_Bool gan_clapack_gesv ( Gan_Matrix *A, Gan_Matrix *B, long *ipiv );
00071                             
00072 #ifdef HAVE_LAPACK
00073 /* these functions are not locally defined in Gandalf */
00074  Gan_Bool gan_clapack_geev ( Gan_Matrix *A,
00075                             Gan_SquMatrix *WR, Gan_SquMatrix *WI,
00076                             Gan_Matrix *VL, Gan_Matrix *VR,
00077                             double *work, unsigned long work_size );
00078  Gan_Bool gan_clapack_gees ( Gan_Matrix *A, Gan_Matrix *Z,
00079                             double *work, unsigned long work_size );
00080 #endif /* #ifdef HAVE_LAPACK */
00081 
00094 #ifdef __cplusplus
00095 }
00096 #endif
00097 
00098 #endif /* #ifndef _GAN_MATVEC_CLAPACK_H */

Generated on Fri Mar 17 12:44:48 2006 by  doxygen 1.3.9.1