Classes | |
| class | Almost2Norm |
| Vector 2-norm without square root, i.e. More... | |
| class | AlmostGaussianKernel |
| Gaussian kernel for density estimation without squared exponent. More... | |
| class | DiracMixturePdf |
| Dirac mixture probability density. More... | |
| class | DiracPdf |
Dirac -function probability density. More... | |
| class | DistributedPartitioner |
Partitions a distributed set of weighted points into two sets at the th component. More... | |
| class | GaussianKernel |
| Gaussian kernel for density estimation. More... | |
| class | GaussianMixturePdf |
| Gaussian mixture probability density. More... | |
| class | GaussianPdf |
| Multivariate Gaussian probability distribution. More... | |
| class | KDTree |
(k-dimensional) tree over a DiracMixturePdf. More... | |
| class | KDTreeNode |
Node of a tree. More... | |
| class | Kernel |
| Kernel for density estimation. More... | |
| class | KernelDensityMixturePdf |
| Mixture of kernel density estimators. More... | |
| class | KernelDensityPdf |
| Kernel density estimator. More... | |
| class | LengthPartitioner |
| Partitions a set of weighted points into two sets at the midpoint of the widest dimension. More... | |
| class | MedianPartitioner |
| Partitions a set of weighted points into two sets at the median of the dimension with greatest range. More... | |
| class | MixturePdf |
| Mixture probability density. More... | |
| class | Norm |
| Vector norm. More... | |
| class | Partitioner |
| Partitions a set of weighted points into two sets for constructing a partition tree. More... | |
| class | PartitionFunctor |
| Predicate functor for nth element partition. More... | |
| class | PartitionTree |
| Abstract spatial partition tree. More... | |
| class | PartitionTreeNode |
| Node of a spatial partition tree. More... | |
| class | |
| Abstract probability distribution. More... | |
| class | PNorm |
Vector p-norm, . More... | |
| class | Random |
| Random numbers. More... | |
| class | RandomPartitioner |
| Partitions a set of weighted samples into two sets along the midpoint of a random dimension. More... | |
| class | StandardMixturePdf |
| Mixture probability density with standard calculation of covariance. More... | |
| class | StochasticProcess |
| Abstract stochastic process. More... | |
| class | UniformPdf |
| Uniform distribution over a hyper-rectangle. More... | |
| class | VariancePartitioner |
| Partitions a set of weighted points into two sets at the mean of the dimension with greatest variance. More... | |
| class | WienerProcess |
| Multivariate Wiener process. More... | |
Typedefs | |
| typedef boost::numeric::ublas::matrix < double, boost::numeric::ublas::column_major, boost::numeric::ublas::unbounded_array < double > > | matrix |
| General matrix. | |
| typedef boost::numeric::ublas::symmetric_matrix < double, boost::numeric::ublas::lower, boost::numeric::ublas::column_major, boost::numeric::ublas::unbounded_array < double > > | symmetric_matrix |
| Symmetric matrix. | |
| typedef boost::numeric::ublas::triangular_matrix < double, boost::numeric::ublas::lower, boost::numeric::ublas::column_major, boost::numeric::ublas::unbounded_array < double > > | lower_triangular_matrix |
| Lower triangular matrix. | |
| typedef boost::numeric::ublas::triangular_matrix < double, boost::numeric::ublas::upper, boost::numeric::ublas::column_major, boost::numeric::ublas::unbounded_array < double > > | upper_triangular_matrix |
| Upper triangular matrix. | |
| typedef boost::numeric::ublas::identity_matrix < double > | identity_matrix |
| Identity matrix. | |
| typedef boost::numeric::ublas::zero_matrix < double > | zero_matrix |
| Zero matrix. | |
| typedef boost::numeric::ublas::scalar_matrix < double > | scalar_matrix |
| Scalar matrix. | |
| typedef boost::numeric::ublas::banded_matrix < double, boost::numeric::ublas::column_major, boost::numeric::ublas::unbounded_array < double > > | banded_matrix |
| Banded matrix. | |
| typedef boost::numeric::ublas::mapped_matrix < double, boost::numeric::ublas::column_major > | sparse_matrix |
| Sparse matrix. | |
| typedef boost::numeric::ublas::mapped_matrix < short int, boost::numeric::ublas::column_major > | projection_matrix |
| Projection matrix. | |
| typedef boost::numeric::ublas::vector < double, boost::numeric::ublas::unbounded_array < double > > | vector |
| General vector. | |
| typedef boost::numeric::ublas::zero_vector < double > | zero_vector |
| Zero vector. | |
| typedef boost::numeric::ublas::scalar_vector < double > | scalar_vector |
| Scalar vector. | |
| typedef boost::numeric::ublas::mapped_vector < double > | sparse_vector |
| Sparse vector. | |
Functions | |
| double | hopt (const unsigned int N, const unsigned int P) |
Calculate . | |
| template<class NT, class KT, class PT> | |
| vector | dualTreeDensity (PT &queryTree, PT &targetTree, const vector &w, const NT &N, const KT &K, const bool normalise=true) |
| Dual-tree kernel density evaluation. | |
| template<class NT, class KT, class PT> | |
| vector | distributedDualTreeDensity (PT &queryTree, PT &targetTree, const vector &w, const NT &N, const KT &K, const bool normalise=true) |
| Distributed dual-tree kernel density evaluation. | |
| template<class NT, class KT, class PT> | |
| vector | selfTreeDensity (PT &tree, const vector &w, const NT &N, const KT &K, const bool normalise=true) |
| Self-tree kernel density evaluation. | |
| template<class NT, class KT, class PT> | |
| vector | distributedSelfTreeDensity (PT &tree, const vector &w, const NT &N, const KT &K, const bool normalise=true) |
| Distributed self-tree kernel density evaluation. | |
| template<class NT, class KT, class PT> | |
| matrix | dualTreeDensity (PT &queryTree, PT &targetTree, const matrix &ws, const NT &N, const KT &K, const bool normalise=true) |
| Dual-tree kernel density evaluation with multiple mixture model weights. | |
| template<class NT, class KT, class PT> | |
| matrix | distributedDualTreeDensity (PT &queryTree, PT &targetTree, const matrix &ws, const NT &N, const KT &K, const bool normalise=true) |
| Distributed dual-tree kernel density evaluation with multiple mixture model weights. | |
| template<class NT, class KT, class PT> | |
| matrix | selfTreeDensity (PT &tree, const matrix &ws, const NT &N, const KT &K, const bool normalise=true) |
| Self-tree kernel density evaluation with multiple mixture model weights. | |
| template<class NT, class KT, class PT> | |
| matrix | distributedSelfTreeDensity (PT &tree, const matrix &ws, const NT &N, const KT &K, const bool normalise=true) |
| Distributed self tree kernel density evaluation with multiple mixture model weights. | |
| template<class NT, class KT, class PT> | |
| void | crossTreeDensity (PT &tree1, PT &tree2, const matrix &ws1, const matrix &ws2, const NT &N, const KT &K, matrix &result1, matrix &result2, const bool clear=true, const bool normalise=true) |
| Cross-tree kernel density evaluation with multiple mixture model weights. | |
| void | inv (matrix &A, matrix &AI) |
| Inverse of a square matrix. | |
| template<class T> | |
| boost::numeric::ublas::matrix_vector_range < T > | diag (T &A) |
| Diagonal of a square matrix. | |
| template<class VT, class MT> | |
| void | vectorToMatrix (const VT &x, MT &A) |
| Convert vector to matrix. | |
| template<class MT, class VT> | |
| void | matrixToVector (const MT &A, VT &x) |
| Convert matrix to vector. | |
| unsigned int | shareOf (const unsigned int P) |
| Determine a node's share of some number of items. | |
| template<class T> | |
| void | rotate (T &x, const unsigned int num=1) |
| Rotate variable values between all nodes. | |
| template<class T> | |
| vector | element_exp (const T &x) |
| Element-wise vector exponential. | |
| template<class T> | |
| vector | element_sqrt (const T &x) |
| Element-wise vector square root. | |
| template<class A, class B> | |
| vector | element_pow (const A &a, const B &b) |
| Element-wise vector power. | |
| template<class A, class B> | |
| vector | scalar_pow (const A &a, const B b) |
| Element-wise vector power. | |
| template<unsigned int P, class T> | |
| double | norm (const T &x) |
| Vector p-norm. | |
| template<class T> | |
| void | vectorToArray (const T &x, double a[]) |
| template<class T> | |
| void | arrayToVector (const double a[], T &x) |
| Convert double[] to vector. | |
| typedef boost::numeric::ublas::matrix<double, boost::numeric::ublas::column_major, boost::numeric::ublas::unbounded_array<double> > matrix |
| typedef boost::numeric::ublas::symmetric_matrix<double, boost::numeric::ublas::lower, boost::numeric::ublas::column_major, boost::numeric::ublas::unbounded_array<double> > symmetric_matrix |
| typedef boost::numeric::ublas::triangular_matrix<double, boost::numeric::ublas::lower, boost::numeric::ublas::column_major, boost::numeric::ublas::unbounded_array<double> > lower_triangular_matrix |
| typedef boost::numeric::ublas::triangular_matrix<double, boost::numeric::ublas::upper, boost::numeric::ublas::column_major, boost::numeric::ublas::unbounded_array<double> > upper_triangular_matrix |
| typedef boost::numeric::ublas::identity_matrix<double> identity_matrix |
| typedef boost::numeric::ublas::zero_matrix<double> zero_matrix |
| typedef boost::numeric::ublas::scalar_matrix<double> scalar_matrix |
| typedef boost::numeric::ublas::banded_matrix<double, boost::numeric::ublas::column_major, boost::numeric::ublas::unbounded_array<double> > banded_matrix |
| typedef boost::numeric::ublas::mapped_matrix<double, boost::numeric::ublas::column_major> sparse_matrix |
| typedef boost::numeric::ublas::mapped_matrix<short int, boost::numeric::ublas::column_major> projection_matrix |
| typedef boost::numeric::ublas::vector<double, boost::numeric::ublas::unbounded_array<double> > vector |
| typedef boost::numeric::ublas::zero_vector<double> zero_vector |
| typedef boost::numeric::ublas::scalar_vector<double> scalar_vector |
| typedef boost::numeric::ublas::mapped_vector<double> sparse_vector |
| double hopt | ( | const unsigned int | N, | |
| const unsigned int | P | |||
| ) | [inline] |
Calculate
.
| N | Number of dimensions. | |
| P | Number of samples. |
this being the optimal bandwidth for a kernel density estimate over
samples from a standard
-dimensional Gaussian distribution, and Gaussian kernel (Silverman, 1986). We find this useful as a rule of thumb for setting kernel density estimate bandwidths.
| indii::ml::aux::vector dualTreeDensity | ( | PT & | queryTree, | |
| PT & | targetTree, | |||
| const vector & | w, | |||
| const NT & | N, | |||
| const KT & | K, | |||
| const bool | normalise = true | |||
| ) | [inline] |
Dual-tree kernel density evaluation.
| NT | Norm type. | |
| KT | Kernel type. | |
| PT | Partition tree type. | |
| queryTree | Query tree. | |
| targetTree | Target tree. | |
| w | Weight vector. | |
| N | Norm. | |
| K | Kernel. | |
| normalise | Normalise results. |
| indii::ml::aux::vector distributedDualTreeDensity | ( | PT & | queryTree, | |
| PT & | targetTree, | |||
| const vector & | w, | |||
| const NT & | N, | |||
| const KT & | K, | |||
| const bool | normalise = true | |||
| ) | [inline] |
Distributed dual-tree kernel density evaluation.
| NT | Norm type. | |
| KT | Kernel type. | |
| PT | Partition tree type. | |
| queryTree | Query tree. | |
| targetTree | Target tree. | |
| w | Weight vector. | |
| N | Norm. | |
| K | Kernel. | |
| normalise | Normalise results. |
| indii::ml::aux::vector selfTreeDensity | ( | PT & | tree, | |
| const vector & | w, | |||
| const NT & | N, | |||
| const KT & | K, | |||
| const bool | normalise = true | |||
| ) | [inline] |
| indii::ml::aux::vector distributedSelfTreeDensity | ( | PT & | tree, | |
| const vector & | w, | |||
| const NT & | N, | |||
| const KT & | K, | |||
| const bool | normalise = true | |||
| ) | [inline] |
Distributed self-tree kernel density evaluation.
| NT | Norm type. | |
| KT | Kernel type. | |
| PT | Partition tree type. | |
| tree | Tree. | |
| w | Weight vector. | |
| N | Norm. | |
| K | Kernel. | |
| normalise | Normalise results. |
| indii::ml::aux::matrix dualTreeDensity | ( | PT & | queryTree, | |
| PT & | targetTree, | |||
| const matrix & | ws, | |||
| const NT & | N, | |||
| const KT & | K, | |||
| const bool | normalise = true | |||
| ) | [inline] |
Dual-tree kernel density evaluation with multiple mixture model weights.
| NT | Norm type. | |
| KT | Kernel type. | |
| PT | Partition tree type. | |
| queryTree | Query tree. | |
| targetTree | Target tree. | |
| ws | Weight matrix. Each row gives a weight vector for one mixture model. | |
| N | Norm. | |
| K | Kernel. | |
| normalise | Normalise results. |
| indii::ml::aux::matrix distributedDualTreeDensity | ( | PT & | queryTree, | |
| PT & | targetTree, | |||
| const matrix & | ws, | |||
| const NT & | N, | |||
| const KT & | K, | |||
| const bool | normalise = true | |||
| ) | [inline] |
Distributed dual-tree kernel density evaluation with multiple mixture model weights.
| NT | Norm type. | |
| KT | Kernel type. | |
| PT | Partition tree type. | |
| queryTree | Query tree. | |
| targetTree | Target tree. | |
| ws | Weight matrix. Each row gives a weight vector for one mixture model. | |
| N | Norm. | |
| K | Kernel. | |
| normalise | Normalise results. |
| indii::ml::aux::matrix selfTreeDensity | ( | PT & | tree, | |
| const matrix & | ws, | |||
| const NT & | N, | |||
| const KT & | K, | |||
| const bool | normalise = true | |||
| ) | [inline] |
Self-tree kernel density evaluation with multiple mixture model weights.
| NT | Norm type. | |
| KT | Kernel type. | |
| PT | Partition tree type. | |
| tree | Tree. | |
| ws | Weight matrix. Each row gives a weight vector for one mixture model. | |
| N | Norm. | |
| K | Kernel. | |
| normalise | Normalise results. |
| indii::ml::aux::matrix distributedSelfTreeDensity | ( | PT & | tree, | |
| const matrix & | ws, | |||
| const NT & | N, | |||
| const KT & | K, | |||
| const bool | normalise = true | |||
| ) | [inline] |
Distributed self tree kernel density evaluation with multiple mixture model weights.
| NT | Norm type. | |
| KT | Kernel type. | |
| PT | Partition tree type. | |
| tree | Tree. | |
| ws | Weight matrix. Each row gives a weight vector for one mixture model. | |
| N | Norm. | |
| K | Kernel. | |
| normalise | Normalise results. |
| void crossTreeDensity | ( | PT & | tree1, | |
| PT & | tree2, | |||
| const matrix & | ws1, | |||
| const matrix & | ws2, | |||
| const NT & | N, | |||
| const KT & | K, | |||
| matrix & | result1, | |||
| matrix & | result2, | |||
| const bool | clear = true, |
|||
| const bool | normalise = true | |||
| ) | [inline] |
Cross-tree kernel density evaluation with multiple mixture model weights.
Simultaneously performs kernel density estimation of two trees to each other.
| NT | Norm type. | |
| KT | Kernel type. | |
| PT | Partition tree type. | |
| tree1 | First tree. | |
| tree2 | Second tree. | |
| ws1 | Weight matrix for first tree as target. Each row gives a weight vector for one mixture model. | |
| ws2 | Weight matrix for second tree as target. Each row gives a weight vector for one mixture model. | |
| N | Norm. | |
| K | Kernel. | |
| result1 | On return, unnormalised result for first tree as query, second as target, is added to this. | |
| result2 | On return, unnormalised result for second tree as query, first as target, is added to this. | |
| clear | Clear result matrices before addition. | |
| normalise | Normalise results. |
| void inv | ( | matrix & | A, | |
| matrix & | AI | |||
| ) |
Inverse of a square matrix.
| A | matrix to invert. | |
| AI | matrix into which to write the inverse of A. |
A! Definition at line 17 of file matrix.cpp.
| boost::numeric::ublas::matrix_vector_range< T > diag | ( | T & | A | ) | [inline] |
Diagonal of a square matrix.
| A | square matrix. |
Definition at line 134 of file matrix.hpp.
| void vectorToMatrix | ( | const VT & | x, | |
| MT & | A | |||
| ) | [inline] |
Convert vector to matrix.
| x | Vector to convert. | |
| A | Matrix into which to write conversion. |
Definition at line 144 of file matrix.hpp.
| void matrixToVector | ( | const MT & | A, | |
| VT & | x | |||
| ) | [inline] |
Convert matrix to vector.
| A | Matrix to convert. | |
| x | Vector into which to write conversion. |
Definition at line 156 of file matrix.hpp.
| unsigned int shareOf | ( | const unsigned int | P | ) | [inline] |
Determine a node's share of some number of items.
| P | The number of items. |
P divided by the number of nodes, with lower ranks taking on an additional item if there are remainders. Definition at line 119 of file parallel.hpp.
| void rotate | ( | T & | x, | |
| const unsigned int | num = 1 | |||
| ) | [inline] |
Rotate variable values between all nodes.
For
nodes, node
sends its value to node
and receives the value of node
. This facilitates calculations involving data stored across multiple nodes without gathering all the data onto one node.
| x | Value to rotate. Contains value received on return. | |
| num | Number of rotations to make. Specifying a number here is more efficient than multiple calls. |
Definition at line 132 of file parallel.hpp.
| indii::ml::aux::vector element_exp | ( | const T & | x | ) | [inline] |
Element-wise vector exponential.
| x | ; a vector. |
with each
. Definition at line 139 of file vector.hpp.
| indii::ml::aux::vector element_sqrt | ( | const T & | x | ) | [inline] |
Element-wise vector square root.
| x | ; a vector. |
with each
. Definition at line 152 of file vector.hpp.
| indii::ml::aux::vector element_pow | ( | const A & | a, | |
| const B & | b | |||
| ) | [inline] |
Element-wise vector power.
| a | ; a vector. | |
| b | ; a vector. |
with each
. Definition at line 165 of file vector.hpp.
| indii::ml::aux::vector scalar_pow | ( | const A & | a, | |
| const B | b | |||
| ) | [inline] |
Element-wise vector power.
| a | ; a vector. | |
| b | ; a scalar. |
with each
. Definition at line 182 of file vector.hpp.
| double norm | ( | const T & | x | ) | [inline] |
Vector p-norm.
| P | ; degree of the norm. | |
| x | ; a vector. |
; p-norm of the given vector.Definition at line 237 of file vector.hpp.
| void vectorToArray | ( | const T & | x, | |
| double | a[] | |||
| ) | [inline] |
Convert vector to double[].
| x | Vector to convert. | |
| a | Array into which to write conversion. |
Definition at line 242 of file vector.hpp.
| void arrayToVector | ( | const double | a[], | |
| T & | x | |||
| ) | [inline] |
Convert double[] to vector.
| a | Array to convert. | |
| x | Vector into which to write conversion. |
Definition at line 250 of file vector.hpp.
1.5.3