Por favor, verifique o ramo dev que é um pouco menos confuso.
Uma coleção de tutoriais de matemática em C
Enquanto atrás, quando comecei a fazer uma álgebra linear em C, foi uma surpresa ver que há tão poucos tutoriais para blas, lapack e outras APIs fundamentais. Apesar de serem de alguma forma os blocos de construção de muitas outras bibliotecas. Por esse motivo, comecei a coletar todos os exemplos que encontrei em toda a rede para blas, lapack, clapack, lapace, atlas, openblas ... neste repositório do github. Bem, devo avisar que, como engenheiro mecânico, tenho pouca experiência em gerenciar esse repositório e isso pode primeiro parecer uma bagunça completa para vocês. No entanto, se você conseguir superar a bagunça, encontrará todos os tipos de exemplos e instruções que podem ajudar. Eu tentei mais e os não compilam que mencionei. Modifiquei muitos deles para serem compiláveis com compiladores GNU (GCC, G ++ e Gfortran). Eu fiz arquivos fabricados que você pode ler para saber como você pode chamar rotinas individuais fortran em um programa C ou C ++. Também coloquei algumas instruções de instalação para Mac e Linux (desculpe Windows Guys!). Quero ter certeza de que, se você é um desenvolvedor C, você pode usar qualquer uma dessas bibliotecas sem problemas, independentemente da sua plataforma ou hardware
problemas:
- Não é possível compilar o Atlas no Mac OS X. Um relatório de bug foi feito no Sourceforce: https://sourceforge.net/p/math-atlas/bugs/261/
- Para alguns dos exemplos de blas e cbLAs, o -lgfortran é revertido para compilar. Eu não sei por quê! (No Mac OS X, você precisa instalar o Gfortran e depois procurar libgfortran.dylib e link contra ele durante a compilação)
pendência:
- Faça compilação/instalação para todas as bibliotecas para diferentes plataformas
- Verifique os makefile s em outras plataformas (testadas apenas no Mac OS X)
Fontes a serem estudadas:
- 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
- ftp://ftp.icm.edu.pl/packages/netlib/lapack/lapacke.txt
- https://pleiades.ucsc.edu/hyades/lapack
- http://www.ccp4.ac.uk/dist/checkout/lapack-3.5.0/lapacke/example/example_dgels_colmajor.c
- http://www.linuxquestions.org/linux/answers/programming/installation_and_use_common_scientific_libraries_unix_part_2_lapack_and_its_wrapers_lapacke_and_atlas
- http://theoryno3.blogspot.nl/2010/12/compiling-lapack-as-shared-library-in.html
- 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.ucsc.edu/hyades/blas
- https://software.intel.com/en-us/node/522288
- http://stackoverflow.com/questions/17858104/what-is-the-relation-betwork-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-c-vector-matrix-math-linear-algebra-libricares-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--an-i-match-it
- Cefes -> http://www.netlib.org/cephes/
- CRLIBM-> http://lipforge.ens-lyon.fr/www/crlibm/index.html