public void SolveTransposeTest()
{
double[,] a =
{
{ 2, 1, 4 },
{ 6, 2, 2 },
{ 0, 1, 6 },
};
double[,] b =
{
{ 1, 0, 7 },
{ 5, 2, 1 },
{ 1, 5, 2 },
};
double[,] expected =
{
{ 0.5062, 0.2813, 0.0875 },
{ 0.1375, 1.1875, -0.0750 },
{ 0.8063, -0.2188, 0.2875 },
};
var target = new QrDecomposition(b, true);
double[,] actual = target.SolveTranspose(a);
Assert.IsTrue(Matrix.IsEqual(expected, actual, 1e-3));
Assert.IsTrue(Matrix.IsEqual(b.Transpose(), target.Reverse(), 1e-6));
}
}