Пример #1
0
        public void OuterProduct()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();
            Vector b = MatrixVectorData.ArrangeVectorC_4_Row();

            // Act
            Matrix result = Vector.OuterProduct(a, b);

            // Assert
            Assert.AreEqual(46.7, result.GetValue(0, 0));
            Assert.AreEqual(1000, result.GetValue(1, 0));
            Assert.AreEqual(-.044, result.GetValue(2, 0));
            Assert.AreEqual(200.1, result.GetValue(3, 0));
            Assert.AreEqual((-2.335).ToString(), result.GetValue(0, 1).ToString());
            Assert.AreEqual(-50, result.GetValue(1, 1));
            Assert.AreEqual(.0022, result.GetValue(2, 1));
            Assert.AreEqual(-10.005, result.GetValue(3, 1));
            Assert.AreEqual((3138.24).ToString(), result.GetValue(0, 2).ToString());
            Assert.AreEqual(67200, result.GetValue(1, 2));
            Assert.AreEqual(-2.9568, result.GetValue(2, 2));
            Assert.AreEqual(13446.72, result.GetValue(3, 2));
            Assert.AreEqual(186800, result.GetValue(0, 3));
            Assert.AreEqual(4000000, result.GetValue(1, 3));
            Assert.AreEqual(-176, result.GetValue(2, 3));
            Assert.AreEqual(800400, result.GetValue(3, 3));
        }
Пример #2
0
        public void MultiplyVectorNullVector2()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorC_4_Row();

            // Act
            Vector.Multiply(a, null);
        }
Пример #3
0
        public void PerformOperationNull()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorC_4_Row();

            // Act
            Vector.PerformOperation(null, a);
        }
Пример #4
0
        public void DotProductIncorrectAlignment()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Vector b = MatrixVectorData.ArrangeVectorC_4_Row();

            // Act
            Vector c = Matrix.DotProduct(a, b);
        }
Пример #5
0
        public void GetValue()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorC_4_Row();

            // Act
            double value = a.GetValue(2);

            // Assert
            Assert.AreEqual(67.2, value);
        }
Пример #6
0
        public void DotProduct()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();
            Vector b = MatrixVectorData.ArrangeVectorC_4_Row();

            // Act
            double result = a.DotProduct(b);

            // Assert
            Assert.AreEqual(800393.7432, result);
        }
Пример #7
0
        public void Copy()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorC_4_Row();

            // Act
            Vector b = a.Copy();

            // Assert
            Assert.AreEqual(1, b.GetValue(0));
            Assert.AreEqual(-.05, b.GetValue(1));
            Assert.AreEqual(67.2, b.GetValue(2));
            Assert.AreEqual(4000, b.GetValue(3));
        }
Пример #8
0
        public void SetRowVector()
        {
            // Arrange
            Matrix a = new Matrix(4, 4);
            Vector b = MatrixVectorData.ArrangeVectorC_4_Row();

            // Act
            a.SetRow(b, 1);

            // Assert
            Assert.AreEqual(1, a.GetValue(1, 0));
            Assert.AreEqual(-.05, a.GetValue(1, 1));
            Assert.AreEqual(67.2, a.GetValue(1, 2));
            Assert.AreEqual(4000, a.GetValue(1, 3));
        }
Пример #9
0
        public void DotProductTwo()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixB_4_4();
            Vector b = MatrixVectorData.ArrangeVectorC_4_Row();

            // Act
            Vector c = Matrix.DotProduct(b, a);

            // Assert
            Assert.AreEqual(36000379.0275, c.GetValue(0));
            Assert.AreEqual(48157.036, c.GetValue(1));
            Assert.AreEqual(double.NaN, c.GetValue(2));
            Assert.AreEqual(double.NegativeInfinity, c.GetValue(3));
        }
Пример #10
0
        public void MultiplyOperator()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();
            Vector b = MatrixVectorData.ArrangeVectorC_4_Row().Transpose();

            // Act
            Vector result = a.Multiply(b);

            // Assert
            Assert.AreEqual(46.7, result.GetValue(0));
            Assert.AreEqual(-50, result.GetValue(1));
            Assert.AreEqual(-2.9568, result.GetValue(2));
            Assert.AreEqual(800400, result.GetValue(3));
        }
Пример #11
0
        public void SubtractOperator()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();
            Vector b = MatrixVectorData.ArrangeVectorC_4_Row().Transpose();

            // Act
            Vector result = Vector.Subtract(a, b);

            // Assert
            Assert.AreEqual(45.7, result.GetValue(0));
            Assert.AreEqual((1000.05).ToString(), result.GetValue(1).ToString());
            Assert.AreEqual(-67.244, result.GetValue(2));
            Assert.AreEqual(-3799.9, result.GetValue(3));
        }