يرجى التحقق من فرع dev الذي هو أقل فوضى قليلا.
مجموعة من دروس الرياضيات في ج
بينما منذ ذلك الحين ، عندما بدأت في القيام ببعض الجبر الخطي في C ، كان الأمر يتعلق بي كمفاجأة لرؤية أن هناك عدد قليل جدًا من البرامج التعليمية لـ Blas و Lapack وغيرها من واجهات برمجة التطبيقات الأساسية. على الرغم من حقيقة أنهم بطريقة ما لبنات البناء للعديد من المكتبات الأخرى. لهذا السبب بدأت في جمع جميع الأمثلة التي يمكن أن أجدها في جميع أنحاء الشبكة من أجل Blas و Lapack و Clapack و Lapacke و Atlas و OpenBlas ... في هذا Github Repo. حسنًا ، يجب أن أحذرك من أنه كمهندس ميكانيكي ، لدي خبرة قليلة في إدارة مثل هذا الريبو وقد يبدو أولاً بمثابة فوضى كاملة لك يا رفاق. ومع ذلك ، إذا تمكنت من التغلب على الفوضى ، فستجد جميع الأمثلة والتعليمات التي قد تكون مساعدة. لقد جربت أكثر من غيرهم لا يجمعون. لقد قمت بتعديل الكثير منهم ليكونوا قابلين لتجميعهم مع مجمعات GNU (GCC و G ++ و GFortran). لقد صنعت ملفات صنعت ملفات يمكنك قراءتها لمعرفة كيف يمكنك استدعاء إجراءات Fortran الفردية في برنامج C أو C ++. لقد وضعت أيضًا بعض تعليمات التثبيتات لنظام التشغيل Mac و Linux (Sorry Windows Guys!). أريد أن أتأكد إذا كنت مطور C ، يمكنك استخدام أي من هذه المكتبات دون أي مشاكل بغض النظر عن النظام الأساسي أو الأجهزة الخاصة بك
مشاكل:
- غير قادر على تجميع Atlas على Mac OS X. تم إصدار تقرير الأخطاء على SourceForce: https://sourceforge.net/p/math-atlas/bugs/261/
- بالنسبة لبعض أمثلة BLAS و CBLAS ، تم تأمين -lgfortran لتجميعها. أنا لا أعرف لماذا! (على Mac OS X ، تحتاج إلى تثبيت Gfortran ثم البحث عن libgfortran.dylib وربطه أثناء التجميع)
للقيام:
- قم بتجميع/تثبيت لجميع المكتبات للمنصات المختلفة
- تحقق من Makefile على منصات أخرى (تم اختبارها فقط على Mac OS X)
مصادر تتم دراستها:
- 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-call-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_wrappers_lapacke_and_atlas
- http://theoryno3.blogspot.nl/2010/12/compiling-lapack-as-sared-library-in.html
- http://www.dreamincode.net/forums/topic/287490-anyone-familiar-with-lapack-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-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-susely-us-c-vector-matrix-math-linar-algebra-libraries-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-function-laction-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