Hello. I'm new to both Julia and ITensor, so I have some rudimentary questions.
The first is that I thought that Julia was a functional language in the sense it did not have objects. Why is ITensor then built off of objects? How do we get the speed-ups I've heard Julia has then? Why Julia instead of Python or something then?
The next question is more detailed. I understand that TN algorithms often just rely on random ansatz, but I have a naive view that I should be able to treat an ITensor() obj as an array. Is there a method to convert an ITensor() obj to a Julia array? Or even better, set a ITensor() obj equal to some array that has already been created?
For example, it seems like I should be able to write
i = Index(2);
j = Index(2);
k = Index(2);
Aten =ITensor(i,j,k);
A = rand(Float64,2,2,2)
Aten = A
and this would be the same as
i = Index(2);
j = Index(2);
k = Index(2);
Aten = randomITensor(i,j,k);