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