[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Toon-members] TooN SymEigen.h
From: |
Edward Rosten |
Subject: |
[Toon-members] TooN SymEigen.h |
Date: |
Mon, 07 Dec 2009 11:08:37 +0000 |
CVSROOT: /cvsroot/toon
Module name: TooN
Changes by: Edward Rosten <edrosten> 09/12/07 11:08:37
Modified files:
. : SymEigen.h
Log message:
Variable sized SymEigen
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/TooN/SymEigen.h?cvsroot=toon&r1=1.25&r2=1.26
Patches:
Index: SymEigen.h
===================================================================
RCS file: /cvsroot/toon/TooN/SymEigen.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- SymEigen.h 3 Dec 2009 18:27:27 -0000 1.25
+++ SymEigen.h 7 Dec 2009 11:08:37 -0000 1.26
@@ -57,8 +57,13 @@
///@param m Input matrix (assumed to be symmetric)
///@param evectors Eigen vector output
///@param evalues Eigen values output
- template<typename P, typename B>
- static inline void compute(const Matrix<Size,Size,P, B>& m,
Matrix<Size,Size,P> & evectors, Vector<Size, P>& evalues) {
+ template<int Rows, int Cols, typename P, typename B>
+ static inline void compute(const Matrix<Rows,Cols,P, B>& m,
Matrix<Size,Size,P> & evectors, Vector<Size, P>& evalues) {
+
+ SizeMismatch<Rows, Cols>::test(m.num_rows(),
m.num_cols()); //m must be square
+ SizeMismatch<Size, Rows>::test(m.num_rows(),
evalues.size()); //m must be the size of the system
+
+
evectors = m;
int N = evalues.size();
int lda = evalues.size();