以下代码适用于“同源组”。我使用 library 来实现目的。
import gudhi
# Create a simplicial complex
simplex_tree = gudhi.SimplexTree()
simplex_tree.insert([1, 2, 3])
simplex_tree.insert([2, 3, 4])
simplex_tree.insert([3, 4, 5])
# Compute homology
homology = simplex_tree.persistence()
print("Homology groups:")
for interval in homology:
dim, (birth, death) = interval
print(f"Dimension {dim}: birth = {birth}, death = {death}")
我得到的输出
Homology groups:
Dimension 0: birth = 0.0, death = inf
为什么我没有得到维度 1 的输出?
原因是:
如代码中所定义,不存在非平凡的一维循环。 如果不存在通过同源性存在的一维特征
例如 存在像 1>2>3>1 这样的循环,但它被三角形填充,因此它对第一个同源组 H1
没有贡献我希望你能明白这一点,否则你可以要求进一步澄清,我会进一步解释 在您的代码中尝试这些行来循环并打印 H1 我希望它对您有用:)
print("Homology groups:")
for interval in
simplex_tree.persistence_intervals_in_dimension(0):
print(f"Dimension 0: birth = {interval[0]}, death =
{interval[1]}")
for interval in
simplex_tree.persistence_intervals_in_dimension(1):
print(f"Dimension 1: birth = {interval[0]}, death =
{interval[1]}")