Hi there,
I'm running a simple toy model of spinless fermions (electrons). My Hamiltonian is:
H = t * (\sum_<i,j> fdagger f + h.c. ) + lambda * \sum_<i,j> n_i n_j / r_ij + lambda * \sum_i,j n_i/r_ij</i,j></i,j>
Basically we have the NN hopping term, a short range electron-electron interaction term, and a long range nuclear-electron interaction term. I'm varying the parameter lambda/t for different simulations.
I've noticed the code has no issue solving for the ground state energy, even for values as large as lambda/t = 1e6, (with a system of 12 sites and half-filling), but when I add in a couple of excited states, for example solving for 3 lowest excited states with the same system, when the interaction strength lambda/t > around 100, I got the following error
ldb must be >= MAX(K,1): ldb=1 K=2. BLAS error: Parameter number 11 passed to cblas_dgemm had an invalid value
Traceback (most recent call last):
File "sim.py", line 201, in <module>
main(PostProcess=Post)
File "sim.py", line 122, in main
mps.runMPS(MainFiles, RunDir=RunDir)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/MPSPyLib/tools.py", line 398, in runMPS
raise MPSFortLibError(ret_val)
MPSPyLib.tools.MPSFortLibError: MPSFortLib quit with fatal return code 255!</module>
Of course this threshold changes with the number of excited states and other parameters. I'm wondering if there's something subtle that I missed in the algorithm that just won't allow simulations of extreme values, or it has to do with how I set up the system
Thank you very much!
Sorry the last term of H shluld just be lambda * \sum_i,j n_i/r_ij
Last edit: Keyi Liu 2020-05-12