How to use "eig" function in optimproblem?

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.

 Respuesta aceptada

Bruno Luong
Bruno Luong el 6 de Ag. de 2023
Editada: Bruno Luong el 6 de Ag. de 2023

0 votos

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 comentario

Alan Weiss
Alan Weiss el 7 de Ag. de 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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2023a

Preguntada:

el 6 de Ag. de 2023

Comentada:

el 7 de Ag. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by