Если X
- общая матрица NxM
, то S=X*X'
- это сумма внешних произведений каждого из столбцов X
с ее транспонированием.Другими словами, запись X=[x1,x2,...,xM]
, S
может быть записана как
S = ∑_i x_i * x_i'
Полученная матрица S
неотрицательно определена (т. Е. Собственные значения не являются отрицательными).
Если вы рассматриваете каждый элемент в столбце X
как случайную величину (всего N
), а различные столбцы - как M
независимые наблюдения N
размерного случайного вектора, тогда S
- это NxN
образец ковариационной матрицы (отличается постоянной нормализацией в зависимости от ваших соглашений) строк.Точно так же S=X'*X
дает вам ковариационную матрицу MxM
столбцов.
Теперь, если вы начнете ограничивать универсальность и назначите специальные свойства для X
, то вы начнете видеть появление шаблоновдля структуры S
.Например, если X
является квадратом, имеет реальные записи и является ортогональным , то S=I
- единичная матрица.Если X
является квадратом, имеет сложные записи и является унитарной матрицей , то S
снова является единичной матрицей.
Не зная точных обстоятельств, при которых это использовалось в вашей программе, я бы предположил, что они вычисляли ковариационную матрицу.