IST - Física HowTo - Informática 09:05
2026-02-28
  Programação
 
     Python
 
        Módulos
 
           Gudhi
 
              Rips complex
 
              SimplexTree
 

Python — Gudhi: SimplexTree

Sumário
1. Introdução
2. SimplexTree: Cria um complexo simplicial "SimplexTree"
3. assign_filtration: Atribui uma filtração a um simplex
4. compute_persistence: Cálcula a persistência de um complexo simplicial
5. copy: Copia um simplex
6. dimension: Obtém a dimensão um simplex
7. filtration: Retorna a filtração de um simplex
8. find: Teste se um N-Simplex existe
9. get_filtration: Retorna gerador com símplices e valores
10. get_simplices: Devolve os símplices e os seus valores
11. get_simplices: Devolve os símplices e os seus valores
12. insert: Insere um objecto topológico
13. is_empty: Testa se um simplex é vazio
14. make_filtration_non_decreasing: Assegura que cada simplex tem uma filtração mais elevada
15. num_simplices: Devolve o número de símplices
16. num_vertices: Devolve o número de vértices
17. set_dimension: Define a dimensão do complexo simplicial
18.
19. Links úteis
Início

1. Introdução

Aqui encontram-se os métodos para criar e manipular "SimplexTree" no pacote "Gudhi" incluído da seguinte forma:
import gudhi as gd
e vai designar-se genericamente por "st" um objecto "SimplexTree".
Início

2. SimplexTree: Cria um complexo simplicial "SimplexTree"

Para criar um "SimplexTree" usa-se a função:
st = gd.SimplexTree()
Início

3. assign_filtration: Atribui uma filtração a um simplex

Atribui um valor de filtração a um dado simplex:
st.assign_filtration ([3, 2], filtration = 0.4)
Início

4. compute_persistence: Cálcula a persistência de um complexo simplicial

compute_persistence (homology_coeff_field=11, min_persistence=0, persistence_dim_max=False)
Este método calcula a persistência do complexo simplicial. Em que:
  • homology_coeff_field: é o campo dos coeficientes de homologia e deve ser um número primo. O valor por defeito é 11 e máximo 46337;
  • min_persistence: é o valor mínimo de persistência a considerar conta. Se se quiser visualizar todos os valores deve ser "-1.0";
  • persistence_dim_max: Se for verdadeiro, é calculada a homologia persistente a dimensão máxima, no caso de ser falso é ignorada.
Início

5. copy: Copia um simplex

Para copiar um simplex:
st1 = st.copy()
Início

6. dimension: Obtém a dimensão um simplex

Para obter a dimensão do complexo simplicial
st.dimension ()
Início

7. filtration: Retorna a filtração de um simplex

Retorna a filtração de um simplex
st.filtration (simplex)
Início

8. find: Teste se um N-Simplex existe

Testa se um dado simplex existe ou não (retorna um booleano):
st.find (simplex)
Início

9. get_filtration: Retorna gerador com símplices e valores

Este método devolve um gerador com símplices e os seus respectivos valores dados. Os símplices ordenados por valores de filtração crescentes:
y = st.get_filtration()
for x in y: print(x)
Início

10. get_simplices: Devolve os símplices e os seus valores

Este método devolve um gerador com símplices e os seus respectivos valores.
y = st.get_simplices ()
for x in y: print(x)
Início

11. get_simplices: Devolve os símplices e os seus valores

Este método devolve um gerador com os símplices de uma determinada dimensão máxima:
dimension = 1
y = st.get_skeleton(dimension)
for x in y: print(x)
Início

12. insert: Insere um objecto topológico

insert (simplex, filtration=0.0)
Para inserir um objecto topológico utiliza-se o método "insert" que recebe uma lista com os vértices do objecto em causa. A lista tem as dimensões do objecto, assim, um vértice (0-dim) tem um elemento, uma aresta (1-dim) tem dois elementos, um trângulo (2-dim) tem três elementos, etc.:
st.insert ([8])
st.insert ([1, 3])
st.insert ([2, 5, 7], filtration=0.8)
...
Início

13. is_empty: Testa se um simplex é vazio

Testa se um complexo simplicial é ou não vazio:
st.is_empty ()
Início

14. make_filtration_non_decreasing: Assegura que cada simplex tem uma filtração mais elevada

Este método assegura que cada simplex tem uma filtração mais elevada do que as suas faces ou vértices. Retorna verdadeiro se alterou o complexo simplicial ou falso no caso oposto:
st.make_filtration_non_decreasing ()
Início

15. num_simplices: Devolve o número de símplices

Para obter o número de símplices na árvore simplex:
st.num_simplices ()
Início

16. num_vertices: Devolve o número de vértices

Para determinar o número de vértice da árvore de um simplex:
st.num_vertices()
Início

17. set_dimension: Define a dimensão do complexo simplicial

Este método permite definir a dimensão do complexo simplicial:
st.set_dimension(2)
Início

18.

Início

19. Links úteis

Início