Skip to content

Programa para calcular os coeficientes de Clebsh-Gordan e os resultados gerais da adição de momento angular em mecânica quântica.

License

Notifications You must be signed in to change notification settings

cleber-si/Calculadora-Clebsh-Gordan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Calculadora dos Coeficientes de Clebsh-Gordan

Autor: @cleber-si


Introdução

Os coeficientes de Clecsh-Gordan aparecem quando vamos fazer a soma de momenta (palavra que usarei para o plural de "momento angular") na mecânica quântica.

Considere um sistema arbitrário, cujo estado de fase seja ε, e um momento angular J relativo a esse sistema, em que J = j1 + j2. É sempre possível construir uma base padrão {|k, j, m>} composta por autovetores comuns a J² e Jz:

de tal forma que a ação de operadores J+ e J- obedeça a relação

Denotamos por ε(k, j) o espaço vetorial gerado pelo conjunto de bases padao que corresponde a valores fixos de k e j. Existem (2j+1) desses vetores e eles podem ser transformados em qualquer ordem por J², Jz, J+ e J-. O estado de espaço pode ser considerado como sendo uma soma direta de subespaços ortogonais ε(k, j).

Assumamos então que uma base padrão {|k1, j1, m1>} seja conhecida no estado de espaço ε1, composta de autovetores de j1² e j1z, onde J1 é o operador momento angular do substema 1:

Façamos o mesmo para uma outra base {|k2, j2, m2>}:

O estado de espaço do sistema global, formada pelos dois subsistemas acima, é o produto tensorial de ε1 e ε2:

Vamos denotar por |k1, k2; j1, j2; m1, m2> os vetores dessa nova base. Mas podemos simplificar a notação ao omitir os índices k1 e k2. Assim:

Vamos assimir agora que j1 e j2 sejam tais que j1 >= j2. Os vetores | j1, j2; m1, m2> já são autoestados de Jz:

e os autovalores correspondentes Mh (h-cortado) são tais que

Consequentemente, M pode assumir os valores

Além disso, os possíveis valores para J, dados j1 e j2, são:

Considerando que iniciemos as nossas análises no subespaço ε(J = j1 + j2), o primeiro autoestado que consideramos é tal que

Podemos varrer todos os valores possíveis de M relativos ao subepaço considerado por meio dos operadores J_ ou J+, dados por

Se começarmos por |J=j1+j2, M=j1+j2>, usamos J_ para "descer" aos outros autoestados do subespaço. Se começarmos por |J=j1+j2, M= - (j1+j2)>, usamos J+ para "subir" aos outros autoestados.

Após encontrar todos os possíveis autoestados de um subespaço, devemos trocar de subespaço. Por exemplo, de J = j1 + j2 para J = j1 + j2 - 1. Com isso, "varremos" todos os autoestados desse novo subespaço. Disso, trocamos mais uma vez de subespaço e fazemos a varredura mais uma vez e assim por diante até que todos os possíveis valores de J tenham sido explorados. Vale salientar que o processo de troca de subespaço leva em consideração um novo autoestado que deve ser perpendicular àqueles dos subespaços previamente trabalhados.

Para mais detalhes e formalismo acerca da teoria sobre momento angular e sobre a soma de momento angular em mecânica quântica, recomendo o estudo desses tópicos em livros como a coletânia Quantum Mechanics , de Cohen-Tannoudji, Modern Quantum Mechanics, de Sakurai & Napolitano, dentre outros.

Funcionamento

No arquivo principal.ipybn há uma variável boleana 'latex' onde é possível fazer com que o programa retorne os resultados no formato de equações analíticas se seu valor for True. Esse valor só deve ser atribuído se o código for rodado em algum notebook como o Jupyter, Visual Studio, PyCharm, Google Colab, etc. Caso o valor seja False, o programa mostrará as equações representadas na forma de array como a convenção abaixo.

A representação das equações envolvendo os kets no código seguem o padrão (Clique se estiver vendo isto com um tema escuro. Há também o código em LaTeX comentado neste arquivo.):

Em palavras, cada equação é representada por um array de tamanho 2 (chamarei de array da equação). O primeiro elemento do array guarda as informações do ket do lado esquedo da equação. Para esse caso, apenas três posições são necessárias: o valor do coeficiente (que sempre vai ser 1, exeto nos cálculos até chegar nesse resultado), o valor de J e o valor de M, respectivamente. Na segunda posição do array da equação, há um array de tamanho variado (pois o ket do lado esquerdo pode se dar como uma combinação linear de mais de um ket). Cada elemento desse array representa um ket seguindo o padrão: coeficiente (o de Clebsh-Gordan), j1, j2, m1 e m2.

A ideia do código é que você simplesmente entre com os valores de j1 e j2 no arquivo principal.py e já veja todas as equações geradas por essa combinação de partículas, com os seus respectivos coeficientes.

Limitações

Na troca de subespaços temos que resolver um sistema de equações, que dizem respeito às condições de ortogonalidade no estado procurado no novo subestado com estados de outros subespaços. O tamanho desse sistema está diretamente relacionado com a quantidade k de possíveis valores que J pode assumir. O sistema terá k variáveis e k-1 equações. Isso resulta em um grau de liberdade, mas a equação de normalização do estado resultante do novo subespaço elimina esse grau de liberdade e nos retorna um valor usado na construção dos coeficientes do Clebsh-Gordan.

O número máximo para o tamanho desse sistema é k = 7. Ou seja, o algoritmo só vai retornar soluções completas quando J puder assumir até sete valores distintos. Um exemplo disso é o caso j1 = j2 = 3, onde J = 6, 5, 4, 3, 2, 1, 0. No caso onde J possa assumir mais valores, o código irá retornar apenas todos os estados dos primeiros sete subespaços superiores.

Implementações Futuras (algumas já em andamento)

  • Interface gráfica mais robusta para não depender de notebooks ou terminais;
  • Dados J, M, j1, j2, m1 e m2, o programa retornará o coeficiente de Clebsh-Gordan específico para essa configuração.

Considerações

Este é um projeto completamente voluntário, cujo único propósito é exercitar as habilidades com programação e os conhecimentos de mecânica quântica. Sinta-se à vontade para dar qualquer contribuição ou sujestão para este projeto.

About

Programa para calcular os coeficientes de Clebsh-Gordan e os resultados gerais da adição de momento angular em mecânica quântica.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published