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 Simplexobjects 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.PersDiagfor 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.