2014-10-19 1 views
0

SparseMatrix SM; MatrixXd f;고유 L 희소 행렬과 밀도 벡터로부터의 행 벡터의 내적을 어떻게 계산할 수 있습니까? 효율성은 무엇입니까?

SM은 m * n 스파 스 매트릭스 (0.18 %)이고 f는 n * 1 컬럼 벡터입니다. SM의 i 번째 행 벡터를 얻어서 f와 곱 해보고 싶습니다. 어떻게 코드를 작성해야합니까?

나는 또한 효율성에 대해 걱정했다. 많은 여분의 0이 계산에 포함될 수 있습니다.

답변

0

SM이 열 주요 행렬 인 경우 행의 색인을 생성하는 것은 매우 비효율적이며 본질적으로 성능면에서 중요하지 않습니다. SM이 행 메이저 일 경우 SM.row(i).dot(f)을 수행하면 비용은 SM.row(i)의 0이 아닌 순서로 계산됩니다.

+0

우리는 이것이 어떤 언어인지 모릅니다. sparse 행렬에 사용되는'SparseMatrix'라는 클래스를 가진 언어가 두 개 이상있을 것입니다. –

+0

플래그 'eigen'은 C++ Eigen 라이브러리를 가리키고 있습니다. – ggael

+0

입니다. 내 실수. –