using System; using Skeleton.Constants; namespace Skeleton.Test.tests; public static class MultiplicationTest { [Test] public static void Dim2MultiplicationTest() { C22 a = C22.One; Assert.IsTrue((a*a).IsEqualApprox(a)); C22 x = new(1, 2, 3, 4); Console.WriteLine((a * x).Representation); Assert.IsTrue((a*x).IsEqualApprox(x)); } [Test] public static void Dim3MultiplicationTest() { C33 a = C33.One; Assert.IsTrue((a * a).IsEqualApprox(a)); C33 x = new (1, 2, 3, 4, 5, 6, 7, 8, 9); Console.WriteLine((a * x).Representation); Assert.IsTrue((a * x).IsEqualApprox(x)); C33 w = new C33(1, 2, 1, 0, 1, 0, 1, 2, 2); C33 q = x * w; Console.WriteLine(q.Representation); Assert.IsTrue(q.IsEqualApprox(new C33(4, 10, 7, 10, 25, 16, 16, 40, 25))); Console.WriteLine(w.Det()); Console.WriteLine((w * w.Inv()).Representation); } [Test] public static void Dim3FatalTest() { C33 x = new C33( -0.06193827855776826 - 0.4250926599018542 * AlgebraConstant.I, 0.007091160225072862 - 0.015294575102947128 * AlgebraConstant.I, 0.003671134909589688 + 0.062258655745737884 * AlgebraConstant.I, 0, 0.05141624933009378 + 0.4547441198263111 * AlgebraConstant.I, -0.03444137818239487 + 0.048372053040504 * AlgebraConstant.I, 0, 0, -0.08950750917735827 - 0.42794917138051874 * AlgebraConstant.I ); C33 y = new C33(-0.7374752517963452, 0.2076562987916279 - 0.4172252733550336 * AlgebraConstant.I, -0.485038065510323 + 0.060582677721435385 * AlgebraConstant.I, -0.24835727407388974 - 0.44965209824283314 * AlgebraConstant.I, 0.08264445465163228 - 0.005898122053593788 * AlgebraConstant.I, 0.5041613222759088 + 0.6892663653138651 * AlgebraConstant.I, -0.432000004242065 - 0.0750859792716085 * AlgebraConstant.I, -0.5195103580182339 + 0.7113691215039636 * AlgebraConstant.I, -0.17823093191240846 - 0.0058981220535937766 * AlgebraConstant.I); C33 correct = new C33(0.040128390403216 + 0.2869338899984155 * AlgebraConstant.I, -0.23592151696374444 - 0.09346927406396768 * AlgebraConstant.I, 0.06962569868942127 + 0.1884924286446428 * AlgebraConstant.I, 0.21021778660958712 - 0.15436909690665243 * AlgebraConstant.I, -0.009586327958581496 - 0.012351495059150161 * AlgebraConstant.I, -0.2810939191691945 + 0.25628563140294075 * AlgebraConstant.I, 0.006534261732735796 + 0.1915948028305167 * AlgebraConstant.I, 0.3509299042313585 + 0.1586511490659945 * AlgebraConstant.I, 0.013428910328302401 + 0.07680170584013409 * AlgebraConstant.I); Assert.IsTrue((x* y).IsEqualApprox(correct)); } }