Feasible way to find interpolating complex polynomial based on absolute value












0












$begingroup$


Consider a complex degree-$(n-1)$ polynomial $p(z) = sumlimits_{i=0}^{n-1} a_i z^i$.




  1. Given a number $0 < m < 2n$ of positions in the complex plane with absolute value requirements, i.e. $|p(z_j)| overset{!}{=} b_j$ (with $b_j geq 0$), is there a practical algorithm to find the coefficients $a_i$ such that $p(z)$ satisfies those requirements? In other words, is there a way to solve a complex polynomial interpolation problem based only on given absolute values, leaving the argument (angle) of the polynomial completely arbitrary at any point?

  2. How big can $m$ be for such an algorithm? In other words, how many degrees of freedom are gained by only specifying the absolute value instead of a "full" complex number consisting of an absolute value and an argument (angle)?










share|cite|improve this question











$endgroup$












  • $begingroup$
    I have never seen an exclamation point placed above an equality sign. What does this combination of symbols mean? In any case, have you tried writing your problem as a real system of non-linear equations for a small value of $n$?
    $endgroup$
    – Carl Christian
    Dec 10 '18 at 9:28










  • $begingroup$
    @CarlChristian My bad. This is indeed pretty nonstandard notation. It's supposed to mean "has to be equal to". It's basically still just an equality. I have tried writing the equation system out for a small n. The equations are not at all straightforward to solve, which is why I asked the question here. The best algorithms I have found so far that can actually solve this in a practical way are optimization algorithms (differential evolution etc.). Since these generally have exponential complexity, they do not scale well. My n is usually something like 1024.
    $endgroup$
    – Lasse
    Dec 11 '18 at 12:53










  • $begingroup$
    In truth, I do not see an alternative to doing a non-linear solve. I suspect that it will be important not to use square roots needlessly and solve $p_j bar{p}_j = b_j^2$. It might be useful to know what your specific application is.
    $endgroup$
    – Carl Christian
    Dec 11 '18 at 15:48
















0












$begingroup$


Consider a complex degree-$(n-1)$ polynomial $p(z) = sumlimits_{i=0}^{n-1} a_i z^i$.




  1. Given a number $0 < m < 2n$ of positions in the complex plane with absolute value requirements, i.e. $|p(z_j)| overset{!}{=} b_j$ (with $b_j geq 0$), is there a practical algorithm to find the coefficients $a_i$ such that $p(z)$ satisfies those requirements? In other words, is there a way to solve a complex polynomial interpolation problem based only on given absolute values, leaving the argument (angle) of the polynomial completely arbitrary at any point?

  2. How big can $m$ be for such an algorithm? In other words, how many degrees of freedom are gained by only specifying the absolute value instead of a "full" complex number consisting of an absolute value and an argument (angle)?










share|cite|improve this question











$endgroup$












  • $begingroup$
    I have never seen an exclamation point placed above an equality sign. What does this combination of symbols mean? In any case, have you tried writing your problem as a real system of non-linear equations for a small value of $n$?
    $endgroup$
    – Carl Christian
    Dec 10 '18 at 9:28










  • $begingroup$
    @CarlChristian My bad. This is indeed pretty nonstandard notation. It's supposed to mean "has to be equal to". It's basically still just an equality. I have tried writing the equation system out for a small n. The equations are not at all straightforward to solve, which is why I asked the question here. The best algorithms I have found so far that can actually solve this in a practical way are optimization algorithms (differential evolution etc.). Since these generally have exponential complexity, they do not scale well. My n is usually something like 1024.
    $endgroup$
    – Lasse
    Dec 11 '18 at 12:53










  • $begingroup$
    In truth, I do not see an alternative to doing a non-linear solve. I suspect that it will be important not to use square roots needlessly and solve $p_j bar{p}_j = b_j^2$. It might be useful to know what your specific application is.
    $endgroup$
    – Carl Christian
    Dec 11 '18 at 15:48














0












0








0





$begingroup$


Consider a complex degree-$(n-1)$ polynomial $p(z) = sumlimits_{i=0}^{n-1} a_i z^i$.




  1. Given a number $0 < m < 2n$ of positions in the complex plane with absolute value requirements, i.e. $|p(z_j)| overset{!}{=} b_j$ (with $b_j geq 0$), is there a practical algorithm to find the coefficients $a_i$ such that $p(z)$ satisfies those requirements? In other words, is there a way to solve a complex polynomial interpolation problem based only on given absolute values, leaving the argument (angle) of the polynomial completely arbitrary at any point?

  2. How big can $m$ be for such an algorithm? In other words, how many degrees of freedom are gained by only specifying the absolute value instead of a "full" complex number consisting of an absolute value and an argument (angle)?










share|cite|improve this question











$endgroup$




