This commit is contained in:
h z
2024-06-21 21:59:13 +08:00
commit 614bc59897
28 changed files with 2049 additions and 0 deletions

39
tests/CayleySU4Test.cs Normal file
View File

@@ -0,0 +1,39 @@
using System;
using System.Linq;
using System.Numerics;
using Skeleton.Algebra.Extensions;
using Skeleton.Samples;
using Skeleton.Utils;
namespace SkeletonTest.tests;
public static class CayleySU4Test
{
[DatapointSource]
private static readonly LieSU4[] Data = 40.ScaleSamples(-1, 1).LieSU4LogSU4Samples().ToArray();
private static Action<LieSU4> OnFail = x => Console.WriteLine(x.CSharpRepresentation);
[Theory]
public static void TestCayleyForLieSU4(LieSU4 data)
{
Action<LieSU4> rawTest = x =>
{
U4 cN = x.CayleyNegative();
Assert.IsTrue((cN * cN.Hermitian()).IsEqualApprox(C44.One));
};
rawTest.OnFail(OnFail)(data);
}
[Theory]
public static void TestCayleyUnitary(LieSU4 data)
{
U4 cN = data.CayleyNegative();
U4 cP = data.CayleyPositive();
var udN = cN.EigenDecomposition();
var udP = cP.EigenDecomposition();
//Console.WriteLine((cN - cP.Conj()).PythonRepresentation);
Assert.IsTrue(cN.Det().IsEqualApprox(Complex.Conjugate(cP.Det())));
Console.WriteLine($"{cN.Det()} =x= {cP.Det()}");
Console.WriteLine($"{udN.J.Det()} =x= {udP.J.Det()}");
}
}