aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/btl
diff options
context:
space:
mode:
Diffstat (limited to 'bench/btl')
-rw-r--r--bench/btl/actions/action_cholesky.hh2
-rw-r--r--bench/btl/libs/C_BLAS/C_BLAS_interface.hh4
2 files changed, 4 insertions, 2 deletions
diff --git a/bench/btl/actions/action_cholesky.hh b/bench/btl/actions/action_cholesky.hh
index 1e236656c..5f66d113a 100644
--- a/bench/btl/actions/action_cholesky.hh
+++ b/bench/btl/actions/action_cholesky.hh
@@ -44,7 +44,7 @@ public :
// make sure X is invertible
for (int i=0; i<_size; ++i)
- X_stl[i][i] = X_stl[i][i] * 1e2 + 1;
+ X_stl[i][i] = std::abs(X_stl[i][i]) * 1e2 + 100;
// generic matrix and vector initialization
Interface::matrix_from_stl(X_ref,X_stl);
diff --git a/bench/btl/libs/C_BLAS/C_BLAS_interface.hh b/bench/btl/libs/C_BLAS/C_BLAS_interface.hh
index aa2021d13..5701b7b1e 100644
--- a/bench/btl/libs/C_BLAS/C_BLAS_interface.hh
+++ b/bench/btl/libs/C_BLAS/C_BLAS_interface.hh
@@ -246,12 +246,13 @@ public :
#endif
}
- static inline void cholesky(const gene_vector & X, gene_vector & C, int N){
+ static inline void cholesky(const gene_matrix & X, gene_matrix & C, int N){
int N2 = N*N;
scopy_(&N2, X, &intone, C, &intone);
char uplo = 'L';
int info = 0;
spotrf_(&uplo, &N, C, &N, &info);
+ if(info!=0) std::cerr << "spotrf_ error " << info << "\n";
}
static inline void partial_lu_decomp(const gene_matrix & X, gene_matrix & C, int N){
@@ -261,6 +262,7 @@ public :
int info = 0;
int * ipiv = (int*)alloca(sizeof(int)*N);
sgetrf_(&N, &N, C, &N, ipiv, &info);
+ if(info!=0) std::cerr << "sgetrf_ error " << info << "\n";
}
#ifdef HAS_LAPACK