Каковы различия между различным повышением ublas редкие векторы?

В boost::numeric::ublas, существует три редких типов векторов.

Я вижу что mapped_vector по существу stl::map от индекса до значения, которое полагает, что все незнакомые значения 0 (или независимо от того, что общая ценность).

Но документация редка (ха ха) на информации о compressed_vector и coordinate_vector.

Может кто-либо для разъяснения? Я пытаюсь выяснить алгоритмическую сложность добавляющих объектов к различным векторам, и также скалярных произведений между двумя такими векторами.

Очень полезный ответ предложил это, compressed_vector очень похож на compressed_matrix. Но кажется, что, например, сжатое устройство хранения данных строки только для хранения матриц - не просто векторы.

Я вижу это unbounded_array тип хранения, но я не совсем уверен, что спецификация для этого, также. Если я создаю compressed_vector с размером 200,000,000, но только с 5 ненулевыми местами, действительно ли это менее эффективно всегда, чем создание compressed_vector с размером 10 и 5 ненулевых мест?

Большое спасибо!

15
задан Doctor Mohawk 10 August 2010 в 19:40
поделиться