🐥
MPSの要素指定
ある多次元空間上のある点上でのMPSの要素の値を知りたい。
以下のようなに対応する。
画像は、ITensorの公式ドキュメントから引用した。
https://itensor.github.io/ITensors.jl/dev/examples/MPSandMPO.html
計算量は、縮約の計算
上のリンク先のサンプルコードそのまんまであるが、ここでは、onehotを使って計算してみる。
R = 10
s = [Index(2, "Qubit,q=$q") for q in 1:R]
chi = 4
psi = randomMPS(s;linkdims=chi)
# Make an array of integers of the element we
# want to obtain
el = [1,2,1,1,2,1,2,2,2,1]
V = ITensor(1.)
for j=1:N
V *= (psi[j]*onehot(s[j] => el[j])) #ここを変えただけ
end
v = scalar(V)
# v is the element we wanted to obtain:
@show v
Discussion