아르마딜로를 사용하는 선형 시스템을 해결하는 데 질문이 있습니다. A * x = b. 하지만 제 매트릭스는 꽤 큽니다. arma :: cx_mat A (40000,40000)입니다. x = arma :: solve (A, b)를 실행하면 armadillo는 A를 저장하기 위해 새 메모리를 할당 한 다음 새 메모리를 사용하여 LU 분해를 수행하고 원래 A를 저장하는 메모리를 사용하지 않습니다. 해결의 정의는 fn_solve.hpp에서 찾을 수 있습니다. 하지만 당신은 이미 내 A가 꽤 큰 것을 본다. 새로운 메모리를 할당하면 모든 메모리를 빨리 소모합니다. 내 문제에 대해서는 더 이상 원본 A가 필요하지 않습니다. 그래서 armadillo가 LU 분해를 위해 원래의 메모리를 사용하게하는 몇 가지 방법을 사용할 수 있습니까? 아르마딜로에서 LU 분해를 수행하는 데 동일한 메모리를 사용합니다.
대신 딜을 통해가는, 당신이 직접 LAPACK를 사용해야 할거야
2
A
답변
1
대단히 감사합니다. Armadillo가 데이터를 준비하는 방법을 살펴보고 solve()를 구현하는 기본 LAPACK 함수를 호출하는 것이 좋습니다. 이것은/armadillo_bits/auxlib_meat.hpp 파일에 있습니다.
편집 : 아르마딜로 개발자는 일반적으로 패치를 잘 받아들입니다. 솔루션을 찾았 으면 패치 나 수정 된 파일을 보내십시오.
관련 문제
- 1. LU 분해를 어떻게 인쇄합니까?
- 2. Armadillo C++ LU 분해
- 3. 피벗하지 않고 LU 분해를 사용하여 방정식을 풀기 (Lapack 라이브러리)
- 4. CSR 매트릭스의 LU 분해
- 5. 직교 행렬의 LU 분해
- 6. JTextArea가 많은 메모리를 사용합니다.
- 7. mergeChangesFromContextDidSaveNotification 메모리를 사용합니다.
- 8. ejml을 사용한 LU 분해
- 9. Java가 예상보다 많은 메모리를 사용합니다.
- 10. cProfile 많은 메모리를 사용합니다
- 11. string.intern은 메모리를 덜 사용합니다.
- 12. Pageheap은 많은 메모리를 사용합니다.
- 13. 오라클은 프로세스없이 메모리를 사용합니다.
- 14. Nhibernate는 많은 메모리를 사용합니다.
- 15. rsyslog가 막대한 메모리를 사용합니다.
- 16. sqlsrvr.exe는 많은 양의 메모리를 사용합니다.
- 17. 병렬 MATLAB에 의한 LU 분해
- 18. MFMailComposeViewController가 너무 많은 메모리를 사용합니다.
- 19. 서비스가 너무 많은 메모리를 사용합니다.
- 20. javaw.exe가 STS 시작시 메모리를 사용합니다
- 21. Force Vagrant가 스왑 메모리를 사용합니다.
- 22. MySQL/PHP는 모든 메모리를 사용합니다.
- 23. Apple지도가 너무 많은 메모리를 사용합니다.
- 24. PHP : preg_replace가 모든 메모리를 사용합니다.
- 25. 배열 피드 함수에서 메모리를 사용합니다.
- 26. Java가 너무 많은 메모리를 사용합니다.
- 27. 병렬 인수 분해를 수행하는 동안 오버플로 예외가 발생했습니다.
- 28. LU 분해 MPI
- 29. PhoneGap은 iOS7보다 iOS8에서 더 많은 메모리를 사용합니다.
- 30. 부분 피벗을 사용하는 LU 분해