예제 #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 GetValueNegativeIndex()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            a.GetValue(-1);
        }
예제 #3
0
        public void SubtractVectorNullVector2()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            Vector.Subtract(a, null);
        }
예제 #4
0
        public void OuterProductNullVector2()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            Vector.OuterProduct(a, null);
        }
예제 #5
0
        public void AddVectorNullVector()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            Vector.Add(null, a);
        }
예제 #6
0
        public void GetValueOutOfBounds()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            a.GetValue(5);
        }
예제 #7
0
        public void AddVectorUnevenVector()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorB_3_Column();
            Vector b = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            Vector.Add(a, b);
        }
예제 #8
0
        public void SubtractVectorUnevenVectors()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();
            Vector b = MatrixVectorData.ArrangeVectorB_3_Column();

            // Act
            Vector.Subtract(a, b);
        }
예제 #9
0
        public void OuterProductIncorrectAlignment()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();
            Vector b = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            Vector.OuterProduct(a, b);
        }
예제 #10
0
        public void MultiplyVectorUnevenVector()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorA_4_Column();
            Vector b = MatrixVectorData.ArrangeVectorB_3_Column();

            // Act
            Vector.Multiply(a, b);
        }
예제 #11
0
        public void DotProductUnevenVector()
        {
            // Arrange
            Vector a = MatrixVectorData.ArrangeVectorB_3_Column();
            Vector b = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            Vector.DotProduct(a, b);
        }
예제 #12
0
        public void DotProductTwoIncorrectAlignment()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Vector b = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            Vector c = Matrix.DotProduct(b, a);
        }
예제 #13
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);
        }
예제 #14
0
        public void SetColumnVector()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixA_4_4();
            Vector b = MatrixVectorData.ArrangeVectorA_4_Column();

            // Act
            a.SetColumn(b, 0);

            // Assert
            Assert.AreEqual(46.7, a.GetValue(0, 0));
            Assert.AreEqual(1000, a.GetValue(1, 0));
            Assert.AreEqual(-.044, a.GetValue(2, 0));
            Assert.AreEqual(200.1, a.GetValue(3, 0));
        }
예제 #15
0
        public void DotProduct()
        {
            // Arrange
            Matrix a = MatrixVectorData.ArrangeMatrixB_4_4();
            Vector b = MatrixVectorData.ArrangeVectorA_4_Column();

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

            // Assert
            Assert.AreEqual(double.NaN, c.GetValue(0));
            Assert.AreEqual(4625.139, c.GetValue(1));
            Assert.AreEqual(2620.19692, c.GetValue(2));
            Assert.AreEqual(433633.3838666, c.GetValue(3));
        }
예제 #16
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));
        }
예제 #17
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));
        }