2010-08-03 5 views
15

boost::numeric::ublas에는 three sparse vector types이 있습니다.다양한 부스트 블록 간 스파 스 벡터의 차이점은 무엇입니까?

mapped_vector은 인덱스에서 값으로의 stl::map이며 본질적으로 모든 발견되지 않은 값을 0 (또는 공통 값)으로 간주합니다.

그러나 설명서는 compressed_vectorcoordinate_vector에 대한 정보가 희박합니다 (하하).

아무도 명확히 할 수 있습니까? 나는 다양한 벡터에 항목을 추가하는 알고리즘의 복잡성과 두 벡터 사이의 점으로 된 제품의 복잡성을 파악하려고합니다.

매우 유용한 답변은 compressed_vector가 compressed_matrix과 매우 유사하다는 것입니다. 그러나 예를 들어, compressed row storage은 단지 벡터가 아닌 행렬을 저장하는 용도로만 사용됩니다.

나는 unbounded_array이 저장 유형이지만, 그 스펙이 무엇인지 확실하지 않습니다. 크기가 200,000,000이고 크기가 0이 아닌 위치가 5 인 compressed_vector를 만드는 경우 크기가 10이고 위치가 아닌 5 개의 compressed_vector를 만드는 것보다 효율적이지 않습니까?

감사합니다.

답변

4

벡터와 매트릭스를 교체하고 당신은 대답

http://www.guwi17.de/ublas/matrix_sparse_usage.html

+0

많은 감사를! 이것은 내가 필요한 것입니다. –

+0

@mohawkjohn, 아마도 압축 된 제품입니다. compress_vector – Anycorn

+0

좋습니다. 그렇기 때문에 결국 내 질문에 완전히 답하지는 못합니다. 예를 들어, compressed_matrix는 압축 된 행 저장을 사용하여 저장됩니다. 그러나 compressed_vector는 그렇게 저장 될 수 없습니다. –

관련 문제