I am unable to use np.linalg.norm() or np.angle() function to normalize the complex state vector coefficients. Is there any other way to solve it?
Hi @Tejas_Limaye, welcome to the forum!
You can in fact use
np.linalg.norm(). Remember though that this function gives you the norm of a vector, but it doesn’t normalize it. For example: the norm of the vector [2,0] is 2 so
np.linalg.norm() will return the integer 2. The question instead asks you to return the normalized vector, so in this example you should return [1,0].
Please let me know if this helps you!
Great question @Tejas_Limaye!
Note that we get a normalized quantum state when a’^2+b’^2 = 1. Here we’re normalizing the quantum state [a’,b’]. Notice that this is not the same as saying a’^2 = 1 and b’^2 = 1. In fact, if this happens we would get a’^2+b’^2 = 2.
Let’s test your code with some random example.
Let’s say that alpha = 0.2 and beta = 2.
a1 = 0.2 and a2 = 2.
Now, ans1 = 0.2/0.2 = 1 and ans2 = 2/2=1.
So in fact ans1^2 + ans2^2 = 2
I hope this helps you understand your error and find the correct solution!
That helps a lot, thanks Catalina