Exemplo n.º 1
0
        public void AddToUHouseholder(_nVector U, _nMatrix matrix, int i, int dim)  // Householder Matrices are correct and functioning
        {
            var uMatrix = U.MatrixTypeMultiplyWithMe();
            var resultafterUMatrixTimes2 = uMatrix.MultiplyByScalar(2);
            var identity = new nIdentityMatrix();
            var finalHouseholderMatrix = identity.ReturnNIdentityMatrix(i)
                                         .SubtractAnotherMatrix(resultafterUMatrixTimes2);
            var matrixToAdd = identity.ReturnNIdentityMatrix(dim);

            matrixToAdd.InsertSubMatrix(finalHouseholderMatrix, i);
            UHouseholderMatrices.Add(matrixToAdd);
            //var result = matrixToAdd.MultiplyByAnotherMatrix(matrix);
        }
Exemplo n.º 2
0
        public void AddToVHouseholder(_nVector V, _mnMatrix mnMatrix, int i, int dim)
        {
            var vMatrix = V.MatrixTypeMultiplyWithMe();
            var resultafterUMatrixTimes2 = vMatrix.MultiplyByScalar(2);
            var identity = new nIdentityMatrix();
            var finvlHouseholderMatrix = identity.ReturnNIdentityMatrix(i - 1)
                                         .SubtractAnotherMatrix(resultafterUMatrixTimes2);
            var matrixToAdd = identity.ReturnNIdentityMatrix(dim - 1);

            matrixToAdd.InsertSubMatrix(finvlHouseholderMatrix, i - 1);
            VHouseholderMatrices.Add(matrixToAdd);
            //var maybe = matrixToAdd.MultiplyByAnotherMatrix(matrixToAdd.ReturnTranspose(matrixToAdd));
            //var result = mnMatrix.MultiplyMeByNMatrix(matrixToAdd);
        }