Consider a complex degree-$(n-1)$ polynomial $p(z) = sumlimits_{i=0}^{n-1} a_i z^i$.




  1. Given a number $0 < m < 2n$ of positions in the complex plane with absolute value requirements, i.e. $|p(z_j)| overset{!}{=} b_j$ (with $b_j geq 0$), is there a practical algorithm to find the coefficients $a_i$ such that $p(z)$ satisfies those requirements? In other words, is there a way to solve a complex polynomial interpolation problem based only on given absolute values, leaving the argument (angle) of the polynomial completely arbitrary at any point?

  2. How big can $m$ be for such an algorithm? In other words, how many degrees of freedom are gained by only specifying the absolute value instead of a "full" complex number consisting of an absolute value and an argument (angle)?







polynomials optimization numerical-methods interpolation nonlinear-system






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Dec 22 '18 at 15:44







Lasse

















asked Dec 9 '18 at 5:30









LasseLasse

12




12












  • $begingroup$
    I have never seen an exclamation point placed above an equality sign. What does this combination of symbols mean? In any case, have you tried writing your problem as a real system of non-linear equations for a small value of $n$?
    $endgroup$
    – Carl Christian
    Dec 10 '18 at 9:28










  • $begingroup$
    @CarlChristian My bad. This is indeed pretty nonstandard notation. It's supposed to mean "has to be equal to". It's basically still just an equality. I have tried writing the equation system out for a small n. The equations are not at all straightforward to solve, which is why I asked the question here. The best algorithms I have found so far that can actually solve this in a practical way are optimization algorithms (differential evolution etc.). Since these generally have exponential complexity, they do not scale well. My n is usually something like 1024.
    $endgroup$
    – Lasse
    Dec 11 '18 at 12:53










  • $begingroup$
    In truth, I do not see an alternative to doing a non-linear solve. I suspect that it will be important not to use square roots needlessly and solve $p_j bar{p}_j = b_j^2$. It might be useful to know what your specific application is.
    $endgroup$
    – Carl Christian
    Dec 11 '18 at 15:48


















  • $begingroup$
    I have never seen an exclamation point placed above an equality sign. What does this combination of symbols mean? In any case, have you tried writing your problem as a real system of non-linear equations for a small value of $n$?
    $endgroup$
    – Carl Christian
    Dec 10 '18 at 9:28










  • $begingroup$
    @CarlChristian My bad. This is indeed pretty nonstandard notation. It's supposed to mean "has to be equal to". It's basically still just an equality. I have tried writing the equation system out for a small n. The equations are not at all straightforward to solve, which is why I asked the question here. The best algorithms I have found so far that can actually solve this in a practical way are optimization algorithms (differential evolution etc.). Since these generally have exponential complexity, they do not scale well. My n is usually something like 1024.
    $endgroup$
    – Lasse
    Dec 11 '18 at 12:53










  • $begingroup$
    In truth, I do not see an alternative to doing a non-linear solve. I suspect that it will be important not to use square roots needlessly and solve $p_j bar{p}_j = b_j^2$. It might be useful to know what your specific application is.
    $endgroup$
    – Carl Christian
    Dec 11 '18 at 15:48
















$begingroup$
I have never seen an exclamation point placed above an equality sign. What does this combination of symbols mean? In any case, have you tried writing your problem as a real system of non-linear equations for a small value of $n$?
$endgroup$
– Carl Christian
Dec 10 '18 at 9:28




$begingroup$
I have never seen an exclamation point placed above an equality sign. What does this combination of symbols mean? In any case, have you tried writing your problem as a real system of non-linear equations for a small value of $n$?
$endgroup$
– Carl Christian
Dec 10 '18 at 9:28












$begingroup$
@CarlChristian My bad. This is indeed pretty nonstandard notation. It's supposed to mean "has to be equal to". It's basically still just an equality. I have tried writing the equation system out for a small n. The equations are not at all straightforward to solve, which is why I asked the question here. The best algorithms I have found so far that can actually solve this in a practical way are optimization algorithms (differential evolution etc.). Since these generally have exponential complexity, they do not scale well. My n is usually something like 1024.
$endgroup$
– Lasse
Dec 11 '18 at 12:53




$begingroup$
@CarlChristian My bad. This is indeed pretty nonstandard notation. It's supposed to mean "has to be equal to". It's basically still just an equality. I have tried writing the equation system out for a small n. The equations are not at all straightforward to solve, which is why I asked the question here. The best algorithms I have found so far that can actually solve this in a practical way are optimization algorithms (differential evolution etc.). Since these generally have exponential complexity, they do not scale well. My n is usually something like 1024.
$endgroup$
– Lasse
Dec 11 '18 at 12:53












