I would like to ask you: Do you know whether the ``AKLT'' Hamiltonian
\( H = \sum_j \vec{S}_j \cdot \vec{S}_{j+1} + \lambda (\vec{S}_j \cdot \vec{S}_{j+1} )^2 \)
could be written as an MPO with bond dimension less than 14? This is the bond dimension I obtained when I construct the model as follows
Code: Select all
class AKLT(SpinModel,NearestNeighborModel):
def init_terms(self, model_params):
SpinModel.init_terms(self, model_params)
a = model_params.get('a', 0.)
T_vec = ['Sp', 'Sm', 'Sz']
Tad_vec = ['Sm', 'Sp', 'Sz']
t_vec = [0.5, 0.5, 1.]
#(\sum_a S_j^a*S_{j+1}^a)^n
for k0 in range(3):
for k1 in range(3):
self.add_coupling(a*t_vec[k0]*t_vec[k1], 0, T_vec[k0]+' '+T_vec[k1], 0, Tad_vec[k0]+' '+Tad_vec[k1], 1) #n=2
Best,
Pablo
Update: there looks to be a way writing \( H = \sum_j \vec{S}_j \cdot \vec{S}_{j+1}(1 + \lambda \vec{S}_j \cdot \vec{S}_{j+1} ) \) and nesting some steps, although not clear to me yet.