Matemática e Computação

Fotos da medida de Dirac

Tarcisio Praciano-Pereira

Num raríssimo furo jornalístico, com uma camera digital
permitindo a configuração manual do tempo de exposição (abertura do diafragma),
este editor conseguiu fotografar a famosa medida de Dirac.

Na verdade isto é impossível, a medida de Dirac tem duas definições, uma feita por
Paul Dirac que deixou o mundo matemático contrariado durante quase 30 anos, até que
L. Schwarz simultaneamente com Sebastião e Silva, da Universidade de Lisboa conseguiram escrever
uma teoria para as “funções generalizadas” que Schwarz chamou de “distribuições”, em que
a medida de Dirac encontrou um lugar como objeto matemático bem comportado.

P. Dirac precisava de distribuições de probabilidade concentradas em um ponto para captar
partículas dentro de sua formulação de problemas da Física Quântica e para isto inventou
uma “função de probabilidade” com massa total em um único ponto.

Obviamente que não posso saber como pensou Dirac para chegar em sua “função” de probabilidade
com massa concentrada em único ponto
, mas posso fazer algumas ilações razoaveis, e vou começar
com a

função de probabilidade de Gauss
A gaussiana

que é uma função de densidade de probabilidade concentrada numa vizinhança do
ponto zero. Quer dizer, se um ponto x estiver “muito afastado” de zero, cai
significativamente a probabilidade de uma vizinhança de x.

Dizemos que a gaussiana está concentrada numa vizinhança de zero. Com frequência se usa uma
transformada da gaussiana translatada para um ponto m quando se diz que ela está
concentrada numa vizinhança de m. Mas Dirac queria uma função de densidade probabilística
de facto concentrada em um ponto a e se saiu, então, com a definição:

d0(x) =

  • x 0; 0;
  • x = 0; infinity

e mais uma condição: a integral de d0 ao longo da reta inteira devia ser 1;

É esta a função que ele chamou de “delta” de zero, quando concentrada em zero, ou

da(x) =

  • x <>a; 0  (o símbo <> é usado como negação de = )
  • x=a; infinity

que é a translação de d0 para o ponto a.

Na época em que Dirac definiu esta função foi criado um suspense, não seria possível calcular a integral
de uma tal função tendo resultado 1 para a integral. Mas para Dirac as contas davam certo, porque, na verdade, ele
estava trabalhando com os objetos que fotografei, observe a sequência de fotos que obtive:

Abertura do diafragma m = 5

abertura m =5
abertura m =5

Abertura do diafragma m = 15

abertura do diafragma m = 15

Abertura do diafragma m = 30

abertura do diafragma m = 30

Paul Dirac, em cálculos experimentais usava aproximações da “função de Dirac” que são funções muito parecidas
com a gaussiana apenas realmente concentradas em uma vizinhança de um ponto, são funções que chamamos à suporte
compacto, eis alguns exemplos de tais funções:

nucleos, triangular e parabólico – splines

A função T é uma triângulo tendo o intervalo [-1,1] como suporte, é 1-spline.

A função par
é um núcleo parabólico, uma função com suporte no intervalo [-1,1] formada de pedaços de polinômios
do segundo grau colados diferenciavelmente resultando numa função cuja derivada é contínua é um  2-spline.

Eu vou usar aqui a denominação “núcleo” para uma função positiva que tenha suporte em um intervalo compacto da reta e cuja
integral seja 1, é o caso das duas funções cujas equações aparecem na figura acima. Elas estão expressas em código
para gnuplot e você pode ver-lhes o gráfico com o comando

  • set xrange [-5:5];
  • plot T(x), par(x), 0
  • pause -2 “Aperte uma tecla para continuar”

e aqui está o código destas funções para que você possa raspar e colar num terminal do gnuplot:

  • T(x) = (x<-1)?0:\
  • (x<0 )?x+1:\
  • (x<1 )?1-x:0;
  • par(x) = (x<-1)?0:\
  • (x<=-0.5)?2*(x+1)**2:\
  • (x<=0.5)?(1 -2*x**2):\
  • (x<=1)?2*(x-1)**2:0

