How to find image of a complex function with given constraints? The Next CEO of Stack OverflowDraw the image of a complex regionFinding residues of multi-dimensional complex functionsMulti-dimensional integral in the complex plane with poles and essential singularityPlotting a set of points given by a complex expressionFind regions in which the roots of a third degree polynomial are realHow to find function existence borderPerformance of Apart with complex numbersUsing MaxValue with complex argumentHow to maximize the modulus of a multivariate complex-valued function?Defining 3rd variable for parametricplot3D of two-variable complex functionHow to achieve faster performance on plotting complex valued functions

How to set page number in right side in chapter title page?

Do I need to write [sic] when including a quotation with a number less than 10 that isn't written out?

Prepend last line of stdin to entire stdin

Does Germany produce more waste than the US?

Yu-Gi-Oh cards in Python 3

My ex-girlfriend uses my Apple ID to login to her iPad, do I have to give her my Apple ID password to reset it?

What steps are necessary to read a Modern SSD in Medieval Europe?

Example of a Mathematician/Physicist whose Other Publications during their PhD eclipsed their PhD Thesis

Help! I cannot understand this game’s notations!

What day is it again?

Is there a difference between "Fahrstuhl" and "Aufzug"?

Lucky Feat: How can "more than one creature spend a luck point to influence the outcome of a roll"?

How did Beeri the Hittite come up with naming his daughter Yehudit?

Are the names of these months realistic?

Can Sneak Attack be used when hitting with an improvised weapon?

what's the use of '% to gdp' type of variables?

Is a distribution that is normal, but highly skewed, considered Gaussian?

Can I use the word “Senior” as part of a job title directly in German?

Is French Guiana a (hard) EU border?

Do scriptures give a method to recognize a truly self-realized person/jivanmukta?

Can I board the first leg of the flight without having final country's visa?

Towers in the ocean; How deep can they be built?

What connection does MS Office have to Netscape Navigator?

How to get the last not-null value in an ordered column of a huge table?



How to find image of a complex function with given constraints?



The Next CEO of Stack OverflowDraw the image of a complex regionFinding residues of multi-dimensional complex functionsMulti-dimensional integral in the complex plane with poles and essential singularityPlotting a set of points given by a complex expressionFind regions in which the roots of a third degree polynomial are realHow to find function existence borderPerformance of Apart with complex numbersUsing MaxValue with complex argumentHow to maximize the modulus of a multivariate complex-valued function?Defining 3rd variable for parametricplot3D of two-variable complex functionHow to achieve faster performance on plotting complex valued functions










2












$begingroup$


I am very new to Mathematica. I have started learning it only last month. I would like to graph the image of some complex valued polynomials with some provided conditions. For example: $$ p(z_1,z_2,z_3)=z_1z_2^2 +z_2z_3+z_1z_3,$$ given that $|z_1|=1, |z_2|=2=|z_3|$.










share|improve this question









New contributor




XYZABC is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$







  • 1




    $begingroup$
    mathematica.stackexchange.com/questions/30687/…
    $endgroup$
    – Alrubaie
    5 hours ago










  • $begingroup$
    Possible duplicate of Draw the image of a complex region
    $endgroup$
    – MarcoB
    4 hours ago






  • 1




    $begingroup$
    Do you want to draw the image or do you want a symbolic-algebraic description of the image?
    $endgroup$
    – Michael E2
    3 hours ago






  • 1




    $begingroup$
    People here generally like users to post code as Mathematica code instead of just images or TeX, so they can copy-paste it. It makes it convenient for them and more likely you will get someone to help you. You may find this meta Q&A helpful
    $endgroup$
    – Michael E2
    3 hours ago










  • $begingroup$
    @Michael E2, Great point! I've updated my answer to include the algebraic description as well. Thank you!
    $endgroup$
    – mjw
    2 hours ago















2












$begingroup$


I am very new to Mathematica. I have started learning it only last month. I would like to graph the image of some complex valued polynomials with some provided conditions. For example: $$ p(z_1,z_2,z_3)=z_1z_2^2 +z_2z_3+z_1z_3,$$ given that $|z_1|=1, |z_2|=2=|z_3|$.










share|improve this question









New contributor




XYZABC is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$







  • 1




    $begingroup$
    mathematica.stackexchange.com/questions/30687/…
    $endgroup$
    – Alrubaie
    5 hours ago










  • $begingroup$
    Possible duplicate of Draw the image of a complex region
    $endgroup$
    – MarcoB
    4 hours ago






  • 1




    $begingroup$
    Do you want to draw the image or do you want a symbolic-algebraic description of the image?
    $endgroup$
    – Michael E2
    3 hours ago






  • 1




    $begingroup$
    People here generally like users to post code as Mathematica code instead of just images or TeX, so they can copy-paste it. It makes it convenient for them and more likely you will get someone to help you. You may find this meta Q&A helpful
    $endgroup$
    – Michael E2
    3 hours ago










  • $begingroup$
    @Michael E2, Great point! I've updated my answer to include the algebraic description as well. Thank you!
    $endgroup$
    – mjw
    2 hours ago













2












2








2





$begingroup$


