iCub-main
iCub::learningmachine::math Namespace Reference

## Functions

void dchud (double *r, int ldr, int p, double *x, double *z, int ldz, int nz, double *y, double *rho, double *c, double *s, unsigned char rtrans=0, unsigned char ztrans=0)
Mathematical helper functions for use in the learningMachine library. More...

void gsl_linalg_cholesky_update (gsl_matrix *R, gsl_vector *x, gsl_vector *c, gsl_vector *s, gsl_matrix *Z=NULL, gsl_vector *y=NULL, gsl_vector *rho=NULL, unsigned char rtrans=0, unsigned char ztrans=0)

void cholupdate (yarp::sig::Matrix &R, const yarp::sig::Vector &x, yarp::sig::Vector &c, yarp::sig::Vector &s, yarp::sig::Matrix &Z, const yarp::sig::Vector &y, yarp::sig::Vector &rho, bool rtrans=0, bool ztrans=0)
Perform a rank-1 update to a Cholesky factor, while updating additional vectors using the used Given's rotations and updating the norm of residuals. More...

void cholupdate (yarp::sig::Matrix &R, const yarp::sig::Vector &x, bool rtrans=0)
Perform a rank-1 update to a Cholesky factor. More...

void cholsolve (const yarp::sig::Matrix &R, const yarp::sig::Matrix &B, yarp::sig::Matrix &X)
Solves a system A*x=b for multiple row vectors in B using a precomputed Cholesky factor R. More...

yarp::sig::Matrix cholsolve (const yarp::sig::Matrix &R, const yarp::sig::Matrix &B)
Solves a system A*x=b for multiple row vectors in B using a precomputed Cholesky factor R. More...

void cholsolve (const yarp::sig::Matrix &R, const yarp::sig::Vector &b, yarp::sig::Vector &x)
Solves a system A*x=b for using a precomputed Cholesky factor R. More...

yarp::sig::Vector cholsolve (const yarp::sig::Matrix &R, const yarp::sig::Vector &b)
Solves a system A*x=b for using a precomputed Cholesky factor R. More...

yarp::sig::Matrix outerprod (const yarp::sig::Vector &v1, const yarp::sig::Vector &v2)
Computes the outer product of two vectors. More...

yarp::sig::Vector & addvec (yarp::sig::Vector &v, double val)
Adds a scalar to a vector inplace. More...

void trsolve (const yarp::sig::Matrix &A, const yarp::sig::Vector &b, yarp::sig::Vector &x, bool transa=false)
Solves a triangular linear system Ax=b where A is triangular. More...

yarp::sig::Vector trsolve (const yarp::sig::Matrix &A, const yarp::sig::Vector &b, bool transa=false)
Solves a linear system Ax=b where A is triangular. More...

void fillrandom (yarp::sig::Vector &v, yarp::math::RandScalar &prng)
Fills an entire vector using the provided pseudo random number generator. More...

void fillrandom (yarp::sig::Matrix &M, yarp::math::RandScalar &prng)
Fills an entire matrix using the provided pseudo random number generator. More...

void fillrandom (yarp::sig::Vector &v, yarp::math::RandnScalar &prng)
Fills an entire vector using the provided pseudo random number generator. More...

void fillrandom (yarp::sig::Matrix &M, yarp::math::RandnScalar &prng)
Fills an entire matrix using the provided pseudo random number generator. More...

yarp::sig::Vector random (int length, yarp::math::RandScalar &prng)
Returns a random vector with given dimensionality. More...

yarp::sig::Matrix random (int rows, int columns, yarp::math::RandScalar &prng)
Returns a random matrix with given dimensionality. More...

yarp::sig::Vector random (int length, yarp::math::RandnScalar &prng)
Returns a random vector with given dimensionality. More...

yarp::sig::Matrix random (int rows, int columns, yarp::math::RandnScalar &prng)
Returns a random matrix with given dimensionality. More...

yarp::sig::Vector & map (yarp::sig::Vector &v, double(op)(double))
Performs a unary operator inplace on each element of a vector. More...

yarp::sig::Matrix & map (yarp::sig::Matrix &M, double(op)(double))
Performs a unary operator inplace on each element of a matrix. More...

yarp::sig::Vector map (const yarp::sig::Vector &v, double(op)(double))
Performs a unary operator on each element of a vector. More...

yarp::sig::Matrix map (const yarp::sig::Matrix &M, double(op)(double))
Performs a unary operator on each element of a matrix. More...

