Solve for diagonal matrix D by minimizing the operator norm in Matlab

2 views (last 30 days)
Capture22.PNG
Say that the size of matrix is ​​576x576 and size of F is1296x576.
Which matlab function can I use to solve this problem?

Accepted Answer

Bruno Luong
Bruno Luong on 21 Dec 2018
fminunc, fmincon and family.
  8 Comments
Bruno Luong
Bruno Luong on 9 Jan 2019
Edited: Bruno Luong on 9 Jan 2019
No. The standard math definition of VECTORIZE the matrix is
v = M(:)
M = reshape(v,[m,m])
Here
v = diag(M)
M = diag(v)
This is NOT vectorize.
FMINCON don't do anything beside minimize an objective function that user defines and provides. In the case Torsen's code
norm(A-F'*diag(D)*F,2)
is matrix 2-norm (maximum singular value).
Torsten's code is correct and do not need any modification.
You however needs to read careful the doc of fminunc, diag, norm.

Sign in to comment.

More Answers (0)

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!