thumb|Ilustração mostrando como a aplicação linear deforma o quadrado unitário e como suas partes são rearranjadas quando a operação módulo é aplicada. As linhas com setas indicam a direção dos autoespaços de contração e expansão.

Na matemática, o Mapa do gato de Arnold (ou Transformação do Gato de Arnold) é uma aplicação caótica do toro em si mesmo, nomeada em homenagem a Vladimir Arnold, que demonstrou seus efeitos na década de 1960 utilizando a imagem de um gato, daí seu nome. Constitui um exemplo pedagógico clássico de automorfismo hiperbólico de toros.

Pensando no toro como o espaço quociente , o mapa do gato de Arnold é a transformação dada pela fórmula:

Equivalentemente, em notação matricial, escreve-se:

Isto é, tomando como unidade a largura da imagem quadrada, a imagem sofre um cisalhamento de uma unidade para cima, depois duas unidades para a direita, e tudo o que ultrapassa os limites desse quadrado unitário é transladado de volta por múltiplos inteiros até retornar ao interior do quadrado.

Nome

A aplicação recebe esse nome a partir do manuscrito de 1967 de Arnold em coautoria com André Avez, Problèmes ergodiques de la mécanique classique, no qual o desenho esquemático de um gato foi utilizado para ilustrar a ação da transformação sobre o toro. No livro original, havia uma nota de rodapé bem-humorada:

No russo nativo de Arnold, a transformação é conhecida como "okroshka (sopa fria) de gato" (), em referência às propriedades de mistura da aplicação, formando um trocadilho. Arnold escreveu mais tarde que considerava o nome "Gato de Arnold", pelo qual o mapa ficou conhecido em inglês e em outras línguas, "estranho".

Propriedades é invertível, pois a matriz possui determinante igual a 1 e, portanto, sua inversa possui entradas inteiras; preserva áreas; possui um único ponto fixo hiperbólico (os vértices do quadrado). A transformação linear que define a aplicação é hiperbólica: seus autovalores são números irracionais, um com módulo maior que 1 e outro com módulo menor que 1, estando associados, respectivamente, a autoespaços de expansão e de contração, que constituem também as variedades estável e instável. Os autoespaços são ortogonais porque a matriz é simétrica. Como os autovetores possuem componentes racionalmente independentes, ambos os autoespaços cobrem o toro de forma densa. O mapa do gato de Arnold é um exemplo notável de automorfismo hiperbólico de toros, isto é, um automorfismo de um toro dado por uma matriz unimodular quadrada sem autovalores de valor absoluto 1; O conjunto dos pontos com órbita periódica é denso no toro. Na verdade, um ponto é periódico se e somente se suas coordenadas forem racionais; é topologicamente transitivo (isto é, existe um ponto cuja órbita é densa); O número de pontos com período é exatamente (onde e são os autovalores da matriz). Por exemplo, os primeiros termos dessa sequência são 1, 5, 16, 45, 121, 320, 841, 2205... (A mesma equação vale para qualquer automorfismo hiperbólico unimodular de toros substituindo-se os autovalores correspondentes); é ergódico e misturador; é um difeomorfismo de Anosov e, em particular, é estruturalmente estável; O toro de mapeamento de é uma solvvariedade e, como ocorre com outros difeomorfismos de Anosov, essa variedade possui geometria solv.

O mapa do gato discreto right|thumb|Da ordem ao caos e de volta. Exemplo de aplicação em uma imagem de 150×150 pixels. O número indica o passo da iteração; após 300 iterações, a imagem original é restaurada. right|thumb|Exemplo da aplicação sobre a imagem de um par de cerejas. A imagem tem 74 pixels de largura e leva 114 iterações para ser restaurada, aparecendo invertida de cabeça para baixo na metade do ciclo (iteração 57).

É possível definir um análogo discreto do mapa do gato. Uma das características dessa versão discreta é que a imagem parece ser aleatorizada pela transformação, mas retorna ao seu estado original exato após um determinado número de passos. Como ilustrado na figura ao lado, a imagem original do gato sofre um cisalhamento e é dobrada sobre os limites da grade na primeira iteração. Após algumas iterações, a imagem resultante torna-se visualmente desordenada ou aleatória; contudo, com iterações adicionais, começam a surgir estruturas ordenadas intermediárias — imagens fantasmagóricas do gato, múltiplas cópias menores organizadas em padrões repetitivos e até versões invertidas da imagem original —, retornando por fim à imagem inicial.

O mapa do gato discreto descreve o fluxo no espaço de fase correspondente à dinâmica discreta de uma conta saltando de uma posição (com ) para uma posição em um anel circular de circunferência , segundo a equação de segunda ordem:

Definindo a variável de momento , a dinâmica de segunda ordem acima pode ser reescrita como uma aplicação do quadrado (o espaço de fase do sistema dinâmico discreto) em si mesmo:

Essa transformação exibe o comportamento de mistura típico de sistemas caóticos. No entanto, como a transformação possui determinante unitário, ela preserva áreas e, portanto, é invertível, sendo a transformação inversa dada por:

Para variáveis reais e , costuma-se definir , obtendo-se o mapeamento do quadrado unitário em si mesmo com condições de contorno periódicas.

Quando assume um valor inteiro, as variáveis de posição e momento restringem-se a números inteiros, e a aplicação transforma-se em um mapeamento de uma grade quadrada toroidal de pontos em si mesma. Esse mapa do gato inteiro é comumente empregado para demonstrar o comportamento de mistura e o teorema da recorrência de Poincaré utilizando imagens digitais. Demonstra-se que o número de iterações necessárias para restaurar a imagem original nunca excede .

Para uma imagem digital, a relação entre iterações sucessivas pode ser expressa como:

Modelos Código Python para o Mapa do Gato de Arnold import os from PIL.Image import open as load_pic, new as new_pic

def main(path, iterations, keep_all=False, name="arnold_cat-{name}-{index}.png"): """ Parâmetros: path: str caminho para a imagem iterations: int número de iterações a calcular name: str string formatável usada como modelo para o nome dos arquivos """ title = os.path.splitext(os.path.split(path)) counter = 0 while counter < iterations: with load_pic(path) as image: dim = width, height = image.size with new_pic(image.mode, dim) as canvas: for x in range(width): for y in range(height): nx = (2 * x + y) % width ny = (x + y) % height

canvas.putpixel((nx, height - ny - 1), image.getpixel((x, height - y - 1)))

if counter > 0 and not keep_all: os.remove(path) counter += 1 print(counter, end="\r") path = name.format(name=title, index=counter) canvas.save(path)

return canvas

if __name__ == "__main__": path = input("Insira o caminho para uma imagem:\n\t") while not os.path.exists(path): path = input("Não foi possível encontrar a imagem escolhida, tente novamente:\n\t") result = main(path, 3) result.show()

Ver também Lista de mapas caóticos Gráfico de recorrência

Referências ; Tradução em inglês:

Ligações externas

Efeito da aleatorização de condições iniciais no tempo de recorrência (em inglês) Arnold's Cat Map por Enrique Zeleny, The Wolfram Demonstrations Project (em inglês) Arnold's Cat Map: An interactive graphical exploration (em inglês)

Categoria:Mapas caóticos Categoria:Modelos exatamente solúveis Categoria:Sistemas dinâmicos Categoria:Teoria do caos