Actualmente estoy creando prototipos de algunos algoritmos en Matlab que se basan en la matriz, DSP, estadísticas y funcionalidad de análisis de imágenes.¿Qué biblioteca numérica usar para trasladar de Matlab a C++?
Algunos ejemplos de lo que puede necesitar:
- vectores propios
- convolución en 2D y 3D
- FFT
- Short Time Fourier Transform
- transformada de Hilbert polinomios
- Chebyshev
- filtro de paso bajo
- números aleatorios gaussianos multivariantes
- KMeans
Más adelante voy a necesitar para implementar estos algoritmos en C++.
También tengo una licencia para Recetas Numéricas en C++, que me gusta porque está bien documentada y tiene una gran variedad de algoritmos. También encontré una clase que ayuda a envolver las funciones NR en MEX: nr3matlab.h. Entonces, usando esta clase debería ser capaz de generar envoltorios que me permitan llamar a funciones NR de Matlab. Esto es muy importante para mí, de modo que pueda verificar cada paso al pasar de Matlab a C++. Sin embargo Recetas Numéricas en C++ tienen algunas deficiencias importantes:
- algoritmos implementados de una manera sencilla, y no necesariamente muy eficientes manner
- sin rosca
por lo tanto, estoy pensando en utilizar otra biblioteca numérica. La biblioteca ideal debe:
- sea tan amplia en alcance y la funcionalidad como sea posible
- estar bien documentado
- (tener soporte comercial)
- ya han hecho envolturas Matlab
- muy robustos
- muy eficiente
- roscado
- (tener una implementación GPU que se puede convertir en lugar de la CPU con un "switch")
qué biblioteca numérica (bibliotecas) sugeriría usted?
¡Gracias de antemano por cualquier respuesta!
Enumere algunas funciones/algoritmos específicos que está buscando, en este momento esta pregunta es demasiado vaga. –
Gracias. Enumerado algunos que saltaron a la mente. – Andy
Solo pensé en mencionar para referencia futura que preguntas como esta encuentran un buen hogar en [scicomp.SE]. –