Você também pode testar se a integral vale 1 usando esta função do gnuplot

  • riem(x,fim,soma,delta)=
  • (x>=fim)?soma*delta:\
  • riem(x+delta,fim,soma+T(x),delta);

Substitua T(x) por par(x) para calcular a integral do 2-spline, ou pela equação
de qualquer outra função cuja integral você deseje calcular. Por exemplo
riem(-1,1,0,0.001)
vai calcular a integral de T no intervalo [-1,1], o parâmetro “soma” é fornecido inicialmente com
o valor zero e irá acumular, ao final, o valor da integral. O parâmetro delta recebe o valor 0.001, é o passo
na soma de Riemann. Esta é uma função recursiva, ou ainda uma
definição recursiva da soma de Riemann
em gnuplot.

Em python é possível criar estas funções para aplicar em funções como parâmetros
e também python sabe
como chamar gnuplot para finalmente fazer o gráfico, mas eu não sei fazer isto em python,
se você souber e quiser me ensinar, eu terei imenso prazer em incluir sua colaboração neste artigo com
o seu nome como coautora.


Como obtive as fotos

A Matemática das fotos

Vou agora explicar a Matemática das fotos e possivelmente repetir algumas das contas que Paul Dirac teria
feito no começo do século passado.

Primeiro, lembrar que o “produto de convolução” é uma operação, produz uma nova função a partir de duas
outras funções, desde que uma delas seja integrável. Vou passar a falar apenas “convolução” como um resumo
de “produto de convolução”.

A definição da convolução é

definição do produto de convolucao
definição do produto de convolucao

E você não precisa se assustar com os limites de integração, nos casos aqui usados será uma integral definida
no suporte do núcleo portanto seria uma integral sobre o intervalo [-1,1] ou um encolhimento deste intervalo. Acho
mesmo que representa uma certa maldade do autor em apresentar esta definição para assustá-la, resista!

É possível criar uma representação em gnuplot para tudo que eu escrever aqui, e é um interessante exercício
de Matemática Computacional, por exemplo, uma função recursiva para calcular convolução pode ser obtida
com uma pequena modificação do código para o cálculo de somas de Riemann. Se você quiser completar o artigo,
é bem vinda com a completação para publicar aqui.
Possivelmente é melhor fazer em python uma vez que python
se comunica com gnuplot e portanto se ganha com o poderio de python
que é quase uma linguagem simbólica para
depois chamar gnuplot para mostrar os gráficos.

Vou chamar a delta de Dirac com a letra “d”, então d0 é a delta de Dirac concentrada no ponto zero,
e portanto da é a delta de Dirac concentrada no ponto “a“. Com esta notação vale

f*do = f

Quer dizer, a delta de Dirac concentrada em zero é a identidade para a convolução. Apenas, e é este o problema
que Paul Dirac criou, a delta de Dirac não é uma função o que nos impede de incluí-la na definição da convolução.
O que Dirac teria feito, e é o que estou fazendo nas fotografias, é substituir a medida d0 por uma
função de probabilidade concentrada em um intervalo contendo zero,
como as funções T, par definidas
acima.

Então a Matemática fica:


f*T aproximadamente f


f*par aproximadamente f

e o tamanho do erro está associado à medida do suporte.
Mas o suporte pode facilmente ter sua medida arbitrariamente
diminuida com uma operação relativamente inútil nos cursos de Cálculo mas
importantíssima depois dos cursos de Cálculo
que é a “mudança de variável“.

do, m(x) = m*par(m*x)

transforma a função par(x) em uma aproximação da delta de Dirac e
esta a abertura do diafragma
que aparece nas fotos.

