def test_cXY_E0(nr_sites, gamma, rgen, ldim=2):
if sys.version_info[:2] == (3, 3) and gamma == -0.5:
# Skip this test on Python 3.3 because it fails on Travis (but
# only for Python 3.3). eigsh() fails with:
# scipy.sparse.linalg.eigen.arpack.arpack.ArpackNoConvergence:
# ARPACK error -1: No convergence (xxx iterations, 0/1
# eigenvectors converged) [ARPACK error -14: ZNAUPD did not
# find any eigenvalues to sufficient accuracy.]
pt.skip("Test fails on Travis for unknown reason")
return
# Verify that the analytical solution of the ground state energy
# matches the numerical value from eigsh()
E0 = physics.cXY_E0(nr_sites, gamma)
H = physics.sparse_cH(physics.cXY_local_terms(nr_sites, gamma))
# Fix start vector for eigsh()
v0 = rgen.randn(ldim**nr_sites) + 1j * rgen.randn(ldim**nr_sites)
ev = eigsh(H, k=1, which='SR', v0=v0, return_eigenvectors=False).min()
assert abs(E0 - ev) <= 1e-13
评论列表
文章目录