При выполнении бинарных операций над массивами оба массива должны иметь одинаковые ранги и размерности. Равенство рангов и размерностей массивов будем называть
соответствием массивов. Такое ограничение требует введения в
язык программирования конструкций, предоставляющих возможность сжатия, расширения или переформирования массивов с целью достижения их соответствия. Средства, рассмотренные в параграфе 1, могут быть использованы для этой цели. Другие средства рассмотрены в данном параграфе. Заметим, что альтернативой является дополнение
компилятором неопределенных элементов массивом, например, нулями.
Функции понижения ранга.
Положим, что

– числовой массив, а

– логический массив. Пусть массивы

,

имеют ранг

и все размерности этих массивов одинаковы и равны

. Приведем примеры наиболее распространенных функций понижения ранга.
Пример 1
Функция

вызывает суммирование элементов числового массива

по

-ой размерности:

.
Результирующий массив имеет ранг

. Например, если

,

и

, то

.
Заметим, что все суммирования при выполнении операции

производятся параллельно.
Пример 2
Функция

вызывает перемножение элементов числового массива

по

-ой размерности:

.
Результирующий массив имеет ранг

, все произведения при выполнении операции

производятся параллельно.
Пример 3
Функция

вызывает логическое перемножение элементов логического массива

по

-ой размерности:

.
Результирующий массив имеет ранг

. Например, если

,

и

, то

.
Все логические умножения при выполнении операции

производятся параллельно.
Пример 4
Функция

вызывает логическое сложение элементов логического массива

по

-ой размерности:

.
Результирующий массив имеет ранг

, все логические суммирования при выполнении операции

(

,

) производятся параллельно.
Пример 5
Функция

вызывает замену элементов числового массива

по

-ой размерности максимальным элементом:

.
Результирующий массив имеет ранг

. Например, если если

,

и

, то

.
Все операции отыскания максимума при выполнении операции

производятся параллельно.
Пример 6
Функция

вызывает замену элементов числового массива

по

-ой размерности минимальным элементом:

.
Результирующий массив имеет ранг

. Все операции отыскания минимума при выполнении операции

производятся параллельно.
Функции повышения ранга.
Примером
функции повышения ранга массива является функция

. Результатом выполнения этой функции является матрица, полученная повторением

раз матрицы

по

-ой размерности. Пусть, например,

, тогда

=

.
Любое повышение ранга может быть выполнено с помощью повторного использовании этой функции.
Операции переформирования.
Операции переформирования массивов могут быть необходимы при выполнении операций, над массивами, имеющими различные ранги и/или размерности, но одинаковое количество элементов.
Положим, что матрица

имеет ранг

и размерности

. Каждый элемент матрицы

, положим, занимает в памяти один байт. Напомним, что тогда описание

вводит

байтов памяти и функцию отображения, которая определяет положение элемента в памяти

.
В качестве примера операции переформирования рассмотрим операцию

, где

.
Операция

вводит новый массив с таким же количеством элементов, что и в массиве

, и новой функций отображения

.