Class which collects generic mathematical functions.
Definition at line 119 of file Mathematics.h.
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_t * | pinv (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 |
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.
static T CMath::abs | ( | T | a | ) | [static] |
return the maximum of two integers
Definition at line 165 of file Mathematics.h.
static void CMath::add | ( | T * | target, | |
T | alpha, | |||
const T * | v1, | |||
T | beta, | |||
const T * | v2, | |||
int32_t | len | |||
) | [static] |
target=alpha*vec1 + beta*vec2
Definition at line 649 of file Mathematics.h.
static void CMath::add_scalar | ( | T | 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.
static int32_t CMath::binary_search | ( | T * | output, | |
int32_t | size, | |||
T | elem | |||
) | [static] |
Definition at line 1043 of file Mathematics.h.
static int32_t CMath::binary_search_helper | ( | T * | output, | |
int32_t | size, | |||
T | elem | |||
) | [static] |
Definition at line 1014 of file Mathematics.h.
static int32_t CMath::binary_search_max_lower_equal | ( | T * | output, | |
int32_t | size, | |||
T | elem | |||
) | [static] |
Definition at line 1056 of file Mathematics.h.
static uint8_t CMath::byte | ( | T | 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.
Definition at line 194 of file Mathematics.h.
static T CMath::clamp | ( | T | value, | |
T | lb, | |||
T | ub | |||
) | [static] |
return the value clamped to interval [lb,ub]
Definition at line 153 of file Mathematics.h.
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.
static void CMath::display_bits | ( | T | word, | |
int32_t | width = 8*sizeof(T) | |||
) | [static] |
display bits (useful for debugging)
Definition at line 918 of file Mathematics.h.
void CMath::display_matrix | ( | float64_t * | matrix, | |
int32_t | rows, | |||
int32_t | cols, | |||
const char * | name | |||
) |
Definition at line 516 of file Mathematics.cpp.
void CMath::display_matrix | ( | int32_t * | matrix, | |
int32_t | rows, | |||
int32_t | cols, | |||
const char * | name | |||
) |
Definition at line 499 of file Mathematics.cpp.
static void CMath::display_matrix | ( | T * | matrix, | |
int32_t | rows, | |||
int32_t | cols, | |||
const char * | name = "matrix" | |||
) | [static] |
display matrix (useful for debugging)
void CMath::display_vector | ( | float64_t * | vector, | |
int32_t | n, | |||
const char * | name | |||
) |
Definition at line 489 of file Mathematics.cpp.
void CMath::display_vector | ( | float32_t * | vector, | |
int32_t | n, | |||
const char * | name | |||
) |
Definition at line 479 of file Mathematics.cpp.
void CMath::display_vector | ( | int64_t * | vector, | |
int32_t | n, | |||
const char * | name | |||
) |
Definition at line 469 of file Mathematics.cpp.
void CMath::display_vector | ( | int32_t * | vector, | |
int32_t | n, | |||
const char * | name | |||
) |
Definition at line 459 of file Mathematics.cpp.
void CMath::display_vector | ( | uint8_t * | vector, | |
int32_t | n, | |||
const char * | name | |||
) |
Definition at line 449 of file Mathematics.cpp.
static void CMath::display_vector | ( | T * | vector, | |
int32_t | n, | |||
const char * | name = "vector" | |||
) | [static] |
display vector (useful for debugging)
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.
compute dot product between v1 and v2 (blas optimized)
Definition at line 535 of file Mathematics.h.
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.
returns entropy of p which is given in logspace
Definition at line 389 of file Mathematics.cpp.
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.
static bool CMath::fequal | ( | T | x, | |
T | y, | |||
float64_t | precision = 1e-6 | |||
) | [static] |
return sum(abs(vec))
Definition at line 710 of file Mathematics.h.
static void CMath::fill_vector | ( | T * | vec, | |
int32_t | len, | |||
T | value | |||
) | [static] |
Definition at line 451 of file Mathematics.h.
Definition at line 189 of file Mathematics.h.
virtual const char* CMath::get_name | ( | ) | const [virtual] |
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.
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.
Definition at line 327 of file Mathematics.h.
Definition at line 310 of file Mathematics.h.
Definition at line 316 of file Mathematics.h.
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.
static T CMath::max | ( | T * | vec, | |
int32_t | len | |||
) | [static] |
return max(vec)
Definition at line 686 of file Mathematics.h.
static T CMath::max | ( | T | a, | |
T | b | |||
) | [static] |
return the maximum of two integers
Definition at line 146 of file Mathematics.h.
Definition at line 715 of file Mathematics.h.
void CMath::min | ( | float64_t * | output, | |
T * | index, | |||
int32_t | size | |||
) | [static] |
Definition at line 1436 of file Mathematics.h.
static T CMath::min | ( | T | a, | |
T | b | |||
) | [static] |
return the minimum of two integers
Definition at line 139 of file Mathematics.h.
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.
void CMath::nmin | ( | float64_t * | output, | |
T * | index, | |||
int32_t | size, | |||
int32_t | n | |||
) | [static] |
Definition at line 1425 of file Mathematics.h.
void * CMath::parallel_qsort_index | ( | void * | p | ) | [static] |
Definition at line 1238 of file Mathematics.h.
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.
Definition at line 300 of file Mathematics.h.
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.
static T CMath::qnorm | ( | T * | x, | |
int32_t | len, | |||
float64_t | q | |||
) | [static] |
|| x ||_q
Definition at line 230 of file Mathematics.h.
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.
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.
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.
static T CMath::qsq | ( | T * | x, | |
int32_t | len, | |||
float64_t | q | |||
) | [static] |
|| x ||_q^q
Definition at line 219 of file Mathematics.h.
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.
static void CMath::radix_sort_helper | ( | T * | array, | |
int32_t | size, | |||
uint16_t | i | |||
) | [static] |
Definition at line 761 of file Mathematics.h.
Definition at line 431 of file Mathematics.h.
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.
static void CMath::random_vector | ( | T * | vec, | |
int32_t | len, | |||
T | min_value, | |||
T | 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.
static void CMath::range_fill_vector | ( | T * | vec, | |
int32_t | len, | |||
T | start = 0 | |||
) | [static] |
Definition at line 457 of file Mathematics.h.
returns the relative entropy H(P||Q), where p,q are given in logspace
Definition at line 379 of file Mathematics.cpp.
Definition at line 184 of file Mathematics.h.
static void CMath::scale_vector | ( | T | alpha, | |
T * | vec, | |||
int32_t | len | |||
) | [static] |
scale vector inplace
Definition at line 667 of file Mathematics.h.
static T CMath::sign | ( | T | 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.
static T CMath::sq | ( | T | 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.
x^0.5
Definition at line 250 of file Mathematics.h.
x^0.5
Definition at line 244 of file Mathematics.h.
static T CMath::sum | ( | T * | vec, | |
int32_t | len | |||
) | [static] |
return sum(vec)
Definition at line 675 of file Mathematics.h.
static T CMath::sum_abs | ( | T * | vec, | |
int32_t | len | |||
) | [static] |
return sum(abs(vec))
Definition at line 699 of file Mathematics.h.
static void CMath::swap | ( | T & | a, | |
T & | b | |||
) | [static] |
swap e.g. floats a and b
Definition at line 210 of file Mathematics.h.
Definition at line 726 of file Mathematics.h.
static void CMath::transpose_matrix | ( | T *& | matrix, | |
int32_t & | num_feat, | |||
int32_t & | num_vec | |||
) | [static] |
Definition at line 333 of file Mathematics.h.
static int32_t CMath::unique | ( | T * | output, | |
int32_t | size | |||
) | [static] |
Definition at line 1001 of file Mathematics.h.
static void CMath::vec1_plus_scalar_times_vec2 | ( | T * | vec1, | |
T | scalar, | |||
const T * | vec2, | |||
int32_t | n | |||
) | [static] |
x=x+alpha*y
Definition at line 495 of file Mathematics.h.
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.