m3
This commit is contained in:
39
tests/CayleySU4Test.cs
Normal file
39
tests/CayleySU4Test.cs
Normal 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()}");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user