CMath Class Reference


Detailed Description

Class which collects generic mathematical functions.

Definition at line 119 of file Mathematics.h.

Inheritance diagram for CMath:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual const char * get_name () const
template<>
void display_vector (uint8_t *vector, int32_t n, const char *name)
template<>
void display_vector (int32_t *vector, int32_t n, const char *name)
template<>
void display_vector (int64_t *vector, int32_t n, const char *name)
template<>
void display_vector (float32_t *vector, int32_t n, const char *name)
template<>
void display_vector (float64_t *vector, int32_t n, const char *name)
template<>
void display_matrix (int32_t *matrix, int32_t rows, int32_t cols, const char *name)
template<>
void display_matrix (float64_t *matrix, int32_t rows, int32_t cols, const char *name)
Constructor/Destructor.



 CMath ()
 Constructor - initializes log-table.
virtual ~CMath ()
 Destructor - frees logtable.

Static Public Member Functions

static float64_t mutual_info (float64_t *p1, float64_t *p2, int32_t len)
static float64_t relative_entropy (float64_t *p, float64_t *q, int32_t len)
static float64_t entropy (float64_t *p, int32_t len)
 returns entropy of p which is given in logspace
static uint32_t get_seed ()
 returns number generator seed
static int is_finite (double f)
 checks whether a float is finite
static int is_infinity (double f)
 checks whether a float is infinity
static int is_nan (double f)
 checks whether a float is nan
min/max/abs functions.



template<class T >
static T min (T a, T b)
 return the minimum of two integers
template<class T >
static T max (T a, T b)
 return the maximum of two integers
template<class T >
static T clamp (T value, T lb, T ub)
 return the value clamped to interval [lb,ub]
template<class T >
static T abs (T a)
 return the maximum of two integers
misc functions



static uint32_t crc32 (uint8_t *data, int32_t len)
 crc32
static float64_t round (float64_t d)
static float64_t floor (float64_t d)
static float64_t ceil (float64_t d)
template<class T >
static T sign (T a)
 signum of type T variable a
template<class T >
static void swap (T &a, T &b)
 swap e.g. floats a and b
template<class T >
static T qsq (T *x, int32_t len, float64_t q)
 || x ||_q^q
template<class T >
static T qnorm (T *x, int32_t len, float64_t q)
 || x ||_q
template<class T >
static T sq (T x)
 x^2
static float32_t sqrt (float32_t x)
 x^0.5
static float64_t sqrt (float64_t x)
 x^0.5
static floatmax_t sqrt (floatmax_t x)
 x^0.5
static floatmax_t powl (floatmax_t x, floatmax_t n)
 x^n
static int32_t pow (int32_t x, int32_t n)
static float64_t pow (float64_t x, int32_t n)
static float64_t pow (float64_t x, float64_t n)
static float64_t exp (float64_t x)
static float64_t log10 (float64_t v)
static float64_t log2 (float64_t v)
static float64_t log (float64_t v)
template<class T >
static void transpose_matrix (T *&matrix, int32_t &num_feat, int32_t &num_vec)
static float64_tpinv (float64_t *matrix, int32_t rows, int32_t cols, float64_t *target=NULL)
static void dgemm (double alpha, const double *A, int rows, int cols, CBLAS_TRANSPOSE transposeA, double *B, int cols_B, CBLAS_TRANSPOSE transposeB, double beta, double *C)
static void dgemv (double alpha, const double *A, int rows, int cols, const CBLAS_TRANSPOSE transposeA, const double *X, double beta, double *Y)
static int64_t factorial (int32_t n)
static void init_random (uint32_t initseed=0)
static int64_t random ()
static int32_t random (int32_t min_value, int32_t max_value)
static float32_t random (float32_t min_value, float32_t max_value)
static float64_t random (float64_t min_value, float64_t max_value)
template<class T >
static T * clone_vector (const T *vec, int32_t len)
template<class T >
static void fill_vector (T *vec, int32_t len, T value)
template<class T >
static void range_fill_vector (T *vec, int32_t len, T start=0)
template<class T >
static void random_vector (T *vec, int32_t len, T min_value, T max_value)
static int32_t * randperm (int32_t n)
static int64_t nchoosek (int32_t n, int32_t k)
template<class T >
static void vec1_plus_scalar_times_vec2 (T *vec1, T scalar, const T *vec2, int32_t n)
 x=x+alpha*y
