|
Robot Simulator of the Robotics Group for Self-Organization of Control
0.8.0
|
#include <selforg/matrix.h>#include <assert.h>#include <stdlib.h>#include <cmath>#include "stl_adds.h"#include "noisegenerator.h"#include "inspectable.h"

Go to the source code of this file.
Functions | |
| template<typename T > | |
| T | sign (T v) |
| template<typename T > | |
| T | sqr (T v) |
| template<typename T > | |
| T | clip (T x, T lobound, T highbound) |
| double | one_over (double x) |
| calculates 1/x More... | |
| double | constant (double c, double) |
| returns c (useful for Matrix::mapP to fill matrix with constant value) More... | |
| double | power (void *c, double x) |
| returns x the power c (as a double) More... | |
| double | power3 (double x) |
| power 3 for matrix::map More... | |
| double | random_minusone_to_one (double) |
| creates random number from -1 to 1 More... | |
| double | random_minusone_to_one (void *, double) |
| creates random number from -1 to 1 More... | |
| double | clip (double r, double) |
| clipping function to the interval [-r, r] (for use with mapP) More... | |
| double | lowercutof (void *theta, double) |
| cutof function for mapP More... | |
| double | toBinaryWithProbability (void *r, double x) |
| returns -1 if probability is to low, otherwise 1 for mapP More... | |
| double | toBinaryWithThreshold (double x, double threshold) |
| returns -1 if below threshold, otherwise 1 for map2 More... | |
| double | plus_ (double b, double a) |
| plus function for mapP More... | |
| std::list< matrix::D > | store4x4AndDiagonal (const matrix::Matrix &m) |
| stores at least left top 4x4 submatrix (row-wise) (if exists) and then the rest of the diagonal elements into a list More... | |
| matrix::I | store4x4AndDiagonal (const matrix::Matrix &m, matrix::D *buffer, matrix::I len) |
| stores at least left top 4x4 submatrix (row-wise) (if exists) and then the rest of the diagonal elements More... | |
| matrix::I | get4x4AndDiagonalSize (const matrix::Matrix &m) |
| returns the number of elements stored by store4x4AndDiagonal (should be min(getN(),4)*min(getM(),4)+ max(0,min(getM()-4,getN()-4))) More... | |
| std::list< Inspectable::iparamkey > | store4x4AndDiagonalFieldNames (const matrix::Matrix &m, const std::string &matrixName) |
| writes the names of the fields stored by store4x4AndDiagonal into a list More... | |
| matrix::I | store4x4AndDiagonalFieldNames (const matrix::Matrix &m, const std::string &matrixName, char **keylist, matrix::I len) |
| stores the names of the fields stored by store4x4AndDiagonal More... | |
| std::list< Inspectable::iparamkey > | storeMatrixFieldNames (const matrix::Matrix &m, const std::string &matrixName) |
| stores the names of all matrix fieldnames in the order produced by convertToBuffer (row-wise) More... | |
| std::list< Inspectable::iparamkey > | storeVectorFieldNames (const matrix::Matrix &m, const std::string &vectorName) |
| stores the names of all vector (mx1 or 1xn matrix) fieldnames in the order produced by convertToBuffer (row-wise) More... | |
| matrix::I | storeMatrixFieldNames (const matrix::Matrix &m, const char *matrixName, char **keylist, matrix::I len) |
| stores the names of all matrix fieldnames in the order produced by convertToBuffer (row-wise) More... | |
| matrix::I | storeVectorFieldNames (const matrix::Matrix &m, const char *vectorName, char **keylist, matrix::I len) |
| stores the names of all vector (mx1 or 1xn matrix) fieldnames in the order produced by convertToBuffer (row-wise) More... | |
| bool | storeMatrix (const matrix::Matrix &m, FILE *f) |
| stores the Matrix into the given file stream (binary) More... | |
| bool | restoreMatrix (matrix::Matrix &m, FILE *f) |
| reads a Matrix from the given file stream (binary) More... | |
| matrix::Matrix | noiseMatrix (matrix::I m, matrix::I n, NoiseGenerator &ng, double strength, double unused=0) |
| returns a Matrix with values generated by the given noise generator More... | |
| RandGen * | splitRandGen (RandGen *randGen) |
| geneterates deterministically a new random generator from the given one. More... | |
| double | matrixNorm1 (const matrix::Matrix &m) |
| calculates to linear matrix norm (sum of absolute values divided by number of values (m*n) ) More... | |
| double | matrixNorm2 (const matrix::Matrix &m) |
| calculates to square matrix norm (sum of square values divided by number of values (m*n) ) More... | |
| matrix::Matrix | matrixNormalized (const matrix::Matrix &m) |
| Matrix/matrixNorm2 ) More... | |
| double | getKthLargestElement (matrix::Matrix &matrix, matrix::I k) |
| returns the k. More... | |
| double | getKthSmallestElement (matrix::Matrix &matrix, matrix::I k) |
| returns the k. More... | |
| matrix::I | argmin (const matrix::Matrix &v) |
| considers the matrix as vector (mx1) and returns the index of the smallest element More... | |
| matrix::I | argmax (const matrix::Matrix &v) |
| considers the matrix as vector (mx1) and returns the index of the largest element More... | |
| double | min (const matrix::Matrix &v) |
| returns the smallest element More... | |
| double | min (double a, double b) |
| minimum function for doubles without templates More... | |
| double | max (const matrix::Matrix &v) |
| returns the largest element More... | |
| double | max (double a, double b) |
| maximum function for doubles without templates More... | |
| matrix::I | sample (const matrix::Matrix &pdf) |
| samples from the pdf (rowwise stored with sum = 1) More... | |
| double | adapt (double p, double actual, double nominal, double up_rate, double down_rate) |
| parameter adaptation algorithm. More... | |
| double | adaptMinMax (double p, double actual, double _min, double _max, double up_rate, double down_rate) |
| like adapt but that the adaption is just done if the actual value is outside the given interval (_min, _max) More... | |
| std::list< Inspectable::iparamval > | convertArrayToList (double *array, int arraySize) |
| Helper function for converting an array with double values to a list. More... | |
| std::list< Inspectable::iparamkey > | getArrayNames (int arraySize, const char *name) |
| Helper function for getting the array names of an array Is used for the method getInternalParamNames() interface inspectable. More... | |
| double adapt | ( | double | p, |
| double | actual, | ||
| double | nominal, | ||
| double | up_rate, | ||
| double | down_rate | ||
| ) |
parameter adaptation algorithm.
| double adaptMinMax | ( | double | p, |
| double | actual, | ||
| double | _min, | ||
| double | _max, | ||
| double | up_rate, | ||
| double | down_rate | ||
| ) |
like adapt but that the adaption is just done if the actual value is outside the given interval (_min, _max)
| matrix::I argmax | ( | const matrix::Matrix & | v | ) |
considers the matrix as vector (mx1) and returns the index of the largest element
| matrix::I argmin | ( | const matrix::Matrix & | v | ) |
considers the matrix as vector (mx1) and returns the index of the smallest element
|
inline |
| double clip | ( | double | r, |
| double | x | ||
| ) |
clipping function to the interval [-r, r] (for use with mapP)
clipping function to the interval [-r, r] (for use with mapP)
| double constant | ( | double | c, |
| double | |||
| ) |
returns c (useful for Matrix::mapP to fill matrix with constant value)
| std::list<Inspectable::iparamval> convertArrayToList | ( | double * | array, |
| int | arraySize | ||
| ) |
Helper function for converting an array with double values to a list.
Is used for the method getInternalParams() interface inspectable.
| matrix::I get4x4AndDiagonalSize | ( | const matrix::Matrix & | m | ) |
returns the number of elements stored by store4x4AndDiagonal (should be min(getN(),4)*min(getM(),4)+ max(0,min(getM()-4,getN()-4)))
| std::list<Inspectable::iparamkey> getArrayNames | ( | int | arraySize, |
| const char * | name | ||
| ) |
Helper function for getting the array names of an array Is used for the method getInternalParamNames() interface inspectable.
| double getKthLargestElement | ( | matrix::Matrix & | matrix, |
| matrix::I | k | ||
| ) |
returns the k.
largest element of the matrix Attention: it will detroy the given matrix! (sorting) Assumption: k>0 and k<=matrixsize
| double getKthSmallestElement | ( | matrix::Matrix & | matrix, |
| matrix::I | k | ||
| ) |
returns the k.
smallest element of the matrix Attention: it will detroy the given matrix! (sorting) Assumption: k>0 and k<=matrixsize
| double lowercutof | ( | void * | theta, |
| double | |||
| ) |
cutof function for mapP
| double matrixNorm1 | ( | const matrix::Matrix & | m | ) |
calculates to linear matrix norm (sum of absolute values divided by number of values (m*n) )
| double matrixNorm2 | ( | const matrix::Matrix & | m | ) |
calculates to square matrix norm (sum of square values divided by number of values (m*n) )
| matrix::Matrix matrixNormalized | ( | const matrix::Matrix & | m | ) |
Matrix/matrixNorm2 )
| double max | ( | const matrix::Matrix & | v | ) |
returns the largest element
| double max | ( | double | a, |
| double | b | ||
| ) |
maximum function for doubles without templates
| double min | ( | const matrix::Matrix & | v | ) |
returns the smallest element
| double min | ( | double | a, |
| double | b | ||
| ) |
minimum function for doubles without templates
| matrix::Matrix noiseMatrix | ( | matrix::I | m, |
| matrix::I | n, | ||
| NoiseGenerator & | ng, | ||
| double | strength, | ||
| double | unused = 0 |
||
| ) |
returns a Matrix with values generated by the given noise generator
| double one_over | ( | double | x | ) |
calculates 1/x
| double plus_ | ( | double | b, |
| double | a | ||
| ) |
plus function for mapP
| double power | ( | void * | c, |
| double | x | ||
| ) |
returns x the power c (as a double)
| double power3 | ( | double | x | ) |
power 3 for matrix::map
| double random_minusone_to_one | ( | double | ) |
creates random number from -1 to 1
| double random_minusone_to_one | ( | void * | , |
| double | |||
| ) |
creates random number from -1 to 1
| bool restoreMatrix | ( | matrix::Matrix & | m, |
| FILE * | f | ||
| ) |
reads a Matrix from the given file stream (binary)
| matrix::I sample | ( | const matrix::Matrix & | ) |
samples from the pdf (rowwise stored with sum = 1)
|
inline |
geneterates deterministically a new random generator from the given one.
If null then rand() is used for the seed;
|
inline |
| std::list<matrix::D> store4x4AndDiagonal | ( | const matrix::Matrix & | m | ) |
stores at least left top 4x4 submatrix (row-wise) (if exists) and then the rest of the diagonal elements into a list
| matrix::I store4x4AndDiagonal | ( | const matrix::Matrix & | m, |
| matrix::D * | buffer, | ||
| matrix::I | len | ||
| ) |
stores at least left top 4x4 submatrix (row-wise) (if exists) and then the rest of the diagonal elements
| m | matrix to be stored |
| len | Length of the provided buffer (should be min(getN(),4)*min(getM(),4)+ max(0,min(getM()-4,getN()-4))) |
| std::list<Inspectable::iparamkey> store4x4AndDiagonalFieldNames | ( | const matrix::Matrix & | m, |
| const std::string & | matrixName | ||
| ) |
writes the names of the fields stored by store4x4AndDiagonal into a list
| m | matrix to be stored |
| matrixName | name of the matrix (prefix for all fields) |
| matrix::I store4x4AndDiagonalFieldNames | ( | const matrix::Matrix & | m, |
| const std::string & | matrixName, | ||
| char ** | keylist, | ||
| matrix::I | len | ||
| ) |
stores the names of the fields stored by store4x4AndDiagonal
| m | matrix to be stored |
| matrixName | name of the matrix (prefix for all fields) |
| keylist | list for field names |
| len | Length of the provided buffer (should be min(getN(),4)*min(getM(),4)+ max(0,min(getM()-4,getN()-4))) |
| bool storeMatrix | ( | const matrix::Matrix & | m, |
| FILE * | f | ||
| ) |
stores the Matrix into the given file stream (binary)
| std::list<Inspectable::iparamkey> storeMatrixFieldNames | ( | const matrix::Matrix & | m, |
| const std::string & | matrixName | ||
| ) |
stores the names of all matrix fieldnames in the order produced by convertToBuffer (row-wise)
| matrix::I storeMatrixFieldNames | ( | const matrix::Matrix & | m, |
| const char * | matrixName, | ||
| char ** | keylist, | ||
| matrix::I | len | ||
| ) |
stores the names of all matrix fieldnames in the order produced by convertToBuffer (row-wise)
| m | matrix to be stored |
| matrixName | name of the matrix (prefix for all fields) |
| keylist | list for field names |
| len | Length of the provided buffer (should be getN()*getM() |
| std::list<Inspectable::iparamkey> storeVectorFieldNames | ( | const matrix::Matrix & | m, |
| const std::string & | vectorName | ||
| ) |
stores the names of all vector (mx1 or 1xn matrix) fieldnames in the order produced by convertToBuffer (row-wise)
| matrix::I storeVectorFieldNames | ( | const matrix::Matrix & | m, |
| const char * | vectorName, | ||
| char ** | keylist, | ||
| matrix::I | len | ||
| ) |
stores the names of all vector (mx1 or 1xn matrix) fieldnames in the order produced by convertToBuffer (row-wise)
| m | vector to be stored |
| vectorName | name of the vector (prefix for all fields) |
| keylist | list for field names |
| len | Length of the provided buffer (should be getM()) |
| double toBinaryWithProbability | ( | void * | r, |
| double | x | ||
| ) |
returns -1 if probability is to low, otherwise 1 for mapP
| double toBinaryWithThreshold | ( | double | x, |
| double | threshold | ||
| ) |
returns -1 if below threshold, otherwise 1 for map2