An Error while running DMRG

Hi, I am using DMRG in ITensor.
I have created an additional site object and related operators for a one dimensional system.
I do not get any error while running DMRG without any conservation.
But I am getting error while running DMRG with conserving quantum number.
The error is the following,
“ERROR: LoadError: Eigen currently only supports block diagonal matrices.”
The source of this error is line 196 of file “linearalgebra.jl” which is a part of ITensor package.
If one can help me, about the meaning of the error, I might be able to resolve the problem.

Can it be related with the ordering of basis according to quantum numbers? Because in site function I have multiple basises with degenerate quantum numbers. I have printed the MPO for Hamiltonian for three site system, which might be helpful for guessing the problem,

MPO
[1] ((dim=10|id=869|“Link,l=1”)
1: QN() => 1
2: QN(“Sz”,0) => 2
3: QN(“Sz”,1) => 3
4: QN(“Sz”,-1) => 3
5: QN(“Sz”,0) => 1, (dim=9|id=47|“Site,bondoperator1,n=1”)’
1: QN(“Sz”,0) => 1
2: QN(“Sz”,0) => 1
3: QN(“Sz”,0) => 1
4: QN(“Sz”,-1) => 1
5: QN(“Sz”,-1) => 1
6: QN(“Sz”,1) => 1
7: QN(“Sz”,1) => 1
8: QN(“Sz”,-2) => 1
9: QN(“Sz”,2) => 1, (dim=9|id=47|“Site,bondoperator1,n=1”)
1: QN(“Sz”,0) => 1
2: QN(“Sz”,0) => 1
3: QN(“Sz”,0) => 1
4: QN(“Sz”,-1) => 1
5: QN(“Sz”,-1) => 1
6: QN(“Sz”,1) => 1
7: QN(“Sz”,1) => 1
8: QN(“Sz”,-2) => 1
9: QN(“Sz”,2) => 1)
[2] ((dim=10|id=869|“Link,l=1”)
1: QN() => 1
2: QN(“Sz”,0) => 2
3: QN(“Sz”,1) => 3
4: QN(“Sz”,-1) => 3
5: QN(“Sz”,0) => 1, (dim=10|id=993|“Link,l=2”)
1: QN() => 1
2: QN(“Sz”,0) => 2
3: QN(“Sz”,1) => 3
4: QN(“Sz”,-1) => 3
5: QN(“Sz”,0) => 1, (dim=9|id=694|“Site,bondoperator1,n=2”)’
1: QN(“Sz”,0) => 1
2: QN(“Sz”,0) => 1
3: QN(“Sz”,0) => 1
4: QN(“Sz”,-1) => 1
5: QN(“Sz”,-1) => 1
6: QN(“Sz”,1) => 1
7: QN(“Sz”,1) => 1
8: QN(“Sz”,-2) => 1
9: QN(“Sz”,2) => 1, (dim=9|id=694|“Site,bondoperator1,n=2”)
1: QN(“Sz”,0) => 1
2: QN(“Sz”,0) => 1
3: QN(“Sz”,0) => 1
4: QN(“Sz”,-1) => 1
5: QN(“Sz”,-1) => 1
6: QN(“Sz”,1) => 1
7: QN(“Sz”,1) => 1
8: QN(“Sz”,-2) => 1
9: QN(“Sz”,2) => 1)
[3] ((dim=10|id=993|“Link,l=2”)
1: QN() => 1
2: QN(“Sz”,0) => 2
3: QN(“Sz”,1) => 3
4: QN(“Sz”,-1) => 3
5: QN(“Sz”,0) => 1, (dim=9|id=404|“Site,bondoperator1,n=3”)’
1: QN(“Sz”,0) => 1
2: QN(“Sz”,0) => 1
3: QN(“Sz”,0) => 1
4: QN(“Sz”,-1) => 1
5: QN(“Sz”,-1) => 1
6: QN(“Sz”,1) => 1
7: QN(“Sz”,1) => 1
8: QN(“Sz”,-2) => 1
9: QN(“Sz”,2) => 1, (dim=9|id=404|“Site,bondoperator1,n=3”)
1: QN(“Sz”,0) => 1
2: QN(“Sz”,0) => 1
3: QN(“Sz”,0) => 1
4: QN(“Sz”,-1) => 1
5: QN(“Sz”,-1) => 1
6: QN(“Sz”,1) => 1
7: QN(“Sz”,1) => 1
8: QN(“Sz”,-2) => 1
9: QN(“Sz”,2) => 1)

Thanks for asking about this, but we will need more information to be able to help. Could you post a very minimal code that is able to reproduce the error?

My guess is that most likely your Hamiltonian does not conserve the quantum numbers that you are asking to be conserved. Does it? But we can see with more details.

Hi Miles, Thanks for your suggestion.
Although, I implemented the code so that there are no terms which does not conserve the quantum numbers.
But, by mistake, I had included many terms like that.
That is why I was getting such error.
Now I have fixed the problem.

Thanks for letting me know and glad you fixed the issue!