def generate_qstate(qid_C, qid_S): a = np.random.rand() + np.random.rand() * 1.j b = np.random.rand() + np.random.rand() * 1.j print("== quantum state (a |0L> + b |1L>) ==") print("- a = {:.4f}".format(a)) print("- b = {:.4f}".format(b)) qvec = np.full(2**len(qid_C), 0. + 0.j) for s in Steane_0: qvec[int(s, 2)] = a for s in Steane_1: qvec[int(s, 2)] = b norm = np.linalg.norm(qvec) qvec = qvec / norm qs_C = QState(vector=qvec) qs_S = QState(len(qid_S)) qs = qs_C.tenspro(qs_S) de_ini = DensOp(qstate=[qs]) de_fin = de_ini.clone() QState.free_all(qs_C, qs_S, qs) return de_ini, de_fin
def create_densop(): de_ini = DensOp(qubit_num=9).h(0) de_fin = de_ini.clone() return de_ini, de_fin