// =================================================================================== // Ce LOGICIEL "ScalFmm" est couvert par le copyright Inria 20xx-2012. // Inria détient tous les droits de propriété sur le LOGICIEL, et souhaite que // la communauté scientifique l'utilise afin de le tester et de l'évaluer. // Inria donne gracieusement le droit d'utiliser ce LOGICIEL. Toute utilisation // dans un but lucratif ou à des fins commerciales est interdite sauf autorisation // expresse et préalable d'Inria. // Toute utilisation hors des limites précisées ci-dessus et réalisée sans l'accord // expresse préalable d'Inria constituerait donc le délit de contrefaçon. // Le LOGICIEL étant un produit en cours de développement, Inria ne saurait assurer // aucune responsabilité et notamment en aucune manière et en aucun cas, être tenu // de répondre d'éventuels dommages directs ou indirects subits par l'utilisateur. // Tout utilisateur du LOGICIEL s'engage à communiquer à Inria ses remarques // relatives à l'usage du LOGICIEL // =================================================================================== // ==== CMAKE ===== // @FUSE_BLAS // ================ #include #include #include "Utils/FBlas.hpp" #include "Utils/FTic.hpp" #include "Utils/FParameterNames.hpp" /** * Test functionality of C - interfaced LAPACK functions */ int main(int argc, char ** argv) { FHelpDescribeAndExit(argc, argv, "Test the lapack compilation and linking (only the code is interesting)."); /* * List of tested functions: * Cholesky decomposition: FBlas::potrf() * TODO SVD: FBlas::gesvd() * TODO QR decomposition: FBlas::geqrf() */ typedef double FReal; const unsigned int m = 4, n = 4; FReal* A = new FReal [m * n]; // matrix: column major ordering // A= LL^T //////////////////////////////////// // define symmetric definite positive matrix A A[0]=5; A[10]=4; A[15]=7; A[1]=A[3]=A[4]=A[12]=2; A[6]=A[7]=A[9]=A[13]=1; A[2]=A[5]=A[8]=3; A[11]=A[14]=-1; // copy A in C FReal* C = new FReal [m * n]; // matrix: column major ordering for (unsigned int ii=0; ii