the basis vectors are written by the convention that the down spin are written first according to formula | basis state > = Multiply(i=1 to i=N) ( for_spin_up ) cDag[i,Up_spin] Multiply(i=1 to i=N) ( for_spin_down ) cDag[i,Down_spin] | 0 > Now for two site system half filling 1 up spin and 1 down spin the basis are | basis 1 > = cDag[ 1, up ] cDag[ 2, down ] |0 > | basis 2 > = cDag[ 2, up ] cDag[ 1, down ] |0 > (* Now position cahanged as down spin is first according to convention *) | basis 3 > = cDag[ 1, up ] cDag[ 1, down ] |0 > | basis 4 > = cDag[ 2, up ] cDag[ 2, down ] |0 > Now when we analyticaaly solve for hubbard hamiltonian we get the matrix ((0,0,-t,-t),(0,0,-t,-t),(-t,-t,U,0),(-t,-t,0.U)) but alps give the matrix ((0,1,-1,0),(1,0,0,1),(-1,0,0,-1),(0,1,-1,0)) the matrices are equivalent as long as their eigen values are same. from which we can have eigen values and eigen vectors I want from alps to have basis vectors with this convention. what I see from naked eye if one of the basis vector get a minus sign then the hamiltonian are equivalent. I want the alps to generate basis states according to this convention down spin first and then compute the hamiltonian matrix, otherwise I think program is very powerful. There is any way that we give our basis to the program to compute hamiltonian matrix. best regards Khalid Loane