Minimizing $ell^infty$ norm of complex vector












5












$begingroup$


I have an $n$-dimensional complex vector space, and I want to minimize the $L_infty$ norm of a point that is constrained to an $m$-dimensional affine subspace. That is,



Given $mathbf{z} in mathbb{C}^n$ and $mathbf{M}inmathbb{C}^{ntimes m}$, find $underset{mathbf xinmathbb{C}^m}{argmin} |mathbf{z}+mathbf{M}mathbf{x}|_infty$.



The columns of $mathbf{M}$ are orthonormal with $mathbf{M}^*mathbf{M}=mathbf{I}$, and $mathbf{M}^*mathbf{z} = mathbf{0}$. In my application, the columns of $mathbf{M}$ are taken from an $ntimes n$ Fourier matrix in such a way that $mathbf{M}mathbf{M}^*$ is real symmetric.



One approach is to require $left|(mathbf{z}+mathbf{M}mathbf{x})_iright| le lambda$ and minimize the upper bound $lambda$. In the case where all of the variables are real, this gives a linear program. In the problem as posed, we can square both sides and rename the upper bound variable to get $min{Lambda} text{ s.t. }forall i, left|(mathbf{z}+mathbf{M}mathbf{x})_iright|^2 le lambda^2 triangleq Lambda$, which corresponds to a quadratically-constrained linear program. Taking the Lagrange dual leads (if I am not mistaken) to



$max_u inf_{Lambda,mathbf{x}} left( Lambda + sum_{j=1}^n u_j (left|(mathbf{z} + mathbf{M} mathbf{x})_jright|^2 - Lambda) right)$ s.t. $u_i ge 0$,



which evaluates to



$max_u sum_{j=1}^n u_j left|(mathbf{z} - mathbf{M} mathbf{M}^* mathbf{U}^+ mathbf{M} mathbf{M}^* mathbf{U} mathbf{z})_jright|^2$ s.t. $u_i ge 0, sum_{i=1}^n u_i = 1$, where $U_{ij}=delta_{ij} u_i$.



The pseudo-inverse came from solving the expression $-mathbf{M}^* mathbf{U} mathbf{z} = mathbf{M}^* mathbf{U} mathbf{M} mathbf{x}$ (which arises while infimizing the Lagrange dual function). I think the idea is that $n-m$ of the $u_i$ will be zero, so that the expression becomes feasible. That makes sense from a complementary slackness perspective.



I've tried plowing through the remaining maximization. However, I didn't gain any insight, and I don't see how to deal with the non-differentiability of the pseudo-inverse around $u_i=0$. Is this the point where I should just throw gradient ascent at the dual problem and hope for the best? Or is there a better way? Thanks for any pointers.










share|cite|improve this question











$endgroup$








  • 1




    $begingroup$
    if you are not particularly looking for a closed solution, you can solve it using a convex package. Minimizing the $l-infty$ norm is a standard problem and it is done using Second Order Cone Programming. Please look at this link google.com/…
    $endgroup$
    – dineshdileep
    Feb 22 '13 at 10:49
















5












$begingroup$


I have an $n$-dimensional complex vector space, and I want to minimize the $L_infty$ norm of a point that is constrained to an $m$-dimensional affine subspace. That is,



Given $mathbf{z} in mathbb{C}^n$ and $mathbf{M}inmathbb{C}^{ntimes m}$, find $underset{mathbf xinmathbb{C}^m}{argmin} |mathbf{z}+mathbf{M}mathbf{x}|_infty$.



The columns of $mathbf{M}$ are orthonormal with $mathbf{M}^*mathbf{M}=mathbf{I}$, and $mathbf{M}^*mathbf{z} = mathbf{0}$. In my application, the columns of $mathbf{M}$ are taken from an $ntimes n$ Fourier matrix in such a way that $mathbf{M}mathbf{M}^*$ is real symmetric.



One approach is to require $left|(mathbf{z}+mathbf{M}mathbf{x})_iright| le lambda$ and minimize the upper bound $lambda$. In the case where all of the variables are real, this gives a linear program. In the problem as posed, we can square both sides and rename the upper bound variable to get $min{Lambda} text{ s.t. }forall i, left|(mathbf{z}+mathbf{M}mathbf{x})_iright|^2 le lambda^2 triangleq Lambda$, which corresponds to a quadratically-constrained linear program. Taking the Lagrange dual leads (if I am not mistaken) to



