00001
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef _GAN_MATVECF_CLAPACK_H
00030 #define _GAN_MATVECF_CLAPACK_H
00031
00032 #include <gandalf/common/misc_defs.h>
00033 #include <gandalf/linalg/vecf_gen.h>
00034 #include <gandalf/linalg/matf_gen.h>
00035 #include <gandalf/linalg/matf_square.h>
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00056 Gan_Bool gan_clapackf_pptrf ( Gan_SquMatrix_f *A, int *error_code );
00057 Gan_Bool gan_clapackf_pptri ( Gan_SquMatrix_f *A );
00058 Gan_Bool gan_clapackf_getf2 ( Gan_Matrix_f *A, long *ipiv, int *error_code );
00059 Gan_Bool gan_clapackf_getrf ( Gan_Matrix_f *A, long *ipiv, int *error_code );
00060 Gan_Bool gan_clapackf_getri ( Gan_Matrix_f *A, long *ipiv,
00061 float *work, unsigned long work_size );
00062 Gan_Bool gan_clapackf_geqrf ( Gan_Matrix_f *A, Gan_Vector_f *tau,
00063 float *work, unsigned long work_size );
00064 Gan_Bool gan_clapackf_gelqf ( Gan_Matrix_f *A, Gan_Vector_f *tau,
00065 float *work, unsigned long work_size );
00066 Gan_Bool gan_clapackf_orgqr ( Gan_Matrix_f *A, Gan_Vector_f *tau,
00067 float *work, unsigned long work_size );
00068 Gan_Bool gan_clapackf_orglq ( Gan_Matrix_f *A, Gan_Vector_f *tau,
00069 float *work, unsigned long work_size );
00070 Gan_Bool gan_clapackf_gesv ( Gan_Matrix_f *A, Gan_Matrix_f *B, long *ipiv );
00071
00072 #ifdef HAVE_LAPACK
00073
00074 Gan_Bool gan_clapackf_geev ( Gan_Matrix_f *A,
00075 Gan_SquMatrix_f *WR,
00076 Gan_SquMatrix_f *WI,
00077 Gan_Matrix_f *VL, Gan_Matrix_f *VR,
00078 float *work, unsigned long work_size );
00079 #endif
00080
00093 #ifdef __cplusplus
00094 }
00095 #endif
00096
00097 #endif