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

Is it professional to write unrelated content in an almost-empty email?

What does "shotgun unity" refer to here in this sentence?

In the "Harry Potter and the Order of the Phoenix" videogame, what potion is used to sabotage Umbridge's Speakers?

Is there a reasonable and studied concept of reduction between regular languages?

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

Defamation due to breach of confidentiality

What flight has the highest ratio of timezone difference to flight time?

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

Aggressive Under-Indexing and no data for missing index

Expressing the idea of having a very busy time

Is there an equivalent of cd - for cp or mv

How to properly draw diagonal line while using multicolumn inside tabular environment?

Help/tips for a first time writer?

(How) Could a medieval fantasy world survive a magic-induced "nuclear winter"?

What difference does it make using sed with/without whitespaces?

Help understanding this unsettling image of Titan, Epimetheus, and Saturn's rings?

Is there a way to save my career from absolute disaster?

Help! I cannot understand this game’s notations!

What day is it again?

"Eavesdropping" vs "Listen in on"

Getting Stale Gas Out of a Gas Tank w/out Dropping the Tank

Reference request: Grassmannian and Plucker coordinates in type B, C, D

Physiological effects of huge anime eyes

Why the last AS PATH item always is `I` or `?`?



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 2 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 1 hour ago

























          answered 1 hour 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

                      बाताम इन्हें भी देखें सन्दर्भ दिक्चालन सूची1°05′00″N 104°02′0″E / 1.08333°N 104.03333°E / 1.08333; 104.033331°05′00″N 104°02′0″E / 1.08333°N 104.03333°E / 1.08333; 104.03333

                      Why is the 'in' operator throwing an error with a string literal instead of logging false?Why can't I use switch statement on a String?Python join: why is it string.join(list) instead of list.join(string)?Multiline String Literal in C#Why does comparing strings using either '==' or 'is' sometimes produce a different result?How to initialize an array's length in javascript?How can I print literal curly-brace characters in python string and also use .format on it?Why does ++[[]][+[]]+[+[]] return the string “10”?Why is char[] preferred over String for passwords?Why does this code using random strings print “hello world”?jQuery.inArray(), how to use it right?

                      How can we generalize the fact of finite dimensional vector space to an infinte dimensional case?$k[x]$-module and cyclic module over a finite dimensional vector spaceSubspace of a finite dimensional space is finite dimensionalIf V is an infinite-dimensional vector space, and S is an infinite-dimensional subspace of V, must the dimension of V/S be finite? ExplainWhy is an infinite dimensional space so different than a finite dimensional one?base for finite dimensional vector space is not infinite dimensional vector space?Any finite-dimensional vector space is the dual space of anotherHaving Trouble Understanding Meaning Of A Finite-Dimensional Vector SpaceProve that “Every subspaces of a finite-dimensional vector space is finite-dimensional”Ring as a finite dimensional Vector space over a field KQuestion regarding basis and dimension