Minimization problem - matrix frobenius norm

Hey there, i am working on homework and i need to implement an algorithm from a paper. in the final stage, i have to smooth a matrix which represents movment of camera, (9xnumber of frames). this is done by fitting a 3 dim polynomial model, so if E is the camera matrix, i have to solve:
min ||C*E-C*K*B||
where K is 9*dim coeff matrix, and B is just the variable meshgridded: [1, 1^2, 1^3; 2 2^2 2^3;3 3^2 3^3] etc.
the norm is Frobenius norm. how can i solve this in matlab? i tried lsqnolin, it's working, but taking LONG time, and easily reaches memory limit with more than 400 frames.
Thanks

 채택된 답변

Matt J
Matt J 2015년 9월 26일
편집: Matt J 2015년 9월 26일

0 개 추천

So, we're solving for K? Since there are no constraints, it is a purely linear least squares problem and an analytical solution is available,
K=C\(C*E)/B
If the matrix C is square, nonsingular, this of course reduces to
K=E/B

댓글 수: 3

Matt J
Matt J 2015년 9월 26일
Comment by aviel nah
Hey, thanks, it seems you are correct, i was quite sure i cannot use least squares since i am trying to minimize a matrix norm, which is differend than the 2d euclidian norm on 1d vectors.
but how would you add masking to this equation? i mean, i actually forgot to write one matrix in the eq. which is a bit-wise masking matrix, so i am trying to minimize: |W.*(C*E-B*K*E)|. W is size of C*E. how would you add that into the ls solution?
Matt J
Matt J 2015년 9월 26일
편집: Matt J 2015년 9월 26일
i was quite sure i cannot use least squares since i am trying to minimize a matrix norm, which is differend than the 2d euclidian norm on 1d vectors.
The Frobenius norm is not an induced matrix norm, so it is actually very much the same. The problem can be rewritten in 1D vector form as follows
y=reshape(C*E,[],1);
A=kron(B.',C);
min ||A*k-y||
where k=K(:).
aviel nah
aviel nah 2015년 9월 27일
and can you also add the extra Matrix W? which is a binary masking matrix: min |W.*(C*E-C*K*B)|||?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Particle & Nuclear Physics에 대해 자세히 알아보기

질문:

2015년 9월 26일

댓글:

2015년 9월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by