Итак, я хочу создать матрицу 2x2 H, в которой есть две матрицы, например:
Я не могу добавить изображения, поэтому нажмите здесь
Матрица в H должна быть матрицей dim x dim со значениями v в главной диагонали и значениями w в диагонали под главной диагональю.
Как это
Вот программа для этого:
def make_ham(v,w,dim):
V = (scipy.sparse.eye(dim,k=0)*v).todense()
W = (scipy.sparse.eye(dim,k=-1)*w).todense()
Γ = V+W
line = np.array([0,0,1,1])
column = np.array([0,1,0,1])
data = np.array([0,1,1,0])
Hb = scipy.sparse.csc_matrix((data,(line,column)), shape=(2,2), dtype=(np.float64))
H = kron(Hb, Γ)*[[1],[0]]+kron(Hb, Γ.T)*[[0],[1]]
return H
Когда я даю дим, который не 2, я получаю ошибку. Я действительно застрял здесь, так что спасибо заранее за любые советы! :)