Topologia

Outono 2025

O que é Topologia?

O que é Topologia?

  • Topologia é o estudo matemático da forma e do espaço, focado nas propriedades preservadas sob deformações contínuas (esticar, dobrar, mas não rasgar ou colar).

O que é Topologia?

  • Topologia é o estudo matemático da forma e do espaço, focado nas propriedades preservadas sob deformações contínuas (esticar, dobrar, mas não rasgar ou colar).
  • Generaliza a geometria e a análise.

Exemplos

Exemplos

  • Conjuntos abertos/fechados

Exemplos

  • Conjuntos abertos/fechados
  • Continuidade

Exemplos

  • Conjuntos abertos/fechados
  • Continuidade
  • Compacidade

Exemplos

  • Conjuntos abertos/fechados
  • Continuidade
  • Compacidade
  • Conectividade

Espaços Topológicos

Espaços Topológicos

Um espaço topológico é um conjunto \(\mathcal{X}\) com uma coleção \(\mathcal{T}\) de subconjuntos que satisfaz:

  • \(\emptyset \in \mathcal{T}, \mathcal{X} \in \mathcal{T}\)
  • Fechado sob uniões arbitrárias
  • Fechado sob interseções finitas

Espaços Topológicos

Um espaço topológico é um conjunto \(\mathcal{X}\) com uma coleção \(\mathcal{T}\) de subconjuntos que satisfaz:

  • \(\emptyset \in \mathcal{T}, \mathcal{X} \in \mathcal{T}\)
  • Fechado sob uniões arbitrárias
  • Fechado sob interseções finitas

Exemplo: Os números reais \(\mathbb{R}\) com a topologia padrão.

Conjuntos Abertos em Python

import numpy as np

# Define a basic open interval (0, 1)
X = np.linspace(0, 1, 100, endpoint=False)

# Visualize it
import matplotlib.pyplot as plt
plt.plot(X, np.zeros_like(X), 'o')
plt.title("Intervalo aberto (0,1)")
plt.show()

Funções Contínuas

Uma função \(f: \mathcal{X} \rightarrow \mathcal{Y}\) é contínua se a pré-imagem de todo conjunto aberto em \(\mathcal{Y}\) é aberta em \(\mathcal{X}\).

Funções Contínuas

Uma função \(f: \mathcal{X} \rightarrow \mathcal{Y}\) é contínua se a pré-imagem de todo conjunto aberto em \(\mathcal{Y}\) é aberta em \(\mathcal{X}\). Exemplo: \(f(x) = X^2\) é contínua em \(\mathbb{R}\).

Funções Contínuas

import matplotlib.pyplot as plt

x = np.linspace(-2, 2, 100)
y = x**2

plt.plot(x, y)
plt.title("f(x) = x² é contínua")
plt.grid(True)
plt.show()

Homeomorfismo

Homeomorfismo

Um homeomorfismo é uma função bijetiva (um-para-um e sobrejetiva) e contínua entre dois espaços topológicos, com inversa contínua.

Homeomorfismo

Um homeomorfismo é uma função bijetiva (um-para-um e sobrejetiva) e contínua entre dois espaços topológicos, com inversa contínua.

  • Uma função bijetiva e contínua com inversa contínua.
  • Espaços homeomorfos são “topologicamente iguais”.

Homeomorfismo

Um homeomorfismo é uma função bijetiva (um-para-um e sobrejetiva) e contínua entre dois espaços topológicos, com inversa contínua.

  • Uma função bijetiva e contínua com inversa contínua.
  • Espaços homeomorfos são “topologicamente iguais”.

Exemplo:

  • Uma xícara de café e uma rosquinha (toro) são homeomorfas—ambas têm um único buraco.
  • Um círculo e um quadrado são homeomorfos, mas um círculo e um segmento de reta não são.

import matplotlib.pyplot as plt
import numpy as np

theta = np.linspace(0, 2 * np.pi, 100)
circle_x, circle_y = np.cos(theta), np.sin(theta)
square_x, square_y = np.sign(np.cos(theta)), np.sign(np.sin(theta))

plt.plot(circle_x, circle_y, label='Círculo')
plt.plot(square_x, square_y, label='Quadrado (homeomorfo)', linestyle='--')
plt.axis('equal')
plt.title('Formas Homeomorfas: Círculo e Quadrado')
plt.show()

Exemplo: Topologia em Grafos

