Страница: 1 |
> Обычно в качестве базиса принимается > решение системы при значениях x[r+1], x[r+2], ... , x[n] > равных (1;0;...;0), (0;1;...;0), ... , (0;0;...;1) Способ некорректен. Существуют системы, в которых сначала требуется произвести перестановку неизвестных, чтобы сработал ваш способ. А какую именно перестановку, неизвестно - задачка-то нетривиальная. Лучше и более обще, чем SVD в этом плане пока не придидумали. Страница: 1 |
Вопрос: Однородные системы уравнений
Добавлено: 01.06.04 18:09
Автор вопроса:
MARCUS | Web-сайт:
Люди, подскажите как написать программу для решения однородных систем линейных ур-ний. Напоминаю: система, где число уравнений НЕ равно числу неизвестных, а в правой части всех уравнений стоит ноль. При этом не факт, что все коэффициенты матрицы отличны от нуля! Подскажите хотя бы сайт, или библиотеку (например, из MatCAD) где есть этот алгоритм.
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа: Иван
Администратор
ICQ: 147688925
Вопросов: 24
Ответов: 708
Web-сайт:
Профиль | | #1
Добавлено: 01.06.04 19:05
Excel не смотрел?
Номер ответа: 2
Автор ответа: shadeofgray
Вопросов: 1
Ответов: 5
Профиль | | #2
Добавлено: 02.06.04 13:49
Есть алгоритм для поиска фундаментальной системы решений (т.е. общего решения, т.к. в данном случае решение не единственно - есть целый континуум решений).
После решения системы уравнений получаете частное решение (в вашем случае - ноль) и набор векторов (ненулевых), которые можно с различными коэффициентами добавить к частному решению, чтобы получить одно из общих решений.
адрес: http://alglib.manual.ru/linequations/svd.php
Как прочитаете абзац с описанием идеи алгоритма, увидите три ссылки: "исходник на С++", "исходник на Delphi", "исходник на VB6". Вам нужна третья, но перед тем, как скачивать исходник, посмотрите дальше, за ссылки. Там будут комментарии, в которых описываются параметры, принимаемые алгоритмом, и их значение.
Номер ответа: 3
Автор ответа: MARCUS
Вопросов: 24
Ответов: 13
Web-сайт:
Профиль | | #3
Добавлено: 02.06.04 21:31
Я скачал этот алгоритм SVD-разложения, но никак не могу по--человечески вызвать эту ф-цию. Я задаю массив 4Х4:
1 0 -2 0
1 4 -4 -1
1 2 0 -2
0 1 -1 0
Ошибка-деление на нуль. Помогите с ней разобраться, please!
Номер ответа: 4
Автор ответа: MARCUS
Вопросов: 24
Ответов: 13
Web-сайт:
Профиль | | #4
Добавлено: 03.06.04 11:52
Я скачал этот алгоритм SVD-разложения, но никак не могу по--человечески вызвать эту ф-цию. Я задаю массив 4Х4:
1 0 -2 0
1 4 -4 -1
1 2 0 -2
0 1 -1 0
Ошибка-деление на нуль. Помогите с ней разобраться, please!
Номер ответа: 5
Автор ответа: shadeofgray
Вопросов: 1
Ответов: 5
Профиль | | #5
Добавлено: 04.06.04 10:16
Задайте параметр Epsilon ненулевым малым числом (что-нить около 0.0001 или 0.000001). Также проверьте, чтобы нумерация элементов во входных данных начиналась не от 0, а от 1.
Номер ответа: 6
Автор ответа: shadeofgray
Вопросов: 1
Ответов: 5
Профиль | | #6
Добавлено: 04.06.04 13:49
Задайте параметр Epsilon ненулевым малым числом (что-нить около 0.0001 или 0.000001). Также проверьте, чтобы нумерация элементов во входных данных начиналась не от 0, а от 1.
Номер ответа: 7
Автор ответа: Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #7
Добавлено: 05.06.04 13:18
Ботайте линал!
Матрица системы однородных линейных уравнений совместна и имеет одно нулевое решение и n-r ненулевых линейно независимых, где n-число неизвестных, а r-ранг матрицы. Данные вектора решений образуют линейное многообразие, все вектора которого являются решениями системы. Линейное многообразие - совокупность векторов, являющихся линейной комбинацией векторо базиса. Обычно в качестве базиса принимается решение системы при значениях x[r+1], x[r+2], ... , x[n] равных (1;0;...;0), (0;1;...;0), ... , (0;0;...;1), значения x[1], ... , x[r] получают из решения полученной неоднородной системы.
Номер ответа: 8
Автор ответа: shadeofgray
Вопросов: 1
Ответов: 5
Профиль | | #8
Добавлено: 05.06.04 19:03