1
$\begingroup$

How could I solve the following optimization problem using MATLAB or an other way?

Given ${E}^{1}, {A}^{21}, {A}^{22}, {C}^{1}, {A}^{12}$

$ \underset{{C}^{2}, {E}^{2}}{min} {\left \| {C}^{2}{E}^{1} - {A}^{21} \right \|}_{F}^{2} + {\left \| {C}^{2}{E}^{2} - {A}^{22} \right \|}_{F}^{2} + {\left \| {C}^{1}{E}^{2} - {A}^{12} \right \|}_{F}^{2} $

I know the approximated linear solution, assuming $ {A}^{22} $ is negligible is given by:

$ {C}^{2} = {A}^{21} {{E}^{1}}^{T} {\left( {E}^{1} {{E}^{1}}^{T} \right)}^{-1}, {E}^{2} = {\left( {\begin{bmatrix} {C}^{1}\\ {C}^{2} \end{bmatrix}}^{T} \begin{bmatrix} {C}^{1}\\ {C}^{2} \end{bmatrix} \right)}^{-1} {\begin{bmatrix} {C}^{1}\\ {C}^{2} \end{bmatrix}}^{T} \begin{bmatrix} {A}^{12}\\ {A}^{22} \end{bmatrix} $

Yet it would be nice to know how to solve it accurately. Thanks.

  • 0
    Note that , if you fix $E^2$(or $C^2$), you can exactly solve for $C^2$(or $E^2$). You can take an iterative approach to solving this. 1. Initialize $E^2$ arbitrarily 2. Solve for $C^2$, say $C^{'}_2$ 3. Set $C^2$ to $C^{'}_2$ 4. Solve for $E^2$, say $E^{'}_2$ 5. Set $E^2$ to $E^{'}_2$ 6. Goto Step 22012-08-09
  • 0
    Hi, I found a way to solve it as an Non Linear LS. The problem is computing the Jacobian of the Cost Function. See http://math.stackexchange.com/questions/180544/jacobian-of-bilinear-cost-function Thank You!2012-08-09
  • 0
    for the jacobian, note that $||A||_F = trace(A^{T}A)$. Now, use the matrix cookbook [1], to help get the derivatives. [1] http://lingpipe-blog.com/2011/02/03/the-matrix-cookbook/2012-08-09
  • 0
    The problem is when I use 'lsnonlin' in MATLAB it asks for the Jacobian where the input is a vector. Meaning the expression should be derived by every single item in C2 and E2. For instance, how do you derive the expression by $ {C}^{2}_{1, 1} $?2012-08-09
  • 0
    Derivative of a function always lies in the domain of the function. This means that the derivative of your objective has to be a matrix. If you want to translate this into a vector, then rewrite your objective function in terms of the individual matrix components. Then take derivative w.r.t each component.2012-08-09

2 Answers 2