gudhi.representations.vector_methods.ComplexPolynomial Class Reference

Public Member Functions

def __init__ (self, polynomial_type="R", threshold=10)
 
def fit (self, X, y=None)
 
def transform (self, X)
 
def __call__ (self, diag)
 

Detailed Description

This is a class for computing complex polynomials from a list of persistence diagrams. The persistence diagram points are seen as the roots of some complex polynomial, whose coefficients are returned in a complex vector. See https://link.springer.com/chapter/10.1007%2F978-3-319-23231-7_27 for more details.

Constructor & Destructor Documentation

◆ __init__()

def gudhi.representations.vector_methods.ComplexPolynomial.__init__ (   self,
  polynomial_type = "R",
  threshold = 10 
)
Constructor for the ComplexPolynomial class.

Parameters:
   polynomial_type (char): either "R", "S" or "T" (default "R"). Type of complex polynomial that is going to be computed (explained in https://link.springer.com/chapter/10.1007%2F978-3-319-23231-7_27).
   threshold (int): number of coefficients (default 10). This is the dimension of the complex vector of coefficients, i.e. the number of coefficients corresponding to the largest degree terms of the polynomial. If -1, this threshold is computed from the list of persistence diagrams by considering the one with the largest number of points and using the dimension of its corresponding complex vector of coefficients as threshold. 

Member Function Documentation

◆ __call__()

def gudhi.representations.vector_methods.ComplexPolynomial.__call__ (   self,
  diag 
)
Apply ComplexPolynomial on a single persistence diagram and outputs the result.

Parameters:
    diag (n x 2 numpy array): input persistence diagram.

Returns:
    numpy array with shape (**threshold**): output complex vector of coefficients.

◆ fit()

def gudhi.representations.vector_methods.ComplexPolynomial.fit (   self,
  X,
  y = None 
)
Fit the ComplexPolynomial class on a list of persistence diagrams (this function actually does nothing but is useful when ComplexPolynomial is included in a scikit-learn Pipeline).

Parameters:
    X (list of n x 2 or n x 1 numpy arrays): input persistence diagrams.
    y (n x 1 array): persistence diagram labels (unused).

◆ transform()

def gudhi.representations.vector_methods.ComplexPolynomial.transform (   self,
  X 
)
Compute the complex vector of coefficients for each persistence diagram individually and concatenate the results.

Parameters:
    X (list of n x 2 numpy arrays): input persistence diagrams.
    
Returns:
    numpy array with shape (number of diagrams) x (**threshold**): output complex vectors of coefficients.

The documentation for this class was generated from the following file:
GUDHI  Version 3.3.0  - C++ library for Topological Data Analysis (TDA) and Higher Dimensional Geometry Understanding.  - Copyright : MIT Generated on Tue Aug 11 2020 11:58:59 for GUDHI by Doxygen 1.8.18