Alguma coisa interessante, a função característica do intervalo [-0.5, 0.5] que aparece nas fotos na cor verde,
não é uma função derivável, no sentido usual, mas é derivável no sentido das distribuições ou das
funções generalizadas que já existiam desde Euler,
apenas Schwarz
e Sebastião e Silva conseguiram arrumar
a teoria criando um Cálculo Diferencial e Integral para as funções generalizadas
incluindo então a função generalizada
de Dirac como um elemento regular da nova teoria. É esta nova teoria que se chama de
teoria das distribuições a denominação tendo sido escolhida por Laurent Schwarz.

Aqui a convolução retorna ao cenário:

(f*g)’ = f ‘*g = f*g’;

em que o símbolo (‘) está representando, como sempre, a derivada. Se f,g forem funções integráveis,
pelo menos uma delas,
podemos facilmente demonstrar esta fórmula. Também podemos extender esta fórmula para as funções generalizadas, mas
não foi isto que Dirac fez, em vez disto ele usou um núcleo com suporte suficientemente “pequeno” (de medida pequena) e
concentrado em volta de zero para calcular a derivada usando a convolução (aproximadamente). Usando a notação acima,

do, m(x) = m*par(m*x)

em que “par” é um núcleo qualquer suficientemente diferenciável (não funciona com T) posso calcular

(f*do, m )’ = f ‘*do, m = f*do, m‘   é aproximadamente  f ´

que será uma aproximação da derivada de f ‘  .

É este o resultado das fotos, aproximações das derivadas da função característica mostrando que aparece um novo
fenômeno – a distribuição de Dirac. Ou seja, se f representar a função
característica de [-0.5, 0.5] então

d/dx f = d-0.5 – d0.5

é a diferença das tranlações da distribuição de Dirac concentradas nos pontos -0.5 e 0.5,
que são os pontos de
discontinuidade de f.

A derivada de funções não contínuas

Isto é verdade para qualquer função f descontínua que tiver sido obtida de uma função derivável g criando
pontos de salto (é o caso das funções características – foram obtidas da função constante zero criando saltos nos
extremos dos intervalos). A derivada de f será a soma de g’ com a combinação linear da distribuição de Dirac translatada para os pontos de salto usando os tamanhos dos saltos como coeficientes da combinação linear.

No caso da função característica, ao derivarmos, aparentemente, aparece apenas a diferença das translatadas da Dirac, porque a função g, neste caso, é a função identicamente 0.  É o que você pode ver, aproximadamente, nas fotos.

 



pequena_gab4.jpg
Eu uso computação como meio para fazer, aprender e ensinar Matemática.
O meu interesse na verdade está em Matemática e não em Computação.


Meus últimos programas:

Escrevi um conjunto de programas objetivando ilustrar as transformações de funções
complexas de algumas curvas, fronteira de círculos e retângulos (servem como exemplo para o teorema da função aberta). Os programas ainda estão em faze inicial
e logo eu estarei publicando uma versão mais completa dos mesmos, mas quem quiser fazer experiências com eles é bem vindo inclusive para fazer sugestões de alteração.

Uma das curvas que você pode ver é esta

Os programas se encontram aqui:
(clique ou cole este link no navegador)
http://www.varcom.sobralmatematica.org/programas/

Sejam bemvindos às minhas experiências com variáveis complexas.


Escrevo programas em C, C++, LISP, calc e Python.

Ultimamente tenho trabalhado mais com C, e C++ porque estou
escrevendo um livro de Cálculo Numérico Computacional e os programas deste livro serão escritos em C++ (pelo menos neste momento)

Acabo de escrever um livro sobre a linguagem C voltado para
ciências exatas.

Estou trabalhando em um livro sobre C++ também voltado para quem use Matemática.

A minha produção pode ser consultada em

http://sobralmatematica.org

ou em

http://www.4shared.com/dir/1751707/4c187abc/sharing.html

que é repositório da produção matemática de Sobral.


Visite também a página de préprints do curso de Matemática onde você pode encontrar a produção em andamento
dos que fazem Mátemática em Sobral.

escritório

Um pensamento sobre “Matemática e Computação

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s