Robot Simulator of the Robotics Group for Self-Organization of Control: matrixutils.h Source File

# 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