2011-09-28 3 views
4

Je veux utiliser lapack et faire un wrapper de matrice C++ pour cela, mais lapack est écrit en Fortran, il y a du clapack mais je veux l'utiliser depuis la source. compilez d'abord les fichiers * .f et * .cpp en fichiers objet, puis liez-le à une application.comment utiliser lapack sous windows

les applications et sources suivantes.

  • visual studio édition proff, dev C++, ++ ultime, MinGW tout
  • G95 et gfortran (sous MinGW) compilateur
  • lapack (dernière source)
  • blas (inclus dans lapack)

Comment puis-je faire une demande s'il vous plaît aider ...

Mon système d'exploitation est Windows 7 et CPU Core2Duo et je n'ai pas Int el mathématiques noyau

Répondre

3

Vous pouvez utiliser la official C bindings for LAPACK, puis construire votre C++ wrapper autour de cela. Cela évite d'avoir à s'inquiéter des conventions d'appel Fortran, et les liaisons C sont un peu plus conviviales pour les programmeurs C/C++ que d'appeler les routines Fortran directement.

De plus, vous pouvez utiliser l'une des bibliothèques matricielles C++ déjà disponibles, au lieu de rouler la vôtre. Je recommande Eigen. PS: Les matrices/vecteurs propres ont un membre data() qui permet d'appeler LAPACK sans avoir à faire de copies temporaires.

+0

Vous pouvez également essayer [Armadillo] (http://arma.sourceforge.net), qui est un wrapper C++ efficace pour LAPACK (et BLAS). Comme Eigen, il utilise également des modèles d'expression pour la vitesse. Cependant, Armadillo diffère d'Eigen en ce sens que sa syntaxe (API) ressemble beaucoup à Matlab. – mtall

Questions connexes