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

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
يوريك (Yorick)
ظهرت في 1996
صممها ديفيد مونرو
الرخصة BSD
التطوير
المطور مؤسسة كورانت للعلوم الرياضيات
آخر إصدار 2.1.06
متفرقات
امتدادات الملفات .i
موقع ويب صفحة يوريك

يوريك (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(,,+)

تعني \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]]

وصلات خارجية[عدل]

HelloWorld.svg هذه بذرة مقالة عن لغة برمجة تحتاج للنمو والتحسين. ساهم في إثرائها بالمشاركة في تحريرها.