static float64_t dot (const bool *v1, const bool *v2, int32_t n)
 compute dot product between v1 and v2 (blas optimized)
static floatmax_t dot (const floatmax_t *v1, const floatmax_t *v2, int32_t n)
 compute dot product between v1 and v2 (blas optimized)
static float64_t dot (const float64_t *v1, const float64_t *v2, int32_t n)
 compute dot product between v1 and v2 (blas optimized)
static float32_t dot (const float32_t *v1, const float32_t *v2, int32_t n)
 compute dot product between v1 and v2 (blas optimized)
static float64_t dot (const uint64_t *v1, const uint64_t *v2, int32_t n)
 compute dot product between v1 and v2 (for 64bit unsigned ints)
static float64_t dot (const int64_t *v1, const int64_t *v2, int32_t n)
 compute dot product between v1 and v2 (for 64bit ints)
static float64_t dot (const int32_t *v1, const int32_t *v2, int32_t n)
 compute dot product between v1 and v2 (for 32bit ints)
static float64_t dot (const uint32_t *v1, const uint32_t *v2, int32_t n)
 compute dot product between v1 and v2 (for 32bit unsigned ints)
static float64_t dot (const uint16_t *v1, const uint16_t *v2, int32_t n)
 compute dot product between v1 and v2 (for 16bit unsigned ints)
static float64_t dot (const int16_t *v1, const int16_t *v2, int32_t n)
 compute dot product between v1 and v2 (for 16bit unsigned ints)
static float64_t dot (const char *v1, const char *v2, int32_t n)
 compute dot product between v1 and v2 (for 8bit (un)signed ints)
static float64_t dot (const uint8_t *v1, const uint8_t *v2, int32_t n)
 compute dot product between v1 and v2 (for 8bit (un)signed ints)
static float64_t dot (const float64_t *v1, const char *v2, int32_t n)
 compute dot product between v1 and v2
template<class T >
static void add (T *target, T alpha, const T *v1, T beta, const T *v2, int32_t len)
 target=alpha*vec1 + beta*vec2
template<class T >
static void add_scalar (T alpha, T *vec, int32_t len)
 add scalar to vector inplace
template<class T >
static void scale_vector (T alpha, T *vec, int32_t len)
 scale vector inplace
template<class T >
static T sum (T *vec, int32_t len)
 return sum(vec)
template<class T >
static T max (T *vec, int32_t len)
 return max(vec)
template<class T >
static T sum_abs (T *vec, int32_t len)
 return sum(abs(vec))
template<class T >
static bool fequal (T x, T y, float64_t precision=1e-6)
 return sum(abs(vec))
static float64_t mean (float64_t *vec, int32_t len)
static float64_t trace (float64_t *mat, int32_t cols, int32_t rows)
static void sort (int32_t *a, int32_t cols, int32_t sort_col=0)
static void sort (float64_t *a, int32_t *idx, int32_t N)
template<class T >
static void radix_sort (T *array, int32_t size)
template<class T >
static uint8_t byte (T word, uint16_t p)
template<class T >
static void radix_sort_helper (T *array, int32_t size, uint16_t i)
template<class T >
static void insertion_sort (T *output, int32_t size)
template<class T >
static void qsort (T *output, int32_t size)
template<class T >
static void display_bits (T word, int32_t width=8 *sizeof(T))
 display bits (useful for debugging)
template<class T >
static void display_vector (T *vector, int32_t n, const char *name="vector")
 display vector (useful for debugging)
template<class T >
static void display_matrix (T *matrix, int32_t rows, int32_t cols, const char *name="matrix")
 display matrix (useful for debugging)
