How to use "eig" function in optimproblem?
4 views (last 30 days)
Show older comments
Tanvir Alam Shifat
on 6 Aug 2023
Commented: Alan Weiss
on 7 Aug 2023
I solving a Constrained Nonlinear Optimization problem using solve function. All the variables are matrices with different dimensions in the objective function. At one point, I need to check if a matrix is PSD or not by computing the eigenvalues. However, I canno use the eig command and getting this error, "Error using eig. Invalid data type. Input matrix must be double or single."
How can I compute eigenvalues for a OptimizationVariable data type? Thank you.
0 Comments
Accepted Answer
Bruno Luong
on 6 Aug 2023
Edited: Bruno Luong
on 6 Aug 2023
Put whatever you want to compute (with eig) in a standard matlab function (e.g., in an mfile) then use fcn2optimexpr to convert to problem-based expression
1 Comment
Alan Weiss
on 7 Aug 2023
FYI, the first example on the fcn2optimexpr page shows using the eig function in an optimization expression: https://www.mathworks.com/help/optim/ug/fcn2optimexpr.html#mw_61d4a415-ca9f-4343-83fb-46ac6b21da13 (search for eig, it is a long example with quite a few parts).
Alan Weiss
MATLAB mathematical toolbox documentation
More Answers (0)
See Also
Categories
Find more on Surrogate Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!