2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Матричный алгоритм решения целочисленной системы уравнений
Сообщение08.09.2007, 20:53 


24/09/06
26
Добрый день. Хотелось бы узнать про матричный алгоритм, который дает весьма простой способ решения целочисленной системы уравнений:
$$
\begin{cases}
a_{11}x_1+\ldots + a_{1m}x_m & = b_1 \\
\ldots & \\
a_{m1}x_1+\ldots + a_{mm}x_m & = b_m 
\end{cases}
$$
где все коэффициенты - целые числа.
Был бы весьма признателен за ответ!

 Профиль  
                  
 
 Re: Матричный алгоритм решения системы уравнений
Сообщение08.09.2007, 21:11 


08/09/07
125
Екатеринбург
Tuzembobel писал(а):
Добрый день. Хотелось бы узнать про матричный алгоритм, который дает весьма простой способ решения целочисленной системы уравнений:
$$
\begin{cases}
a_{11}x_1+\ldots + a_{1m}x_m & = b_1 \\
\ldots & \\
a_{m1}x_1+\ldots + a_{mm}x_m & = b_m 
\end{cases}
$$
где все коэффициенты - целые числа.
Был бы весьма признателен за ответ!

Я не думаю, что существует упрощенный алгоритм, использующий целочисленность коэффициентов. Поэтому, думаю, это обычный матричный метод, основанный на формуле
$
X=A^{-1}\cdot B
$

 Профиль  
                  
 
 
Сообщение08.09.2007, 22:06 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Ну или можно использовать формулу через отношение определителей (если $m$ не слишком велико). Определители будут целыми числами. Используя целочисленность коэффициентов, можно также без погрешностей исключать неизвестные последовательно, но это уже не матричный метод.

 Профиль  
                  
 
 
Сообщение08.09.2007, 22:15 
Заслуженный участник
Аватара пользователя


23/07/05
17976
Москва
Простейшее, что можно предложить - выписываете расширенную матрицу системы и целочисленными преобразованиями строк приводите её к ступенчатому виду. Своего рода, целочисленный вариант метода Гаусса. Наверняка это где-нибудь есть.

 Профиль  
                  
 
 Re: Матричный алгоритм решения системы уравнений
Сообщение12.09.2007, 08:50 
Заслуженный участник
Аватара пользователя


11/04/07
1352
Москва
Tuzembobel писал(а):
способ решения целочисленной системы уравнений


Вполне возможно, что этот алгоритм даже не матричный может быть востребован на практике. Скажем в алгоритмах видеокарт встречается обращение матриц. Требования к коэффициентам там не такие жесткие.

Существенное преимущество - отсутствие операций с плавающей точкой - заметное ускорение (можно при гауссовом прямом и обратном проходе использовать только операцию умножения). Правда число решаемых уравнений относительно невелико, так как мантисса целых чисел ограничена. Здесь может быть интересен алгоритм поиска общих делителей, который будет уменьшать множители.
Алгоритм также может быть интересен и при точных вычислениях, когда необходима полная уверенность в отсутствии округлений.

 Профиль  
                  
 
 Re: Матричный алгоритм решения целочисленной системы уравнений
Сообщение07.06.2010, 14:22 


04/06/10
1
Решение целочисленных систем линейных алгебраических уравнений с диагональным преобладанием можно найти по этой ссылке: Алгоритм Сергеева

 Профиль  
                  
 
 Re: Матричный алгоритм решения целочисленной системы уравнений
Сообщение14.06.2010, 11:43 
Заблокирован
Аватара пользователя


03/05/09

288
Gomel BY
Я бы посоветовал обратить внимание на систему остаточных классов - это когда числа отображаются остатками от деления - непозиционная система счисления.
При этом многие арифметические операции ускоряются, основные затраты на кодирование в позиционную и обратно, но в промежутках и этого не надо.
К сожалению, ссылки забыл, но могу найти, если это мне надо.
Кроме того, интересны приближения Паде - вроде разложения в цепную дробь, ссылки есть.

 Профиль  
                  
 
 Re: Матричный алгоритм решения целочисленной системы уравнений
Сообщение09.11.2010, 16:39 


08/11/10
20
есть несложные методы решения: обратной матрицы, метод Крамера и Гаусса

 Профиль  
                  
 
 Re: Матричный алгоритм решения целочисленной системы уравнений
Сообщение09.11.2010, 16:51 


20/12/09
1527
С точки зрения компьютера все числа целые. Поэтому нет никакого такого особого алгоритма.

 Профиль  
                  
 
 Re: Матричный алгоритм решения целочисленной системы уравнений
Сообщение09.11.2010, 18:36 
Заслуженный участник
Аватара пользователя


15/10/08
12514
Если чтоб поменьше делений было, так можно через первые $n-1$ степеней матрицы обратную выразить. Умножение да сложение сплошное, ну а в конце - на определитель поделить один раз.

 Профиль  
                  
 
 Re: Матричный алгоритм решения целочисленной системы уравнений
Сообщение09.01.2011, 11:12 


26/01/10
959
Если тема еще актуальна.

Существует быстрый алгоритм решения целочисленной системы, описанный в статье

Dixon J. D. Exact solution of linear equations using P-adic expansions.
Журнал Numer. Math., 40, 1982 г. с 137-141.

Я этот алгоритм реализовывал с использованием GMP и обнаружил, что он действительно быстрый. Даже если числа, входящие в матрицу, имеют длину в несколько тысяч знаков. По крайней мере, решение моих задач он ускорил значительно. Этот же алгоритм используется в Maple.

 Профиль  
                  
 
 Re: Матричный алгоритм решения целочисленной системы уравнений
Сообщение01.04.2011, 17:42 


26/01/10
959
Zealint в сообщении #397098 писал(а):

Существует быстрый алгоритм решения целочисленной системы, описанный в статье

Dixon J. D. Exact solution of linear equations using P-adic expansions.
Журнал Numer. Math., 40, 1982 г. с 137-141.


Популярное описание этого метода с примером можно прочитать здесь.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group