//-----------------------------------------------------------------------------------------------
        //Приведение значений матрицы к интервалу
        public static RealMatrix TransformMatrixValuesToFinishIntervalValues(
            RealMatrix matrix, Interval <double> finishInterval
            )
        {
            double minValue = matrix.GetMinValue();
            double maxValue = matrix.GetMaxValue();

            Interval <double>     startInterval     = new Interval <double>(minValue, maxValue);
            RealIntervalTransform intervalTransform =
                new RealIntervalTransform(startInterval, finishInterval);

            int        rowCount          = matrix.RowCount;
            int        columnCount       = matrix.ColumnCount;
            RealMatrix transformedMatrix = new RealMatrix(rowCount, columnCount);

            for (int row = 0; row < rowCount; row++)
            {
                for (int column = 0; column < columnCount; column++)
                {
                    double value            = matrix[row, column];
                    double transformedValue =
                        intervalTransform.TransformToFinishIntervalValue(value);
                    transformedMatrix[row, column] = transformedValue;
                }
            }
            return(transformedMatrix);
        }