yarp::sig::Matrix & cosmat (yarp::sig::Matrix &M)
Computes the cosine of a matrix element-wise inplace. More...

yarp::sig::Matrix & sinmat (yarp::sig::Matrix &M)
Computes the sine of a matrix element-wise inplace. More...

yarp::sig::Vector & cosvec (yarp::sig::Vector &v)
Computes the cosine of a vector element-wise inplace. More...

yarp::sig::Vector & sinvec (yarp::sig::Vector &v)
Computes the sine of a vector element-wise inplace. More...

yarp::sig::Matrix cosmat (const yarp::sig::Matrix &M)
Computes the cosine of a matrix element-wise. More...

yarp::sig::Matrix sinmat (const yarp::sig::Matrix &M)
Computes the sine of a matrix element-wise. More...

yarp::sig::Vector cosvec (const yarp::sig::Vector &v)
Computes the cosine of a vector element-wise. More...

yarp::sig::Vector sinvec (const yarp::sig::Vector &v)
Computes the sine of a vector element-wise. More...

## Function Documentation

 yarp::sig::Vector & iCub::learningmachine::math::addvec ( yarp::sig::Vector & v, double val )

Adds a scalar to a vector inplace.

Parameters
 v the vector val the scalar
Returns
the vector

Definition at line 223 of file Math.cpp.

## ◆ cholsolve() [1/4]

 yarp::sig::Matrix iCub::learningmachine::math::cholsolve ( const yarp::sig::Matrix & R, const yarp::sig::Matrix & B )

Solves a system A*x=b for multiple row vectors in B using a precomputed Cholesky factor R.

Parameters
 R the Cholesky factor B a matrix containing any number of column vectors b
Returns
a matrix containing the same number of solutions x on its rows

Definition at line 185 of file Math.cpp.

## ◆ cholsolve() [2/4]

 void iCub::learningmachine::math::cholsolve ( const yarp::sig::Matrix & R, const yarp::sig::Matrix & B, yarp::sig::Matrix & X )

Solves a system A*x=b for multiple row vectors in B using a precomputed Cholesky factor R.

Parameters
 R the Cholesky factor B a matrix containing any number of row vectors b X a matrix containing the same number of solutions x on its rows

Definition at line 167 of file Math.cpp.

## ◆ cholsolve() [3/4]

 yarp::sig::Vector iCub::learningmachine::math::cholsolve ( const yarp::sig::Matrix & R, const yarp::sig::Vector & b )

Solves a system A*x=b for using a precomputed Cholesky factor R.

Parameters
 R the Cholesky factor b the vector b
Returns
the solution x

Definition at line 207 of file Math.cpp.

## ◆ cholsolve() [4/4]

 void iCub::learningmachine::math::cholsolve ( const yarp::sig::Matrix & R, const yarp::sig::Vector & b, yarp::sig::Vector & x )

Solves a system A*x=b for using a precomputed Cholesky factor R.

Parameters
 R the Cholesky factor b the vector b x the solution x

Definition at line 191 of file Math.cpp.

## ◆ cholupdate() [1/2]

 void iCub::learningmachine::math::cholupdate ( yarp::sig::Matrix & R, const yarp::sig::Vector & x, bool rtrans = 0 )

Perform a rank-1 update to a Cholesky factor.

Parameters
 R an upper triangular Cholesky factor x the vector used to update the Cholesky factor rtrans flag indicating whether R is provided transposed

Definition at line 152 of file Math.cpp.

## ◆ cholupdate() [2/2]

 void iCub::learningmachine::math::cholupdate ( yarp::sig::Matrix & R, const yarp::sig::Vector & x, yarp::sig::Vector & c, yarp::sig::Vector & s, yarp::sig::Matrix & Z, const yarp::sig::Vector & y, yarp::sig::Vector & rho, bool rtrans = 0, bool ztrans = 0 )

Perform a rank-1 update to a Cholesky factor, while updating additional vectors using the used Given's rotations and updating the norm of residuals.

Parameters
 R an upper triangular Cholesky factor x the vector used to update the Cholesky factor c on output, the cosines of the Given's rotations s on output, the sines of the Given's rotations Z a number of column vectors updated along with R y a vector containing scalars used to update Z rho the norm of the residuals rtrans flag indicating whether R is provided transposed ztrans flag indicating whether Z is provided transposed

Definition at line 136 of file Math.cpp.

## ◆ cosmat() [1/2]

 yarp::sig::Matrix iCub::learningmachine::math::cosmat ( const yarp::sig::Matrix & M )

