Research log 11/23 Develop the program to get the NAC for a given point in SU(N). However, it's something wrong since the output has an imaginary number that contradicts the definition of NAC. I think the function defined in the "scipy.linalg" might be the reason. 11/24 Debug. * in python doesn't mean the dot product in the matrix. Also, the function in "scipy.linalg" is right. Yet, it implies that I have no idea what's going on. 11/25 Finish the program for getting the NAC for a given point in SU(N). I have fixed the problem. The reason is as follows: I misunderstand where the tangent vector lives and so the way of using proposition 1 is wrong. Now, I might want a program to help me transfer a circuit into a point in SU(N) Tomorrow, I will try to prepare the example in papers. 11/26 Break 11/27 Prepare the circuit in "Quantum Simulation of Preferred Tautomeric State Prediction" and simplify the code. 11/28 Today, I find some limits to my origin code. My computer cannot conduct the n=8 case which means that I cannot get the NAU I want. Yet, I still get some interesting results about the Toffoli gate and control gates 1. Roughly, mapping them into their su-like matrix by global phase seems like no effect on its NAU absolute value. 2. In the Toffoli gate, I also try to replace a 1 by -1 and its NAU: IIY:0.393 IZY:-0.393 ZIY:-0.393 ZZY:0.393 with total abs: 2.0 ( 1.571 ) At the same time, su-toffoli has NAU: IIX:-0.393 IZI:-0.393 IZX:0.393 ZII:-0.393 ZIX:0.393 ZZI:0.393 ZZX:-0.393 with total abs: 3.0 ( 2.74925 ) 3. In Quantum Computation and Quantum Information, Nielsen, Exercise 4.27 circuit has NAU: IIY:0.7755 IXY:-0.402 IYI:-0.4305 IYX:0.632 IYZ:0.1435 IZY:-0.2585 XIY:-0.0865 XXY:-0.287 XYI:0.0285 XYX:-0.23 XYZ:0.2585 XZY:-0.1435 YII:-0.345 YIX:0.3735 YIZ:0.115 YXI:-0.5455 YXX:0.517 YXZ:0.2585 YZI:0.115 YZX:-0.1435 YZZ:0.115 ZIY:-0.2585 ZXY:-0.115 ZYI:0.1435 ZYX:-0.115 ZYZ:0.1435 ZZY:-0.2585 with total abs: 8.0 ( 7.238000000000002 ) 11/29 By rewriting the code to generate the general Pauli matrix, it can run an 8-qubits case now. 12/3 To implement the geodesic, I create the INAC to transfer the coordinate in $R^n$ to $su(2^n)$. Also, there is a problem that occurs when I try to use the 3-qubits geodesic equation. The problem is the order of generalized Pauli that the NAC program generates is not 1-body, 2-body, and so on. It means that it will cost a lot to give a penalty for it. 12/4 Finish the iterator that can generate the generalized Pauli with the order I want. Also, It improves the NAC program efficiency and reduces memory occupation. 12/5 It's something strange when I try to implement the 3-qubits geodesic formula. Luckily, I come up with a solution to using a finite vector tracking the geodesic. Also, "**fundamental region**" might be good thinking to limit conjugate points. 12/7 Today, I am trying to implement the path-tracking algorithm. But I'm not sure why I can not do it with scipy. 12/8 Just like yesterday, it's still not working properly. Also, another python scipy doesn't work, either. 12/9 If we partition a line into several segments and choose the right endpoints in those segments, we will get the step's target to choose the suitable vector from the generating vectors. I will try this idea tomorrow. 12/10 It works! But not stable. 12/11 Back to exercise 4.27, I use it to demonstrate if we combine the geodesic and distance defined by Finsler metric. However, it's not working. 12/12 Analyze the relationship between geodesics and penalties and fixing the problem that I faced yesterday. Since the Path tracking algorithm may not be reliable, I can only get close to the target I desire to synthesize. 12/13-16 Verify how they reduced the qubit usage. The reason is given as follow: 1.Pauli exclusion limits the probability. 2. Use singlet to reduce further 12/17-26 Survey and Read 12/28 The path tracking method will all be a failure, since the binary operators are totally different. In $R^2$ is addition and in $SU (N)$ is the multiplication. So, it's necessary to focus on matrix multiplication in $R^2$ problem.