Esempio n. 1
0
def mat_herm_dense():
    np.random.seed(1)
    u = qu.rand_uni(4)
    a = u @ qu.ldmul(np.array([-1, 2, 4, -3]), u.H)
    #  |--|--|--|--|--|--|--|
    # -3    -1        2     4
    return u, a
Esempio n. 2
0
    def test_eigh(self):
        H = qu.ham_mbl(6, dh=2.5)
        a_el, a_ev = qu.eigh(H, autoblock=False)
        el, ev = qu.eigh(H, autoblock=True)

        assert qu.norm(ev @ qu.ldmul(el, ev.H) - H, 'fro') < 1e-12
        assert_allclose(a_el, el)
        assert_allclose(ev.H @ ev, np.eye(H.shape[0]), atol=1e-12)
Esempio n. 3
0
 def test_evecs(self, ham1, which, k, sigma):
     lk, vk = seigsys_numpy(ham1,
                            k=k,
                            which=which,
                            return_vecs=True,
                            sigma=sigma,
                            sort=False)
     assert isinstance(vk, np.matrix)
     assert_allclose(dot(vk, ldmul(lk, vk.H)), ham1)
Esempio n. 4
0
def ham2():
    u = qu.rand_uni(7)
    el = np.array([-3.72, 0, 1, 1.1, 2.1, 2.2, 6.28])
    return u @ qu.ldmul(el, u.H)
Esempio n. 5
0
def ham1():
    u = qu.rand_uni(7)
    el = np.array([-3, 0, 1, 2, 3, 4, 7])
    return u @ qu.ldmul(el, u.H)
Esempio n. 6
0
def mat_nherm_sparse():
    np.random.seed(1)
    u, v = qu.rand_uni(5), qu.rand_uni(5)
    a = u @ qu.ldmul(np.array([1, 2, 4, 3, 0.1]), v.H)
    a = qu.sparse(a)
    return u, v, a
Esempio n. 7
0
def mat_herm_sparse():
    np.random.seed(1)
    u = qu.rand_uni(4)
    a = u @ qu.ldmul(np.array([-1, 2, 4, -3]), u.H)
    a = qu.sparse(a)
    return u, a
Esempio n. 8
0
def mat_nherm_sparse():
    np.random.seed(1)
    u, v = rand_uni(5), rand_uni(5)
    a = u @ ldmul(np.array([1, 2, 4, 3, 0.1]), v.H)
    a = qu(a, sparse=True)
    return u, v, a
Esempio n. 9
0
def mat_nherm_dense():
    np.random.seed(1)
    u, v = rand_uni(5), rand_uni(5)
    a = u @ ldmul(np.array([1, 2, 4, 3, 0.1]), v.H)
    return u, v, a
Esempio n. 10
0
def mat_herm_sparse():
    np.random.seed(1)
    u = rand_uni(4)
    a = u @ ldmul(np.array([-1, 2, 4, -3]), u.H)
    a = qu(a, sparse=True)
    return u, a
Esempio n. 11
0
def prematsparse():
    u = rand_uni(4)
    a = u @ ldmul(np.array([-1, 2, 4, -3]), u.H)
    a = qu(a, sparse=True)
    return u, a
Esempio n. 12
0
def ham1():
    evecs = rand_uni(5)
    evals = np.array([-5, -3, 0.1, 2, 4])
    return dot(evecs, ldmul(evals, evecs.H))
Esempio n. 13
0
 def test_evecs(self, ham1, which, k, sigma):
     lk, vk = eigs_numpy(ham1, k=k, which=which, return_vecs=True,
                         sigma=sigma, sort=False)
     assert isinstance(vk, qu.qarray)
     assert_allclose(qu.dot(vk, qu.ldmul(lk, vk.H)), ham1)