Aqui farei uma breve explanação breve sobre uma das técnicas que ajudam a visualizar funções complexas, técnica conhecida pelo nome domain coloring.

Em uma função complexa g :\mathbb{C}\rightarrow \mathbb{C} de variáveis complexas, a quantidade de dimensões necessária para a visualização excede as três dimensões usuais. De fato o domínio complexo z pode ser escrito em termos de duas variáveis reais ( x, y) como z=x+iy . Ou seja, para visualizar o domínio de uma função complexas precisamos de duas dimensões. A própria função complexa precisa de duas dimensões para ser plotada ( uma para a parte real e outra para a parte complexa). Portanto, precisamos de quatro dimensões para visualizar uma função complexa de uma variável também complexa. Por exemplo, considere g(z)=z^2 = (x+iy)^2 = x^2-y^2 +2ixy , neste link estão as curvas para as partes real ( em verde) e imaginário ( em vermelho). Compare com a figura 2 deste texto.

z
Figura 1

Uma das maneiras de visualizar as funções complexas é usar cores e sombras como dimensões extras. Por exemplo, na figura 1 a técnica de domaing coloring é aplicada à função g(z)=z usando o programa Wolfram Mathematica ( código em no final deste texto). O eixo horizontal é a parte real do domínio e o eixo vertical a parte imaginária. Observe que girando em torno da origem no sentido anti-horário , as cores mudam do vermelho no eixo real positivo, para o verde no eixo imaginário positivo, ao azul no eixo real negativo, ao roxo no eixo imaginário negativo e finalmente, ao vermelho novamente ao completar o ciclo.

As cores representam o argumento da função. Como no exemplo da figura anterior, podemos escrever g(z)=z=re^{i\theta} onde o argumento \theta tem periodicidade 2\pi .

Além das cores, usamos o sombreamento para representar o modulo da função. Note que em \vert z \vert =1/2 , \vert z \vert =1 e \vert z\vert=2 o sombreamento apresenta descontinuidades. A medida que aumentamos o módulo de z o sombreamento vai se tornando mais escuro até que de maneira descontinua o sombreamento desaparece e o processo se repete sempre que o valor absoluto dobra.

z^2
Figura 2

A figura 2, a função g(z)=z . Veja que agora as cores do arco-íris circulam duas vezes ao redor da origem. Podemos compreender isto escrevendo z=re^{i\theta} assim, g(z)=z^{2}=r^{2}e^{i2\theta} . Portanto, o argumento tem periodicidade \pi . Note que os ciclos de sombreamento tornam-se mais curtos.

z^(-1)
Figura 3

A figura 3 mostra a função g(z)=1/z . Ao contrário do que ocorria na figura 1, as cores do arco-íris circulam a origem no sentido horário. De fato, os argumentos das duas figuras são o negativo uma da outra. Observe que o sombreamento também acontece em sentido oposto.

Com estas informações, somos capazes de identifica algumas característica de uma função arbitrária como, por exemplo, a presença de zeros ou de pólos. Além de zeros e polos vamos ver nas figuras a seguir o caso de uma singularidade essencial ( um pólo de ordem infinita).

Exp[z^(-1)]
Exp[z^(-1)] nova escala
Exp[z^(-1)] nova escala 2
Exp[z^(-1)] nova escala 3

As figuras acima representam a função g(z)=e^{1/z} sobre diferente escalas. Na última o programa começa a gerar padrões aleatórios próximo a origem devido a erros numéricos. A razão por traz disto esta relacionada com o grande teorema de Picard, o qual indica que uma função analítica próximade uma singularidade essencial possui todos os valores complexos possíveis, com no máximo uma exceção ( no caso da função  g (z) = e^{1/z} a exceção seria o zero). O ciclo de repetições das cores vai se tornando mais frequente a medida que se aproxima da origem.

Abaixo esta o código do programa feito em Mathematica. E logo em seguida, exibo alguns casos específicos.

PROGRAM
Mathematica code used to generate domain coloring gures:
f[z_] := z;
paint[z_] := Module[{x = Re[z], y = Im[z]}, color =
Hue[Rescale[ArcTan[-x, -y], {-Pi, Pi}]]; shade = Mod[Log[2,
Abs[x + I y]], 1]; Darker[color, shade/4]];
ParametricPlot[ {x, y}, {x, -1.0, 1.0}, {y, -1.0, 1.0}, FrameLabel -> {“x”, “y”},
LabelStyle -> Directive[Black, FontSize -> 22, FontFamily -> “Helvetica”],
ColorFunctionScaling -> False, ColorFunction -> Function[{x, y},
MaxRecursion -> 1, PlotPoints -> 400, PlotRangePadding -> 0,
Axes -> False, paint[f[x + y I]]], Frame -> True,
Mesh -> False, ImageSize -> 500]

z^(x por 10)
f(z) = z^{\frac{n}{10}} . Com n variando entre 1 e 10
sin[z]
f(z) = sen(z)
Tan[z]
f(z) = tan(z)
Exp[z]
f(z)=e^z
Exp[-z^2] nova escala
g(z)=e^{z^2}
ArcTanh[z^(-5)]
g(z)=arctanh(z^{-3})
ArcTan[z]
 g(z)=arctan(z)
ArcTanh[z^(-1)]
g(z) = arctanh(z^{-1})
1 por Cos[z]
 g(z)=1/cos(z)

Mais algumas funções escolhidas aleatoriamente.

Para mais informações consulte estas fontes: https://gandhiviswanathan.wordpress.com/2014/10/07/domain-coloring-for-visualizing-complex-functions/

Data Visualization: a successful design process (English Edition)

Data Visualisation with R: 111 Examples

http://www.mi.fu-berlin.de/en/math/groups/ag-geom/news/Domain_coloring.html .

2 respostas a “DOMAIN COLORING”

    1. Avatar de ericcarvalhorocha
      ericcarvalhorocha

      Muito obrigado!

      Curtido por 1 pessoa

Deixe um comentário

Tendência