Skip to main content
deleted 7 characters in body
Source Link

Here's a one-liner for obtaining an implicit Cartesian equation:

circ = First[GroebnerBasis[ComplexExpand[Abs[(x + I y + 1)/(x + I y - 1)] == a,
                                         TargetFunctions -> {Re, Im}], {x, y, a}]]
   -1 + a^2 - 2 x - 2 a^2 x - x^2 + a^2 x^2 - y^2 + a^2 y^2

From here, we can use the technique from this answer:

vars = {x, y};
{cnst, lin, quad} = MapAt[Diagonal, Normal[CoefficientArrays[First[circ]Normal[CoefficientArrays[circ, vars]], {3}];
cnst + Total[MapThread[depress[#1 FromDigits[{##2}, #1]] &, {vars, quad, lin}]]
   -1 + a^2 - (1 + a^2)^2/(-1 + a^2) +
   (-1 + a^2) (-((2 + 2 a^2)/(2 (-1 + a^2))) + x)^2 - y^2 + a^2 y^2

Manual massaging of this result leads to the form

(x + (1 + a^2)/(1 - a^2))^2 + y^2 == (4 a^2)/(1 - a^2)^2

which means the result is a circle with center {(a^2 + 1)/(a^2 - 1), 0} and radius Abs[2 a/(1 - a^2)].

Here's a one-liner for obtaining an implicit Cartesian equation:

circ = First[GroebnerBasis[ComplexExpand[Abs[(x + I y + 1)/(x + I y - 1)] == a,
                                         TargetFunctions -> {Re, Im}], {x, y, a}]]
   -1 + a^2 - 2 x - 2 a^2 x - x^2 + a^2 x^2 - y^2 + a^2 y^2

From here, we can use the technique from this answer:

vars = {x, y};
{cnst, lin, quad} = MapAt[Diagonal, Normal[CoefficientArrays[First[circ], vars]], {3}];
cnst + Total[MapThread[depress[#1 FromDigits[{##2}, #1]] &, {vars, quad, lin}]]
   -1 + a^2 - (1 + a^2)^2/(-1 + a^2) +
   (-1 + a^2) (-((2 + 2 a^2)/(2 (-1 + a^2))) + x)^2 - y^2 + a^2 y^2

Manual massaging of this result leads to the form

(x + (1 + a^2)/(1 - a^2))^2 + y^2 == (4 a^2)/(1 - a^2)^2

which means the result is a circle with center {(a^2 + 1)/(a^2 - 1), 0} and radius Abs[2 a/(1 - a^2)].

Here's a one-liner for obtaining an implicit Cartesian equation:

circ = First[GroebnerBasis[ComplexExpand[Abs[(x + I y + 1)/(x + I y - 1)] == a,
                                         TargetFunctions -> {Re, Im}], {x, y, a}]]
   -1 + a^2 - 2 x - 2 a^2 x - x^2 + a^2 x^2 - y^2 + a^2 y^2

From here, we can use the technique from this answer:

vars = {x, y};
{cnst, lin, quad} = MapAt[Diagonal, Normal[CoefficientArrays[circ, vars]], {3}];
cnst + Total[MapThread[depress[#1 FromDigits[{##2}, #1]] &, {vars, quad, lin}]]
   -1 + a^2 - (1 + a^2)^2/(-1 + a^2) +
   (-1 + a^2) (-((2 + 2 a^2)/(2 (-1 + a^2))) + x)^2 - y^2 + a^2 y^2

Manual massaging of this result leads to the form

(x + (1 + a^2)/(1 - a^2))^2 + y^2 == (4 a^2)/(1 - a^2)^2

which means the result is a circle with center {(a^2 + 1)/(a^2 - 1), 0} and radius Abs[2 a/(1 - a^2)].

Post Made Community Wiki by J. M.'s missing motivation
Source Link

Here's a one-liner for obtaining an implicit Cartesian equation:

circ = First[GroebnerBasis[ComplexExpand[Abs[(x + I y + 1)/(x + I y - 1)] == a,
                                         TargetFunctions -> {Re, Im}], {x, y, a}]]
   -1 + a^2 - 2 x - 2 a^2 x - x^2 + a^2 x^2 - y^2 + a^2 y^2

From here, we can use the technique from this answer:

vars = {x, y};
{cnst, lin, quad} = MapAt[Diagonal, Normal[CoefficientArrays[First[circ], vars]], {3}];
cnst + Total[MapThread[depress[#1 FromDigits[{##2}, #1]] &, {vars, quad, lin}]]
   -1 + a^2 - (1 + a^2)^2/(-1 + a^2) +
   (-1 + a^2) (-((2 + 2 a^2)/(2 (-1 + a^2))) + x)^2 - y^2 + a^2 y^2

Manual massaging of this result leads to the form

(x + (1 + a^2)/(1 - a^2))^2 + y^2 == (4 a^2)/(1 - a^2)^2

which means the result is a circle with center {(a^2 + 1)/(a^2 - 1), 0} and radius Abs[2 a/(1 - a^2)].