يوريك (لغة برمجة)

يوريك هي لغة برمجة تفسيرية مصممة للعمليات العددية ، ورسم الرسوم البيانية ، وإدارة برامج المحاكاة العلمية الضخمة. تتميز بسرعتها العالية بفضل استخدام المصفوفات ، وقابليتها للتوسيع عبر إجراءات C أو Fortran . وقد تم تطويرها عام 1996 على يد ديفيد إتش. مونرو من مختبر لورانس ليفرمور الوطني .

سمات

الفهرسة

يتميز Yorick بقدرته على التعامل مع العناصر في المصفوفات متعددة الأبعاد بسهولة بفضل تركيبته القوية.

يمكن الوصول إلى عدة عناصر في وقت واحد:

x = [ 1 , 2 , 3 , 4 , 5 , 6 x = [1,2,3,4,5,6] ؛ x ( 3 : 6 ) = [3,4,5,6] ؛ x ( 3 : 6 : 2 ) = [3,5] ؛ x ( 6 : 3 : -2 ) = [6,4]
عناصر عشوائية
> x = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]] > x [[1,2,3],[4,5,6]] > x ([ 2 , 1 ],[ 1 , 2 ]) [[2,1],[5,4]] > list = where ( 1 < x ) > list [2,3,4,5,6] > y = x ( list ) > y [2,3,4,5,6]
مؤشر زائف

كما هو الحال مع "الترابط" في PDL و"البث" في Numpy ، يمتلك Yorick آلية للقيام بذلك:

> x = [ 1 , 2 , 3 ] > x [1,2,3] > y = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]] > y [[1,2,3],[4,5,6]] > y ( - ,) [[[1],[2],[3]],[[4],[5],[6]]] > x ( - ,) [[1],[2],[3]] > x (, - ) [[1,2,3]] > x (, - ) / y [[1,1,1],[0,0,0]] > y = [[ 1 . , 2 , 3 ],[ 4 , 5 , 6 ]] > x (, - ) / y [[1,1,1],[0.25,0.4,0.5]]
مؤشر المطاط

"." هو مؤشر مطاطي لتمثيل صفر أو أكثر من أبعاد المصفوفة.

> x = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]] > x [[1,2,3],[4,5,6]] > x ( .. , 1 ) [1,2,3] > x ( 1 , .. ) [1,4] > x ( 2 , .. , 2 ) 5

"*" هو نوع من الفهرس المطاطي لإعادة تشكيل شريحة (مصفوفة فرعية) من المصفوفة إلى متجه.

> x ( * ) [1,2,3,4,5,6]
ضرب الموترات

يتم إجراء عملية ضرب الموترات على النحو التالي في لغة يوريك:

P(,+, )*Q(, +)

وسائلج=1ج=شمالPأناجكلسؤالمنج{\displaystyle \sum _{j=1}^{j=N}{P_{ijkl}Q_{mnj}}}

> x = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]] > x [[1,2,3],[4,5,6]] > y = [[ 7 , 8 ],[ 9 , 10 ],[ 11 , 12 ]] > x (, + ) * y ( + ,) [[39,54,69],[49,68,87],[59,82,105]] > x ( + ,) * y (, + ) [[58,139],[64,154]]