Пример #1
0
        public void Matrix_Sum_Test_1()
        {
            Matrix m   = Matrix_Test_Data.Is_Singular_Test_1();
            double sum = m.Sum;

            Assert.AreEqual(75, sum);
        }
Пример #2
0
        public void Matrix_Mod_Test()
        {
            Matrix m1 = Matrix_Test_Data.Is_Singular_Test_4();
            Matrix mb = Matrix_Test_Data.Is_Singular_Test_4();

            Matrix m = m1 % mb;

            Assert.AreEqual(322, m.GetValue(0, 0));
            Assert.AreEqual(318, m.GetValue(0, 1));
            Assert.AreEqual(234, m.GetValue(0, 2));
            Assert.AreEqual(375, m.GetValue(0, 3));
            Assert.AreEqual(390, m.GetValue(0, 4));
            Assert.AreEqual(133, m.GetValue(1, 0));
            Assert.AreEqual(192, m.GetValue(1, 1));
            Assert.AreEqual(45, m.GetValue(1, 2));
            Assert.AreEqual(123, m.GetValue(1, 3));
            Assert.AreEqual(75, m.GetValue(1, 4));
            Assert.AreEqual(187, m.GetValue(2, 0));
            Assert.AreEqual(300, m.GetValue(2, 1));
            Assert.AreEqual(207, m.GetValue(2, 2));
            Assert.AreEqual(339, m.GetValue(2, 3));
            Assert.AreEqual(345, m.GetValue(2, 4));
            Assert.AreEqual(135, m.GetValue(3, 0));
            Assert.AreEqual(196, m.GetValue(3, 1));
            Assert.AreEqual(51, m.GetValue(3, 2));
            Assert.AreEqual(257, m.GetValue(3, 3));
            Assert.AreEqual(85, m.GetValue(3, 4));
            Assert.AreEqual(155, m.GetValue(4, 0));
            Assert.AreEqual(236, m.GetValue(4, 1));
            Assert.AreEqual(111, m.GetValue(4, 2));
            Assert.AreEqual(1597, m.GetValue(4, 3));
            Assert.AreEqual(185, m.GetValue(4, 4));
        }
Пример #3
0
        public void Matrix_Multiplication_4()
        {
            Matrix m1 = Matrix_Test_Data.Get_Multiplication_Matrix4();
            Matrix m2 = Matrix_Test_Data.Get_Multiplication_Matrix3();

            Matrix m3 = Matrix.MultiplyMatrix(m2, m1);

            Assert.AreEqual(26, m3.GetValue(0, 0));
            Assert.AreEqual(24, m3.GetValue(0, 1));
            Assert.AreEqual(36, m3.GetValue(1, 0));
            Assert.AreEqual(34, m3.GetValue(1, 1));
        }
Пример #4
0
        public void Matrix_GetValue_1()
        {
            Matrix m1 = Matrix_Test_Data.Get_Uniform_Matrix_Test_Data(10, 10, 10);

            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    Assert.AreEqual(10, m1.GetValue(i, j));
                }
            }
        }
Пример #5
0
        public void Matrix_Transpose_2()
        {
            Matrix m1 = Matrix_Test_Data.Get_Multiplication_Matrix3();
            Matrix m2 = m1.Transpose();

            Assert.AreEqual(1, m2.GetValue(0, 0));
            Assert.AreEqual(2, m2.GetValue(0, 1));
            Assert.AreEqual(2, m2.GetValue(1, 0));
            Assert.AreEqual(3, m2.GetValue(1, 1));
            Assert.AreEqual(3, m2.GetValue(2, 0));
            Assert.AreEqual(4, m2.GetValue(2, 1));
            Assert.AreEqual(4, m2.GetValue(3, 0));
            Assert.AreEqual(5, m2.GetValue(3, 1));
        }
Пример #6
0
        public void Matrix_Transpose_1()
        {
            Matrix m1 = Matrix_Test_Data.Get_Multiplication_Matrix4();
            Matrix m2 = m1.Transpose();

            Assert.AreEqual(2, m2.GetValue(0, 0));
            Assert.AreEqual(3, m2.GetValue(0, 1));
            Assert.AreEqual(2, m2.GetValue(0, 2));
            Assert.AreEqual(3, m2.GetValue(0, 3));
            Assert.AreEqual(3, m2.GetValue(1, 0));
            Assert.AreEqual(2, m2.GetValue(1, 1));
            Assert.AreEqual(3, m2.GetValue(1, 2));
            Assert.AreEqual(2, m2.GetValue(1, 3));
        }
