diff options
author | 2011-03-23 10:02:00 +0100 | |
---|---|---|
committer | 2011-03-23 10:02:00 +0100 | |
commit | 9cca79f5ca724ee5c3d5e4c6e9b842fc1f9bd2a2 (patch) | |
tree | e29ace638047c3b2b253eebe4a2b1829ae968ccc /bench/btl/libs/eigen3 | |
parent | da3f3586e06543a2f573a1182415072b876ce481 (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.hh | 9 | ||||
-rw-r--r-- | bench/btl/libs/eigen3/main_matmat.cpp | 2 |
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); |