2013-08-23 9 views
1

우선, 나쁜 영어로 유감이지만, 도움이 필요합니다.JAMA 매트릭스 성능

나는 많은 행렬 계산을 사용하는 자바 스윙과 함께 시뮬레이션 프로그램을 개발했습니다. 프로그램은 끝났지 만 성능 향상이 필요합니다. 그래서 자바 시각적 인 vm 프로파일 러를 사용하여 성능 문제를 확인했습니다. Jama Matrix의 초기화에는 많은 시간이 필요하다는 것을 알고있었습니다. 내 프로그램을 실행 한 후 JAMA에 의해 3 MB가 넘는 Object가 할당되었습니다. 그거 많지, 그렇지? 그게 성능이 나쁜 이유라고 생각합니다.

매트릭스에 jama보다 우수한 라이브러리가 있습니까? 내가 3x3 행렬을 사용하고 곱셈과 역 연산이 필요하거나 내가 할 수있는 다른 것이 있습니까?

+0

@ blueArrow 제발 [이 질문에] (http://stackoverflow.com/questions/529457/performance-of-java-matrix-math-libraries?rq=1) –

+0

@ hexafraction 당신은 무엇을 의미합니까? 문제? 나는 JAMA 도서관을 사용한다. – blueArrow

+0

@AlexeyOdintsov 그 질문을 보았지만 지금까지 도움이되지 못했습니다. – blueArrow

답변

1

일반적으로 행렬 수학 라이브러리는 작은 행렬에서 속도를 최적화하지 않습니다. 메모리 할당 및 옵션 검사와 같은 오버 헤드 기능에서 많은 시간을 보여야하는 약간의 stackshots을 직접 볼 수 있습니다.

행할 수있는 것은 행렬이 3x3이라는 것을 알고 있으므로 곱셈과 역함수를 수행하는 특수 목적 루틴을 작성하는 것입니다. 곱하기는 간단하며 전체를 풀 수 있습니다. 3 × 3 행렬의

역은 커피보다 적은 코드에서 수행 할 수 있습니다 : 당신이 메모리 할당을 최소화하려고 무엇 이건 Wikipedia gives you the formula.

.