public static double[] ComputeAll() { Stan[] tableOfStans = CreateTableOfStans(); int numberOfColumns = tableOfStans.Length; FillTableOfStans(tableOfStans); double[,] tableForMatrix = new double[numberOfColumns, numberOfColumns]; double[] bVector = new double[numberOfColumns]; double[] resultVector = new double[3]; FillTableForMatrixAndBVectorWithZeros(tableForMatrix, bVector, numberOfColumns); FillTableForMatrixWithStans(tableOfStans, numberOfColumns, tableForMatrix, bVector); MyMatrix matrix = new MyMatrix(numberOfColumns, numberOfColumns); matrix.ComplementMatrix(tableForMatrix); matrix.WriteMatrixToFile(); WriteVectorToFile((double[])bVector.Clone()); var stopwatch = new Stopwatch(); stopwatch.Reset(); stopwatch.Start(); double[] gVector = matrix.GaussWithRowChoice((double[])bVector.Clone()); stopwatch.Stop(); gaussTime = stopwatch.Elapsed.TotalMilliseconds; resultVector[0] = gVector[0]; stopwatch.Reset(); stopwatch.Start(); double[] jVector = matrix.Jacobi((double[])bVector.Clone(), 100); stopwatch.Stop(); jacobiTime = stopwatch.Elapsed.TotalMilliseconds; resultVector[1] = jVector[0]; stopwatch.Reset(); stopwatch.Start(); double[] sVector = matrix.Seidel((double[])bVector.Clone(), 100); stopwatch.Stop(); resultVector[2] = sVector[0]; seidelTime = stopwatch.Elapsed.TotalMilliseconds; return(resultVector); }
public static double[] ComputeAll() { Stan[] tableOfStans = CreateTableOfStans(); int numberOfColumns = tableOfStans.Length; var stopwatch = new Stopwatch(); stopwatch.Reset(); stopwatch.Start(); FillTableOfStans(tableOfStans); double[,] tableForMatrix = new double[numberOfColumns, numberOfColumns]; double[] bVector = new double[numberOfColumns]; double[] resultVector = new double[3]; double[,] matrixPoints = new double[numberOfColumns * Stan.numberOfCubeWalls + numberOfColumns, 3]; double[,] vectorPoints = new double[numberOfColumns, 3]; FillTableForMatrixAndBVectorWithZeros(tableForMatrix, bVector, numberOfColumns); FillTableForMatrixWithStans(tableOfStans, numberOfColumns, tableForMatrix, bVector, matrixPoints, vectorPoints); MyMatrix matrix = new MyMatrix(numberOfColumns, numberOfColumns); matrix.ComplementMatrix(tableForMatrix); buildMatrixTime = stopwatch.Elapsed.TotalMilliseconds; matrix.WriteMatrixToFile(); WriteVectorToFile((double[])bVector.Clone()); MyMatrix.PrintVector(bVector); WriteVectorWithoutZero((double[])bVector.Clone()); stopwatch.Reset(); stopwatch.Start(); double[] sVector = matrix.Seidel((double[])bVector.Clone(), 100); stopwatch.Stop(); resultVector[2] = sVector[0]; seidelTime = stopwatch.Elapsed.TotalMilliseconds; return(resultVector); }