2011-08-08 11 views
4

좋은 라이브러리/C 고유 시스템을 해결하는 데 사용할 수있는 방법을 알고 있습니까?C#에서 고유 시스템을 해결 하시겠습니까?

내 데이터는 2D/3D이며, 첫 번째 및 두 번째 고유 벡터의 길이와 길이를 가져와 내 데이터가 2D 공간에서 어떻게 연장되는지 평가하고자합니다.

감사

+0

:

var gevd = new EigenvalueDecomposition(rect); var V = gevd.Eigenvectors; var D = gevd.DiagonalMatrix; 

또한 분해의 다른 유형을 제공 http://stackoverflow.com/questions/4400203/calculating -eigenvectors-in-c-c-advanced-matrix-library-in-c-net –

+2

한편, 고유 벡터 분해가 아닌 SVD가 필요할 것입니다. –

답변

2

Alglib을 제안했지만 그 명명 규칙은 C++ 스타일 덕분에 나는 사용하기가 쉽지 않았다.

대신에 나는 Accord.Math이라는 멋진 오픈 소스 라이브러리를 발견했습니다. 그것은 나의 필요를 아주 잘 만족시키는 수학을위한 환상적인 API를 제공합니다.

처음으로 정규화 된 EigenValue 분해 코드 here을 찾았지만 분명히 이미 Accord.Math 라이브러리에 추가되었습니다.

내 코드는 다음과 같습니다 :이 도움이 될 수

enter image description here

5

어쩌면 this library는 당신을 도울 수 있습니다.

+0

이것은 훌륭한 샘플 코드일까요? –