template<class T1 , class T2 >
static void qsort_index (T1 *output, T2 *index, uint32_t size)
template<class T1 , class T2 >
static void qsort_backward_index (T1 *output, T2 *index, int32_t size)
template<class T1 , class T2 >
static void parallel_qsort_index (T1 *output, T2 *index, uint32_t size, int32_t n_threads, int32_t limit=262144)
template<class T1 , class T2 >
static void * parallel_qsort_index (void *p)
template<class T >
static void min (float64_t *output, T *index, int32_t size)
template<class T >
static void nmin (float64_t *output, T *index, int32_t size, int32_t n)
template<class T >
static int32_t unique (T *output, int32_t size)
template<class T >
static int32_t binary_search_helper (T *output, int32_t size, T elem)
template<class T >
static int32_t binary_search (T *output, int32_t size, T elem)
template<class T >
static int32_t binary_search_max_lower_equal (T *output, int32_t size, T elem)
static float64_t Align (char *seq1, char *seq2, int32_t l1, int32_t l2, float64_t gapCost)
static int32_t calcroc (float64_t *fp, float64_t *tp, float64_t *output, int32_t *label, int32_t &size, int32_t &possize, int32_t &negsize, float64_t &tresh, FILE *rocfile)
summing functions



static float64_t logarithmic_sum (float64_t p, float64_t q)

Static Public Attributes

constants



static const float64_t INFTY = -log(0.0)
 infinity
static const float64_t ALMOST_INFTY = +1e+20
static const float64_t ALMOST_NEG_INFTY = -1000
 almost neg (log) infinity
static int32_t LOGRANGE = 0
 range for logtable: log(1+exp(x)) -LOGRANGE <= x <= 0
static uint32_t seed = 0
 random generator seed
static char * rand_state = NULL

Constructor & Destructor Documentation

CMath::CMath (  ) 

Constructor - initializes log-table.

Definition at line 54 of file Mathematics.cpp.

CMath::~CMath (  )  [virtual]

Destructor - frees logtable.

Definition at line 74 of file Mathematics.cpp.


Member Function Documentation

template<class T >
static T CMath::abs ( a  )  [static]

return the maximum of two integers

Definition at line 165 of file Mathematics.h.

template<class T >
static void CMath::add ( T *  target,
alpha,
const T *  v1,
beta,
const T *  v2,
int32_t  len 
) [static]

target=alpha*vec1 + beta*vec2

Definition at line 649 of file Mathematics.h.

template<class T >
static void CMath::add_scalar ( alpha,
T *  vec,
int32_t  len 
) [static]

add scalar to vector inplace

Definition at line 659 of file Mathematics.h.

float64_t CMath::Align ( char *  seq1,
char *  seq2,
int32_t  l1,
int32_t  l2,
float64_t  gapCost 
) [static]

align two sequences seq1 & seq2 of length l1 and l2 using gapCost return alignment cost

Definition at line 154 of file Mathematics.cpp.

template<class T >
static int32_t CMath::binary_search ( T *  output,
int32_t  size,
elem 
) [static]

Definition at line 1043 of file Mathematics.h.

template<class T >
static int32_t CMath::binary_search_helper ( T *  output,
int32_t  size,
elem 
) [static]

Definition at line 1014 of file Mathematics.h.

template<class T >
static int32_t CMath::binary_search_max_lower_equal ( T *  output,
int32_t  size,
elem 
) [static]

Definition at line 1056 of file Mathematics.h.

template<class T >
static uint8_t CMath::byte ( word,
uint16_t  p 
) [static]

Definition at line 755 of file Mathematics.h.

int32_t CMath::calcroc ( float64_t fp,
float64_t tp,
float64_t output,
int32_t *  label,
int32_t &  size,
int32_t &  possize,
int32_t &  negsize,
float64_t tresh,
FILE *  rocfile 
) [static]

calculates ROC into (fp,tp) from output and label of length size returns index with smallest error=fp+fn

Definition at line 199 of file Mathematics.cpp.

static float64_t CMath::ceil ( float64_t  d  )  [static]

Definition at line 194 of file Mathematics.h.

template<class T >
static T CMath::clamp ( value,
lb,
ub 
) [static]

return the value clamped to interval [lb,ub]

Definition at line 153 of file Mathematics.h.

template<class T >
static T* CMath::clone_vector ( const T *  vec,
int32_t  len 
) [static]

Definition at line 442 of file Mathematics.h.

uint32_t CMath::crc32 ( uint8_t *  data,
int32_t  len 
) [static]

crc32

Definition at line 341 of file Mathematics.cpp.