import networkx as nx

G = nx.cycle_graph(5)
nx.draw_circular(G, with_labels=True, node_color='skyblue')

Invariantes Topológicos

Invariantes Topológicos

Um invariante topológico é uma propriedade de um espaço topológico que permanece inalterada sob homeomorfismos. Ajuda a classificar e distinguir diferentes espaços.

Invariantes Topológicos

Um invariante topológico é uma propriedade de um espaço topológico que permanece inalterada sob homeomorfismos. Ajuda a classificar e distinguir diferentes espaços.

Característica de Euler (invariante clássico)

Característica de Euler (invariante clássico)

A Característica de Euler (denotada \(\mathcal{X}\)) é um invariante topológico — um número que descreve a forma ou estrutura de um espaço topológico de uma maneira que permanece inalterada sob deformações contínuas (como esticar ou dobrar, mas não rasgar ou colar).

Característica de Euler (invariante clássico)

A Característica de Euler (denotada \(\mathcal{X}\)) é um invariante topológico — um número que descreve a forma ou estrutura de um espaço topológico de uma maneira que permanece inalterada sob deformações contínuas (como esticar ou dobrar, mas não rasgar ou colar).

\(\mathcal{X} = V -E + F\)

Característica de Euler (invariante clássico)

A Característica de Euler (denotada \(\mathcal{X}\)) é um invariante topológico — um número que descreve a forma ou estrutura de um espaço topológico de uma maneira que permanece inalterada sob deformações contínuas (como esticar ou dobrar, mas não rasgar ou colar).

\(\mathcal{X} = V -E + F\)

Onde:

  • \(V\): Número de vértices (cantos ou pontos)
  • \(E\): Número de arestas (segmentos de reta que conectam vértices)
  • \(F\): Número de faces (superfícies planas delimitadas por arestas)

Esta fórmula se aplica a muitas superfícies poliédricas (como cubos, pirâmides, etc.) e também se generaliza para outros espaços topológicos.

Característica de Euler (invariante clássico)

Por que é importante?

Característica de Euler (invariante clássico)

Por que é importante?

  • Invariante topológico: Não muda ao esticar, dobrar ou torcer (homeomorfismos).

Característica de Euler (invariante clássico)

Por que é importante?

  • Invariante topológico: Não muda ao esticar, dobrar ou torcer (homeomorfismos).
  • Ajuda a classificar superfícies:
    • Esfera: \(\mathcal{X} = 2\)
    • Toro (rosquinha): \(\mathcal{X} = 0\)
    • toro duplo: \(\mathcal{X} = -2\)

Característica de Euler (invariante clássico)

Por que é importante?

  • Invariante topológico: Não muda ao esticar, dobrar ou torcer (homeomorfismos).
  • Ajuda a classificar superfícies:
    • Esfera: \(\mathcal{X} = 2\)
    • Toro (rosquinha): \(\mathcal{X} = 0\)
    • toro duplo: \(\mathcal{X} = -2\)
  • Diz algo sobre o número de buracos: \(\mathcal{X} = 2 - 2g\) (para uma superfície fechada e orientável de gênero g) onde g é o número de “buracos”.

Relação com a homologia

A característica de Euler também é a soma alternada dos números de Betti (da homologia):

\(\mathcal{X} = \beta_0 - \beta_1 + \beta_2 - \dots\)

Onde:

  • \(\beta_0\): Número de componentes conexas
  • \(\beta_1\): Número de laços/buracos
  • \(\beta_2\): Número de vazios (como espaços ocos em 3D)
  • E assim por diante…

Definição Topológica Geral

De forma mais geral, em topologia algébrica, a característica de Euler é a soma alternada dos números de Betti:

\(\mathcal{X} = \sum_{k=0}^n (-1)^k \beta_k\)

Onde:

  • \(\beta_0\): Número de componentes conexas
  • \(\beta_1\): Número de laços/buracos
  • \(\beta_2\): Número de vazios (como espaços ocos em 3D)
  • E assim por diante…

O que é um Simplexo?

O que é um Simplexo?

Um simplexo é uma generalização de um triângulo ou tetraedro para qualquer dimensão.

O que é um Simplexo?

Um simplexo é uma generalização de um triângulo ou tetraedro para qualquer dimensão.

O que é um Simplexo?

Um simplexo é uma generalização de um triângulo ou tetraedro para qualquer dimensão.

