В утилите VectorMatrixFunctions.mth имеется большое количество запрограммированных операторов-процедур для преобразования векторных и матричных операндов. После загрузки утилиты в память задачи эти процедуры вызываются на исполнение по имени. В их список параметров нужно подставлять необходимые фактические параметры. Имена самих процедур со списком параметров могут тоже являться фактическим параметром.
Среди существующего множества процедур можно выделить такие:
- OUTER(r, s) – возвращает результат в виде прямоугольной матрицы, соответствующей внешнему произведению двух матриц r и s . Например:
[r := [a1, a2, a3]; s := [b, c]]
h := OUTER(r, s)
h := [a1*b, a1*c; a2*b, a2*c; a3*b, a3*c]
- MINOR(A, i, j) – возвращает копию матрицы А, у которой удалены i–я строка и j–й столбец, то есть минор матрицы А.
- SWAP_ELEMENTS(v, i, j) – меняет местами i-тый и j-тый элементы вектора v.
Для сокращения длины записи иерархических структур создаваемых процедур удобно вместо предопределенных в утилитах имен операторов подставлять их свои оригинальные имена со списком параметров или без. Переопределение имени можно выполнить с помощью операции присваивания, например:
SWE (v, i, j):= SWAP_ELEMENTS(v, i, j)