Computes the cosine of a matrix element-wise.

Renamed to avoid possible ambiguity with the standard cos function.

Parameters
 M a constant reference to the matrix
Returns
the matrix of cosines

Definition at line 363 of file Math.cpp.

## ◆ cosmat() [2/2]

 yarp::sig::Matrix & iCub::learningmachine::math::cosmat ( yarp::sig::Matrix & M )

Computes the cosine of a matrix element-wise inplace.

Renamed to avoid possible ambiguity with the standard cos function.

Parameters
 M a reference to the matrix
Returns
the matrix of cosines

Definition at line 347 of file Math.cpp.

## ◆ cosvec() [1/2]

 yarp::sig::Vector iCub::learningmachine::math::cosvec ( const yarp::sig::Vector & v )

Computes the cosine of a vector element-wise.

Renamed to avoid possible ambiguity with the standard cos function.

Parameters
 v a constant reference to the vector
Returns
the vector of cosines

Definition at line 355 of file Math.cpp.

## ◆ cosvec() [2/2]

 yarp::sig::Vector & iCub::learningmachine::math::cosvec ( yarp::sig::Vector & v )

Computes the cosine of a vector element-wise inplace.

Renamed to avoid possible ambiguity with the standard cos function.

Parameters
 v a reference to the vector
Returns
the vector of cosines

Definition at line 339 of file Math.cpp.

## ◆ dchud()

 void iCub::learningmachine::math::dchud ( double * r, int ldr, int p, double * x, double * z, int ldz, int nz, double * y, double * rho, double * c, double * s, unsigned char rtrans = 0, unsigned char ztrans = 0 )

Mathematical helper functions for use in the learningMachine library.

Definition at line 33 of file Math.cpp.

## ◆ fillrandom() [1/4]

 void iCub::learningmachine::math::fillrandom ( yarp::sig::Matrix & M, yarp::math::RandnScalar & prng )

Fills an entire matrix using the provided pseudo random number generator.

Parameters
 M a reference to the matrix prng a reference to the pseudo random number generator

Definition at line 272 of file Math.cpp.

## ◆ fillrandom() [2/4]

 void iCub::learningmachine::math::fillrandom ( yarp::sig::Matrix & M, yarp::math::RandScalar & prng )

Fills an entire matrix using the provided pseudo random number generator.

Parameters
 M a reference to the matrix prng a reference to the pseudo random number generator

Definition at line 256 of file Math.cpp.

## ◆ fillrandom() [3/4]

 void iCub::learningmachine::math::fillrandom ( yarp::sig::Vector & v, yarp::math::RandnScalar & prng )

Fills an entire vector using the provided pseudo random number generator.

Parameters
 v a reference to the vector prng a reference to the pseudo random number generator

Definition at line 265 of file Math.cpp.

## ◆ fillrandom() [4/4]

 void iCub::learningmachine::math::fillrandom ( yarp::sig::Vector & v, yarp::math::RandScalar & prng )

Fills an entire vector using the provided pseudo random number generator.

Parameters
 v a reference to the vector prng a reference to the pseudo random number generator

Definition at line 249 of file Math.cpp.

## ◆ gsl_linalg_cholesky_update()

 void iCub::learningmachine::math::gsl_linalg_cholesky_update ( gsl_matrix * R, gsl_vector * x, gsl_vector * c, gsl_vector * s, gsl_matrix * Z = NULL, gsl_vector * y = NULL, gsl_vector * rho = NULL, unsigned char rtrans = 0, unsigned char ztrans = 0 )

Definition at line 99 of file Math.cpp.

## ◆ map() [1/4]

 yarp::sig::Matrix iCub::learningmachine::math::map ( const yarp::sig::Matrix & M, double(op)(double) )

Performs a unary operator on each element of a matrix.

Parameters
 M a constant reference to the matrix op the operator
Returns
the matrix

Definition at line 329 of file Math.cpp.

## ◆ map() [2/4]

 yarp::sig::Vector iCub::learningmachine::math::map ( const yarp::sig::Vector & v, double(op)(double) )

Performs a unary operator on each element of a vector.

Parameters
 v a constant reference to the vector op the operator
Returns
the vector

Definition at line 321 of file Math.cpp.

## ◆ map() [3/4]

 yarp::sig::Matrix & iCub::learningmachine::math::map ( yarp::sig::Matrix & M, double(op)(double) )

Performs a unary operator inplace on each element of a matrix.

Parameters
 M a reference to the matrix op the operator
Returns
a reference to the matrix