static void CMath::dgemm ( double  alpha,
const double *  A,
int  rows,
int  cols,
CBLAS_TRANSPOSE  transposeA,
double *  B,
int  cols_B,
CBLAS_TRANSPOSE  transposeB,
double  beta,
double *  C 
) [static]

Definition at line 359 of file Mathematics.h.

static void CMath::dgemv ( double  alpha,
const double *  A,
int  rows,
int  cols,
const CBLAS_TRANSPOSE  transposeA,
const double *  X,
double  beta,
double *  Y 
) [static]

Definition at line 369 of file Mathematics.h.

template<class T >
static void CMath::display_bits ( word,
int32_t  width = 8*sizeof(T) 
) [static]

display bits (useful for debugging)

Definition at line 918 of file Mathematics.h.

template<>
void CMath::display_matrix ( float64_t matrix,
int32_t  rows,
int32_t  cols,
const char *  name 
)

Definition at line 516 of file Mathematics.cpp.

template<>
void CMath::display_matrix ( int32_t *  matrix,
int32_t  rows,
int32_t  cols,
const char *  name 
)

Definition at line 499 of file Mathematics.cpp.

template<class T >
static void CMath::display_matrix ( T *  matrix,
int32_t  rows,
int32_t  cols,
const char *  name = "matrix" 
) [static]

display matrix (useful for debugging)

template<>
void CMath::display_vector ( float64_t vector,
int32_t  n,
const char *  name 
)

Definition at line 489 of file Mathematics.cpp.

template<>
void CMath::display_vector ( float32_t vector,
int32_t  n,
const char *  name 
)

Definition at line 479 of file Mathematics.cpp.

template<>
void CMath::display_vector ( int64_t *  vector,
int32_t  n,
const char *  name 
)

Definition at line 469 of file Mathematics.cpp.

template<>
void CMath::display_vector ( int32_t *  vector,
int32_t  n,
const char *  name 
)

Definition at line 459 of file Mathematics.cpp.

template<>
void CMath::display_vector ( uint8_t *  vector,
int32_t  n,
const char *  name 
)

Definition at line 449 of file Mathematics.cpp.

template<class T >
static void CMath::display_vector ( T *  vector,
int32_t  n,
const char *  name = "vector" 
) [static]

display vector (useful for debugging)

static float64_t CMath::dot ( const float64_t v1,
const char *  v2,
int32_t  n 
) [static]

compute dot product between v1 and v2

Definition at line 637 of file Mathematics.h.

static float64_t CMath::dot ( const uint8_t *  v1,
const uint8_t *  v2,
int32_t  n 
) [static]

compute dot product between v1 and v2 (for 8bit (un)signed ints)

Definition at line 626 of file Mathematics.h.

static float64_t CMath::dot ( const char *  v1,
const char *  v2,
int32_t  n 
) [static]

compute dot product between v1 and v2 (for 8bit (un)signed ints)

Definition at line 615 of file Mathematics.h.

static float64_t CMath::dot ( const int16_t *  v1,
const int16_t *  v2,
int32_t  n 
) [static]

compute dot product between v1 and v2 (for 16bit unsigned ints)

Definition at line 604 of file Mathematics.h.

static float64_t CMath::dot ( const uint16_t *  v1,
const uint16_t *  v2,
int32_t  n 
) [static]

compute dot product between v1 and v2 (for 16bit unsigned ints)

Definition at line 593 of file Mathematics.h.

static float64_t CMath::dot ( const uint32_t *  v1,
const uint32_t *  v2,
int32_t  n 
) [static]

compute dot product between v1 and v2 (for 32bit unsigned ints)

Definition at line 582 of file Mathematics.h.

static float64_t CMath::dot ( const int32_t *  v1,
const int32_t *  v2,
int32_t  n 
) [static]

compute dot product between v1 and v2 (for 32bit ints)

Definition at line 571 of file Mathematics.h.

static float64_t CMath::dot ( const int64_t *  v1,
const int64_t *  v2,
int32_t  n 
) [static]

compute dot product between v1 and v2 (for 64bit ints)

Definition at line 560 of file Mathematics.h.

static float64_t CMath::dot ( const uint64_t *  v1,
const uint64_t *  v2,
int32_t  n 
) [static]

compute dot product between v1 and v2 (for 64bit unsigned ints)

