aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/btl/libs/eigen3
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2011-03-23 10:02:00 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2011-03-23 10:02:00 +0100
commit9cca79f5ca724ee5c3d5e4c6e9b842fc1f9bd2a2 (patch)
treee29ace638047c3b2b253eebe4a2b1829ae968ccc /bench/btl/libs/eigen3
parentda3f3586e06543a2f573a1182415072b876ce481 (diff)
update aat action to do a syrk operation, and remove (comment) ata action
Diffstat (limited to 'bench/btl/libs/eigen3')
-rw-r--r--bench/btl/libs/eigen3/eigen3_interface.hh9
-rw-r--r--bench/btl/libs/eigen3/main_matmat.cpp2
2 files changed, 6 insertions, 5 deletions
diff --git a/bench/btl/libs/eigen3/eigen3_interface.hh b/bench/btl/libs/eigen3/eigen3_interface.hh
index bd5eb4b6b..2fca393e9 100644
--- a/bench/btl/libs/eigen3/eigen3_interface.hh
+++ b/bench/btl/libs/eigen3/eigen3_interface.hh
@@ -92,12 +92,13 @@ public :
X.noalias() = A.transpose()*B.transpose();
}
- static inline void ata_product(const gene_matrix & A, gene_matrix & X, int N){
- X.noalias() = A.transpose()*A;
- }
+// static inline void ata_product(const gene_matrix & A, gene_matrix & X, int N){
+// X.noalias() = A.transpose()*A;
+// }
static inline void aat_product(const gene_matrix & A, gene_matrix & X, int N){
- X.noalias() = A*A.transpose();
+ X.template triangularView<Lower>().setZero();
+ X.template selfadjointView<Lower>().rankUpdate(A);
}
static inline void matrix_vector_product(const gene_matrix & A, const gene_vector & B, gene_vector & X, int N){
diff --git a/bench/btl/libs/eigen3/main_matmat.cpp b/bench/btl/libs/eigen3/main_matmat.cpp
index 052810a16..926fa2b01 100644
--- a/bench/btl/libs/eigen3/main_matmat.cpp
+++ b/bench/btl/libs/eigen3/main_matmat.cpp
@@ -25,7 +25,7 @@ BTL_MAIN;
int main()
{
bench<Action_matrix_matrix_product<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
- bench<Action_ata_product<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
+// bench<Action_ata_product<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
bench<Action_aat_product<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
bench<Action_trmm<eigen3_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);