Алгоритми великих малих цілих матриць


12

Я шукаю бібліотеку, яка виконує операції з матрицею на великих розріджених матрицях без шкоди для чисельної стабільності. Матриці будуть 1000+ на 1000+, а значення матриці будуть від 0 до 1000. Я буду виконувати алгоритм обчислення індексу, тому буду генерувати (розріджені) рядкові вектори матриці послідовно. Коли я розробляю кожен ряд, мені потрібно буде перевірити лінійну незалежність. Після того, як я заповняю свою матрицю потрібною кількістю лінійно незалежних векторів, мені потрібно буде перетворити матрицю на форму ешелону скорочених рядків.

Проблема зараз полягає в тому, що моя реалізація використовує усунення Гаусса для визначення лінійної незалежності (забезпечення форми ешелону рядків після того, як будуть знайдені всі мої ряди векторів). Однак, зважаючи на щільність і розмір матриці, це означає, що записи в кожному новому рядку з часом стають експоненціально більшими, оскільки для відміни необхідно знайти lcm провідних записів. Пошук зменшеної форми матриці ще більше посилює проблему.

Отже, моє запитання полягає в тому, чи існує алгоритм, а ще краще реалізація, який може перевірити лінійну незалежність і вирішити форму ешелону скорочених рядків, зберігаючи записи як можна меншими? Ефективний тест на лінійну незалежність особливо важливий, оскільки в алгоритмі обчислення індексу він виконується далеко не найбільше.

Відповіді:


5

Ви можете працювати за модулем декількох великих праймерів, щоб отримати результати за модулем цих праймерів, а потім перевірити, чи є раціоналісти з достатньою кількістю цифр, що задовольняють цим конгруентностям. Якщо так, ви можете перевірити за допомогою матричного вектора множення, чи знайдене наближення є точним. Це можна перетворити на точний алгоритм рішення.

Однак якщо детермінант матриці має розмір порядку (цілком можливо для вашого сценарію), ви загалом не знайдете рішення, компонентам якого потрібно менше кількох тисяч цифр.101000

пов'язані посилання:
http://cs.ucsb.edu/~koc/docs/j21.pdf
http://dl.acm.org/citation.cfm?id=355767
http://dl.acm.org/citation. cfm? id = 355765

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.