Нормализация матрицы относительно ограничения - PullRequest
4 голосов
/ 11 декабря 2011

Я делаю проект, который требует от меня нормализации разреженной NxN матрицы. Я где-то читал, что мы можем нормализовать матрицу так, чтобы ее собственные значения лежали между [-1,1] путем умножения ее на диагональную матрицу D, такую, что N = D^{-1/2}*A*D^{-1/2}.

Но я не уверен, что D здесь. Кроме того, есть ли в Matlab функция, которая может выполнять эту нормализацию для разреженных матриц?

1 Ответ

3 голосов
/ 11 декабря 2011

Возможно, я неправильно понимаю ваш вопрос, но, поскольку он читает, он не имеет смысла для меня.

Матрица - это просто представление линейного преобразования. Учитывая, что матрица A соответствует линейному преобразованию T, любая матрица вида B^{-1} A B (называемая сопряженной A с помощью B) для обратимой матрицы B соответствует тому же преобразованию, представлены в разностной основе. В частности, собственные значения матрицы соответствуют собственным значениям линейного преобразования, поэтому сопряжение с помощью обратимой матрицы не может изменить собственные значения.

Возможно, вы имели в виду, что хотите масштабировать собственные векторы так, чтобы каждый имел единичную длину. Это обычная вещь, поскольку с тех пор собственные значения сообщают вам, насколько увеличился вектор единичной длины при преобразовании.

...