Минимизируйте уравнение, используя opencv

Мне нужно решить следующее уравнение:

введите здесь описание изображения

Я знаю матрицу G, как мне найти матрицу p с учетом ||p|| = 1.

В настоящее время я решаю в opencv следующим образом:

Mat  w, u, EigenVectors;
SVD::compute(A, w, u, EigenVectors);
Mat p = EigenVectors.row(EigenVectors.rows-1);

Я хочу знать, как я могу обеспечить условие ||p|| = 1. Также я хочу знать significance and meaning of other rows/cols из EigenVectors (транспонированных)?


person Deepak    schedule 03.08.2016    source источник
comment
Другие собственные векторы соответствуют большим собственным значениям, поэтому они не минимизируют вашу целевую функцию.   -  person dhanushka    schedule 04.08.2016


Ответы (2)



Похоже, вам нужно использовать метод множителей Лагранжа.

Насколько я знаю, у OpenCV нет готовых инструментов для этого.

Хороший пример для MATLAB: Множители Лагранжа

person Andrey Smorodov    schedule 03.08.2016