stringtranslate.com

Йорик (язык программирования)

Yorick — это интерпретируемый язык программирования, разработанный для численных расчетов , построения графиков и управления большими научными кодами моделирования. Он довольно быстр благодаря синтаксису массивов и расширяем с помощью процедур C или Fortran . Он был создан в 1996 году Дэвидом Х. Манро из Ливерморской национальной лаборатории им. Лоуренса .

Функции

Индексация

Yorick отлично подходит для удобной работы с элементами N-мерных массивов благодаря мощному синтаксису.

К нескольким элементам можно получить доступ одновременно:

> х = [ 1 , 2 , 3 , 4 , 5 , 6 ]; > х [1,2,3,4,5,6] > х ( 3 : 6 ) [3,4,5,6] > х ( 3 : 6 : 2 ) [3,5] > х ( 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]] > список = где ( 1 < x ) > список [2,3,4,5,6] > y = x ( список ) > y [2,3,4,5,6]
Псевдоиндекс

Подобно «theading» в PDL и «broadcasting» в 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]]
Индекс резины

«..» — это резиновый индекс, представляющий ноль или более измерений массива.

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

«*» — это своего рода резиновый индекс для преобразования фрагмента (подмассива) массива в вектор.

> х ( * ) [1,2,3,4,5,6]
Умножение тензора

Умножение тензоров в Йорике выполняется следующим образом:

П(,+, )*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]]

Внешние ссылки