|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.06.2011, 11:22 | #1 |
Форумчанин
Регистрация: 14.01.2009
Сообщений: 312
|
рекурсия и хранение информации
Добрый день
Задача такая... Есть матрица большой размерности, нужно найти обратную ей матрицу рекурсивным методом...суть в том что основная матрица разделяется на составные части и для части А11 нужно опять таки найти обратную матрицу, чтобы вычислить основную..поскольку А11 будет опять таки матрица большой размерности, она также поделиться и также для 11 элемента нужно найти обратную матрицу..когда элемент 11 станет размерностью 2 на 2, можно применить обычный метод нахождения, через детерминант. Вопрос в том, как и где хранить все эти матрицы\подматрицы. Причем нужна еще и организация рекурсии.. Если не понятно про деление матрицы на подматрицы то вот пример Матрица А А11 А12 А21 А22 Матрица А11 А1111 А1112 А1121 А1122 Вот как примерно я это вижу.. size размер исходной матрицы, в этом коде всегда перезаписываются матрицы A11 A12 A21 A22, описанные до этих функций, как стат массивы. естественно мне не нужно, чтобы они перезаписывались,а возвращаясь с рекурсией в место вызова..были бы сохранены те данные что посылались и плюс вычислена обратная матрица.. Код:
Никому не поставить нас на колени! Мы лежали и будем лежать!
|
26.06.2011, 13:03 | #2 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
может все таки Гауссом обратную сделать?
потому что описание "рекурсивного метота" мягко говоря не понятно. |
26.06.2011, 13:03 | #3 |
Форумчанин
Регистрация: 15.12.2010
Сообщений: 398
|
Стек наверное лучший выход. Если тебе правильно понял... Ну или сам досмысли. Стек это какой нить стандратные классик возьми
Рукурсия () { ложим на стек; Рекурсия() Метод() } Метод() { подымаем со стека() делаем Что то. ложим обратно } |
26.06.2011, 15:09 | #4 |
Форумчанин
Регистрация: 14.01.2009
Сообщений: 312
|
этот метод мне нужен из за того, что он быстрее гаусса..задание такое..реализовать асимптотически более быстрый алгоритм.
Насчет стека подумаю..пока не понятно..как его использовать..сомнительный вариант.. А если я не понятно описала задачу, прошу сказать где конкретно, попробую рассказать лучше
Никому не поставить нас на колени! Мы лежали и будем лежать!
|
26.06.2011, 16:00 | #5 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Если не трудно, дайте блочно алгоритм, который пытаетесь реализовать, некий псевдокод. Чтобы иметь представление в целом. Последний раз я наталкивался на обсуждение обратных матриц на RSDN, но не вникал.
Последний раз редактировалось EUGY; 26.06.2011 в 16:07. |
26.06.2011, 18:12 | #6 |
Форумчанин
Регистрация: 14.01.2009
Сообщений: 312
|
вот так сказать основная формула:
image079.gif для вычисления основная Функция() { Выделение блоков основной матрицы А для дальнейших расчетов А11 А12 А21 А22- получим подматрицы размерностью вдвое меньше чем А; По тому же алгоритму, что будет построен найдем обратную матрицу для А11, необходимую для расчетов, т.е рекурсия к основная Функция; Вычисляем произведения и суммы необходимые для расчетов } Т.е данный алгоритм содержит произведение матриц, сложение вычитание, нахождение рекурсивно обратной матрицы для элемента А11, поскольку А11 будет также матрицей большой размерности, она опять же поделится на подматрицы и для элемента А11 11 надо будет найти еще обратную матрицу. обратная матрица считается таким алгоритмом пока размерность не упадет до 2 на 2. там уже можно обычный алгоритм использовать.. Как будет хранится все это множество матриц..по идее здесь роль играть должны..А А11 А12 А21 А22 и А11-1, с каждым рекурсивным вызовом их размерность будет уменьшатся вдвое..и они будут иметь другие значения..
Никому не поставить нас на колени! Мы лежали и будем лежать!
|
26.06.2011, 21:13 | #7 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
и эта мурзилка быстрее Гаусса в общем случае??? не верю.
если честно, то если б мне пришлось закодить такое для общего случая, то у меня мозги поплавились бы. сори за оффтоп. |
27.06.2011, 19:32 | #8 |
C++,DirectX/OpenGL
Форумчанин
Регистрация: 09.01.2011
Сообщений: 422
|
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хранение информации в памяти | Claster | Помощь студентам | 0 | 21.03.2011 17:54 |
Хранение информации | xStill | JavaScript, Ajax | 7 | 29.11.2010 12:01 |
ФЗ «Об информации, информационных технологиях и о защите информации» | Virtson | Свободное общение | 2 | 08.07.2010 18:13 |
Хранение текстовой информации | diliana | Софт | 11 | 23.12.2009 13:24 |
ввод информации с клавиутуры в двумерный масив, запись информации с масива в файл | x_omega_x | Помощь студентам | 1 | 29.12.2008 02:30 |