FlorianASchroeder / TDVP

Tree-Tensor-Network State for Bosons
4 stars 0 forks source link

calEnergy(mps,Vmat,para,op) is not implemented if para.useStarMPS =True #5

Open jdelpino opened 8 years ago

jdelpino commented 8 years ago

Would be really appealing to add the support of this function, called from getObservable(type,mps,Vmat,para) for Star/Multichain MPS to compute many-sites ground state energies.

FlorianASchroeder commented 8 years ago

Sure, this can be implemented fairly quickly. In principle it should be equivalent to the lines of code used in expvCustom/STARmultA (and expvCustom/TREEmultA for TreeMPS code). We can think about separating the code into a function so that calEnergy and expvCustom can both call it. But this will also cause some minor call-overhead slowing down expvCustom a little bit (possibly not noteworthy).

jdelpino commented 8 years ago

Perfect! Thank you very much. Therefore, as far as I understand, for the StarMPS case, the energy of the last MPS after imaginary time evolution (the closest state to the ground state which is saved by default after the simulation), would be just obtained by calling STARmultA(A) where the input A is some properly reshaped vector v = {mps, Vmat, CV, C}

I think once clarified this we could indeed separate the code despite the small slowing down!