2010-03-03 3 views
1

, 일반적으로효율적으로 해결 희소 행렬 해결 예비 행렬에 대한

는 얼마나 큰 매트릭스는 congraduate 하강과 같은 방법에 대한

무력 해법보다 더 빠르게 할 수 (엄지 손가락의 규칙으로)해야 않습니다 (그 희소성을 활용하지 않는)?

+0

"solve"동사를 행렬에 적용하는 것은 좋지 않습니다. 행렬은 본질적으로 질문이나 문제가 아닙니다. 저는 여러분이 행렬 형태로 표현 된 방정식 시스템을 풀고 싶다고 추측합니다. – dmckee

답변

1

공액 그래디언트 솔버와 '무차별 대인력'솔버 사이의 이분법이 유용하다는 것이 확실하지 않습니다. 예를 들어, CG는 밀도가 높은 행렬 및 희소 행렬 모두에 적용될 수 있습니다. this book이 도움이 될 수 있습니다.

3

매트릭스의 크기뿐만 아니라 스파 스 및 스파 스니스 구조에 따라 다릅니다. 분명히, 매트릭스를 통해 무작위로 분산 된 0이 아닌 수의 동일한 수의 시스템을 사용하는 것보다 더 빨리 트리 다이어 고 시스템을 풀 수 있습니다.

High-Performance Mark에서 지적한 것처럼 CG는 밀도가 높은 행렬 및 희소 행렬에 사용됩니다. 따라서 물어보고 싶은 질문은 "행렬이 얼마나 크고 행렬이 솔버가되기 전에 얼마나 필요합니까? 의 효과가 희박한 매트릭스 대신 희소 매트릭스으로 처리하면 많은 0이 발생합니다. "

내가 알고있는 것처럼 희소식 구조에 따라 달라집니다. 첫 번째 추측으로 10 %가 가득 찬 특별한 구조가없는 행렬은 행렬이 캐쉬를 채울 때까지 (즉, 현대의 필수 하드웨어에서 1000 x 1000 정도가 될 때까지) 조밀 한 방법을 사용합니다. 행렬이 극적으로 가늘어 지거나 작업하기가 더 쉬운 특수 구조 (예 : 0이 아닌 데이터가 밀집한 블록 또는 일부 대역 구조)가 있으면 임계 값은 훨씬 더 작아집니다.

함께 작업하는 특정 문제에 대한 추가 정보를 제공해 줄 수 있습니까?