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
Can someone explain this formula for calculating Manhattan distance?
Pulling the principal components out of a DimensionReducerFunction?
Is there such a thing as a proper verb, like a proper noun?
Physiological effects of huge anime eyes
Iterate through multiline string line by line
Are the names of these months realistic?
Do scriptures give a method to recognize a truly self-realized person/jivanmukta?
When "be it" is at the beginning of a sentence, what kind of structure do you call it?
Does Germany produce more waste than the US?
Reference request: Grassmannian and Plucker coordinates in type B, C, D
Why is information "lost" when it got into a black hole?
Getting Stale Gas Out of a Gas Tank w/out Dropping the Tank
Defamation due to breach of confidentiality
Can this note be analyzed as a non-chord tone?
Decide between Polyglossia and Babel for LuaLaTeX in 2019
Why don't programming languages automatically manage the synchronous/asynchronous problem?
In the "Harry Potter and the Order of the Phoenix" videogame, what potion is used to sabotage Umbridge's Speakers?
What connection does MS Office have to Netscape Navigator?
Towers in the ocean; How deep can they be built?
Is there an equivalent of cd - for cp or mv
Is there a way to save my career from absolute disaster?
What was Carter Burkes job for "the company" in "Aliens"?
Is it ever safe to open a suspicious HTML file (e.g. email attachment)?
Regression vs Random Forest - Combination of features
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
$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|$.
complex
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$
add a comment |
$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|$.
complex
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
add a comment |
$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|$.
complex
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
complex
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.
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 5 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
add a comment |
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
add a comment |
3 Answers
3
active
oldest
votes
$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]

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.
$endgroup$
$begingroup$
Amazing idea to look for critical points of the Jacobian. Good job!
$endgroup$
– Henrik Schumacher
57 mins ago
add a comment |
$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]]

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]]

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]]

$endgroup$
add a comment |
$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
]

Could be the disk of radius 10...
$endgroup$
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
$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]

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.
$endgroup$
$begingroup$
Amazing idea to look for critical points of the Jacobian. Good job!
$endgroup$
– Henrik Schumacher
57 mins ago
add a comment |
$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]

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.
$endgroup$
$begingroup$
Amazing idea to look for critical points of the Jacobian. Good job!
$endgroup$
– Henrik Schumacher
57 mins ago
add a comment |
$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]

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.
$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]

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.
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
57 mins ago
add a comment |
$begingroup$
Amazing idea to look for critical points of the Jacobian. Good job!
$endgroup$
– Henrik Schumacher
57 mins ago
$begingroup$
Amazing idea to look for critical points of the Jacobian. Good job!
$endgroup$
– Henrik Schumacher
57 mins ago
$begingroup$
Amazing idea to look for critical points of the Jacobian. Good job!
$endgroup$
– Henrik Schumacher
57 mins ago
add a comment |
$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]]

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]]

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]]

$endgroup$
add a comment |
$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]]

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]]

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]]

$endgroup$
add a comment |
$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]]

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]]

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]]

$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]]

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]]

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]]

edited 1 hour ago
answered 1 hour ago
mjwmjw
1,19810
1,19810
add a comment |
add a comment |
$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
]

Could be the disk of radius 10...
$endgroup$
add a comment |
$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
]

Could be the disk of radius 10...
$endgroup$
add a comment |
$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
]

Could be the disk of radius 10...
$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
]

Could be the disk of radius 10...
edited 58 mins ago
answered 2 hours ago
Henrik SchumacherHenrik Schumacher
58.6k581162
58.6k581162
add a comment |
add a comment |
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.
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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

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