petls.PersistentSheafLaplacian#

class petls.PersistentSheafLaplacian(sst: sheaf_simplex_tree | None = None, boundaries=None, filtrations=None, eigs_Algorithm=None, up_Algorithm=up_Algorithms.schur, simplex_tree=None, storage=None)[source]#

Persistent Laplacian made with a cellular sheaf. The information is encoded in the sheaf_simplex_tree argument.

Attributes:
verboseboolean

Print progress if spectra() is called

flippedboolean

Compute the top-dimensional Laplacian’s eigenvalues via the eigenvalues of the smaller of B_N B_N^T or B_N^T B_N and possible zero-padding

Methods

set_boundaries_filtrations(boundaries, filtrations)

If the boundaries and filtrations were not set in the constructor, set them here.

get_L(dim, a, b)

Get the persistent Laplacian matrix.

get_up(dim, a, b)

Get the persistent up-Laplacian matrix.

get_down(dim, a)

Get the persistent down-Laplacian matrix.

nonzero_spectra(dim, a, b, PH_basis=None, use_dummy_harmonic_basis=True)

Compute the nonzero eigenvalues of the PL using reduction by persistent homology or standard basis of the null space.

spectra(dim = None, a = None, b = None, request_list = None)

Compute the eigenvalues of L_{dim}^{a,b} or for every tuple (dim, a, b) in request_list.

eigenpairs(dim = None, a = None, b = None, request_list = None)

Compute the eigenvalues and eigenvectors of L_{dim}^{a,b} or for every tuple (dim, a, b) in request_list.

eigenvalues_summarize(eigenvalues)

Compute the betti number and least nonzero eigenvalue of a list of eigenvalues.

print_boundaries(self):

Print all boundaries and corresponding filtrations in the complex.

store_spectra(spectra_list, file_prefix):

Store all of the eigenvalues in files f”{file_prefix}_spectra_{dim}.txt” for each dimension in the complex.

store_spectra_summary(spectra_list, file_prefix):

Store eigenvalue summaries in file f”{file_prefix}_spectra_summary.txt”.

filtration_list_to_spectra_request(filtrations, dims):

Get a list of tuples (dim, a, b) for all combinations of dimension and successive filtration values (a=filtrations[i], b=filtrations[i+1]).

get_all_filtrations(self):

Get a sorted list of all filtration values that occur in the complex.

__init__(sst: sheaf_simplex_tree | None = None, boundaries=None, filtrations=None, eigs_Algorithm=None, up_Algorithm=up_Algorithms.schur, simplex_tree=None, storage=None)[source]#

Methods

__init__([sst, boundaries, filtrations, ...])

eigenpairs([dim, a, b, request_list])

Compute the eigenvalues and eigenvectors of L_{dim}^{a,b} or for every tuple (dim, a, b) in request_list.

eigenvalues_summarize(eigenvalues)

filtration_list_to_spectra_request(...)

get_L(dim, a, b)

get_all_filtrations()

get_down(dim, a)

get_up(dim, a, b)

nonzero_spectra(dim, a, b[, PH_basis, ...])

print_boundaries()

set_boundaries_filtrations(boundaries, ...)

If the boundaries and filtrations were not set in the constructor, set them here.

spectra([dim, a, b, request_list, allpairs])

Compute the eigenvalues of L_{dim}^{a,b} or for every tuple (dim, a, b) in request_list.

store_L(dim, a, b, prefix)

store_spectra(spectra_list, file_prefix)

store_spectra_summary(spectra_list, file_prefix)

Attributes

flipped

verbose