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)
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])
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])
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)