$max_u inf_{Lambda,mathbf{x}} left( Lambda + sum_{j=1}^n u_j (left|(mathbf{z} + mathbf{M} mathbf{x})_jright|^2 - Lambda) right)$ s.t. $u_i ge 0$,



which evaluates to



$max_u sum_{j=1}^n u_j left|(mathbf{z} - mathbf{M} mathbf{M}^* mathbf{U}^+ mathbf{M} mathbf{M}^* mathbf{U} mathbf{z})_jright|^2$ s.t. $u_i ge 0, sum_{i=1}^n u_i = 1$, where $U_{ij}=delta_{ij} u_i$.



The pseudo-inverse came from solving the expression $-mathbf{M}^* mathbf{U} mathbf{z} = mathbf{M}^* mathbf{U} mathbf{M} mathbf{x}$ (which arises while infimizing the Lagrange dual function). I think the idea is that $n-m$ of the $u_i$ will be zero, so that the expression becomes feasible. That makes sense from a complementary slackness perspective.



I've tried plowing through the remaining maximization. However, I didn't gain any insight, and I don't see how to deal with the non-differentiability of the pseudo-inverse around $u_i=0$. Is this the point where I should just throw gradient ascent at the dual problem and hope for the best? Or is there a better way? Thanks for any pointers.










share|cite|improve this question











$endgroup$








  • 1




    $begingroup$
    if you are not particularly looking for a closed solution, you can solve it using a convex package. Minimizing the $l-infty$ norm is a standard problem and it is done using Second Order Cone Programming. Please look at this link google.com/…
    $endgroup$
    – dineshdileep
    Feb 22 '13 at 10:49














5












5








5


5



$begingroup$


I have an $n$-dimensional complex vector space, and I want to minimize the $L_infty$ norm of a point that is constrained to an $m$-dimensional affine subspace. That is,



Given $mathbf{z} in mathbb{C}^n$ and $mathbf{M}inmathbb{C}^{ntimes m}$, find $underset{mathbf xinmathbb{C}^m}{argmin} |mathbf{z}+mathbf{M}mathbf{x}|_infty$.



The columns of $mathbf{M}$ are orthonormal with $mathbf{M}^*mathbf{M}=mathbf{I}$, and $mathbf{M}^*mathbf{z} = mathbf{0}$. In my application, the columns of $mathbf{M}$ are taken from an $ntimes n$ Fourier matrix in such a way that $mathbf{M}mathbf{M}^*$ is real symmetric.



One approach is to require $left|(mathbf{z}+mathbf{M}mathbf{x})_iright| le lambda$ and minimize the upper bound $lambda$. In the case where all of the variables are real, this gives a linear program. In the problem as posed, we can square both sides and rename the upper bound variable to get $min{Lambda} text{ s.t. }forall i, left|(mathbf{z}+mathbf{M}mathbf{x})_iright|^2 le lambda^2 triangleq Lambda$, which corresponds to a quadratically-constrained linear program. Taking the Lagrange dual leads (if I am not mistaken) to



$max_u inf_{Lambda,mathbf{x}} left( Lambda + sum_{j=1}^n u_j (left|(mathbf{z} + mathbf{M} mathbf{x})_jright|^2 - Lambda) right)$ s.t. $u_i ge 0$,



which evaluates to



$max_u sum_{j=1}^n u_j left|(mathbf{z} - mathbf{M} mathbf{M}^* mathbf{U}^+ mathbf{M} mathbf{M}^* mathbf{U} mathbf{z})_jright|^2$ s.t. $u_i ge 0, sum_{i=1}^n u_i = 1$, where $U_{ij}=delta_{ij} u_i$.



The pseudo-inverse came from solving the expression $-mathbf{M}^* mathbf{U} mathbf{z} = mathbf{M}^* mathbf{U} mathbf{M} mathbf{x}$ (which arises while infimizing the Lagrange dual function). I think the idea is that $n-m$ of the $u_i$ will be zero, so that the expression becomes feasible. That makes sense from a complementary slackness perspective.



I've tried plowing through the remaining maximization. However, I didn't gain any insight, and I don't see how to deal with the non-differentiability of the pseudo-inverse around $u_i=0$. Is this the point where I should just throw gradient ascent at the dual problem and hope for the best? Or is there a better way? Thanks for any pointers.










share|cite|improve this question











$endgroup$




I have an $n$-dimensional complex vector space, and I want to minimize the $L_infty$ norm of a point that is constrained to an $m$-dimensional affine subspace. That is,



