//Конструктор СЛАУ по расширенной матрице (добавлено для Задания 5)
        //Расширенная матрица и матрица коэффициентов сразу же приводятся к треугольному виду; получаем их ранги
        public SLAE(NumericMatrix extended_matrix_of_SLAE)
        {
            extended_matrix = extended_matrix_of_SLAE;
            n_equasions     = extended_matrix_of_SLAE.Height();
            n_x             = extended_matrix_of_SLAE.Width() - 1;

            matrix = new NumericMatrix(n_equasions, n_x);
            matrix = extended_matrix.GetArea(0, 0, n_x - 1, n_equasions - 1);

            extended_rank = NumericMatrix.GetRank(extended_matrix);
            rank          = NumericMatrix.GetRank(matrix);

            single_solution  = new List <double>();
            general_solution = new NumericMatrix(n_x, n_x + 1);
        }
        //Инициализация СЛАУ с клавиатуры
        //Расширенная матрица и матрица коэффициентов сразу же приводятся к треугольному виду; получаем их ранги
        public void ConsoleInput()
        {
            Console.WriteLine("Введите количество неизвестных:");
            n_x = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Введите количество уравнений:");
            n_equasions = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Заполните расширенную матрицу:");
            extended_matrix = new NumericMatrix(n_equasions, n_x + 1);
            extended_matrix.ConsoleInput();
            Console.WriteLine(extended_matrix.ToString());

            matrix = new NumericMatrix(n_equasions, n_x);
            matrix = extended_matrix.GetArea(0, 0, n_x - 1, n_equasions - 1);

            extended_rank = NumericMatrix.GetRank(extended_matrix);
            rank          = NumericMatrix.GetRank(matrix);

            single_solution  = new List <double>();
            general_solution = new NumericMatrix(n_x, n_x + 1);
        }