m3
This commit is contained in:
142
tests/REFFTest.cs
Normal file
142
tests/REFFTest.cs
Normal file
@@ -0,0 +1,142 @@
|
||||
using System;
|
||||
using System.Numerics;
|
||||
|
||||
namespace SkeletonTest.tests;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public static class REFFTest
|
||||
{
|
||||
|
||||
private static readonly Complex ii = new Complex(0, 1);
|
||||
|
||||
[Test]
|
||||
public static void M22RREFtest()
|
||||
{
|
||||
Assert.IsTrue(new R22(2, 3, 4, 5).RowReduce().ReducedForm.IsEqualApprox(R22.One));
|
||||
Assert.IsTrue(new R22(4, 8, 1, 2).RowReduce().ReducedForm.IsEqualApprox(new R22(1, 2, 0, 0)));
|
||||
Assert.IsTrue(new C22(2, 3, 4, 3 + 3 * ii).RowReduce().ReducedForm.IsEqualApprox(C22.One));
|
||||
Assert.IsTrue(new C22(1 + ii, 1, 2 + 2 * ii, 2).RowReduce().ReducedForm
|
||||
.IsEqualApprox(new C22(1, new Complex(0.5, -0.5), 0, 0)));
|
||||
}
|
||||
[Test]
|
||||
public static void M33RREFTest()
|
||||
{
|
||||
var s = new R33(
|
||||
2, 3, 4,
|
||||
0, 6, 7,
|
||||
8, 9, 0
|
||||
).RowReduce().ReducedForm.Representation;
|
||||
Assert.IsTrue(new R33(
|
||||
2, 3, 4,
|
||||
0, 6, 7,
|
||||
8, 9, 0
|
||||
).RowReduce().ReducedForm.IsEqualApprox(R33.One));
|
||||
Assert.IsTrue(R33.Zero.RowReduce().ReducedForm.IsEqualApprox(R33.Zero));
|
||||
Assert.IsTrue(new C33(
|
||||
0, 2 + ii, 2 + 2 * ii,
|
||||
3 + ii, 0, 3 + 3 * ii,
|
||||
4 + 2 * ii, 2 + 6 * ii, 0
|
||||
).RowReduce().ReducedForm.IsEqualApprox(C33.One)
|
||||
);
|
||||
Assert.IsTrue(new C33(
|
||||
0, 0, 2 + 2 * ii,
|
||||
3, 3 * ii, 1 + 2 * ii,
|
||||
6 + ii, 0, 0
|
||||
).RowReduce().ReducedForm.IsEqualApprox(C33.One)
|
||||
);
|
||||
Console.WriteLine(
|
||||
new C33(
|
||||
0, 0, 2 + 2 * ii,
|
||||
3, 3 * ii, 1 + 2 * ii,
|
||||
0, 0, 0
|
||||
).RowReduce().ReducedForm.Representation);
|
||||
Console.WriteLine(
|
||||
new C33(
|
||||
0, 0, 2 + 2 * ii,
|
||||
3, 3 * ii, 1 + 2 * ii,
|
||||
0, 0, 0
|
||||
).Representation
|
||||
);
|
||||
Assert.IsTrue(
|
||||
new C33(
|
||||
0, 0, 2 + 2 * ii,
|
||||
3, 3 * ii, 1 + 2 * ii,
|
||||
0, 0, 0
|
||||
).RowReduce().ReducedForm.IsEqualApprox(
|
||||
new C33(
|
||||
1, ii, 0,
|
||||
0, 0, 1,
|
||||
0, 0, 0
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
[Test]
|
||||
public static void M44RREFTest()
|
||||
{
|
||||
Assert.IsTrue(
|
||||
new R44(
|
||||
0, 1, 0, 1,
|
||||
0, 0, 1, 0,
|
||||
1, 0, 1, 0,
|
||||
1, 1, 1, 1
|
||||
).RowReduce().ReducedForm.IsEqualApprox(
|
||||
new R44(
|
||||
1, 0, 0, 0,
|
||||
0, 1, 0, 1,
|
||||
0, 0, 1, 0,
|
||||
0, 0, 0, 0
|
||||
)
|
||||
)
|
||||
);
|
||||
Assert.IsTrue(
|
||||
new R44(
|
||||
0, 1, 0, 1,
|
||||
1, 0, 1, 0,
|
||||
0, 0, 1, 1,
|
||||
1, 1, 0, 0
|
||||
).RowReduce().ReducedForm.IsEqualApprox(
|
||||
new R44(
|
||||
1, 0, 0, -1,
|
||||
0, 1, 0, 1,
|
||||
0, 0, 1, 1,
|
||||
0, 0, 0, 0
|
||||
)
|
||||
)
|
||||
);
|
||||
Assert.IsTrue(
|
||||
new R44(
|
||||
0, 1, 0, 1,
|
||||
1, 0, 1, 0,
|
||||
0, 0, 1, 1,
|
||||
1, 0, 1, 1
|
||||
).RowReduce().ReducedForm.IsEqualApprox(R44.One)
|
||||
);
|
||||
Assert.IsTrue(
|
||||
new C44(
|
||||
0, 1, 0, 1 + ii,
|
||||
1, 0, 1, 0,
|
||||
0, 0, 1, 1 + ii,
|
||||
1, 0, 1, 1
|
||||
).RowReduce().ReducedForm.IsEqualApprox(C44.One)
|
||||
);
|
||||
Assert.IsTrue(
|
||||
new C44(
|
||||
0, 1, 0, 1 + ii,
|
||||
1, 0, 1, 0,
|
||||
0, 0, 1, 1 + ii,
|
||||
1, 1, 0, 0
|
||||
).RowReduce().ReducedForm.IsEqualApprox(
|
||||
new C44(
|
||||
1, 0, 0, -1 - ii,
|
||||
0, 1, 0, 1 + ii,
|
||||
0, 0, 1, 1 + ii,
|
||||
0, 0, 0, 0
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user