В данном разделе приводятся исходные коды на С++ и Delphi, демонстрирующие порядок реализации алгоритмов обработки матричных данных на примере алгоритма наименьших квадратов LSM.

Алгоритм LSM имеет метод настройки Tune и метод вычисления Calc. Стандарт maCom требует, чтобы все методы сообщали управляющему ядру свою спецификацию — строковое описание структуры входных и выходных данных:

  Tune St|F, St|{goal} ->
  Calc Sc|F -> Sc|{y}

В данном случае спецификация означает следующее.

Метод настройки Tune имеет два обязательных входных аргумента размером St x F и St x 1 и ни одного выходного аргумента.

Метод вычисления Сalc имеет входную матрицу размером Sc x F и выходной вектор размером Sc x 1. Все размеры, имеющие одинаковое обозначение, должны совпадать. Например, в матрицах St|F и Sc|F должно совпадать число столбцов.

Спецификация накладывает ограничения на размерности и размеры матричных аргументов, но ничего не говорит об их смысле (семантике). Семантика полностью определяется разработчиком алгоритма и описывается в документации по алгоритму. В данном случае: Предполагается также, что алгоритм LSM хранит матричный параметр под именем coeff, содержащий настроенные коэффициенты линейной комбинации.

В примере используются классы-оболочки, скрывающие технические детали COM-программирования. Каждому из основных COM-интерфейсов соответствует класс-оболочка, за исключением ImaLibrary и ImaMethodDef, которым соответствуют классы-компоненты, непосредственно реализуемые разработчиком алгоритма.