Given $mathbf{z} in mathbb{C}^n$ and $mathbf{M}inmathbb{C}^{ntimes m}$, find $underset{mathbf xinmathbb{C}^m}{argmin} |mathbf{z}+mathbf{M}mathbf{x}|_infty$.



The columns of $mathbf{M}$ are orthonormal with $mathbf{M}^*mathbf{M}=mathbf{I}$, and $mathbf{M}^*mathbf{z} = mathbf{0}$. In my application, the columns of $mathbf{M}$ are taken from an $ntimes n$ Fourier matrix in such a way that $mathbf{M}mathbf{M}^*$ is real symmetric.



One approach is to require $left|(mathbf{z}+mathbf{M}mathbf{x})_iright| le lambda$ and minimize the upper bound $lambda$. In the case where all of the variables are real, this gives a linear program. In the problem as posed, we can square both sides and rename the upper bound variable to get $min{Lambda} text{ s.t. }forall i, left|(mathbf{z}+mathbf{M}mathbf{x})_iright|^2 le lambda^2 triangleq Lambda$, which corresponds to a quadratically-constrained linear program. Taking the Lagrange dual leads (if I am not mistaken) to



$max_u inf_{Lambda,mathbf{x}} left( Lambda + sum_{j=1}^n u_j (left|(mathbf{z} + mathbf{M} mathbf{x})_jright|^2 - Lambda) right)$ s.t. $u_i ge 0$,



which evaluates to



$max_u sum_{j=1}^n u_j left|(mathbf{z} - mathbf{M} mathbf{M}^* mathbf{U}^+ mathbf{M} mathbf{M}^* mathbf{U} mathbf{z})_jright|^2$ s.t. $u_i ge 0, sum_{i=1}^n u_i = 1$, where $U_{ij}=delta_{ij} u_i$.



The pseudo-inverse came from solving the expression $-mathbf{M}^* mathbf{U} mathbf{z} = mathbf{M}^* mathbf{U} mathbf{M} mathbf{x}$ (which arises while infimizing the Lagrange dual function). I think the idea is that $n-m$ of the $u_i$ will be zero, so that the expression becomes feasible. That makes sense from a complementary slackness perspective.



I've tried plowing through the remaining maximization. However, I didn't gain any insight, and I don't see how to deal with the non-differentiability of the pseudo-inverse around $u_i=0$. Is this the point where I should just throw gradient ascent at the dual problem and hope for the best? Or is there a better way? Thanks for any pointers.







complex-numbers convex-optimization






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Jan 5 at 18:45









A.Γ.

22.6k32656




22.6k32656










asked Feb 14 '13 at 8:58









iannucciiannucci

664




664








  • 1




    $begingroup$
    if you are not particularly looking for a closed solution, you can solve it using a convex package. Minimizing the $l-infty$ norm is a standard problem and it is done using Second Order Cone Programming. Please look at this link google.com/…
    $endgroup$
    – dineshdileep
    Feb 22 '13 at 10:49














  • 1




    $begingroup$
    if you are not particularly looking for a closed solution, you can solve it using a convex package. Minimizing the $l-infty$ norm is a standard problem and it is done using Second Order Cone Programming. Please look at this link google.com/…
    $endgroup$
    – dineshdileep
    Feb 22 '13 at 10:49








1




1




$begingroup$
if you are not particularly looking for a closed solution, you can solve it using a convex package. Minimizing the $l-infty$ norm is a standard problem and it is done using Second Order Cone Programming. Please look at this link google.com/…
$endgroup$
– dineshdileep
Feb 22 '13 at 10:49




$begingroup$
if you are not particularly looking for a closed solution, you can solve it using a convex package. Minimizing the $l-infty$ norm is a standard problem and it is done using Second Order Cone Programming. Please look at this link google.com/…
$endgroup$
– dineshdileep
Feb 22 '13 at 10:49










1 Answer
1






active

oldest

votes


















2












$begingroup$

Thanks for showing interest; too bad nobody has a nice answer! My stop-gap solution was to do gradient descent on the smooth function $sum_i |(mathbf{z}+mathbf{Mx})_i|^p$ for $p=20$. The runtime of this method is not what I would prefer, but it works.



I spoke briefly with Prof. Demanet at MIT, and got a pointer towards proximal iteration techniques for non-smooth optimization. I haven't figured out how to compute the proximal mapping of the constrained complex $L_infty$ norm, though the unconstrained version (e.g. the solution is zero) has a very elegant mapping.



Another possible solution is second-order cone programming, as suggested in example 2.2.b. of F. Alizadeh, D. Goldfarb, "Cone Programming". I am hoping to learn how well this works when the library finishes compiling.



[Edit -- did not spot the comment by dineshdileep until just now. Thank you!]






share|cite|improve this answer









$endgroup$













    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "69"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    noCode: true, onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f303852%2fminimizing-ell-infty-norm-of-complex-vector%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2












    $begingroup$

    Thanks for showing interest; too bad nobody has a nice answer! My stop-gap solution was to do gradient descent on the smooth function $sum_i |(mathbf{z}+mathbf{Mx})_i|^p$ for $p=20$. The runtime of this method is not what I would prefer, but it works.



    I spoke briefly with Prof. Demanet at MIT, and got a pointer towards proximal iteration techniques for non-smooth optimization. I haven't figured out how to compute the proximal mapping of the constrained complex $L_infty$ norm, though the unconstrained version (e.g. the solution is zero) has a very elegant mapping.



    Another possible solution is second-order cone programming, as suggested in example 2.2.b. of F. Alizadeh, D. Goldfarb, "Cone Programming". I am hoping to learn how well this works when the library finishes compiling.



    [Edit -- did not spot the comment by dineshdileep until just now. Thank you!]






    share|cite|improve this answer









    $endgroup$


















      2












      $begingroup$

      Thanks for showing interest; too bad nobody has a nice answer! My stop-gap solution was to do gradient descent on the smooth function $sum_i |(mathbf{z}+mathbf{Mx})_i|^p$ for $p=20$. The runtime of this method is not what I would prefer, but it works.



      I spoke briefly with Prof. Demanet at MIT, and got a pointer towards proximal iteration techniques for non-smooth optimization. I haven't figured out how to compute the proximal mapping of the constrained complex $L_infty$ norm, though the unconstrained version (e.g. the solution is zero) has a very elegant mapping.



      Another possible solution is second-order cone programming, as suggested in example 2.2.b. of F. Alizadeh, D. Goldfarb, "Cone Programming". I am hoping to learn how well this works when the library finishes compiling.



      [Edit -- did not spot the comment by dineshdileep until just now. Thank you!]






      share|cite|improve this answer









      $endgroup$
















        2












        2








        2





        $begingroup$

        Thanks for showing interest; too bad nobody has a nice answer! My stop-gap solution was to do gradient descent on the smooth function $sum_i |(mathbf{z}+mathbf{Mx})_i|^p$ for $p=20$. The runtime of this method is not what I would prefer, but it works.



        I spoke briefly with Prof. Demanet at MIT, and got a pointer towards proximal iteration techniques for non-smooth optimization. I haven't figured out how to compute the proximal mapping of the constrained complex $L_infty$ norm, though the unconstrained version (e.g. the solution is zero) has a very elegant mapping.



        Another possible solution is second-order cone programming, as suggested in example 2.2.b. of F. Alizadeh, D. Goldfarb, "Cone Programming". I am hoping to learn how well this works when the library finishes compiling.



        [Edit -- did not spot the comment by dineshdileep until just now. Thank you!]






        share|cite|improve this answer









        $endgroup$



        Thanks for showing interest; too bad nobody has a nice answer! My stop-gap solution was to do gradient descent on the smooth function $sum_i |(mathbf{z}+mathbf{Mx})_i|^p$ for $p=20$. The runtime of this method is not what I would prefer, but it works.



        I spoke briefly with Prof. Demanet at MIT, and got a pointer towards proximal iteration techniques for non-smooth optimization. I haven't figured out how to compute the proximal mapping of the constrained complex $L_infty$ norm, though the unconstrained version (e.g. the solution is zero) has a very elegant mapping.



        Another possible solution is second-order cone programming, as suggested in example 2.2.b. of F. Alizadeh, D. Goldfarb, "Cone Programming". I am hoping to learn how well this works when the library finishes compiling.



        [Edit -- did not spot the comment by dineshdileep until just now. Thank you!]







        share|cite|improve this answer












        share|cite|improve this answer



        share|cite|improve this answer










        answered Feb 25 '13 at 14:29









        iannucciiannucci

        664




        664






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Mathematics Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f303852%2fminimizing-ell-infty-norm-of-complex-vector%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            1300-talet

            1300-talet

            Display a custom attribute below product name in the front-end Magento 1.9.3.8