Obecnie prototypuję niektóre algorytmy w Matlab, które polegają na macierzowej, DSP, statystyce i funkcji analizy obrazu.Jakiej biblioteki numerycznej użyć do przenoszenia z Matlab do C++?
Niektóre przykłady tego, co może muszę:
- wektory własne
- splot w 2D i 3D
- FFT
- Krótki czas Fourier Transform
- transformacji Hilberta
- Wielomiany Czebyszewa
- filtr dolnoprzepustowy
- losowe wielowymiarowe numery Gaussa
- kmeans
Później będę potrzebował do realizacji tych algorytmów w C++.
Mam również licencję na numeryczne przepisy w C++, które lubię, ponieważ są dobrze udokumentowane i mają szeroki zakres algorytmów. Znalazłem również klasę, która pomaga w zawijaniu funkcji NR w MEX: nr3matlab.h. Używając tej klasy, powinienem móc generować wrappery, które pozwalają mi wywoływać funkcje NR z Matlaba. Jest to dla mnie bardzo ważne, dzięki czemu mogę sprawdzić każdy krok podczas przenoszenia z Matlab do C++. Jednak Numerical Recipes in C++ są pewne istotne wady:
- algorytmy realizowane w sposób prosty i niekoniecznie bardzo wydajne manner
- nie gwintowane
Ja dlatego rozważa wykorzystanie innej biblioteki numerycznej. Idealna biblioteka powinny:
- być szeroki zakres i funkcjonalności, jak to możliwe
- dobrze udokumentowane
- (nie ma wsparcia handlowa)
- zostały już Matlab owijarki
- bardzo wytrzymałe
- bardzo wydajny
- gwintowany
- (mają realizację GPU, które można obrócić na zamiast CPU z „przełącznik”)
Które biblioteki numeryczne (biblioteki) proponujesz?
Z góry dziękuję za wszelkie odpowiedzi!
Lista konkretnych funkcji/algorytmów, których szukasz, teraz jest to zbyt mało precyzyjne. –
Dzięki. Wymienione niektóre, które powstały na myśl. – Andy
Pomyślałem, że wspomnę o tym, aby w przyszłości takie pytania znaleźć dobry dom na [scicomp.SE]. –