Beispiel #1
0
        public void CanFactorizeIdentity(int order)
        {
            var matrixI  = UserDefinedMatrix.Identity(order);
            var factorQR = matrixI.QR();
            var r        = factorQR.R;

            Assert.AreEqual(matrixI.RowCount, r.RowCount);
            Assert.AreEqual(matrixI.ColumnCount, r.ColumnCount);

            for (var i = 0; i < r.RowCount; i++)
            {
                for (var j = 0; j < r.ColumnCount; j++)
                {
                    if (i == j)
                    {
                        Assert.AreEqual(-Complex32.One, r[i, j]);
                    }
                    else
                    {
                        Assert.AreEqual(Complex32.Zero, r[i, j]);
                    }
                }
            }
        }
Beispiel #2
0
        public void CanFactorizeIdentity([Values(1, 10, 100)] int order)
        {
            var matrixI  = UserDefinedMatrix.Identity(order);
            var factorQR = matrixI.QR();
            var r        = factorQR.R;

            Assert.AreEqual(matrixI.RowCount, r.RowCount);
            Assert.AreEqual(matrixI.ColumnCount, r.ColumnCount);

            for (var i = 0; i < r.RowCount; i++)
            {
                for (var j = 0; j < r.ColumnCount; j++)
                {
                    if (i == j)
                    {
                        Assert.AreEqual(-1.0, r[i, j]);
                    }
                    else
                    {
                        Assert.AreEqual(0.0, r[i, j]);
                    }
                }
            }
        }
 public void IdentityDeterminantIsOne(int order)
 {
     var matrixI = UserDefinedMatrix.Identity(order);
     var lu = matrixI.LU();
     Assert.AreEqual(Complex.One, lu.Determinant);
 }