Алгоритм 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
должно совпадать число столбцов.
Спецификация накладывает ограничения на размерности и размеры матричных аргументов, но ничего не говорит об их смысле (семантике). Семантика полностью определяется разработчиком алгоритма и описывается в документации по алгоритму. В данном случае:
-
St
— длина обучающей выборки, -
Sc
— длина рабочей выборки, -
F
— число базисных признаков, -
goal
— целевой признак, -
y
— результат аппроксимации целевого признака.
coeff
,
содержащий настроенные коэффициенты линейной комбинации.
В примере используются классы-оболочки, скрывающие технические детали COM-программирования. Каждому из основных COM-интерфейсов соответствует класс-оболочка, за исключением ImaLibrary и ImaMethodDef, которым соответствуют классы-компоненты, непосредственно реализуемые разработчиком алгоритма.