Definition at line 550 of file Mathematics.h.

static float32_t CMath::dot ( const float32_t v1,
const float32_t v2,
int32_t  n 
) [static]

compute dot product between v1 and v2 (blas optimized)

Definition at line 535 of file Mathematics.h.

static float64_t CMath::dot ( const float64_t v1,
const float64_t v2,
int32_t  n 
) [static]

compute dot product between v1 and v2 (blas optimized)

Definition at line 521 of file Mathematics.h.

static floatmax_t CMath::dot ( const floatmax_t v1,
const floatmax_t v2,
int32_t  n 
) [static]

compute dot product between v1 and v2 (blas optimized)

Definition at line 512 of file Mathematics.h.

static float64_t CMath::dot ( const bool *  v1,
const bool *  v2,
int32_t  n 
) [static]

compute dot product between v1 and v2 (blas optimized)

Definition at line 503 of file Mathematics.h.

float64_t CMath::entropy ( float64_t p,
int32_t  len 
) [static]

returns entropy of p which is given in logspace

Definition at line 389 of file Mathematics.cpp.

static float64_t CMath::exp ( float64_t  x  )  [static]

Definition at line 305 of file Mathematics.h.

static int64_t CMath::factorial ( int32_t  n  )  [static]

Definition at line 380 of file Mathematics.h.

template<class T >
static bool CMath::fequal ( x,
y,
float64_t  precision = 1e-6 
) [static]

return sum(abs(vec))

Definition at line 710 of file Mathematics.h.

template<class T >
static void CMath::fill_vector ( T *  vec,
int32_t  len,
value 
) [static]

Definition at line 451 of file Mathematics.h.

static float64_t CMath::floor ( float64_t  d  )  [static]

Definition at line 189 of file Mathematics.h.

virtual const char* CMath::get_name (  )  const [virtual]
Returns:
object name

Implements CSGObject.

Definition at line 1207 of file Mathematics.h.

static uint32_t CMath::get_seed (  )  [static]

returns number generator seed

Definition at line 1096 of file Mathematics.h.

static void CMath::init_random ( uint32_t  initseed = 0  )  [static]

Definition at line 388 of file Mathematics.h.

template<class T >
static void CMath::insertion_sort ( T *  output,
int32_t  size 
) [static]

performs insertion sort of an array output of length size it is sorted from in ascending (for type T)

Definition at line 862 of file Mathematics.h.

static int CMath::is_finite ( double  f  )  [static]

checks whether a float is finite

Definition at line 1102 of file Mathematics.h.

static int CMath::is_infinity ( double  f  )  [static]

checks whether a float is infinity

Definition at line 1112 of file Mathematics.h.

static int CMath::is_nan ( double  f  )  [static]

checks whether a float is nan

Definition at line 1118 of file Mathematics.h.

static float64_t CMath::log ( float64_t  v  )  [static]

Definition at line 327 of file Mathematics.h.

static float64_t CMath::log10 ( float64_t  v  )  [static]

Definition at line 310 of file Mathematics.h.

static float64_t CMath::log2 ( float64_t  v  )  [static]

Definition at line 316 of file Mathematics.h.

static float64_t CMath::logarithmic_sum ( float64_t  p,
float64_t  q 
) [static]

sum logarithmic probabilities. Probability measures are summed up but are now given in logspace where direct summation of exp(operand) is not possible due to numerical problems, i.e. eg. exp(-1000)=0. Therefore we do log( exp(a) + exp(b)) = a + log (1 + exp (b-a)) where a = max(p,q) and b min(p,q).

Definition at line 1162 of file Mathematics.h.

template<class T >
static T CMath::max ( T *  vec,
int32_t  len 
) [static]

return max(vec)

Definition at line 686 of file Mathematics.h.

template<class T >
static T CMath::max ( a,
b 
) [static]

return the maximum of two integers

Definition at line 146 of file Mathematics.h.

static float64_t CMath::mean ( float64_t vec,
int32_t  len 
) [static]

Definition at line 715 of file Mathematics.h.

template<class T >
void CMath::min ( float64_t output,
T *  index,
int32_t  size 
) [static]

Definition at line 1436 of file Mathematics.h.

