From 1cb38b4c0f5c745aa7cea441d9a4ca68205912f9 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 9 Mar 2024 23:05:08 +0800 Subject: [PATCH] solovay_kitaev_decompose finished --- src/tensor/tensor.hpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/tensor/tensor.hpp b/src/tensor/tensor.hpp index cb8c21ca..77289bd4 100644 --- a/src/tensor/tensor.hpp +++ b/src/tensor/tensor.hpp @@ -573,7 +573,7 @@ bool Tensor
::create_gate_list(int length) { for (int j = 0; j < b; j++) { bool bit = bits[j]; - u = (bit)? u * base[1] : u * base[0]; + u = (bit)? tensor_multiply(u ,base[1]) : tensor_multiply(u ,base[0]); } gate_list.push_back(u); } @@ -894,9 +894,11 @@ double Tensor
::trace_distance(Tensor
& t1, Tensor
& t2) { // TODO Tensor
t1_t2 = t1 - t2; t1_t2.adjoint(); - t1_t2.sqrt(); + Tensor
t1_t2_sqrt = tensor_multiply(t1_t2, (t1 - t2)); + t1_t2_sqrt.sqrt(); + std::complex t(0.5,0); - return (0.5 * t1_t2.trace()).real(); + return (0.5 * t1_t2_sqrt.trace()).real(); } // tensor-dot two tensors