Calculation of the gradient of a function in BFGS Quasi-Newton Algorithm

4 Ansichten (letzte 30 Tage)
I have a function that I want to minimize using the BFGS Quasi-Newton algorithm.
If .
are given.
Also, A is given, B is not given, and C is a function of B only.
If I want to calculate to the gradient of the function (). Should I calculate it with respect to all variables or with respect to B only?

Akzeptierte Antwort

Matt J
Matt J am 27 Mai 2020
With respect to all the variables that are unknown.
  4 Kommentare
Ahmed Nasr
Ahmed Nasr am 28 Mai 2020
I have a constraint that B*C > 0 .. But, I usually in my algorithm code substitute C by its function of B and take the gradient over B only as after replacing C with its function of B, B is considered as the only unknown variable in the function. Is that true?
Matt J
Matt J am 28 Mai 2020
Bearbeitet: Matt J am 29 Mai 2020
It can be true. Or you can treat B and C as separate unknowns subject to an equality constraint,
C-g(B)=0
where g() is the function relating C to B. But it may make the optimization algorithm slower if it has to deal with additional variables and constraints.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by