Autoestados da molécula de Mn-12

Função geradora dos operadores de spin

Mais adiante aprenderemos a escrever os operadores para valores arbitrários de spin. A molécula de Mn-12 tem spin S = 10. Isso significa que o spin pode tomar os valores entre -10 e +10 em passos de 1. Isso dá um total de 2S+1 = 21 estados. Portanto os operadores serão descritos por matrizes de tamanho 21 x 21. 

A seguinte função gera os operadores de spin para um valor arbitrário de S. 
Ao carregá-la, ela irá produzir as seguintes matrizes: (Subscript[S, 0]) (identidade), (Subscript[S, x]), (Subscript[S, y]), (Subscript[S, z]), (Subscript[S, ±]) = (Subscript[S, x])± i (Subscript[S, y])

Clear[LoadSpinOperators];
LoadSpinOperators[S_]:=Module[{srange},
srange = Range[S,-S,-1];
Clear[Sx,Sy,Sz,Sm,Sp,S0];
Sz= DiagonalMatrix[srange];
Sp =Table[Sqrt[(S-s)(S+s+1)]KroneckerDelta[r,s+1],{r,srange},{s,srange}];
Sm = Sp\[Transpose];
Sx = (Sp+Sm)/2;
Sy = (Sp-Sm)/(2I);
S0 =IdentityMatrix[2S+1];
Print["Matrices loaded: S0 (=1), Sx, Sy, Sz, Sp, Sm"];
];

Exemplo: S = 3

S = 3;
LoadSpinOperators[S]

Agora essas matrizes estão carregadas no sistema.

Sz

Se quiser, use a função MatrixForm para visualizar melhor os resultados

MatrixForm[Sz]

MatrixForm[Sx]

Note: essa função produz as matrizes com números exatos (como (Sqrt[3/2]), etc). 
Isso é útil para algumas manipulações mas lento para outras. 
Se você quiser obter as matrizes de forma numérica, coloque N[..] antes das matrizes

MatrixForm[N[Sx]]

Exercício

Faça todos os cálculos no próprio notebook, nas seções especificadas abaixo. Me entregue uma cópia do seu notebook, exatamente da forma como você fez as simulações.

(a) Construa as matrizes de spin 10. Calcule os autovalores e autovetores de (Subscript[S, z])

(b) Calcule os autovalores de (Subscript[S, x]) e (Subscript[S, y]). Interprete seus resultados.

(c) Suponha que H = -D (Subscript[S, z]^2). Calcule os autovalores e autovetores. Explique por que você não precisa de um computador para fazer esses cálculos.

(d) Suponha que H = - D (Subscript[S, z]^2)  - h (Subscript[S, x]), com D = 1. Faça um gráfico dos dois primeiros níveis em função de h, indo de -100 a 100.