00001 #ifndef MATRIX_DGCBMATRIX_H 00002 #define MATRIX_DGCBMATRIX_H 00003 00004 #include "Mutils.h" 00005 #include "R_ldl.h" 00006 #include "triplet_to_col.h" 00007 #include <R_ext/Lapack.h> 00008 00009 SEXP dgBCMatrix_validate(SEXP x); 00010 void cscb_tri(enum CBLAS_UPLO upper, enum CBLAS_DIAG unit, 00011 SEXP A, const int Parent[], SEXP AI); 00012 void cscb_syrk(enum CBLAS_UPLO uplo, enum CBLAS_TRANSPOSE trans, 00013 double alpha, SEXP A, 00014 double beta, SEXP C); 00015 int cscb_ldl(SEXP A, const int Parent[], SEXP L, SEXP D); 00016 void cscb_trmm(enum CBLAS_SIDE side, enum CBLAS_UPLO uplo, 00017 enum CBLAS_TRANSPOSE transa, enum CBLAS_DIAG diag, 00018 double alpha, SEXP A, double B[], int m, int n, int ldb); 00019 void cscb_trsm(enum CBLAS_UPLO uplo, enum CBLAS_TRANSPOSE transa, 00020 enum CBLAS_DIAG diag, double alpha, SEXP A, 00021 int m, int n, double B[], int ldb); 00022 void cscb_trcbm(enum CBLAS_SIDE side, enum CBLAS_UPLO uplo, 00023 enum CBLAS_TRANSPOSE transa, enum CBLAS_DIAG diag, 00024 double alpha, SEXP A, SEXP B); 00025 void cscb_trcbsm(enum CBLAS_SIDE side, enum CBLAS_UPLO uplo, 00026 enum CBLAS_TRANSPOSE transa, enum CBLAS_DIAG diag, 00027 double alpha, SEXP A, const int Parent[], SEXP B); 00028 void cscb_cscbm(enum CBLAS_TRANSPOSE transa, enum CBLAS_TRANSPOSE transb, 00029 double alpha, SEXP A, SEXP B, double beta, SEXP C); 00030 void cscb_mm(enum CBLAS_SIDE side, enum CBLAS_TRANSPOSE transa, 00031 int m, int n, int k, double alpha, SEXP A, 00032 const double B[], int ldb, double beta, double C[], int ldc); 00033 SEXP dgBCMatrix_to_dgCMatrix(SEXP A); 00034 SEXP dgBCMatrix_to_dgTMatrix(SEXP A); 00035 00036 #endif