コード例 #1
0
 def setUp(self):
     self.d = [2, 3]
     self.D = [2, 4, 3]
     
     self.l0 = sp.rand(self.D[0], self.D[0]) + 1.j * sp.rand(self.D[0], self.D[0])
     self.r1 = sp.rand(self.D[1], self.D[1]) + 1.j * sp.rand(self.D[1], self.D[1])
     self.r2 = sp.rand(self.D[2], self.D[2]) + 1.j * sp.rand(self.D[2], self.D[2])
     
     self.A1 = sp.rand(self.d[0], self.D[0], self.D[1]) + 1.j * sp.rand(self.d[0], self.D[0], self.D[1])
     self.A2 = sp.rand(self.d[1], self.D[1], self.D[2]) + 1.j * sp.rand(self.d[1], self.D[1], self.D[2])
     
     self.B1 = sp.rand(self.d[0], self.D[0], self.D[1]) + 1.j * sp.rand(self.d[0], self.D[0], self.D[1])
     self.B2 = sp.rand(self.d[1], self.D[1], self.D[2]) + 1.j * sp.rand(self.d[1], self.D[1], self.D[2])
     
     self.E1_AB = make_E_noop(self.A1, self.B1)
     self.E2_AB = make_E_noop(self.A2, self.B2)
     
     self.op1s_1 = sp.rand(self.d[0], self.d[0]) + 1.j * sp.rand(self.d[0], self.d[0])
     self.E1_op_AB = make_E_1s(self.A1, self.B1, self.op1s_1)
     
     self.op2s = sp.rand(self.d[0], self.d[1], self.d[0], self.d[1]) + 1.j * sp.rand(self.d[0], self.d[1], self.d[0], self.d[1])
     self.E12_op = make_E_2s(self.A1, self.A2, self.B1, self.B2, self.op2s)
     
     self.AA12 = tc.calc_AA(self.A1, self.A2)
     self.BB12 = tc.calc_AA(self.B1, self.B2)
     
     self.C_A12 = tc.calc_C_mat_op_AA(self.op2s, self.AA12)
     self.C_conj_B12 = tc.calc_C_conj_mat_op_AA(self.op2s, self.BB12)
コード例 #2
0
    def setUp(self):  #TODO: Test rectangular x as well
        self.d = [2, 3]
        self.D = [2, 4, 3]

        self.l0 = sp.rand(self.D[0],
                          self.D[0]) + 1.j * sp.rand(self.D[0], self.D[0])
        self.r1 = sp.rand(self.D[1],
                          self.D[1]) + 1.j * sp.rand(self.D[1], self.D[1])
        self.r2 = sp.rand(self.D[2],
                          self.D[2]) + 1.j * sp.rand(self.D[2], self.D[2])

        self.ld0 = mm.simple_diag_matrix(
            sp.rand(self.D[0]) + 1.j * sp.rand(self.D[0]))
        self.rd1 = mm.simple_diag_matrix(
            sp.rand(self.D[1]) + 1.j * sp.rand(self.D[1]))
        self.rd2 = mm.simple_diag_matrix(
            sp.rand(self.D[2]) + 1.j * sp.rand(self.D[2]))

        self.eye0 = mm.eyemat(self.D[0], dtype=sp.complex128)
        self.eye1 = mm.eyemat(self.D[1], dtype=sp.complex128)
        self.eye2 = mm.eyemat(self.D[2], dtype=sp.complex128)

        self.A0 = sp.rand(self.d[0], self.D[0], self.D[0]) + 1.j * sp.rand(
            self.d[0], self.D[0], self.D[0])
        self.A1 = sp.rand(self.d[0], self.D[0], self.D[1]) + 1.j * sp.rand(
            self.d[0], self.D[0], self.D[1])
        self.A2 = sp.rand(self.d[1], self.D[1], self.D[2]) + 1.j * sp.rand(
            self.d[1], self.D[1], self.D[2])
        self.A3 = sp.rand(self.d[1], self.D[2], self.D[2]) + 1.j * sp.rand(
            self.d[1], self.D[2], self.D[2])

        self.B1 = sp.rand(self.d[0], self.D[0], self.D[1]) + 1.j * sp.rand(
            self.d[0], self.D[0], self.D[1])
        self.B2 = sp.rand(self.d[1], self.D[1], self.D[2]) + 1.j * sp.rand(
            self.d[1], self.D[1], self.D[2])

        self.E1_AB = make_E_noop(self.A1, self.B1)
        self.E2_AB = make_E_noop(self.A2, self.B2)

        self.op1s_1 = sp.rand(self.d[0],
                              self.d[0]) + 1.j * sp.rand(self.d[0], self.d[0])
        self.E1_op_AB = make_E_1s(self.A1, self.B1, self.op1s_1)

        self.op2s = sp.rand(self.d[0], self.d[1],
                            self.d[0], self.d[1]) + 1.j * sp.rand(
                                self.d[0], self.d[1], self.d[0], self.d[1])
        self.E12_op = make_E_2s(self.A1, self.A2, self.B1, self.B2, self.op2s)

        self.AA12 = tc.calc_AA(self.A1, self.A2)
        self.BB12 = tc.calc_AA(self.B1, self.B2)

        self.C_A12 = tc.calc_C_mat_op_AA(self.op2s, self.AA12)
        self.C_conj_B12 = tc.calc_C_conj_mat_op_AA(self.op2s, self.BB12)

        self.C01 = sp.rand(self.d[0], self.d[0],
                           self.D[0], self.D[1]) + 1.j * sp.rand(
                               self.d[0], self.d[0], self.D[0], self.D[1])
