En étudiant la mécanique quantique, vous constaterez que l'algèbre linéaire est une bonne représentation de la mécanique quantique. L'hamiltonien est représenté par une matrice, l'énergie est représentée par une valeur propre et l'état propre est représenté par un vecteur propre. Et l'équation de Schrödinger aboutit à une équation pérenne. Dans le laboratoire de théorie des propriétés physiques, l'équation est résolue à l'aide d'un ordinateur pour prédire les propriétés physiques (bien sûr, d'autres choses sont également faites).
Cependant, ce n'est qu'après être entré au laboratoire que l'ordinateur est utilisé dans les cours universitaires. Avant d'être affecté au laboratoire, j'espère qu'il sera utile pour connaître la théorie des propriétés physiques dans la situation actuelle que "j'utilise du matériel de laboratoire mais pas des ordinateurs".
Le but de cet article est de relier le problème «résoluble» que vous apprendrez dans une conférence en classe avec le problème «résolu numériquement» que vous apprendrez à l'aide d'un ordinateur.
La relation entre l'opérateur de spin $ \ hat {S_z} $ et son état propre est donnée comme suit.
\hat{S_z} \ket{\uparrow} = \frac{\hbar}{2} \ket{\uparrow} ,~~~~~\hat{S_z} \ket{\downarrow} = -\frac{\hbar}{2} \ket{\downarrow}
Si vous les exprimez dans une matrice,
\frac{\hbar}{2}
\begin{pmatrix}
1 & 0 \\
0 & -1
\end{pmatrix}
\begin{pmatrix}
1 \\
0
\end{pmatrix}
= \frac{\hbar}{2} \begin{pmatrix}
1 \\
0
\end{pmatrix},~~~~~
\frac{\hbar}{2}
\begin{pmatrix}
1 & 0 \\
0 & -1
\end{pmatrix}
\begin{pmatrix}
0 \\
1
\end{pmatrix}
= \frac{-\hbar}{2} \begin{pmatrix}
0 \\
1
\end{pmatrix}
Il est réécrit comme. Comme vous pouvez le voir sur cet écran
\begin{pmatrix}
a \\
b
\end{pmatrix} = a \ket{\uparrow} + b \ket{\downarrow}
La fonction $ \ ket {\ uparrow} $ n'a pas d'importance, seul son coefficient est calculé. Ceci est basé sur le fait que "toute nouvelle base peut être exprimée en utilisant une base orthogonale normale".
Maintenant, l'état propre de $ \ hat {S_z} $ est-il l'état propre de $ \ hat {S_y} $? Bien sûr que non. Alors, que se passe-t-il si vous laissez $ \ hat {S_y} $ agir sur $ \ ket {\ uparrow} $?
Cela peut être compris par l'opérateur élévateur. Autrement dit, l'équation suivante
S^{+}\ket{\uparrow} = 0,~~~~~ S^{+}\ket{\downarrow} = \hbar \ket{\uparrow}\\
S^{-}\ket{\uparrow} = \hbar \ket{\downarrow},~~~~~S^{-} \ket{\downarrow} = 0
Et la définition de l'opérateur élévateur
\hat{S_x}\ket{\uparrow} = \frac{\hbar}{2} \ket{\downarrow}, ~~~~~\hat{S_x}\ket{\downarrow} = \frac{\hbar}{2} \ket{\uparrow}\\
\hat{S_y} \ket{\uparrow} = i\frac{\hbar}{2}\ket{\downarrow}, ~~~~~\hat{S_y} \ket{\downarrow} = -i\frac{\hbar}{2} \ket{\uparrow}
Est obtenu. Certainement $ \ ket {\ uparrow} $ n'était pas dans l'état unique de $ \ hat {S_y} $.
Alors, quel est l'état unique de $ \ hat {S_y} $? Vous pouvez le prédire, mais osons le demander systématiquement. Tout d'abord, l'affichage matriciel de $ \ hat {S_y} \ ket {\ uparrow} = i \ frac {\ hbar} {2} \ ket {\ downarrow} $ est
\frac{\hbar}{2}\begin{pmatrix}
0 & -i\\
i & 0
\end{pmatrix}
\begin{pmatrix}1\\0\end{pmatrix} = i\frac{\hbar}{2}\begin{pmatrix}0\\1\end{pmatrix}
Est. Ici, la matrice sur le côté gauche est $ \ sigma_y $ de la matrice de Pauli. En diagonalisant ce $ \ sigma_y $, on obtient l'état unique de $ \ hat {S_y} $. Lorsque $ \ sigma_y $ est diagonalisé, la valeur propre et le vecteur propre sont
\lambda_1=1, ~~ u_1=\frac{1}{\sqrt{2}}\begin{pmatrix}1 \\ i \end{pmatrix}・ ・ ・(1)\\
\lambda_2=-1, ~~ u_2=\frac{1}{\sqrt{2}}\begin{pmatrix}-1\\i\end{pmatrix}・ ・ ・(2)
Sera. Si vous vérifiez s'il est réellement dans un état unique,
\hat{\sigma}_yu_1=\begin{pmatrix}
0 & -i\\
i & 0
\end{pmatrix}\frac{1}{\sqrt{2}}\begin{pmatrix}1 \\ i \end{pmatrix}=
\frac{1}{\sqrt{2}}\begin{pmatrix}-i^2\\i\end{pmatrix} =
\frac{1}{\sqrt{2}}\begin{pmatrix}1\\i\end{pmatrix} = \lambda_1\cdot u_1
Il a été confirmé qu'il était dans un état unique.
Calculons la valeur attendue de $ \ sigma_x $ en utilisant cet état propre $ u_1 $.
\bbraket{u_1}{\sigma_x}{u_1} = \frac{1}{\sqrt{2}}\begin{pmatrix}1 & -i \end{pmatrix}
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}
\frac{1}{\sqrt{2}}\begin{pmatrix}1\\i\end{pmatrix}
=0
Par conséquent, la valeur attendue est 0.
Implémentez le calcul d'analyse de 1. en python.
import numpy as np
sigma_y = np.array([
[0,-1j],
[1j,0]
])
eigenvalues, eigenvectors = np.linalg.eigh(sigma_y)
print(eigenvalues[0], end=" ")
print(eigenvectors[0])
# output : -1.0 [-0.70710678+0.j -0.70710678+0.j]
Cela ne correspond pas. Cela dépend de la manière dont les vecteurs propres sont stockés. Vous pouvez bien le comprendre en effectuant les opérations suivantes.
print(eigenvectors @ sigma_y @ np.linalg.eigh(eigenvectors))
# output : [[-1 0.+1e-16j]
# [ 0.+1e-16 1 ]]
En d'autres termes, le vecteur propre obtenu par np.linalg.eigh () est une forme dans laquelle deux vecteurs propres sont disposés verticalement.
eigenvectors[0] =[u1(x1),u2(x1)]
eigenvectors[1] =[u1(x2),u2(x2)]
Sera. Le vecteur propre obtenu par np.linalg.eigh () doit donc être transposé.
import numpy as np
sigma_y = np.array([
[0,-1j],
[1j,0]
])
eigenvalues, eigenvectors = np.linalg.eigh(sigma_y)
evs = np.transpose(eigenvectors)
print(eigenvalues[0], end=" ")
print(evs[0])
# output : -1.0 [-0.71+0.j 0.+0.71j] ( 1/sqrt(2)=0.71 )
Cela correspond à la valeur propre et au vecteur propre de (2) de $ \ sigma_y $ calculé analytiquement.
La diagonalisation de la matrice a lieu dans diverses situations physiques. Ici, à titre d'exemple, essayons de "trouver l'état de base avec un modèle unidimensionnel à deux sites avec spin".
En tant que hamiltonien
H=H_{kin}+H_{\mu}+H_{U}\\
H_{kin} = -t\sum_{\sigma}(c^{*}_{2,\sigma}c_{1,\sigma}+c^{*}_{1,\sigma}c_{2,\sigma})\\
H_{\mu} = \sum_{\sigma}\sum_{i=1,2}(-\mu_i)c^*_{i,\sigma}c_{i,\sigma}\\
H_{U} = U\sum_{i=1,2}n_{i,\uparrow}n_{i,\downarrow}
En tant qu'état, considérez "un demi-remplissage dans lequel le nombre de particules et le spin sont préservés, un upspin et un downspin". À ce stade, il existe quatre états possibles.
\psi_1 = |(\uparrow\downarrow)_1,(0)_2>\\
\psi_2 = |(0)_1,(\uparrow\downarrow)_2>\\
\psi_3 = |(\uparrow)_1,(\downarrow)_2>\\
\psi_4 = |(\downarrow)_1,(\uparrow)_2>
On suppose que chaque état est normalisé.
$ \ psi_1 $ est dans l'état suivant.
Soit $ \ phi $ l'état représenté à l'aide de ces états, et représentons-le comme suit. Bien sûr, ce $ \ phi $ peut représenter tous les états.
\phi=a\psi_1+b\psi_2+c\psi_3+d\psi_4=\begin{pmatrix}a \\ b \\ c \\ d \end{pmatrix}
cependant,
H\phi=\begin{pmatrix}
-2\mu_1+U & 0 & -t & -t \\
0 &-2\mu_2+U & -t & -t \\
-t & -t & -\mu_1-\mu_2 & 0 \\
-t & -t & 0 & -\mu_1-\mu_2
\end{pmatrix}\phi
Les hamiltoniens peuvent être affichés dans une matrice comme dans. En diagonalisant cette matrice, trouvons l'état propre de $ \ phi $. Ce qu'il faut faire est le même que dans la section 2.
import numpy as np
#Condition de calcul
mu_1 = 0.1
mu_2 = 0.4
t = 1.0
U = 3.0
H = np.array([
[-2*mu_1 + U, 0, -t, -t],
[ 0, -2*mu_2 + U, -t, -t],
[ -t, -t, -mu_1 - mu_2, 0],
[ -t, -t, 0, -mu_1 - mu_2]
])
eigenvalues, eigenvectors = np.linalg.eigh(H)
evs = np.transpose(eigenvectors)
for i in range(4):
print(eigenvalues[i], end=" ")
print(evs[i])
# output
# -1.51 [ 0.29 0.34 0.63 0.63 ]
# -0.50 [ 1e-17 1e-17 -0.71 0.71 ]
# 2.44 [ 0.54 -0.83 0.10 0.10 ]
# 3.57 [-0.79 -0.44 0.30 0.30 ]
En regardant les résultats du calcul, l'état avec la plus petite valeur propre, c'est-à-dire l'état de base, est $ [0,29 ~~ 0,34 ~~ 0,63 ~~ 0,63] $. Puisque la condition de calcul a une grande force de Coulomb, beaucoup de $ \ psi_3 et \ psi_4 $ sont inclus. La façon dont $ \ psi_1 et \ psi_2 $ sont mélangés n'est pas 1: 1 car l'énergie du site est différente.
Recommended Posts