Fix: Unitary Decomposition -> Conj inplace not handled correct

This commit is contained in:
h z
2024-12-15 01:21:59 +00:00
parent d890865c26
commit 8d378c0fbf
8 changed files with 147 additions and 10 deletions

View File

@@ -32,6 +32,9 @@ public class EigenDecompositionTest : BaseTest
{
U2 unitaryData = new U2(data);
Console.WriteLine(data.Representation);
Console.WriteLine(unitaryData.Representation);
Console.WriteLine(unitaryData.Hermitian().Representation);
Console.WriteLine((unitaryData * unitaryData.Hermitian()).Representation);
Assert.IsTrue((unitaryData * unitaryData.Hermitian()).IsEqualApprox(U2.One));
Assert.IsTrue(unitaryData.Det().Magnitude.IsEqualApprox(1));
JDPair<C22> decomp = unitaryData.EigenDecomposition();
@@ -86,6 +89,9 @@ public class EigenDecompositionTest : BaseTest
0.8666666666666667 - 0.8666666666666667 * I, -0.4 + 0.46666666666666656 * I,
-0.8666666666666667 - 0.6 * I, 0.6666666666666667
);
Console.WriteLine(m.PythonRepresentation);
Assert.IsTrue((m * m.Hermitian()).IsEqualApprox(C22.One));
}
}