template<class T >
static T CMath::min ( a,
b 
) [static]

return the minimum of two integers

Definition at line 139 of file Mathematics.h.

float64_t CMath::mutual_info ( float64_t p1,
float64_t p2,
int32_t  len 
) [static]

returns the mutual information of p which is given in logspace where p,q are given in logspace

Definition at line 368 of file Mathematics.cpp.

static int64_t CMath::nchoosek ( int32_t  n,
int32_t  k 
) [static]

Definition at line 483 of file Mathematics.h.

template<class T >
void CMath::nmin ( float64_t output,
T *  index,
int32_t  size,
int32_t  n 
) [static]

Definition at line 1425 of file Mathematics.h.

template<class T1 , class T2 >
void * CMath::parallel_qsort_index ( void *  p  )  [static]

Definition at line 1238 of file Mathematics.h.

template<class T1 , class T2 >
static void CMath::parallel_qsort_index ( T1 *  output,
T2 *  index,
uint32_t  size,
int32_t  n_threads,
int32_t  limit = 262144 
) [static]

performs a quicksort on an array output of length size it is sorted in ascending order (for type T1) and returns the index (type T2) matlab alike [sorted,index]=sort(output)

parallel version

Definition at line 969 of file Mathematics.h.

float64_t * CMath::pinv ( float64_t matrix,
int32_t  rows,
int32_t  cols,
float64_t target = NULL 
) [static]

return the pseudo inverse for matrix when matrix has shape (rows, cols) the pseudo inverse has (cols, rows)

Definition at line 410 of file Mathematics.cpp.

static float64_t CMath::pow ( float64_t  x,
float64_t  n 
) [static]

Definition at line 300 of file Mathematics.h.

static float64_t CMath::pow ( float64_t  x,
int32_t  n 
) [static]

Definition at line 290 of file Mathematics.h.

static int32_t CMath::pow ( int32_t  x,
int32_t  n 
) [static]

Definition at line 280 of file Mathematics.h.

static floatmax_t CMath::powl ( floatmax_t  x,
floatmax_t  n 
) [static]

x^n

Definition at line 269 of file Mathematics.h.

template<class T >
static T CMath::qnorm ( T *  x,
int32_t  len,
float64_t  q 
) [static]

|| x ||_q

Definition at line 230 of file Mathematics.h.

template<class T >
static void CMath::qsort ( T *  output,
int32_t  size 
) [static]

performs a quicksort on an array output of length size it is sorted from in ascending (for type T)

Definition at line 881 of file Mathematics.h.

template<class T1 , class T2 >
void CMath::qsort_backward_index ( T1 *  output,
T2 *  index,
int32_t  size 
) [static]

performs a quicksort on an array output of length size it is sorted in ascending order (for type T1) and returns the index (type T2) matlab alike [sorted,index]=sort(output)

Definition at line 1383 of file Mathematics.h.

template<class T1 , class T2 >
void CMath::qsort_index ( T1 *  output,
T2 *  index,
uint32_t  size 
) [static]

performs a quicksort on an array output of length size it is sorted in ascending order (for type T1) and returns the index (type T2) matlab alike [sorted,index]=sort(output)

Definition at line 1342 of file Mathematics.h.

template<class T >
static T CMath::qsq ( T *  x,
int32_t  len,
float64_t  q 
) [static]

|| x ||_q^q

Definition at line 219 of file Mathematics.h.

template<class T >
static void CMath::radix_sort ( T *  array,
int32_t  size 
) [static]

performs a in-place radix sort in ascending order

Definition at line 749 of file Mathematics.h.

template<class T >
static void CMath::radix_sort_helper ( T *  array,
int32_t  size,
uint16_t  i 
) [static]

Definition at line 761 of file Mathematics.h.

static float64_t CMath::random ( float64_t  min_value,
float64_t  max_value 
) [static]

Definition at line 431 of file Mathematics.h.

static float32_t CMath::random ( float32_t  min_value,
float32_t  max_value 
) [static]

Definition at line 421 of file Mathematics.h.

static int32_t CMath::random ( int32_t  min_value,
int32_t  max_value 
) [static]

Definition at line 414 of file Mathematics.h.

static int64_t CMath::random (  )  [static]

Definition at line 405 of file Mathematics.h.