コード例 #3
0
ファイル: tdvp_common_tests.py プロジェクト: amilsted/evoMPS
 def setUp(self): #TODO: Test rectangular x as well
     self.d = [2, 3]
     self.D = [2, 4, 3]
     
     self.l0 = sp.rand(self.D[0], self.D[0]) + 1.j * sp.rand(self.D[0], self.D[0])
     self.r1 = sp.rand(self.D[1], self.D[1]) + 1.j * sp.rand(self.D[1], self.D[1])
     self.r2 = sp.rand(self.D[2], self.D[2]) + 1.j * sp.rand(self.D[2], self.D[2])
     
     self.ld0 = mm.simple_diag_matrix(sp.rand(self.D[0]) + 1.j * sp.rand(self.D[0]))
     self.rd1 = mm.simple_diag_matrix(sp.rand(self.D[1]) + 1.j * sp.rand(self.D[1]))
     self.rd2 = mm.simple_diag_matrix(sp.rand(self.D[2]) + 1.j * sp.rand(self.D[2]))
     
     self.eye0 = mm.eyemat(self.D[0], dtype=sp.complex128)
     self.eye1 = mm.eyemat(self.D[1], dtype=sp.complex128)
     self.eye2 = mm.eyemat(self.D[2], dtype=sp.complex128)
     
     self.A0 = sp.rand(self.d[0], self.D[0], self.D[0]) + 1.j * sp.rand(self.d[0], self.D[0], self.D[0])
     self.A1 = sp.rand(self.d[0], self.D[0], self.D[1]) + 1.j * sp.rand(self.d[0], self.D[0], self.D[1])
     self.A2 = sp.rand(self.d[1], self.D[1], self.D[2]) + 1.j * sp.rand(self.d[1], self.D[1], self.D[2])
     self.A3 = sp.rand(self.d[1], self.D[2], self.D[2]) + 1.j * sp.rand(self.d[1], self.D[2], self.D[2])
     
     self.B1 = sp.rand(self.d[0], self.D[0], self.D[1]) + 1.j * sp.rand(self.d[0], self.D[0], self.D[1])
     self.B2 = sp.rand(self.d[1], self.D[1], self.D[2]) + 1.j * sp.rand(self.d[1], self.D[1], self.D[2])
     
     self.E1_AB = make_E_noop(self.A1, self.B1)
     self.E2_AB = make_E_noop(self.A2, self.B2)
     
     self.op1s_1 = sp.rand(self.d[0], self.d[0]) + 1.j * sp.rand(self.d[0], self.d[0])
     self.E1_op_AB = make_E_1s(self.A1, self.B1, self.op1s_1)
     
     self.op2s = sp.rand(self.d[0], self.d[1], self.d[0], self.d[1]) + 1.j * sp.rand(self.d[0], self.d[1], self.d[0], self.d[1])
     self.E12_op = make_E_2s(self.A1, self.A2, self.B1, self.B2, self.op2s)
     
     self.AA12 = tc.calc_AA(self.A1, self.A2)
     self.BB12 = tc.calc_AA(self.B1, self.B2)
     
     self.C_A12 = tc.calc_C_mat_op_AA(self.op2s, self.AA12)
     self.C_conj_B12 = tc.calc_C_conj_mat_op_AA(self.op2s, self.BB12)
     
     self.C01 = sp.rand(self.d[0], self.d[0], self.D[0], self.D[1]) + 1.j * sp.rand(self.d[0], self.d[0], self.D[0], self.D[1])
コード例 #4
0
    def setUp(self):
        self.d = [2, 3]
        self.D = [2, 4, 3]

        self.l0 = sp.rand(self.D[0],
                          self.D[0]) + 1.j * sp.rand(self.D[0], self.D[0])
        self.r1 = sp.rand(self.D[1],
                          self.D[1]) + 1.j * sp.rand(self.D[1], self.D[1])
        self.r2 = sp.rand(self.D[2],
                          self.D[2]) + 1.j * sp.rand(self.D[2], self.D[2])

        self.A1 = sp.rand(self.d[0], self.D[0], self.D[1]) + 1.j * sp.rand(
            self.d[0], self.D[0], self.D[1])
        self.A2 = sp.rand(self.d[1], self.D[1], self.D[2]) + 1.j * sp.rand(
            self.d[1], self.D[1], self.D[2])

        self.B1 = sp.rand(self.d[0], self.D[0], self.D[1]) + 1.j * sp.rand(
            self.d[0], self.D[0], self.D[1])
        self.B2 = sp.rand(self.d[1], self.D[1], self.D[2]) + 1.j * sp.rand(
            self.d[1], self.D[1], self.D[2])

        self.E1_AB = make_E_noop(self.A1, self.B1)
        self.E2_AB = make_E_noop(self.A2, self.B2)

        self.op1s_1 = sp.rand(self.d[0],
                              self.d[0]) + 1.j * sp.rand(self.d[0], self.d[0])
        self.E1_op_AB = make_E_1s(self.A1, self.B1, self.op1s_1)

        self.op2s = sp.rand(self.d[0], self.d[1],
                            self.d[0], self.d[1]) + 1.j * sp.rand(
                                self.d[0], self.d[1], self.d[0], self.d[1])
        self.E12_op = make_E_2s(self.A1, self.A2, self.B1, self.B2, self.op2s)

        self.AA12 = tc.calc_AA(self.A1, self.A2)
        self.BB12 = tc.calc_AA(self.B1, self.B2)

        self.C_A12 = tc.calc_C_mat_op_AA(self.op2s, self.AA12)
        self.C_conj_B12 = tc.calc_C_conj_mat_op_AA(self.op2s, self.BB12)