$begingroup$
In truth, I do not see an alternative to doing a non-linear solve. I suspect that it will be important not to use square roots needlessly and solve $p_j bar{p}_j = b_j^2$. It might be useful to know what your specific application is.
$endgroup$
– Carl Christian
Dec 11 '18 at 15:48




$begingroup$
In truth, I do not see an alternative to doing a non-linear solve. I suspect that it will be important not to use square roots needlessly and solve $p_j bar{p}_j = b_j^2$. It might be useful to know what your specific application is.
$endgroup$
– Carl Christian
Dec 11 '18 at 15:48










1 Answer
1






active

oldest

votes


















0












$begingroup$

Considering the simple case of $n = 2$, it turns out to be rather trivial to find $m = 3$ conditions $|p(z_j)| overset{!}{=} b_j$ that no polynomial of degree $1$ can satisfy. Hence, $m$ can not be greater than $n$ in the general case. There are however some (not so rare) examples of conditions which can be satisfied.



For $m leq n$, the polynomial can easily be found by choosing a random argument (angle) for each $b_j$ and then solving the resulting system of linear equations. Since a polynomial only exists in some special cases when $m > n$, an algorithm to find that polynomial for arbitrary conditions cannot exist. There still might be a way to determine the space of conditions that yield a polynomial and a corresponding algorithm, though.






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%2f3032046%2ffeasible-way-to-find-interpolating-complex-polynomial-based-on-absolute-value%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









    0












    $begingroup$

    Considering the simple case of $n = 2$, it turns out to be rather trivial to find $m = 3$ conditions $|p(z_j)| overset{!}{=} b_j$ that no polynomial of degree $1$ can satisfy. Hence, $m$ can not be greater than $n$ in the general case. There are however some (not so rare) examples of conditions which can be satisfied.



    For $m leq n$, the polynomial can easily be found by choosing a random argument (angle) for each $b_j$ and then solving the resulting system of linear equations. Since a polynomial only exists in some special cases when $m > n$, an algorithm to find that polynomial for arbitrary conditions cannot exist. There still might be a way to determine the space of conditions that yield a polynomial and a corresponding algorithm, though.






    share|cite|improve this answer









    $endgroup$


















      0












      $begingroup$

      Considering the simple case of $n = 2$, it turns out to be rather trivial to find $m = 3$ conditions $|p(z_j)| overset{!}{=} b_j$ that no polynomial of degree $1$ can satisfy. Hence, $m$ can not be greater than $n$ in the general case. There are however some (not so rare) examples of conditions which can be satisfied.



      For $m leq n$, the polynomial can easily be found by choosing a random argument (angle) for each $b_j$ and then solving the resulting system of linear equations. Since a polynomial only exists in some special cases when $m > n$, an algorithm to find that polynomial for arbitrary conditions cannot exist. There still might be a way to determine the space of conditions that yield a polynomial and a corresponding algorithm, though.






      share|cite|improve this answer









      $endgroup$
















        0












        0








        0





        $begingroup$

        Considering the simple case of $n = 2$, it turns out to be rather trivial to find $m = 3$ conditions $|p(z_j)| overset{!}{=} b_j$ that no polynomial of degree $1$ can satisfy. Hence, $m$ can not be greater than $n$ in the general case. There are however some (not so rare) examples of conditions which can be satisfied.



        For $m leq n$, the polynomial can easily be found by choosing a random argument (angle) for each $b_j$ and then solving the resulting system of linear equations. Since a polynomial only exists in some special cases when $m > n$, an algorithm to find that polynomial for arbitrary conditions cannot exist. There still might be a way to determine the space of conditions that yield a polynomial and a corresponding algorithm, though.






        share|cite|improve this answer









        $endgroup$



        Considering the simple case of $n = 2$, it turns out to be rather trivial to find $m = 3$ conditions $|p(z_j)| overset{!}{=} b_j$ that no polynomial of degree $1$ can satisfy. Hence, $m$ can not be greater than $n$ in the general case. There are however some (not so rare) examples of conditions which can be satisfied.



        For $m leq n$, the polynomial can easily be found by choosing a random argument (angle) for each $b_j$ and then solving the resulting system of linear equations. Since a polynomial only exists in some special cases when $m > n$, an algorithm to find that polynomial for arbitrary conditions cannot exist. There still might be a way to determine the space of conditions that yield a polynomial and a corresponding algorithm, though.







        share|cite|improve this answer












        share|cite|improve this answer



        share|cite|improve this answer










        answered Dec 22 '18 at 15:59









        LasseLasse

        12




        12






























            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%2f3032046%2ffeasible-way-to-find-interpolating-complex-polynomial-based-on-absolute-value%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

            Quarter-circle Tiles

            build a pushdown automaton that recognizes the reverse language of a given pushdown automaton?

            Mont Emei