template<class T >
static void CMath::random_vector ( T *  vec,
int32_t  len,
min_value,
max_value 
) [static]

Definition at line 464 of file Mathematics.h.

static int32_t* CMath::randperm ( int32_t  n  )  [static]

Definition at line 470 of file Mathematics.h.

template<class T >
static void CMath::range_fill_vector ( T *  vec,
int32_t  len,
start = 0 
) [static]

Definition at line 457 of file Mathematics.h.

float64_t CMath::relative_entropy ( float64_t p,
float64_t q,
int32_t  len 
) [static]

returns the relative entropy H(P||Q), where p,q are given in logspace

Definition at line 379 of file Mathematics.cpp.

static float64_t CMath::round ( float64_t  d  )  [static]

Definition at line 184 of file Mathematics.h.

template<class T >
static void CMath::scale_vector ( alpha,
T *  vec,
int32_t  len 
) [static]

scale vector inplace

Definition at line 667 of file Mathematics.h.

template<class T >
static T CMath::sign ( a  )  [static]

signum of type T variable a

Definition at line 201 of file Mathematics.h.

void CMath::sort ( float64_t a,
int32_t *  idx,
int32_t  N 
) [static]

Definition at line 135 of file Mathematics.cpp.

void CMath::sort ( int32_t *  a,
int32_t  cols,
int32_t  sort_col = 0 
) [static]

performs a bubblesort on a given matrix a. it is sorted in ascending order from top to bottom and left to right

Definition at line 115 of file Mathematics.cpp.

template<class T >
static T CMath::sq ( x  )  [static]

x^2

Definition at line 238 of file Mathematics.h.

static floatmax_t CMath::sqrt ( floatmax_t  x  )  [static]

x^0.5

Definition at line 256 of file Mathematics.h.

static float64_t CMath::sqrt ( float64_t  x  )  [static]

x^0.5

Definition at line 250 of file Mathematics.h.

static float32_t CMath::sqrt ( float32_t  x  )  [static]

x^0.5

Definition at line 244 of file Mathematics.h.

template<class T >
static T CMath::sum ( T *  vec,
int32_t  len 
) [static]

return sum(vec)

Definition at line 675 of file Mathematics.h.

template<class T >
static T CMath::sum_abs ( T *  vec,
int32_t  len 
) [static]

return sum(abs(vec))

Definition at line 699 of file Mathematics.h.

template<class T >
static void CMath::swap ( T &  a,
T &  b 
) [static]

swap e.g. floats a and b

Definition at line 210 of file Mathematics.h.

static float64_t CMath::trace ( float64_t mat,
int32_t  cols,
int32_t  rows 
) [static]

Definition at line 726 of file Mathematics.h.

template<class T >
static void CMath::transpose_matrix ( T *&  matrix,
int32_t &  num_feat,
int32_t &  num_vec 
) [static]

Definition at line 333 of file Mathematics.h.

template<class T >
static int32_t CMath::unique ( T *  output,
int32_t  size 
) [static]

Definition at line 1001 of file Mathematics.h.

template<class T >
static void CMath::vec1_plus_scalar_times_vec2 ( T *  vec1,
scalar,
const T *  vec2,
int32_t  n 
) [static]

x=x+alpha*y

Definition at line 495 of file Mathematics.h.


Member Data Documentation

const float64_t CMath::ALMOST_INFTY = +1e+20 [static]

Definition at line 1213 of file Mathematics.h.

const float64_t CMath::ALMOST_NEG_INFTY = -1000 [static]

almost neg (log) infinity

Definition at line 1216 of file Mathematics.h.

const float64_t CMath::INFTY = -log(0.0) [static]

infinity

Definition at line 1212 of file Mathematics.h.

int32_t CMath::LOGRANGE = 0 [static]

range for logtable: log(1+exp(x)) -LOGRANGE <= x <= 0

Definition at line 1219 of file Mathematics.h.

char * CMath::rand_state = NULL [static]

Definition at line 1223 of file Mathematics.h.

uint32_t CMath::seed = 0 [static]

random generator seed

Definition at line 1222 of file Mathematics.h.


The documentation for this class was generated from the following files:

SHOGUN Machine Learning Toolbox - Documentation