Skip to content

GoLang Решение системы линейных уравнений методом Гаусса

License

Notifications You must be signed in to change notification settings

ataklychev/gauss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Решение системы линейных уравнений методом Гаусса ( на GoLang )

Метод Гаусса для решения системы линейных уравнений состоит в приведении матрицы А посредством эквивалентных преобразований к треугольному виду и последующему поиску решений для вновь полученной матрицы. Краткая схема метода Гаусса состоит в следующем.

Алгоритм прямого хода.
  1. Движение по главной диагонали матрицы А.
 В цикле по переменной I от 1 до N выполняются Шаг 2 - Шаг 8.
  2. Выбор главного элемента. Полагается R:=A[I, I]. Если R=0, то реализуется процедура поиска главного элемента.
  3. Преобразование текущей строки матрицы путем деления всех значений ее элементов на главный элемент. В цикле по переменной J от I до N выполняются вычисления
A[I, J]:= A[I, J] / R.
  4. Преобразование правой части системы - вектора b.
b[I]:= b[I] / R.
  5. Вычитание текущей строки из всех ниже расположенных строк с занулением I - ого элемента в каждой из них. В цикле по K от I + 1 до N выполняются Шаг 6 - Шаг 8.
  6. Полагается R:= A[K, I].
  7. Вычитание из очередной строки текущей строки. В цикле по J от I до N делаем A[K, J]:= A[K, J] - A[I, J]* R.
  8. Корректировка правой части системы - вектора b.
b[K]:= b[K] - b[I]*R.
Алгоритм обратного хода.
  1. Поиск, начиная с последнего, всех неизвестных системы - элементов вектора x. В цикле по переменной I от N до 1 выполняются Шаг 2 - Шаг 3.
  2. Задается начальное значение элемента x[I].
x[I]:= b[I] .
  3. Корректируется искомое значение x[I]. В цикле по J от I+1 до N (в случае, когда I=N, этот шаг не выполняется) производятся вычисления x[I]:= x[I] - x[J]* A[I, J].
Примеры
go build ./main.go && ./main -a="[[3,-9,3],[2,-4,4],[1,8,-18]]" -b="[-18,-10,35]"

Ответ: 1, 2, -1

About

GoLang Решение системы линейных уравнений методом Гаусса

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages