Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

MATLAB Linear Algebra problem solved in MATLAB

  1. Jul 3, 2012 #1

    My question is to with a specific Linear Algebra problem being solved in MATLAB:

    [1 2]Y_I = 3 ------------ (i), Y_I1 > 0 , Y_I2 > 0; where Y_I = [Y_I1 Y_I2]^T is the unknown to be found in the above equation (^T stands for transpose of a vector).

    Let A_I = [1 2] and b= 3. Thus we have A_I Y_I = b. A_I is not invertible.

    (i) has infinite solutions, subject to the constraints specified. This problem can be solved by framing the following LMI's:

    Minimize v
    Subject to

    ||A_I Y_I - b|| < v

    Y_I1 > 0

    Y_I2 > 0

    || . || stands for Euclidean 2-norm. Because this is in convex optimization framework, the Schur's compliment Lemma can be applied to the first LMI and thus the LMI's to be solved are:

    [v* I (A_I Y_I - b)^T;(A_I Y_I - b) I] > 0 ------ (ii)

    Y_I1 > 0 ------- (iii)

    Y_I2 > 0 ------ (iv)

    I represents Identity matrix. v, Y_I are the LMI variables.

    If I solve the above LMI's, MATLAB will give one out of infinite solutions. E.g., for the specified A_I, MATLAB gives Y_I = [2.2808 0.3596]^T. It is important to note that MATLAB ALWAYS outputs the same solution for the give A_I.

    Upon manipulation, (i) can be written as: [10 20]Y_I = 30 ---- (v) Y_I1 > 0, Y_I2 > 0. If (v) is solved by framing the appropriate LMIs, MATLAB outputs Y_I = [0.5827 1.2086]^T.

    Thus by changing the coefficients of Y_I and the RHS constant, I get different solutions. The coefficients can be altered in infinite different ways.

    So I have the following questions:

    1. What algorithm does MATLAB use to solve this problem. How is this algorithm giving different results each time?

    2. I do not think the results will vary with the algorithm being used. The results are different because of some concept in Linear Algebra itself. It has to do with how the problems of the kind Ax = b are solved (subject to constraints). If anyone knows better, please throw some light on what concept I am missing and why I am getting a different solution with different coefficients.

    Any inputs are appreciated. Thanks.
  2. jcsd
  3. Jul 3, 2012 #2


    User Avatar
    Science Advisor

    Hey mihir_iit and welcome to the forums.

    I'm just wondering if you are looking at the Optimization toolbox for MATLAB, so that you can use the most appropriate tool given the generality of your constraints. The mathworks site gives this good reference which I think you'll find very useful:

Share this great discussion with others via Reddit, Google+, Twitter, or Facebook