aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/btl/libs/eigen2/eigen2_interface.hh
diff options
context:
space:
mode:
Diffstat (limited to 'bench/btl/libs/eigen2/eigen2_interface.hh')
-rw-r--r--bench/btl/libs/eigen2/eigen2_interface.hh11
1 files changed, 7 insertions, 4 deletions
diff --git a/bench/btl/libs/eigen2/eigen2_interface.hh b/bench/btl/libs/eigen2/eigen2_interface.hh
index d8d1a607f..e9d15ce8d 100644
--- a/bench/btl/libs/eigen2/eigen2_interface.hh
+++ b/bench/btl/libs/eigen2/eigen2_interface.hh
@@ -197,6 +197,10 @@ public :
X = L.template triangularView<Lower>().solve(B);
}
+ static inline void trmm(const gene_matrix & L, const gene_matrix& B, gene_matrix& X, int N){
+ X = L.template triangularView<Lower>() * B;
+ }
+
static inline void cholesky(const gene_matrix & X, gene_matrix & C, int N){
C = X;
ei_llt_inplace<Lower>::blocked(C);
@@ -211,8 +215,8 @@ public :
}
static inline void partial_lu_decomp(const gene_matrix & X, gene_matrix & C, int N){
- RowVectorXi piv(N);
- int nb;
+ Matrix<DenseIndex,1,Dynamic> piv(N);
+ DenseIndex nb;
C = X;
ei_partial_lu_inplace(C,piv,nb);
// C = X.partialPivLu().matrixLU();
@@ -221,8 +225,7 @@ public :
static inline void tridiagonalization(const gene_matrix & X, gene_matrix & C, int N){
typename Tridiagonalization<gene_matrix>::CoeffVectorType aux(N-1);
C = X;
- Tridiagonalization<gene_matrix>::_compute(C, aux);
-// C = Tridiagonalization<gene_matrix>(X).packedMatrix();
+ ei_tridiagonalization_inplace(C, aux);
}
static inline void hessenberg(const gene_matrix & X, gene_matrix & C, int N){