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); }
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); }