Class which collects generic mathematical functions.
Definition at line 131 of file Mathematics.h.
Public Member Functions | |
virtual const char * | get_name () const |
template<> | |
void | display_vector (const uint8_t *vector, int32_t n, const char *name) |
template<> | |
void | display_vector (const int32_t *vector, int32_t n, const char *name) |
template<> | |
void | display_vector (const int64_t *vector, int32_t n, const char *name) |
template<> | |
void | display_vector (const uint64_t *vector, int32_t n, const char *name) |
template<> | |
void | display_vector (const float32_t *vector, int32_t n, const char *name) |
template<> | |
void | display_vector (const float64_t *vector, int32_t n, const char *name) |
template<> | |
void | display_matrix (const int32_t *matrix, int32_t rows, int32_t cols, const char *name) |
template<> | |
void | display_matrix (const 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 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 void | resize (T *&data, int64_t old_size, int64_t new_size) |
template<class T > | |
static T | twonorm (T *x, int32_t len) |
|| x ||_2 | |
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 int8_t *v1, const int8_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 (const T *vector, int32_t n, const char *name="vector") |
display vector (useful for debugging) | |
template<class T > | |
static void | display_matrix (const 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 | ( | ) |
Constructor - initializes log-table.
Definition at line 50 of file Mathematics.cpp.
~CMath | ( | ) | [virtual] |
Destructor - frees logtable.
Definition at line 70 of file Mathematics.cpp.
static T abs | ( | T | a | ) | [static] |
return the maximum of two integers
Definition at line 177 of file Mathematics.h.
static void 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 692 of file Mathematics.h.
static void add_scalar | ( | T | alpha, | |
T * | vec, | |||
int32_t | len | |||
) | [static] |
add scalar to vector inplace
Definition at line 702 of file Mathematics.h.
align two sequences seq1 & seq2 of length l1 and l2 using gapCost return alignment cost
Definition at line 150 of file Mathematics.cpp.
static int32_t binary_search | ( | T * | output, | |
int32_t | size, | |||
T | elem | |||
) | [static] |
Definition at line 1086 of file Mathematics.h.
static int32_t binary_search_helper | ( | T * | output, | |
int32_t | size, | |||
T | elem | |||
) | [static] |
Definition at line 1060 of file Mathematics.h.
static int32_t binary_search_max_lower_equal | ( | T * | output, | |
int32_t | size, | |||
T | elem | |||
) | [static] |
Definition at line 1099 of file Mathematics.h.
static uint8_t byte | ( | T | word, | |
uint16_t | p | |||
) | [static] |
Definition at line 798 of file Mathematics.h.
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 | |||
) | [static] |
calculates ROC into (fp,tp) from output and label of length size returns index with smallest error=fp+fn
Definition at line 195 of file Mathematics.cpp.
Definition at line 203 of file Mathematics.h.
static T clamp | ( | T | value, | |
T | lb, | |||
T | ub | |||
) | [static] |
return the value clamped to interval [lb,ub]
Definition at line 165 of file Mathematics.h.
static T* clone_vector | ( | const T * | vec, | |
int32_t | len | |||
) | [static] |
Definition at line 474 of file Mathematics.h.
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] |
Definition at line 391 of file Mathematics.h.
static void 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 401 of file Mathematics.h.
static void display_bits | ( | T | word, | |
int32_t | width = 8*sizeof(T) | |||
) | [static] |
display bits (useful for debugging)
Definition at line 964 of file Mathematics.h.
static void display_matrix | ( | const T * | matrix, | |
int32_t | rows, | |||
int32_t | cols, | |||
const char * | name = "matrix" | |||
) | [static] |
display matrix (useful for debugging)
void display_matrix | ( | const int32_t * | matrix, | |
int32_t | rows, | |||
int32_t | cols, | |||
const char * | name | |||
) |
Definition at line 480 of file Mathematics.cpp.
void display_matrix | ( | const float64_t * | matrix, | |
int32_t | rows, | |||
int32_t | cols, | |||
const char * | name | |||
) |
Definition at line 497 of file Mathematics.cpp.
static void display_vector | ( | const T * | vector, | |
int32_t | n, | |||
const char * | name = "vector" | |||
) | [static] |
display vector (useful for debugging)
void display_vector | ( | const uint8_t * | vector, | |
int32_t | n, | |||
const char * | name | |||
) |
Definition at line 420 of file Mathematics.cpp.
void display_vector | ( | const int64_t * | vector, | |
int32_t | n, | |||
const char * | name | |||
) |
Definition at line 440 of file Mathematics.cpp.
void display_vector | ( | const int32_t * | vector, | |
int32_t | n, | |||
const char * | name | |||
) |
Definition at line 430 of file Mathematics.cpp.
void display_vector | ( | const float32_t * | vector, | |
int32_t | n, | |||
const char * | name | |||
) |
Definition at line 460 of file Mathematics.cpp.
void display_vector | ( | const uint64_t * | vector, | |
int32_t | n, | |||
const char * | name | |||
) |
Definition at line 450 of file Mathematics.cpp.
void display_vector | ( | const float64_t * | vector, | |
int32_t | n, | |||
const char * | name | |||
) |
Definition at line 470 of file Mathematics.cpp.
static float64_t 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 603 of file Mathematics.h.
static float64_t dot | ( | const bool * | v1, | |
const bool * | 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 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 614 of file Mathematics.h.
static float64_t 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 625 of file Mathematics.h.
static floatmax_t 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 544 of file Mathematics.h.
compute dot product between v1 and v2 (blas optimized)
Definition at line 553 of file Mathematics.h.
compute dot product between v1 and v2 (blas optimized)
Definition at line 567 of file Mathematics.h.
static float64_t 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 582 of file Mathematics.h.
static float64_t 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 592 of file Mathematics.h.
static float64_t 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 636 of file Mathematics.h.
static float64_t 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 647 of file Mathematics.h.
static float64_t 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 658 of file Mathematics.h.
static float64_t dot | ( | const int8_t * | v1, | |
const int8_t * | v2, | |||
int32_t | n | |||
) | [static] |
compute dot product between v1 and v2 (for 8bit (un)signed ints)
Definition at line 669 of file Mathematics.h.
compute dot product between v1 and v2
Definition at line 680 of file Mathematics.h.
returns entropy of p which is given in logspace
Definition at line 358 of file Mathematics.cpp.
Definition at line 340 of file Mathematics.h.
static int64_t factorial | ( | int32_t | n | ) | [static] |
Definition at line 412 of file Mathematics.h.
static bool fequal | ( | T | x, | |
T | y, | |||
float64_t | precision = 1e-6 | |||
) | [static] |
return sum(abs(vec))
Definition at line 753 of file Mathematics.h.
static void fill_vector | ( | T * | vec, | |
int32_t | len, | |||
T | value | |||
) | [static] |
Definition at line 483 of file Mathematics.h.
Definition at line 198 of file Mathematics.h.
virtual const char* get_name | ( | void | ) | const [virtual] |
static uint32_t get_seed | ( | ) | [static] |
returns number generator seed
Definition at line 1139 of file Mathematics.h.
static void init_random | ( | uint32_t | initseed = 0 |
) | [static] |
Definition at line 420 of file Mathematics.h.
static void 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 905 of file Mathematics.h.
static int is_finite | ( | double | f | ) | [static] |
checks whether a float is finite
Definition at line 1145 of file Mathematics.h.
static int is_infinity | ( | double | f | ) | [static] |
checks whether a float is infinity
Definition at line 1155 of file Mathematics.h.
static int is_nan | ( | double | f | ) | [static] |
checks whether a float is nan
Definition at line 1168 of file Mathematics.h.
Definition at line 359 of file Mathematics.h.
Definition at line 345 of file Mathematics.h.
Definition at line 350 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 1216 of file Mathematics.h.
static T max | ( | T | a, | |
T | b | |||
) | [static] |
return the maximum of two integers
Definition at line 158 of file Mathematics.h.
static T max | ( | T * | vec, | |
int32_t | len | |||
) | [static] |
return max(vec)
Definition at line 729 of file Mathematics.h.
Definition at line 758 of file Mathematics.h.
static T min | ( | T | a, | |
T | b | |||
) | [static] |
return the minimum of two integers
Definition at line 151 of file Mathematics.h.
void min | ( | float64_t * | output, | |
T * | index, | |||
int32_t | size | |||
) | [static] |
Definition at line 1493 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 337 of file Mathematics.cpp.
static int64_t nchoosek | ( | int32_t | n, | |
int32_t | k | |||
) | [static] |
Definition at line 515 of file Mathematics.h.
void nmin | ( | float64_t * | output, | |
T * | index, | |||
int32_t | size, | |||
int32_t | n | |||
) | [static] |
Definition at line 1482 of file Mathematics.h.
static void 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 1015 of file Mathematics.h.
void * parallel_qsort_index | ( | void * | p | ) | [static] |
Definition at line 1292 of file Mathematics.h.
float64_t * 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 379 of file Mathematics.cpp.
Definition at line 335 of file Mathematics.h.
static int32_t pow | ( | int32_t | x, | |
int32_t | n | |||
) | [static] |
Definition at line 315 of file Mathematics.h.
Definition at line 325 of file Mathematics.h.
static floatmax_t powl | ( | floatmax_t | x, | |
floatmax_t | n | |||
) | [static] |
x^n
Definition at line 304 of file Mathematics.h.
static T qnorm | ( | T * | x, | |
int32_t | len, | |||
float64_t | q | |||
) | [static] |
|| x ||_q
Definition at line 265 of file Mathematics.h.
static void 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 924 of file Mathematics.h.
void 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 1440 of file Mathematics.h.
void 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 1396 of file Mathematics.h.
static T qsq | ( | T * | x, | |
int32_t | len, | |||
float64_t | q | |||
) | [static] |
|| x ||_q^q
Definition at line 254 of file Mathematics.h.
static void radix_sort | ( | T * | array, | |
int32_t | size | |||
) | [static] |
performs a in-place radix sort in ascending order
Definition at line 792 of file Mathematics.h.
static void radix_sort_helper | ( | T * | array, | |
int32_t | size, | |||
uint16_t | i | |||
) | [static] |
Definition at line 804 of file Mathematics.h.
static int32_t random | ( | int32_t | min_value, | |
int32_t | max_value | |||
) | [static] |
Definition at line 446 of file Mathematics.h.
static int64_t random | ( | ) | [static] |
Definition at line 437 of file Mathematics.h.
Definition at line 463 of file Mathematics.h.
Definition at line 453 of file Mathematics.h.
static void random_vector | ( | T * | vec, | |
int32_t | len, | |||
T | min_value, | |||
T | max_value | |||
) | [static] |
Definition at line 496 of file Mathematics.h.
static int32_t* randperm | ( | int32_t | n | ) | [static] |
Definition at line 502 of file Mathematics.h.
static void range_fill_vector | ( | T * | vec, | |
int32_t | len, | |||
T | start = 0 | |||
) | [static] |
Definition at line 489 of file Mathematics.h.
returns the relative entropy H(P||Q), where p,q are given in logspace
Definition at line 348 of file Mathematics.cpp.
static void resize | ( | T *& | data, | |
int64_t | old_size, | |||
int64_t | new_size | |||
) | [static] |
resize array from old_size to new_size (keeping as much array content as possible intact)
Definition at line 230 of file Mathematics.h.
Definition at line 193 of file Mathematics.h.
static void scale_vector | ( | T | alpha, | |
T * | vec, | |||
int32_t | len | |||
) | [static] |
scale vector inplace
Definition at line 710 of file Mathematics.h.
static T sign | ( | T | a | ) | [static] |
signum of type T variable a
Definition at line 210 of file Mathematics.h.
void 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 111 of file Mathematics.cpp.
void sort | ( | float64_t * | a, | |
int32_t * | idx, | |||
int32_t | N | |||
) | [static] |
Definition at line 131 of file Mathematics.cpp.
static T sq | ( | T | x | ) | [static] |
x^2
Definition at line 273 of file Mathematics.h.
x^0.5
Definition at line 279 of file Mathematics.h.
x^0.5
Definition at line 285 of file Mathematics.h.
static floatmax_t sqrt | ( | floatmax_t | x | ) | [static] |
x^0.5
Definition at line 291 of file Mathematics.h.
static T sum | ( | T * | vec, | |
int32_t | len | |||
) | [static] |
return sum(vec)
Definition at line 718 of file Mathematics.h.
static T sum_abs | ( | T * | vec, | |
int32_t | len | |||
) | [static] |
return sum(abs(vec))
Definition at line 742 of file Mathematics.h.
static void swap | ( | T & | a, | |
T & | b | |||
) | [static] |
swap e.g. floats a and b
Definition at line 219 of file Mathematics.h.
Definition at line 769 of file Mathematics.h.
static void transpose_matrix | ( | T *& | matrix, | |
int32_t & | num_feat, | |||
int32_t & | num_vec | |||
) | [static] |
Definition at line 365 of file Mathematics.h.
static T twonorm | ( | T * | x, | |
int32_t | len | |||
) | [static] |
|| x ||_2
Definition at line 243 of file Mathematics.h.
static int32_t unique | ( | T * | output, | |
int32_t | size | |||
) | [static] |
Definition at line 1047 of file Mathematics.h.
static void vec1_plus_scalar_times_vec2 | ( | T * | vec1, | |
T | scalar, | |||
const T * | vec2, | |||
int32_t | n | |||
) | [static] |
x=x+alpha*y
Definition at line 527 of file Mathematics.h.
const float64_t ALMOST_INFTY = +1e+20 [static] |
Definition at line 1267 of file Mathematics.h.
const float64_t ALMOST_NEG_INFTY = -1000 [static] |
almost neg (log) infinity
Definition at line 1270 of file Mathematics.h.
infinity
Definition at line 1266 of file Mathematics.h.
int32_t LOGRANGE = 0 [static] |
range for logtable: log(1+exp(x)) -LOGRANGE <= x <= 0
Definition at line 1273 of file Mathematics.h.
char * rand_state = NULL [static] |
Definition at line 1277 of file Mathematics.h.
uint32_t seed = 0 [static] |
random generator seed
Definition at line 1276 of file Mathematics.h.