matrixutils.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           matrixutils.h  -  description
00003                              -------------------
00004     email                : georg.martius@web.de
00005 ***************************************************************************/
00006 // provides utils for matrix calculation using the GSL (gnu scientific library)
00007 
00008 #ifndef MATRIXUTILS_H
00009 #define MATRIXUTILS_H
00010 
00011 
00012 #include "matrix.h"
00013 
00014 /**
00015  * namespace for the matrix library
00016  */
00017 namespace matrix{
00018     
00019   /**
00020      calculates the eigenvalues of the real and symmetric matrix m 
00021      and returns them as a column vector in descending order
00022    */
00023   Matrix eigenValuesRealSym(const Matrix &m);
00024 
00025   /**
00026      calculates the eigenvalues and corresponding eigenvectors
00027      of the the real and symmetric matrix m. 
00028      The eigenvalues are returned them as a column vector in descending order 
00029      and the belonging 
00030      eigenvectors are stored in the columns of the matrix eigenvectors.
00031    */
00032   bool eigenValuesVectorsRealSym(const Matrix &m, Matrix& eigenvalues, Matrix& eigenvectors);
00033 
00034   /**
00035      calculates the eigenvalues of the matrix m and returns them as a column vectors
00036      seperated to real and imaginary part in descending order.
00037    */
00038   bool eigenValues(const Matrix &m, Matrix& vals_real, Matrix& vals_imag);
00039 
00040   /**
00041      calculates the eigenvalues and corresponding eigenvectors
00042      of the matrix m. The eigenvalues are returned them as a column vector  
00043      in descending order and the belonging
00044      eigenvectors are stored in the columns of the matrix eigenvectors.
00045      Both are seperated into real and imaginary part.
00046    */
00047   bool eigenValuesVectors(const Matrix &m, Matrix& vals_real, Matrix& vals_imag, 
00048                           Matrix& vecs_real, Matrix& vecs_imag);
00049 
00050 }
00051 
00052 #endif
Generated on Thu Jun 28 14:45:36 2012 for Robot Simulator of the Robotics Group for Self-Organization of Control by  doxygen 1.6.3