Veuillez vérifier la branche de développement qui est légèrement moins désordonnée.
Une collection de tutoriels mathématiques en C
Il y a temps, lorsque j'ai commencé à faire de l'algèbre linéaire en C, il m'est venu comme une surprise de voir qu'il y a si peu de tutoriels pour BLAS, LAPACK et d'autres API fondamentales. Malgré le fait qu'ils sont en quelque sorte les éléments constitutifs de nombreuses autres bibliothèques. Pour cette raison, j'ai commencé à collecter tous les exemples que j'ai pu trouver partout dans le filet pour Blas, Lapack, Clapack, Lapacke, Atlas, Openblas ... dans ce repo Github. Eh bien, je dois vous avertir qu'en tant qu'ingénieur en mécanique, j'ai peu d'expérience dans la gestion d'un tel repo et cela pourrait d'abord vous sembler un gâchis complet pour vous. Cependant, si vous parvenez à surmonter le gâchis, vous trouverez toutes sortes d'exemples et d'instructions qui pourraient être utiles. J'ai le plus essayé et ceux qui ne compilent pas que j'ai mentionnés. J'en ai modifié beaucoup pour être compilable avec les compilateurs GNU (GCC, G ++ et GFertran). J'ai fait des fichiers de fabrication que vous pouvez lire pour savoir comment vous pouvez appeler des routines Fortran individuelles dans un programme C ou C ++. J'ai également mis des instructions d'installations pour Mac et Linux (Désolé Windows Guys!). Je veux m'assurer que si vous êtes un développeur C, vous pouvez utiliser l'une de ces bibliothèques sans aucun problème, quelle que soit votre plate-forme ou votre matériel
problèmes:
- Impossible de compiler Atlas sur Mac OS X. Un rapport de bogue a été fait sur Sourceforce: https://sourceforge.net/p/math-atlas/bugs/261/
- Pour certains des exemples BLAS et CBLAS, le -lgFertran est mis en place pour compiler. Je ne sais pas pourquoi! (Sur Mac OS X, vous devez installer GFertran, puis chercher libgfortran.dylib et lier contre lui lors de la compilation)
faire:
- faire la compilation / l'installation pour toutes les bibliothèques pour différentes plates-formes
- Vérifiez le makefile S sur d'autres plates-formes (testées uniquement sur Mac OS X)
Sources à étudier:
- http://physics.oregonstate.edu/~landaur/nacphy/lapack/cprogp.html
- https://people.sc.fsu.edu/~jburkardt/c_src/clapack/clapack.html
- http://stackoverflow.com/questions/22085277/how-to-call-clapack-from-c-c
- ftp://ftp.icm.edu.pl/packages/netlib/lapack/lapacke.txt
- https://pleiades.uccsc.edu/hyades/lapack
- http://www.ccp4.ac.uk/dist/checkout/lapack-3.5.0/lapacke/example/example_dgels_colmajor.c
- http://www.linuxquestestions.org/linux/answers/programming/installation_and_use_common_scientific_libraires_unix_part_2_lapack_and_its_wrappers_lapacke_and_atlas
- http://theoryno33
- http://www.dreamincode.net/forums/topic/287490-anyone-familiar-with-lapack-and-blas/
- https://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_lapack_examples/index.htm#zgesv.htm
- https://pleiades.uccsc.edu/hyades/blas
- https://software.intel.com/en-us/node/522288
- http://stackoverflow.com/questions/17858104/what-is-the-relation-between-blas-lapack-and-atlas/17858345#17858345
- http://stackoverflow.com/questions/1303182/how-does-blas-get-such-extreme-performance/11421344#11421344
- http://stackoverflow.com/questions/1380371/what-are-the-most-widely-used-sect-vector-matrix-math-linear-algebra-librares-a/1452950#1452950
- http://stackoverflow.com/questions/8206563/purpose-of-lda-argument-in-blas-dgemm/8209290#8209290
- http://stackoverflow.com/questions/966249/scientific-math-with-functional-languages/966324#966324
- http://stackoverflow.com/questions/24071622/replicating-blas-matrix-multiplication-performance-can-i-match-it
- Cephes -> http://www.netlib.org/cephes/
- CRLIBM -> http://lipforge.ens-lyon.fr/www/crlibm/index.html