QuESTlink icon indicating copy to clipboard operation
QuESTlink copied to clipboard

CalcQuregDerivs invalid on density-matrices

Open TysonRayJones opened this issue 5 years ago • 1 comments

For state-vectors, CalcQuregDerivs computes

d/dx ( U(x) U(y) |z> )  = dU(x)/dx U(y) |z>

For density-matrices, it makes sense that this function should perform

d/dx ( U(x) U(y) |z><z| U(y)^ U(x)^ ) 

= dU(x)/dx U(y) |z><z| U(y)^ U(x)^ + U(x) U(y) |z><z| U(y)^ dU(x)^/dx

However, currently this function will effect on density-matrices

U(x) U(y) |z><z| U(y)^ U(x)^   ->    c dU(x)dx U(y) |z><z| U(y)^ (dU(x)/dx)^

where c is an incorrect normalisation.

  • In the meantime, disable CalcQuregDerivs for density matrices.
  • Update CalcQuregDerivs to calculate the correct derivatives of the channel.

TysonRayJones avatar Jan 10 '20 09:01 TysonRayJones

CalcQuregDerivs disabled on density matrices in 5bcdae2d39f99ee813010b550c03b8c7d16288c3

TysonRayJones avatar Mar 02 '20 22:03 TysonRayJones