Cada simplexo contém todas as suas faces, ou seja, um 2-simplexo contém as 3 arestas e os 3 vértices que o definem.

O que é um Complexo Simplicial?

O que é um Complexo Simplicial?

Um complexo simplicial é uma coleção de simplexos (pontos, arestas, triângulos, etc.) unidos de forma coerente:

O que é um Complexo Simplicial?

Um complexo simplicial é uma coleção de simplexos (pontos, arestas, triângulos, etc.) unidos de forma coerente:

  • Toda face de um simplexo também deve estar no complexo.
  • A interseção de dois simplexos é vazia ou é uma face compartilhada.

O que é um Complexo Simplicial?

Um complexo simplicial é uma coleção de simplexos (pontos, arestas, triângulos, etc.) unidos de forma coerente:

  • Toda face de um simplexo também deve estar no complexo.
  • A interseção de dois simplexos é vazia ou é uma face compartilhada.

É como construir uma forma com blocos de Lego, onde cada bloco é um simplexo.

O que é o Complexo de Vietoris–Rips?

O que é o Complexo de Vietoris–Rips?

O complexo de Vietoris–Rips (ou complexo de Rips) é uma forma de aproximar a forma de uma nuvem de pontos (um dataset no espaço Euclidiano) construindo um complexo simplicial.

O que é o Complexo de Vietoris–Rips?

O complexo de Vietoris–Rips (ou complexo de Rips) é uma forma de aproximar a forma de uma nuvem de pontos (um dataset no espaço Euclidiano) construindo um complexo simplicial.

Como funciona?

O que é o Complexo de Vietoris–Rips?

O complexo de Vietoris–Rips (ou complexo de Rips) é uma forma de aproximar a forma de uma nuvem de pontos (um dataset no espaço Euclidiano) construindo um complexo simplicial.

Como funciona?

Dado um conjunto de pontos \(\mathcal{X}\) e um limiar de distância \(\epsilon\):

  • Converta cada ponto de dado em um 0-simplexo
  • Conecte dois pontos se sua distância for menor que \(\epsilon\) (1-simplexo)
  • Preencha um triângulo se existirem as três arestas entre três pontos (2-simplexo)
  • Adicione-os quando todas as arestas aos pares estiverem presentes

O que é o Complexo de Vietoris–Rips?

Propósito:

Este complexo fornece uma representação discreta e combinatória da forma dos dados em uma dada escala \(\epsilon\). Calculamos a homologia desse complexo para detectar:

  • Componentes conexas (dimensão 0)
  • Laços (dimensão 1)
  • Vazios (dimensão 2), etc.

Homologia Persistente

Homologia Persistente

A homologia persistente rastreia características topológicas (por exemplo, componentes conexas, buracos, vazios) através de múltiplas escalas de um dataset.

Homologia Persistente

A homologia persistente rastreia características topológicas (por exemplo, componentes conexas, buracos, vazios) através de múltiplas escalas de um dataset.

  • Dada uma nuvem de pontos, conectamos os pontos próximos e rastreamos como as componentes conexas e os buracos evoluem à medida que aumentamos a escala.

Homologia Persistente

A homologia persistente rastreia características topológicas (por exemplo, componentes conexas, buracos, vazios) através de múltiplas escalas de um dataset.

  • Dada uma nuvem de pontos, conectamos os pontos próximos e rastreamos como as componentes conexas e os buracos evoluem à medida que aumentamos a escala.
  • Características que persistem por muitas escalas são consideradas significativas, enquanto as de curta duração provavelmente são ruído.

Homologia Persistente - como calcular?

  • Construir complexos simpliciais (como o complexo de Vietoris-Rips)
  • Calcular os grupos de homologia (números de Betti)
  • Visualizar com diagramas de persistência ou barcodes

from sklearn.datasets import make_circles
from gtda.homology import VietorisRipsPersistence
from gtda.plotting import plot_diagram

X, _ = make_circles(n_samples=100, noise=0.05) # Generate circle-shaped point cloud
vr = VietorisRipsPersistence(homology_dimensions=[0, 1]) # Persistent homology
diagrams = vr.fit_transform([X])

# Visualize
plot_diagram(diagrams[0])

Aplicações da Topologia

  • Data Analysis (TDA)
  • Robótica (Espaços de Configuração)
  • Física (Campos Quânticos)
  • Computer Vision
  • Network Science