تكنولوجيا المعلومات++

IT++ هي مكتبة C++ تضم فئات ووظائف للجبر الخطي ، والتحسين العددي ، ومعالجة الإشارات ، والاتصالات، والإحصاء . [ 1 ] يجري تطويرها من قبل باحثين في هذه المجالات، وتُستخدم على نطاق واسع من قبل الباحثين، سواء في قطاع الاتصالات أو الجامعات. [ 2 ] [ 3 ] تعود أصول مكتبة IT++ إلى قسم نظرية المعلومات السابق في جامعة تشالمرز للتكنولوجيا، غوتنبرغ، السويد.

تتكون نواة مكتبة IT++ من فئات المتجهات والمصفوفات المُنمّطة ، ومجموعة من الدوال المصاحبة. هذه النواة تجعل مكتبة IT++ مشابهة لمكتبتي Matlab و Octave . ولزيادة الوظائف والسرعة والدقة، يمكن لـ IT++ الاستفادة بشكل كبير من المكتبات المجانية والمفتوحة المصدر ، وخاصة مكتبات BLAS و LAPACK و FFTW . وبدلاً من BLAS وLAPACK، يمكن استخدام بعض المكتبات المُحسّنة الخاصة بالمنصات، مثل:

  • ATLAS (برنامج الجبر الخطي المضبوط تلقائيًا) - يتضمن BLAS وCBLAS المحسّنة ومجموعة محدودة من إجراءات LAPACK؛
  • MKL (مكتبة نواة الرياضيات من إنتل) - تتضمن جميع إجراءات BLAS وCBLAS وLAPACK وFFT المطلوبة (FFTW غير مطلوب)؛
  • ACML (مكتبة الرياضيات الأساسية AMD) - تتضمن BLAS و LAPACK وروتينات FFT (FFTW غير مطلوب).

يمكن تجميع واستخدام IT++ بدون أي من المكتبات المذكورة أعلاه، ولكن ستكون وظائفها محدودة. يعمل IT++ على أنظمة التشغيل Linux و Solaris و Windows (مع Cygwin أو MinGW/MSYS أو Microsoft Visual C++ ) و OS X.

مثال

إليكم مثال بسيط يوضح وظائف برنامج IT++ المشابهة لبرنامجي Matlab/Octave،

استيراد < itpp / itbase.h > ؛ استيراد std ؛باستخدام itpp :: Mat ؛ باستخدام itpp :: Vec ؛int main () { Vec < double > a = itpp :: linspace ( 0.0 , 2.0 , 2 ); Vec < double > b ( "1.0 2.0" ); Vec < double > c = 2 * a + 3 * b ; std :: println ( "c = {}" , c );Mat <double> A ( "1.0 2.0; 3.0 4.0" ) ; Mat <double> B ( " 0.0 1.0; 1.0 0.0" ); Mat <double> C = A * B + 2 * A ; std :: println ( "C = {}" , C ) ; std :: println ( " معكوس B = {}" , itpp :: inv ( B ) );return 0 ; }

انظر أيضاً

مراجع

  1. IT++، دليل البرمجيات الحرة ، مؤسسة البرمجيات الحرة ، http://directory.fsf.org
  2. بوغدان كريستيا. 2009. أجهزة استقبال توربو مع IT++. في وقائع المؤتمر الدولي الثاني حول أدوات وتقنيات المحاكاة (Simutools '09). معهد علوم الحاسوب والمعلوماتية الاجتماعية وهندسة الاتصالات (ICST)، بروكسل، بلجيكا، doi : 10.4108/ICST.SIMUTOOLS2009.5564
  3. دي ليما، سي إتش إم؛ ستانكانيللي، إي إم جي؛ رودريغز، إي بي؛ دا إس. ماسيل، جي إم؛ كافالكانتي، إف آر بي، إطار عمل لتطوير البرمجيات قائم على لغة البرمجة الكائنية C++ لأدوات محاكاة مستوى الربط، ندوة الاتصالات الدولية لعام 2006، فورتاليزا، البرازيل، doi : 10.1109/ITS.2006.4433344