У меня возникла такая проблема. Я реализую алгоритм глобальной оптимизации и на первом этапе у меня есть задача КП

, где Q симметричная матрица, при ограничения

. Далее по алгоритму надо использовать метод Гаусса или процедуру диагонализации Rosen (возможно в этом алгоритме имеется ввиду приведение к каноническому виду, при квадратах 1). Тогда мы получим эквивалентную задачу

, где D диагональная матрица, при ограничения

.
Вопрос в том каким образом применить диагонализацию для квадратичной формы и не изменится ли при этом оптимальное решение задачи?Если знает Matlab подскажите функцию реализующую это.[/url]