Участник:Nasty9705/Метод Крамера решения СЛАУ: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 38: Строка 38:


=== Вычислительное ядро алгоритма ===
=== Вычислительное ядро алгоритма ===
Если коротко, то алгоритм сводится к вычислению главного определителя матрицы <math>(Δ)</math>, а затем <math>N</math> дополнительных определителей <math>Δi</math>  (для матриц, полученных заменой<math>i</math>-того столбца на столбец свободных членов). После проделанных вычислений i-тый корень можно получить по формуле xi = Δi/Δ.
Если коротко, то алгоритм сводится к вычислению главного определителя матрицы <math>(Δ)</math>, а затем <math>N</math> дополнительных определителей <math>Δi</math>  (для матриц, полученных заменой<math>i</math>-того столбца на столбец свободных членов). После проделанных вычислений <math>i</math>-тый корень можно получить по формуле <math>xi = Δi/Δ</math>.


== Программная реализация алгоритма ==
== Программная реализация алгоритма ==
== Литература ==
== Литература ==
*[[Мальцев, Анатолий Иванович|''Мальцев А. И.'']] Основы линейной алгебры. — Изд. 3-е, перераб., М.: «Наука», 1970. — 400 c.
*[[Мальцев, Анатолий Иванович|''Мальцев А. И.'']] Основы линейной алгебры. — Изд. 3-е, перераб., М.: «Наука», 1970. — 400 c.

Версия от 07:15, 24 октября 2017

Свойства и структура алгоритма

Общее описание алгоритма

Метод Крамера (правило Крамера) — способ решения систем линейных алгебраических уравнений с числом уравнений равным числу неизвестных с ненулевым главным определителем матрицы коэффициентов системы (причём для таких уравнений решение существует и единственно).

Метод Крамера требует вычисления [math]\displaystyle{ n+1 }[/math] определителей размерности [math]\displaystyle{ n\times n }[/math]. При использовании метода Гаусса для вычисления определителей, метод имеет сложность по элементарным операциям сложения-умножения порядка [math]\displaystyle{ O(n^4) }[/math], что сложнее чем метод Гаусса при прямом решении системы. Поэтому метод, с точки зрения затрат времени на вычисления, считался непрактичным.

Математическое описание алгоритма

Для системы [math]\displaystyle{ n }[/math] линейных уравнений с [math]\displaystyle{ n }[/math] неизвестными (над произвольным полем)

[math]\displaystyle{ \begin{cases} a_{11}x_1 + a_{12}x_2 + \ldots + a_{1n}x_n = b_1\\ a_{21}x_1 + a_{22}x_2 + \ldots + a_{2n}x_n = b_2\\ \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots\cdots\\ a_{n1}x_1 + a_{n2}x_2 + \ldots + a_{nn}x_n = b_n\\ \end{cases} }[/math]

с определителем матрицы системы [math]\displaystyle{ \Delta }[/math], отличным от нуля, решение записывается в виде

[math]\displaystyle{ x_i=\frac{1}{\Delta}\begin{vmatrix} a_{11} & \ldots & a_{1,i-1} & b_1 & a_{1,i+1} & \ldots & a_{1n} \\ a_{21} & \ldots & a_{2,i-1} & b_2 & a_{2,i+1} & \ldots & a_{2n} \\ \ldots & \ldots & \ldots & \ldots & \ldots & \ldots & \ldots \\ a_{n-1,1} & \ldots & a_{n-1,i-1} & b_{n-1} & a_{n-1,i+1} & \ldots & a_{n-1,n} \\ a_{n1} & \ldots & a_{n,i-1} & b_n & a_{n,i+1} & \ldots & a_{nn} \\ \end{vmatrix} }[/math]

(i-ый столбец матрицы системы заменяется столбцом свободных членов).
В другой форме правило Крамера формулируется так: для любых коэффициентов c1, c2, …, cn справедливо равенство:

[math]\displaystyle{ (c_1x_1+c_2x_2+\dots+c_nx_n)\cdot\Delta = -\begin{vmatrix} a_{11} & a_{12} & \ldots & a_{1n} & b_1\\ a_{21} & a_{22} & \ldots & a_{2n} & b_2\\ \ldots & \ldots & \ldots & \ldots & \ldots\\ a_{n1} & a_{n2} & \ldots & a_{nn} & b_n\\ c_{1} & c_{2} & \ldots & c_{n} & 0\\ \end{vmatrix} }[/math]

В этой форме метод Крамера справедлив без предположения, что [math]\displaystyle{ \Delta }[/math] отличен от нуля, не нужно даже, чтобы коэффициенты системы были бы элементами целостного кольца (определитель системы может быть даже делителем нуля в кольце коэффициентов). Можно также считать, что либо наборы [math]\displaystyle{ b_1,b_2,...,b_n }[/math] и [math]\displaystyle{ x_1,x_2,...,x_n }[/math], либо набор [math]\displaystyle{ c_1,c_2,...,c_n }[/math] состоят не из элементов кольца коэффициентов системы, а какого-нибудь модуля над этим кольцом. В этом виде формула Крамера используется, например, при доказательстве формулы для определителя Грама и Леммы Накаямы.

Вычислительное ядро алгоритма

Если коротко, то алгоритм сводится к вычислению главного определителя матрицы [math]\displaystyle{ (Δ) }[/math], а затем [math]\displaystyle{ N }[/math] дополнительных определителей [math]\displaystyle{ Δi }[/math] (для матриц, полученных заменой[math]\displaystyle{ i }[/math]-того столбца на столбец свободных членов). После проделанных вычислений [math]\displaystyle{ i }[/math]-тый корень можно получить по формуле [math]\displaystyle{ xi = Δi/Δ }[/math].

Программная реализация алгоритма

Литература

  • Мальцев А. И. Основы линейной алгебры. — Изд. 3-е, перераб., М.: «Наука», 1970. — 400 c.