Я ищу самый быстрый алгоритм/пакет, который я мог бы использовать для вычисления нулевого пространства чрезвычайно большой (миллионы элементов, а не обязательно квадратной) матрицы. Любой язык будет в порядке, желательно что-то в Python/C/C++/Java. Ваша помощь будет принята с благодарностью!Вычисление нулевого пространства большой матрицы
ответ
Способ избежать перехвата кэшей CPU зависит от того, как хранится/загружается/передается матрица, точка, к которой вы не обращались.
Есть несколько общих рекомендаций:
разделения проблемы на рабочие потоки адресации смежных строк на нити
инкремент указатель (в C), чтобы пересекающие строки и держать счетчик на за -thread
консолидировать результаты каждой нити в конце всех рабочих потоков.
Если матричные элементы сделаны из битов (вместо байтов, Интс, или массивы), то вы можете прочитать words
(или 4 байта или 8 байт на 32-бит/64-битных платформ) для ускорить подсчет.
Слишком много вопросов осталось без ответа в описании проблемы, чтобы дать вам дополнительные указания.
В какой структуре данных представлена ваша матрица? Если вы используете список элементов для представления матрицы, т. Е. Кортеж «столбец, строка, значение» для одного матричного элемента, тогда решение будет просто подсчитывать количество кортежей (вычитается размером матрицы)
- 1. Вычисление нулевого пространства матрицы
- 2. Поиск нулевого пространства большой разреженной матрицы в MATLAB
- 3. Вычисление инверсии очень большой матрицы
- 4. Python (NumPy, SciPy), нахождение нулевого пространства матрицы
- 5. линейное вычисление на очень большой матрицы
- 6. Вычисление детерминанта матрицы матрицы
- 7. Результат Expand.grid слишком большой для рабочего пространства; итеративное вычисление?
- 8. нормальное отображение, вычисление матрицы TBN
- 9. Сложность (вычисление большой O)
- 10. Вычисление SVD прямоугольной матрицы
- 11. вычисление градиента 3D-матрицы
- 12. Вычисление матрицы младшего ранга
- 13. Вычисление матрицы гомографии
- 14. Вычисление обратной полиномиальной матрицы
- 15. Вычисление матрицы пути из матрицы смежности
- 16. Реструктуризация большой матрицы данных
- 17. Изменить форму большой матрицы
- 18. Создание большой ковариационной матрицы
- 19. Matlab инверсией большой матрицы
- 20. System.OutOfMemoryException. Создание большой матрицы
- 21. PHP - Большой Integer мод вычисление
- 22. Быстрое вычисление собственных векторов разреженной матрицы
- 23. Вычисление матрицы для позиционирования управления
- 24. Вычисление обратной матрицы в Matlab
- 25. Вычисление единичных векторов высокоразмерной матрицы
- 26. Панды: вычисление матрицы на значения
- 27. SQL запросов: вычисление матрицы сумм
- 28. Вычисление псевдоинверсии матрицы в C++
- 29. Быстрое вычисление матрицы в R
- 30. Вычисление матрицы «Шляпа» в R
Это ' решение ', похоже, путает пустое пространство матрицы с разрешающей способностью матрицы. –