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

يوريك (Yorick) هي لغة برمجة مصممة لتفسير الأرقام، تخطيط الرسوم البيانية، و قيادة اكواد محاكاة العلمية الكبيرة. وهي سريعة جداً نتيجة بناء الجملة للمصفوفات، وويمكن توسيعها من خلال أجراءات سي (لغة برمجة) أو فورتران. تم أنشائها في عام 1996 من قبل ديفيد مونرو من مختبر لورانس ليفرمور الوطني.

المميزات 

 الفهرسة
يوريك جيدة في معالجة العناصر الموجودة في مصفوفات ذات الأبعاد المتعددة (N-dimensional arrays) بسوهلة مع بناء جملة قوي.

مجموعة من الأرقام القياسية (Range of indices)

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

> 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]

عناصر أختيارية(Arbitrary elements)

> 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]

فهرسة زائفة (Pseudo-index)

مثل الـ "theading" في لغة البيانات لبيرل PDL (Perl Data Language) و الإذاعة (broadcasting) في الامتدادات الرقمية في باثون Numpy ( Numeric extension for Python)، تمتلك يوريك آلة للقايم بذلك:

> 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]]

فهرسة مرنة (Rubber index)

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

> 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

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

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

مضاعفة الوتر (Tensor multiplication)

تمثل كما يلي في يوريك:

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

تعني 

> 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]]

مراجع

وصلات خارجية 
 صفحة يوريك

لغات برمجة أنشئت في 1996
مختبر لورانس ليفرمور الوطني