I am very new to Mathematica. I have started learning it only last month. I would like to graph the image of some complex valued polynomials with some provided conditions. For example: $$ p(z_1,z_2,z_3)=z_1z_2^2 +z_2z_3+z_1z_3,$$ given that $|z_1|=1, |z_2|=2=|z_3|$.










share|improve this question









New contributor




XYZABC is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$




I am very new to Mathematica. I have started learning it only last month. I would like to graph the image of some complex valued polynomials with some provided conditions. For example: $$ p(z_1,z_2,z_3)=z_1z_2^2 +z_2z_3+z_1z_3,$$ given that $|z_1|=1, |z_2|=2=|z_3|$.







complex






share|improve this question









New contributor




XYZABC is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




XYZABC is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 3 hours ago









Henrik Schumacher

58.6k581162




58.6k581162






New contributor




XYZABC is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 6 hours ago









XYZABCXYZABC

1111




1111




New contributor




XYZABC is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





XYZABC is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






XYZABC is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 1




    $begingroup$
    mathematica.stackexchange.com/questions/30687/…
    $endgroup$
    – Alrubaie
    5 hours ago










  • $begingroup$
    Possible duplicate of Draw the image of a complex region
    $endgroup$
    – MarcoB
    4 hours ago






  • 1




    $begingroup$
    Do you want to draw the image or do you want a symbolic-algebraic description of the image?
    $endgroup$
    – Michael E2
    3 hours ago






  • 1




    $begingroup$
    People here generally like users to post code as Mathematica code instead of just images or TeX, so they can copy-paste it. It makes it convenient for them and more likely you will get someone to help you. You may find this meta Q&A helpful
    $endgroup$
    – Michael E2
    3 hours ago










  • $begingroup$
    @Michael E2, Great point! I've updated my answer to include the algebraic description as well. Thank you!
    $endgroup$
    – mjw
    2 hours ago












  • 1




    $begingroup$
    mathematica.stackexchange.com/questions/30687/…
    $endgroup$
    – Alrubaie
    5 hours ago










  • $begingroup$
    Possible duplicate of Draw the image of a complex region
    $endgroup$
    – MarcoB
    4 hours ago






  • 1




    $begingroup$
    Do you want to draw the image or do you want a symbolic-algebraic description of the image?
    $endgroup$
    – Michael E2
    3 hours ago






  • 1




    $begingroup$
    People here generally like users to post code as Mathematica code instead of just images or TeX, so they can copy-paste it. It makes it convenient for them and more likely you will get someone to help you. You may find this meta Q&A helpful
    $endgroup$
    – Michael E2
    3 hours ago










  • $begingroup$
    @Michael E2, Great point! I've updated my answer to include the algebraic description as well. Thank you!
    $endgroup$
    – mjw
    2 hours ago







1




1




$begingroup$
mathematica.stackexchange.com/questions/30687/…
$endgroup$
– Alrubaie
5 hours ago




$begingroup$
mathematica.stackexchange.com/questions/30687/…
$endgroup$
– Alrubaie
5 hours ago












$begingroup$
Possible duplicate of Draw the image of a complex region
$endgroup$
– MarcoB
4 hours ago




$begingroup$
Possible duplicate of Draw the image of a complex region
$endgroup$
– MarcoB
4 hours ago




1




1




$begingroup$
Do you want to draw the image or do you want a symbolic-algebraic description of the image?
$endgroup$
– Michael E2
3 hours ago




$begingroup$
Do you want to draw the image or do you want a symbolic-algebraic description of the image?
$endgroup$
– Michael E2
3 hours ago




1




1




$begingroup$
People here generally like users to post code as Mathematica code instead of just images or TeX, so they can copy-paste it. It makes it convenient for them and more likely you will get someone to help you. You may find this meta Q&A helpful
$endgroup$
– Michael E2
3 hours ago




$begingroup$
People here generally like users to post code as Mathematica code instead of just images or TeX, so they can copy-paste it. It makes it convenient for them and more likely you will get someone to help you. You may find this meta Q&A helpful
$endgroup$
– Michael E2
3 hours ago












$begingroup$
@Michael E2, Great point! I've updated my answer to include the algebraic description as well. Thank you!
$endgroup$
– mjw
2 hours ago




$begingroup$
@Michael E2, Great point! I've updated my answer to include the algebraic description as well. Thank you!
$endgroup$
– mjw
2 hours ago










3 Answers
3






active

oldest

votes


















2












$begingroup$

On the boundary of the image the Jacobian will be singular:



Clear[r, s, t];
Block[z1 = Exp[I r], z2 = 2 Exp[I s], z3 = 2 Exp[I t],
expr = ComplexExpand[ReIm[z1 z2^2 + z2 z3 + z1 z3]]
]
(*
4 Cos[r + 2 s] + 2 Cos[r + t] + 4 Cos[s + t],
4 Sin[r + 2 s] + 2 Sin[r + t] + 4 Sin[s + t]
*)

