tdads.PH_utils ============== .. py:module:: tdads.PH_utils Functions --------- .. autoapisummary:: tdads.PH_utils.enclosing_radius Module Contents --------------- .. py:function:: enclosing_radius(X: numpy.ndarray, distance_mat: bool = False) Compute the enclosing radius of a dataset. Beyond this filtration radius no topological changes can occur. :param `X`: The input dataset - either raw tabular data or a distance matrix of samples. :type `X`: numpy.ndarray (2D) :param `distance_mat`: Whether or not `X` is a distance matrix. If `False` then a Euclidean distance matrix will be computed. :type `distance_mat`: bool, default `False` :returns: The enclosing radius value of `X`. :rtype: numpy.float64 .. rubric:: Examples >>> from tdads.PH_utils import enclosing_radius >>> from ripser import ripser >>> from numpy.random import uniform >>> from numpy import array, cos, sin >>> from math import pi >>> from scipy.spatial.distance import cdist >>> # build circle dataset >>> theta = uniform(low = 0, high = 2*pi, size = 100) >>> data = array([[cos(theta[i]), sin(theta[i])] for i in range(100)]) >>> # compute the enclosing radius >>> enc_rad = enclosing_radius(data) >>> # compute persistence diagram >>> diagram = ripser(data, enc_rad) >>> # now for a distance matrix >>> dist_data = cdist(data, data, 'euclidean') >>> enc_rad = enclosing_radius(dist_data, True) >>> diagram = ripser(dist_data, enc_rad, distance_matrix = True)