假设我们有 $N$ 个粒子,那么 $H$ 矩阵的维度是 $N\times N$。我们可以将 $c_i$ 和 $c_i^\dagger$ 看作是基矢量,那么 $H$ 矩阵的元素可以表示为:

$$ H_{ij}=c_i^\dagger c_j\sum_k c_k^\dagger c_k $$

其中 $\sum_k c_k^\dagger c_k$ 可以看作是常数项。因此,我们只需要计算 $c_i^\dagger c_j$ 就可以得到 $H_{ij}$ 的值。

根据费米子对易关系,我们有:

$$ {c_i,c_j^\dagger}=c_ic_j^\dagger+c_j^\dagger c_i=\delta_{ij} $$

$$ {c_i,c_j}={c_i^\dagger,c_j^\dagger}=0 $$

因此,$c_i^\dagger c_j$ 可以表示为:

$$ c_i^\dagger c_j=\begin{cases} 1,& i=j \ 0,& i\neq j \end{cases} $$

那么,$H$ 矩阵可以表示为:

$$ H=\sum_ic_i^\dagger ci=\begin{pmatrix} c_1^\dagger c_1 & c_1^\dagger c_2 & \cdots & c_1^\dagger c_N \ c_2^\dagger c_1 & c_2^\dagger c_2 & \cdots & c_2^\dagger c_N \ \vdots & \vdots & \ddots & \vdots \ c_N^\dagger c_1 & c_N^\dagger c_2 & \cdots & c_N^\dagger c_N \ \end{pmatrix} $$

在 MATLAB 中,我们可以使用矩阵乘法和转置来计算 $H$:

N = 5; % 粒子数
c = zeros(N, N);  % 初始化 c 矩阵
for i = 1:N
    c(i,i) = 1;
end
H = c'*c;
``
H=sum_ic_idagger ci用matlab写成矩阵形式

原文地址: https://www.cveoy.top/t/topic/feO7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录