D[expr, r, s, t]; (* Jacobian is 2 x 3 *)
Equal @@ Divide @@ % // Simplify (* It's singular if the rows are proportional *)
sub = r + t -> u, s + t -> v, r + 2 s -> w;
% /. sub // Simplify
(* Solve cannot solve the system, unless we cut it into bite-size pieces *)
solv = Solve[%[[;; 2]], v] /. C[1] -> 0;
%%[[2 ;;]] /. % // Simplify;
solu = Solve[#, u] & /@ %;
(*
-((2 Sin[r + 2 s] + Sin[r + t])/(2 Cos[r + 2 s] + Cos[r + t])) ==
-((2 Sin[r + 2 s] + Sin[s + t])/(2 Cos[r + 2 s] + Cos[s + t])) ==
-((Sin[r + t] + 2 Sin[s + t])/(Cos[r + t] + 2 Cos[s + t]))

-((Sin[u] + 2 Sin[w])/(Cos[u] + 2 Cos[w])) ==
-((Sin[v] + 2 Sin[w])/(Cos[v] + 2 Cos[w])) ==
-((Sin[u] + 2 Sin[v])/(Cos[u] + 2 Cos[v]))
*)

(* fix sub so that it works on a general expression *)
invsub = First@ Solve[Equal @@@ sub, u, v, w];
sub = First@ Solve[Equal @@@ invsub, r, s, t];
(* some u solutions are complex *)
realu = List /@ Cases[Flatten@solu, _?(FreeQ[#, Complex] &)];

boundaries = PiecewiseExpand /@
Simplify[
TrigExpand@Simplify[Simplify[expr /. sub] /. solv] /. realu //
Flatten[#, 1] &, 0 <= w < 2 Pi];

ParametricPlot[boundaries // Evaluate, w, 0, 2 Pi]


enter image description here



Well, it's only a start, since you have to check in the interior boundaries to see whether they might be holes. But @HenrikSchumacher has done that already.






share|improve this answer









$endgroup$












  • $begingroup$
    Amazing idea to look for critical points of the Jacobian. Good job!
    $endgroup$
    – Henrik Schumacher
    1 hour ago



















1












$begingroup$

By letting $z_1,z_2,z_3$ trace out circles, we can see some beautiful curves that live within that blob!



 p[z1_, z2_, z3_] := z1 z2^2 + z2 z3 + z1 z3;
q[t_][a1_, a2_, b1_, b2_, c1_, c2_] :=
p[Exp[ I (a1 t + a2)], 2 Exp[ I (b1 t + b2)], 2 Exp[ I (c1 t + c2)]];
Manipulate[
ParametricPlot[Re[q[ t][a1, a2, b1, b2, c1, c2]],
Im[q[ t][a1, a2, b1, b2, c1, c2]], t, 0, 2 [Pi],
Axes -> False, Frame -> True, PlotRange -> -12, 12,-12, 12],
a1, -5, 5,a2, 0, 2 [Pi],b1, -5, 5,b2, 0, 2 [Pi],
c1, -5, 5,c2, 0, 2 [Pi]]


enter image description here



Here is a look at the analytical form of these curves:



 Manipulate[
ComplexExpand@ReIm[q[t][a1, a2, b1, b2, c1, c2]],
a1, -5, 5, a2, 0, 2 [Pi], b1, -5, 5, b2, 0, 2 [Pi],
c1, -5, 5, c2, 0, 2 [Pi]]


enter image description here



or



 Manipulate[
FullSimplify[q[t][a1, a2, b1, b2, c1, c2]], a1, -5, 5, a2, 0,
2 [Pi], b1, -5, 5, b2, 0, 2 [Pi], c1, -5, 5, c2, 0, 2 [Pi]]


enter image description here






share|improve this answer











$endgroup$




















    1












    $begingroup$

    Not very elegant, but this might give you a coarse idea.



    z1 = Exp[I r];
    z2 = 2 Exp[I s];
    z3 = 2 Exp[I t];
    expr = ComplexExpand[ReIm[z1 z2^2 + z2 z3 + z1 z3]];
    f = r, s, t [Function] Evaluate[expr];

    R = DiscretizeRegion[Cuboid[-1, -1, -1 Pi, 1, 1, 1 Pi],
    MaxCellMeasure -> 0.0125];
    pts = f @@@ MeshCoordinates[R];
    triangles = MeshCells[R, 2, "Multicells" -> True][[1]];
    Graphics[
    Red, Disk[0, 0, 10],
    FaceForm[Black], EdgeForm[Thin],
    GraphicsComplex[pts, triangles]
    ,
    Axes -> True
    ]


    enter image description here



    Could be the disk of radius 10...






    share|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: "387"
      ;
      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: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      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
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );






      XYZABC is a new contributor. Be nice, and check out our Code of Conduct.









      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f194320%2fhow-to-find-image-of-a-complex-function-with-given-constraints%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      2












      $begingroup$

      On the boundary of the image the Jacobian will be singular:



      Clear[r, s, t];
      Block[z1 = Exp[I r], z2 = 2 Exp[I s], z3 = 2 Exp[I t],
      expr = ComplexExpand[ReIm[z1 z2^2 + z2 z3 + z1 z3]]
      ]
      (*
      4 Cos[r + 2 s] + 2 Cos[r + t] + 4 Cos[s + t],
      4 Sin[r + 2 s] + 2 Sin[r + t] + 4 Sin[s + t]
      *)

      D[expr, r, s, t]; (* Jacobian is 2 x 3 *)
      Equal @@ Divide @@ % // Simplify (* It's singular if the rows are proportional *)
      sub = r + t -> u, s + t -> v, r + 2 s -> w;
      % /. sub // Simplify
      (* Solve cannot solve the system, unless we cut it into bite-size pieces *)
      solv = Solve[%[[;; 2]], v] /. C[1] -> 0;
      %%[[2 ;;]] /. % // Simplify;
      solu = Solve[#, u] & /@ %;
      (*
      -((2 Sin[r + 2 s] + Sin[r + t])/(2 Cos[r + 2 s] + Cos[r + t])) ==
      -((2 Sin[r + 2 s] + Sin[s + t])/(2 Cos[r + 2 s] + Cos[s + t])) ==
      -((Sin[r + t] + 2 Sin[s + t])/(Cos[r + t] + 2 Cos[s + t]))

      -((Sin[u] + 2 Sin[w])/(Cos[u] + 2 Cos[w])) ==
      -((Sin[v] + 2 Sin[w])/(Cos[v] + 2 Cos[w])) ==
      -((Sin[u] + 2 Sin[v])/(Cos[u] + 2 Cos[v]))
      *)

      (* fix sub so that it works on a general expression *)
      invsub = First@ Solve[Equal @@@ sub, u, v, w];
      sub = First@ Solve[Equal @@@ invsub, r, s, t];
      (* some u solutions are complex *)
      realu = List /@ Cases[Flatten@solu, _?(FreeQ[#, Complex] &)];

      boundaries = PiecewiseExpand /@
      Simplify[
      TrigExpand@Simplify[Simplify[expr /. sub] /. solv] /. realu //
      Flatten[#, 1] &, 0 <= w < 2 Pi];

      ParametricPlot[boundaries // Evaluate, w, 0, 2 Pi]


      enter image description here



      Well, it's only a start, since you have to check in the interior boundaries to see whether they might be holes. But @HenrikSchumacher has done that already.






      share|improve this answer









      $endgroup$












      • $begingroup$
        Amazing idea to look for critical points of the Jacobian. Good job!
        $endgroup$
        – Henrik Schumacher
        1 hour ago
















      2












      $begingroup$

      On the boundary of the image the Jacobian will be singular:



      Clear[r, s, t];
      Block[z1 = Exp[I r], z2 = 2 Exp[I s], z3 = 2 Exp[I t],
      expr = ComplexExpand[ReIm[z1 z2^2 + z2 z3 + z1 z3]]
      ]
      (*
      4 Cos[r + 2 s] + 2 Cos[r + t] + 4 Cos[s + t],
      4 Sin[r + 2 s] + 2 Sin[r + t] + 4 Sin[s + t]
      *)

      D[expr, r, s, t]; (* Jacobian is 2 x 3 *)
      Equal @@ Divide @@ % // Simplify (* It's singular if the rows are proportional *)
      sub = r + t -> u, s + t -> v, r + 2 s -> w;
      % /. sub // Simplify
      (* Solve cannot solve the system, unless we cut it into bite-size pieces *)
      solv = Solve[%[[;; 2]], v] /. C[1] -> 0;
      %%[[2 ;;]] /. % // Simplify;
      solu = Solve[#, u] & /@ %;
      (*
      -((2 Sin[r + 2 s] + Sin[r + t])/(2 Cos[r + 2 s] + Cos[r + t])) ==
      -((2 Sin[r + 2 s] + Sin[s + t])/(2 Cos[r + 2 s] + Cos[s + t])) ==
      -((Sin[r + t] + 2 Sin[s + t])/(Cos[r + t] + 2 Cos[s + t]))

      -((Sin[u] + 2 Sin[w])/(Cos[u] + 2 Cos[w])) ==
      -((Sin[v] + 2 Sin[w])/(Cos[v] + 2 Cos[w])) ==
      -((Sin[u] + 2 Sin[v])/(Cos[u] + 2 Cos[v]))
      *)

      (* fix sub so that it works on a general expression *)
      invsub = First@ Solve[Equal @@@ sub, u, v, w];
      sub = First@ Solve[Equal @@@ invsub, r, s, t];
      (* some u solutions are complex *)
      realu = List /@ Cases[Flatten@solu, _?(FreeQ[#, Complex] &)];

      boundaries = PiecewiseExpand /@
      Simplify[
      TrigExpand@Simplify[Simplify[expr /. sub] /. solv] /. realu //
      Flatten[#, 1] &, 0 <= w < 2 Pi];

      ParametricPlot[boundaries // Evaluate, w, 0, 2 Pi]


      enter image description here



      Well, it's only a start, since you have to check in the interior boundaries to see whether they might be holes. But @HenrikSchumacher has done that already.






      share|improve this answer









      $endgroup$












      • $begingroup$
        Amazing idea to look for critical points of the Jacobian. Good job!
        $endgroup$
        – Henrik Schumacher
        1 hour ago














      2












      2








      2





      $begingroup$

      On the boundary of the image the Jacobian will be singular:



      Clear[r, s, t];
      Block[z1 = Exp[I r], z2 = 2 Exp[I s], z3 = 2 Exp[I t],
      expr = ComplexExpand[ReIm[z1 z2^2 + z2 z3 + z1 z3]]
      ]
      (*
      4 Cos[r + 2 s] + 2 Cos[r + t] + 4 Cos[s + t],
      4 Sin[r + 2 s] + 2 Sin[r + t] + 4 Sin[s + t]
      *)

      D[expr, r, s, t]; (* Jacobian is 2 x 3 *)
      Equal @@ Divide @@ % // Simplify (* It's singular if the rows are proportional *)
      sub = r + t -> u, s + t -> v, r + 2 s -> w;
      % /. sub // Simplify
      (* Solve cannot solve the system, unless we cut it into bite-size pieces *)
      solv = Solve[%[[;; 2]], v] /. C[1] -> 0;
      %%[[2 ;;]] /. % // Simplify;
      solu = Solve[#, u] & /@ %;
      (*
      -((2 Sin[r + 2 s] + Sin[r + t])/(2 Cos[r + 2 s] + Cos[r + t])) ==
      -((2 Sin[r + 2 s] + Sin[s + t])/(2 Cos[r + 2 s] + Cos[s + t])) ==
      -((Sin[r + t] + 2 Sin[s + t])/(Cos[r + t] + 2 Cos[s + t]))

      -((Sin[u] + 2 Sin[w])/(Cos[u] + 2 Cos[w])) ==
      -((Sin[v] + 2 Sin[w])/(Cos[v] + 2 Cos[w])) ==
      -((Sin[u] + 2 Sin[v])/(Cos[u] + 2 Cos[v]))
      *)

      (* fix sub so that it works on a general expression *)
      invsub = First@ Solve[Equal @@@ sub, u, v, w];
      sub = First@ Solve[Equal @@@ invsub, r, s, t];
      (* some u solutions are complex *)
      realu = List /@ Cases[Flatten@solu, _?(FreeQ[#, Complex] &)];

      boundaries = PiecewiseExpand /@
      Simplify[
      TrigExpand@Simplify[Simplify[expr /. sub] /. solv] /. realu //
      Flatten[#, 1] &, 0 <= w < 2 Pi];

      ParametricPlot[boundaries // Evaluate, w, 0, 2 Pi]


      enter image description here



      Well, it's only a start, since you have to check in the interior boundaries to see whether they might be holes. But @HenrikSchumacher has done that already.






      share|improve this answer









      $endgroup$



      On the boundary of the image the Jacobian will be singular:



      Clear[r, s, t];
      Block[z1 = Exp[I r], z2 = 2 Exp[I s], z3 = 2 Exp[I t],
      expr = ComplexExpand[ReIm[z1 z2^2 + z2 z3 + z1 z3]]
      ]
      (*
      4 Cos[r + 2 s] + 2 Cos[r + t] + 4 Cos[s + t],
      4 Sin[r + 2 s] + 2 Sin[r + t] + 4 Sin[s + t]
      *)

      D[expr, r, s, t]; (* Jacobian is 2 x 3 *)
      Equal @@ Divide @@ % // Simplify (* It's singular if the rows are proportional *)
      sub = r + t -> u, s + t -> v, r + 2 s -> w;
      % /. sub // Simplify
      (* Solve cannot solve the system, unless we cut it into bite-size pieces *)
      solv = Solve[%[[;; 2]], v] /. C[1] -> 0;
      %%[[2 ;;]] /. % // Simplify;
      solu = Solve[#, u] & /@ %;
      (*
      -((2 Sin[r + 2 s] + Sin[r + t])/(2 Cos[r + 2 s] + Cos[r + t])) ==
      -((2 Sin[r + 2 s] + Sin[s + t])/(2 Cos[r + 2 s] + Cos[s + t])) ==
      -((Sin[r + t] + 2 Sin[s + t])/(Cos[r + t] + 2 Cos[s + t]))

      -((Sin[u] + 2 Sin[w])/(Cos[u] + 2 Cos[w])) ==
      -((Sin[v] + 2 Sin[w])/(Cos[v] + 2 Cos[w])) ==
      -((Sin[u] + 2 Sin[v])/(Cos[u] + 2 Cos[v]))
      *)

      (* fix sub so that it works on a general expression *)
      invsub = First@ Solve[Equal @@@ sub, u, v, w];
      sub = First@ Solve[Equal @@@ invsub, r, s, t];
      (* some u solutions are complex *)
      realu = List /@ Cases[Flatten@solu, _?(FreeQ[#, Complex] &)];

      boundaries = PiecewiseExpand /@
      Simplify[
      TrigExpand@Simplify[Simplify[expr /. sub] /. solv] /. realu //
      Flatten[#, 1] &, 0 <= w < 2 Pi];

      ParametricPlot[boundaries // Evaluate, w, 0, 2 Pi]


      enter image description here



      Well, it's only a start, since you have to check in the interior boundaries to see whether they might be holes. But @HenrikSchumacher has done that already.







      share|improve this answer












      share|improve this answer



      share|improve this answer










      answered 1 hour ago









      Michael E2Michael E2

      150k12203482




      150k12203482











      • $begingroup$
        Amazing idea to look for critical points of the Jacobian. Good job!
        $endgroup$
        – Henrik Schumacher
        1 hour ago

















      • $begingroup$
        Amazing idea to look for critical points of the Jacobian. Good job!
        $endgroup$
        – Henrik Schumacher
        1 hour ago
















      $begingroup$
      Amazing idea to look for critical points of the Jacobian. Good job!
      $endgroup$
      – Henrik Schumacher
      1 hour ago





      $begingroup$
      Amazing idea to look for critical points of the Jacobian. Good job!
      $endgroup$
      – Henrik Schumacher
      1 hour ago












      1












      $begingroup$

      By letting $z_1,z_2,z_3$ trace out circles, we can see some beautiful curves that live within that blob!



       p[z1_, z2_, z3_] := z1 z2^2 + z2 z3 + z1 z3;
      q[t_][a1_, a2_, b1_, b2_, c1_, c2_] :=
      p[Exp[ I (a1 t + a2)], 2 Exp[ I (b1 t + b2)], 2 Exp[ I (c1 t + c2)]];
      Manipulate[
      ParametricPlot[Re[q[ t][a1, a2, b1, b2, c1, c2]],
      Im[q[ t][a1, a2, b1, b2, c1, c2]], t, 0, 2 [Pi],
      Axes -> False, Frame -> True, PlotRange -> -12, 12,-12, 12],
      a1, -5, 5,a2, 0, 2 [Pi],b1, -5, 5,b2, 0, 2 [Pi],
      c1, -5, 5,c2, 0, 2 [Pi]]


      enter image description here



      Here is a look at the analytical form of these curves:



       Manipulate[
      ComplexExpand@ReIm[q[t][a1, a2, b1, b2, c1, c2]],
      a1, -5, 5, a2, 0, 2 [Pi], b1, -5, 5, b2, 0, 2 [Pi],
      c1, -5, 5, c2, 0, 2 [Pi]]


      enter image description here



      or



       Manipulate[
      FullSimplify[q[t][a1, a2, b1, b2, c1, c2]], a1, -5, 5, a2, 0,
      2 [Pi], b1, -5, 5, b2, 0, 2 [Pi], c1, -5, 5, c2, 0, 2 [Pi]]


      enter image description here






      share|improve this answer











      $endgroup$

















        1












        $begingroup$

        By letting $z_1,z_2,z_3$ trace out circles, we can see some beautiful curves that live within that blob!



         p[z1_, z2_, z3_] := z1 z2^2 + z2 z3 + z1 z3;
        q[t_][a1_, a2_, b1_, b2_, c1_, c2_] :=
        p[Exp[ I (a1 t + a2)], 2 Exp[ I (b1 t + b2)], 2 Exp[ I (c1 t + c2)]];
        Manipulate[
        ParametricPlot[Re[q[ t][a1, a2, b1, b2, c1, c2]],
        Im[q[ t][a1, a2, b1, b2, c1, c2]], t, 0, 2 [Pi],
        Axes -> False, Frame -> True, PlotRange -> -12, 12,-12, 12],
        a1, -5, 5,a2, 0, 2 [Pi],b1, -5, 5,b2, 0, 2 [Pi],
        c1, -5, 5,c2, 0, 2 [Pi]]


        enter image description here



        Here is a look at the analytical form of these curves:



         Manipulate[
        ComplexExpand@ReIm[q[t][a1, a2, b1, b2, c1, c2]],
        a1, -5, 5, a2, 0, 2 [Pi], b1, -5, 5, b2, 0, 2 [Pi],
        c1, -5, 5, c2, 0, 2 [Pi]]


        enter image description here



        or



         Manipulate[
        FullSimplify[q[t][a1, a2, b1, b2, c1, c2]], a1, -5, 5, a2, 0,
        2 [Pi], b1, -5, 5, b2, 0, 2 [Pi], c1, -5, 5, c2, 0, 2 [Pi]]


        enter image description here






        share|improve this answer











        $endgroup$















          1












          1








          1





          $begingroup$

          By letting $z_1,z_2,z_3$ trace out circles, we can see some beautiful curves that live within that blob!



           p[z1_, z2_, z3_] := z1 z2^2 + z2 z3 + z1 z3;
          q[t_][a1_, a2_, b1_, b2_, c1_, c2_] :=
          p[Exp[ I (a1 t + a2)], 2 Exp[ I (b1 t + b2)], 2 Exp[ I (c1 t + c2)]];
          Manipulate[
          ParametricPlot[Re[q[ t][a1, a2, b1, b2, c1, c2]],
          Im[q[ t][a1, a2, b1, b2, c1, c2]], t, 0, 2 [Pi],
          Axes -> False, Frame -> True, PlotRange -> -12, 12,-12, 12],
          a1, -5, 5,a2, 0, 2 [Pi],b1, -5, 5,b2, 0, 2 [Pi],
          c1, -5, 5,c2, 0, 2 [Pi]]


          enter image description here



          Here is a look at the analytical form of these curves:



           Manipulate[
          ComplexExpand@ReIm[q[t][a1, a2, b1, b2, c1, c2]],
          a1, -5, 5, a2, 0, 2 [Pi], b1, -5, 5, b2, 0, 2 [Pi],
          c1, -5, 5, c2, 0, 2 [Pi]]


          enter image description here



          or



           Manipulate[
          FullSimplify[q[t][a1, a2, b1, b2, c1, c2]], a1, -5, 5, a2, 0,
          2 [Pi], b1, -5, 5, b2, 0, 2 [Pi], c1, -5, 5, c2, 0, 2 [Pi]]


          enter image description here






          share|improve this answer











          $endgroup$



          By letting $z_1,z_2,z_3$ trace out circles, we can see some beautiful curves that live within that blob!



           p[z1_, z2_, z3_] := z1 z2^2 + z2 z3 + z1 z3;
          q[t_][a1_, a2_, b1_, b2_, c1_, c2_] :=
          p[Exp[ I (a1 t + a2)], 2 Exp[ I (b1 t + b2)], 2 Exp[ I (c1 t + c2)]];
          Manipulate[
          ParametricPlot[Re[q[ t][a1, a2, b1, b2, c1, c2]],
          Im[q[ t][a1, a2, b1, b2, c1, c2]], t, 0, 2 [Pi],
          Axes -> False, Frame -> True, PlotRange -> -12, 12,-12, 12],
          a1, -5, 5,a2, 0, 2 [Pi],b1, -5, 5,b2, 0, 2 [Pi],
          c1, -5, 5,c2, 0, 2 [Pi]]


          enter image description here



          Here is a look at the analytical form of these curves:



           Manipulate[
          ComplexExpand@ReIm[q[t][a1, a2, b1, b2, c1, c2]],
          a1, -5, 5, a2, 0, 2 [Pi], b1, -5, 5, b2, 0, 2 [Pi],
          c1, -5, 5, c2, 0, 2 [Pi]]


          enter image description here



          or



           Manipulate[
          FullSimplify[q[t][a1, a2, b1, b2, c1, c2]], a1, -5, 5, a2, 0,
          2 [Pi], b1, -5, 5, b2, 0, 2 [Pi], c1, -5, 5, c2, 0, 2 [Pi]]


          enter image description here







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 2 hours ago

























          answered 2 hours ago









          mjwmjw

          1,19810




          1,19810





















              1












              $begingroup$

              Not very elegant, but this might give you a coarse idea.



              z1 = Exp[I r];
              z2 = 2 Exp[I s];
              z3 = 2 Exp[I t];
              expr = ComplexExpand[ReIm[z1 z2^2 + z2 z3 + z1 z3]];
              f = r, s, t [Function] Evaluate[expr];

              R = DiscretizeRegion[Cuboid[-1, -1, -1 Pi, 1, 1, 1 Pi],
              MaxCellMeasure -> 0.0125];
              pts = f @@@ MeshCoordinates[R];
              triangles = MeshCells[R, 2, "Multicells" -> True][[1]];
              Graphics[
              Red, Disk[0, 0, 10],
              FaceForm[Black], EdgeForm[Thin],
              GraphicsComplex[pts, triangles]
              ,
              Axes -> True
              ]


              enter image description here



              Could be the disk of radius 10...






              share|improve this answer











              $endgroup$

















                1












                $begingroup$

                Not very elegant, but this might give you a coarse idea.



                z1 = Exp[I r];
                z2 = 2 Exp[I s];
                z3 = 2 Exp[I t];
                expr = ComplexExpand[ReIm[z1 z2^2 + z2 z3 + z1 z3]];
                f = r, s, t [Function] Evaluate[expr];

                R = DiscretizeRegion[Cuboid[-1, -1, -1 Pi, 1, 1, 1 Pi],
                MaxCellMeasure -> 0.0125];
                pts = f @@@ MeshCoordinates[R];
                triangles = MeshCells[R, 2, "Multicells" -> True][[1]];
                Graphics[
                Red, Disk[0, 0, 10],
                FaceForm[Black], EdgeForm[Thin],
                GraphicsComplex[pts, triangles]
                ,
                Axes -> True
                ]


                enter image description here



                Could be the disk of radius 10...






                share|improve this answer











                $endgroup$















                  1












                  1








                  1





                  $begingroup$

                  Not very elegant, but this might give you a coarse idea.



                  z1 = Exp[I r];
                  z2 = 2 Exp[I s];
                  z3 = 2 Exp[I t];
                  expr = ComplexExpand[ReIm[z1 z2^2 + z2 z3 + z1 z3]];
                  f = r, s, t [Function] Evaluate[expr];

                  R = DiscretizeRegion[Cuboid[-1, -1, -1 Pi, 1, 1, 1 Pi],
                  MaxCellMeasure -> 0.0125];
                  pts = f @@@ MeshCoordinates[R];
                  triangles = MeshCells[R, 2, "Multicells" -> True][[1]];
                  Graphics[
                  Red, Disk[0, 0, 10],
                  FaceForm[Black], EdgeForm[Thin],
                  GraphicsComplex[pts, triangles]
                  ,
                  Axes -> True
                  ]


                  enter image description here



                  Could be the disk of radius 10...






                  share|improve this answer











                  $endgroup$



                  Not very elegant, but this might give you a coarse idea.



                  z1 = Exp[I r];
                  z2 = 2 Exp[I s];
                  z3 = 2 Exp[I t];
                  expr = ComplexExpand[ReIm[z1 z2^2 + z2 z3 + z1 z3]];
                  f = r, s, t [Function] Evaluate[expr];

                  R = DiscretizeRegion[Cuboid[-1, -1, -1 Pi, 1, 1, 1 Pi],
                  MaxCellMeasure -> 0.0125];
                  pts = f @@@ MeshCoordinates[R];
                  triangles = MeshCells[R, 2, "Multicells" -> True][[1]];
                  Graphics[
                  Red, Disk[0, 0, 10],
                  FaceForm[Black], EdgeForm[Thin],
                  GraphicsComplex[pts, triangles]
                  ,
                  Axes -> True
                  ]


                  enter image description here



                  Could be the disk of radius 10...







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited 1 hour ago

























                  answered 2 hours ago









                  Henrik SchumacherHenrik Schumacher

                  58.6k581162




                  58.6k581162




















                      XYZABC is a new contributor. Be nice, and check out our Code of Conduct.









                      draft saved

                      draft discarded


















                      XYZABC is a new contributor. Be nice, and check out our Code of Conduct.












                      XYZABC is a new contributor. Be nice, and check out our Code of Conduct.











                      XYZABC is a new contributor. Be nice, and check out our Code of Conduct.














                      Thanks for contributing an answer to Mathematica 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%2fmathematica.stackexchange.com%2fquestions%2f194320%2fhow-to-find-image-of-a-complex-function-with-given-constraints%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

                      Bett Inhaltsverzeichnis Geschichte | Bettformen | Bettgrößen | Andere Bezeichnungen | Bettenmangel | Betten in der bildenden Kunst | Schlafmedizinische Gesichtspunkte | Siehe auch | Literatur | Weblinks | Einzelnachweise | NavigationsmenüBett, Bettstatt, BettstelleCommons: BettBabybetten: Anwendung, Ausstattungsmerkmale und VergleichskriterienWasserbetten. Vorurteile im TestHapfnNursch10.1007/s11818-012-0584-74006250-8AKS4329276-8

                      Luksemburg Sisukord Nimi | Asend | Loodus | Riigikord | Haldusjaotus | Rahvastik | Riigikaitse | Majandus | Taristu | Ajalugu | Eesti ja Luksemburgi suhted | Haridus | Kultuur | Vaata ka | Viited | Välislingid | Navigeerimismenüü50° N, 6° EÜlevaade Luksemburgi kaitsealadest.Luksemburgi rahvaarv. Statistikaamet.World Bank'i andmebaasÜlevaade Luksemburgi loodusest.Ülevaade Luksemburgi metsadest.Guy Colling. "Red List of the Vascular Plants of Luxembourg." Travaux scientifiques du Musée national d’histoire naturelle Luxembourg. 2005.Luxembourg’s biodiversity at risk.Maailma kahepaiksete andmebaas.Denis Lepage. "Luxembourg." Avibase.Ülevaade temperatuuridest. Luksemburgi meteoroloogiateenistus.Ülevaade Luksemburgist. Euroopa Liidu esinduse koduleht.Système politique. TerritoireÜlevaade Luksemburgi rahvastikust. Luksemburgi statistikaamet.Luksemburgi rahvastik. Luksemburgi statistikaamet.The World FactbookMonique Borsenberger, Paul Dickes. "Religions au Luxembourg. Quelle évolution entre 1999-2008". Luksemburgi statistikaamet. 2011.Luksemburgi peapiiskopkond. Catholic-Hierarchy.Luksemburgi armee koduleht.Luksemburgi armee relvastus.Eesti Välisministeerium.Luksemburgi rahvastik. Luksemburgi statistikaamet.Luksemburgi Eesti Seltsi koduleht.Helen Eelrand. "Raadio, mis muutis maailma." Eesti Päevaleht. 13. märts 2004.Ülevaade Luksemburgi haridussüsteemist.Ülevaade Luksemburgi keskkoolidest.Luksemburgr

                      Valle di Casies Indice Geografia fisica | Origini del nome | Storia | Società | Amministrazione | Sport | Note | Bibliografia | Voci correlate | Altri progetti | Collegamenti esterni | Menu di navigazione46°46′N 12°11′E / 46.766667°N 12.183333°E46.766667; 12.183333 (Valle di Casies)46°46′N 12°11′E / 46.766667°N 12.183333°E46.766667; 12.183333 (Valle di Casies)Sito istituzionaleAstat Censimento della popolazione 2011 - Determinazione della consistenza dei tre gruppi linguistici della Provincia Autonoma di Bolzano-Alto Adige - giugno 2012Numeri e fattiValle di CasiesDato IstatTabella dei gradi/giorno dei Comuni italiani raggruppati per Regione e Provincia26 agosto 1993, n. 412Heraldry of the World: GsiesStatistiche I.StatValCasies.comWikimedia CommonsWikimedia CommonsValle di CasiesSito ufficialeValle di CasiesMM14870458910042978-6