Пример #7
0
        public void Matrix_Test_Subtraction_1()
        {
            Matrix m1 = Matrix_Test_Data.Get_Uniform_Matrix_Test_Data(10, 10, 10);
            Matrix m2 = Matrix_Test_Data.Get_Uniform_Matrix_Test_Data(10, 10, 10);

            Matrix m3 = Matrix.Subtract(m1, m2);

            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    Assert.AreEqual(0, m3.GetValue(i, j));
                }
            }
        }
Пример #8
0
        public void Matrix_Test_Addition_2()
        {
            Matrix m1 = Matrix_Test_Data.Get_Interativly_Matrix_Test_Data(100, 100);
            Matrix m2 = Matrix_Test_Data.Get_Interativly_Matrix_Test_Data(100, 100);

            Matrix m3 = Matrix.Add(m1, m2);

            for (int i = 0; i < 100; i++)
            {
                for (int j = 0; j < 100; j++)
                {
                    Assert.AreEqual(((i + j) * 2), m3.GetValue(i, j));
                }
            }
        }
Пример #9
0
        public void Matrix_GetSetValue()
        {
            Random r = new Random();

            Matrix m1 = Matrix_Test_Data.Get_Uniform_Matrix_Test_Data(1000, 1000, 10);

            for (int i = 0; i < 1000; i++)
            {
                for (int j = 0; j < 1000; j++)
                {
                    int v = r.Next(300, 6000);
                    m1.SetValue(i, j, v);
                    Assert.AreEqual(v, m1.GetValue(i, j));
                }
            }
        }
Пример #10
0
        public void Matrix_CholeskiInverse_Test_1()
        {
            Matrix m  = Matrix_Test_Data.Get_Inverse_Matrix_1();
            Matrix m2 = m.CholeskiInverse();

            Assert.AreEqual(3.3333333333333339, m2.GetValue(0, 0));
            Assert.AreEqual(-1.6666666666666670, m2.GetValue(0, 1));
            Assert.AreEqual(0.66666666666666685, m2.GetValue(0, 2));

            Assert.AreEqual(-1.6666666666666670, m2.GetValue(1, 0));
            Assert.AreEqual(1.3333333333333335, m2.GetValue(1, 1));
            Assert.AreEqual(-0.33333333333333343, m2.GetValue(1, 2));

            Assert.AreEqual(0.66666666666666685, m2.GetValue(2, 0));
            Assert.AreEqual(-0.33333333333333343, m2.GetValue(2, 1));
            Assert.AreEqual(0.33333333333333343, m2.GetValue(2, 2));
        }
Пример #11
0
        public void Matrix_Multiplication_3()
        {
            Matrix m1 = Matrix_Test_Data.Get_Multiplication_Matrix1();
            Matrix m2 = Matrix_Test_Data.Get_Multiplication_Matrix2();

            Matrix m3 = Matrix.MultiplyMatrix(m1, m2);

            Assert.AreEqual(28, m3.GetValue(0, 0));
            Assert.AreEqual(30, m3.GetValue(0, 1));
            Assert.AreEqual(22, m3.GetValue(0, 2));
            Assert.AreEqual(39, m3.GetValue(1, 0));
            Assert.AreEqual(60, m3.GetValue(1, 1));
            Assert.AreEqual(51, m3.GetValue(1, 2));
            Assert.AreEqual(74, m3.GetValue(2, 0));
            Assert.AreEqual(72, m3.GetValue(2, 1));
            Assert.AreEqual(50, m3.GetValue(2, 2));
            Assert.AreEqual(17, m3.GetValue(3, 0));
            Assert.AreEqual(102, m3.GetValue(3, 1));
            Assert.AreEqual(107, m3.GetValue(3, 2));
        }
Пример #12
0
        public void Matrix_IsSingular_Test_3()
        {
            Matrix m = Matrix_Test_Data.Is_Singular_Test_3();

            Assert.AreEqual(true, m.IsSingular);
        }