multidim.PointCloud

class multidim.PointCloud(data_array, max_length=0.0, heights=None, masses=None, dist='euclidean', idx0=None, cache_type=None)[source]

PointCloud is a class for embedded, weighted simplicial complexes. This is a subclass of SimplicialComplex, with the additional property that every 0-cell (vertex) is actually a point in \(\mathbb{R}^k.\)

The most basic and most common example of a PointCloud is an indexed set of \(N\) points in \(\mathbb{R}^k\) with heights assigned as 0, and mass assigned as 1.

Typically, a user starts with 0-cells only. Then, any 1-cells, 2-cells, …, are created later via some topological construction.

PointCloud.cache_usage() Compute the size of the distance cache.
PointCloud.cells(dim) iterate over all Simplex objects of dimension dim.
PointCloud.check() Run consistency checks on all simplices in all dimensions.
PointCloud.cover_ball([point_index]) Find a ball that covers the entire PointCloud.
PointCloud.dists(indices0, indices1) Compute distances points indices0 and indices1.
PointCloud.from_distances(*args, **kwargs) This method is not available for PointCloud, because actual coordinates are needed.
PointCloud.from_multisample_multilabel(…) Produce a single labeled and weighted pointcloud from a list of samples and labels of those samples.
PointCloud.gaussian_fit([center]) Fit a normalized Gaussian to this cloud (using SVD).
PointCloud.make_pers0([cutoff]) Run the UnionFind algorithm to mark connected components of the SimplicialComplex.
PointCloud.make_pers1_rca1([cutoff]) Run RCA1 and make a 1-dimensional homology.PersDiag for the edge-pairings for cycle generators.
PointCloud.nearest_neighbors(k) Compute k nearest-neighbors of the PointCloud, using a clever CoverTree algorithm.
PointCloud.nearest_neighbors_slow(k) Compute k nearest-neighbors of the PointCloud, by brute-force.
PointCloud.plot(canvas[, cutoff, color, …]) Plot a PointCloud, decorated by various proeprties.
PointCloud.reset() delete persistence diagrams, and forget all representative and positivity information.
PointCloud.sever() Subdivide a SimplicialComplex or PointCloud into several smaller partitions, using the known 0-dimensional persistence diagram.
PointCloud.unique_with_multiplicity() Look for duplicate points, and mark their multiplicity.
PointCloud.witnessed_barycenters(k) Build the PointCloud of k-witnessed barycenters, weighted by distance-to-measure.