Definition at line 312 of file Math.cpp.

## ◆ map() [4/4]

 yarp::sig::Vector & iCub::learningmachine::math::map ( yarp::sig::Vector & v, double(op)(double) )

Performs a unary operator inplace on each element of a vector.

Parameters
 v a reference to the vector op the operator
Returns
a reference to the vector

Definition at line 305 of file Math.cpp.

## ◆ outerprod()

 yarp::sig::Matrix iCub::learningmachine::math::outerprod ( const yarp::sig::Vector & v1, const yarp::sig::Vector & v2 )

Computes the outer product of two vectors.

Parameters
 v1 the first vector v2 the second vector
Returns
the outer product

Definition at line 213 of file Math.cpp.

## ◆ random() [1/4]

 yarp::sig::Vector iCub::learningmachine::math::random ( int length, yarp::math::RandnScalar & prng )

Returns a random vector with given dimensionality.

Parameters
 length the desired dimensionality of the vector prng a reference to the pseudo random number generator
Returns
the random vector

Definition at line 293 of file Math.cpp.

## ◆ random() [2/4]

 yarp::sig::Vector iCub::learningmachine::math::random ( int length, yarp::math::RandScalar & prng )

Returns a random vector with given dimensionality.

Parameters
 length the desired dimensionality of the vector prng a reference to the pseudo random number generator
Returns
the random vector

Definition at line 281 of file Math.cpp.

## ◆ random() [3/4]

 yarp::sig::Matrix iCub::learningmachine::math::random ( int rows, int columns, yarp::math::RandnScalar & prng )

Returns a random matrix with given dimensionality.

Parameters
 rows the desired number of rows for the matrix cols the desired number of columns for the matrix prng a reference to the pseudo random number generator
Returns
the random matrix

Definition at line 299 of file Math.cpp.

## ◆ random() [4/4]

 yarp::sig::Matrix iCub::learningmachine::math::random ( int rows, int columns, yarp::math::RandScalar & prng )

Returns a random matrix with given dimensionality.

Parameters
 rows the desired number of rows for the matrix cols the desired number of columns for the matrix prng a reference to the pseudo random number generator
Returns
the random matrix

Definition at line 287 of file Math.cpp.

## ◆ sinmat() [1/2]

 yarp::sig::Matrix iCub::learningmachine::math::sinmat ( const yarp::sig::Matrix & M )

Computes the sine of a matrix element-wise.

Renamed to avoid possible ambiguity with the standard sin function.

Parameters
 M a constant reference to the matrix
Returns
the matrix of sines

Definition at line 367 of file Math.cpp.

## ◆ sinmat() [2/2]

 yarp::sig::Matrix & iCub::learningmachine::math::sinmat ( yarp::sig::Matrix & M )

Computes the sine of a matrix element-wise inplace.

Renamed to avoid possible ambiguity with the standard sin function.

Parameters
 M a reference to the matrix
Returns
the matrix of sines

Definition at line 351 of file Math.cpp.

## ◆ sinvec() [1/2]

 yarp::sig::Vector iCub::learningmachine::math::sinvec ( const yarp::sig::Vector & v )

Computes the sine of a vector element-wise.

Renamed to avoid possible ambiguity with the standard sin function.

Parameters
 v a constant reference to the vector
Returns
the vector of sines

Definition at line 359 of file Math.cpp.

## ◆ sinvec() [2/2]

 yarp::sig::Vector & iCub::learningmachine::math::sinvec ( yarp::sig::Vector & v )

Computes the sine of a vector element-wise inplace.

Renamed to avoid possible ambiguity with the standard sin function.

Parameters
 v a reference to the vector
Returns
the vector of sines

Definition at line 343 of file Math.cpp.

## ◆ trsolve() [1/2]

 yarp::sig::Vector iCub::learningmachine::math::trsolve ( const yarp::sig::Matrix & A, const yarp::sig::Vector & b, bool transa = false )

Solves a linear system Ax=b where A is triangular.

Parameters
 A the matrix A b the matrix b transa whether A should be transposed
Returns
x the vector x

Definition at line 243 of file Math.cpp.

## ◆ trsolve() [2/2]

 void iCub::learningmachine::math::trsolve ( const yarp::sig::Matrix & A, const yarp::sig::Vector & b, yarp::sig::Vector & x, bool transa = false )

Solves a triangular linear system Ax=b where A is triangular.

Parameters
 A the matrix A b the vector b x the vector x transa whether A should be transposed

Definition at line 230 of file Math.cpp.