Polynomials for Toratopes

Discussion of shapes with curves and holes in various dimensions.

Re: Polynomials for Toratopes

Postby ICN5D » Thu Dec 11, 2014 4:02 am

We can quickly expand and rearrange this to
a^2 + b^2 + c^2 - r^2 + X + Y + Z == 2 a Sqrt[X] + 2 b Sqrt[Y] + 2 c Sqrt[Z].


How did you go from this to

Code: Select all
In[34]:= RootExpand[{4 a^2 X, 4 b^2 Y, 4 c^2 Z}, a^2 + b^2 + c^2 - r^2 + X + Y + Z]
?

Shouldn't it be

Code: Select all
In[34]:= RootExpand[{2 a Sqrt[X] + 2 b Sqrt[Y] + 2 c Sqrt[Z]}, a^2 + b^2 + c^2 - r^2 + X + Y + Z]
?
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Polynomials for Toratopes

Postby PWrong » Thu Dec 11, 2014 4:28 am

I should I have made the definition more clear. The idea of RootExpand is it takes the list of expressions that will be square rooted and then summed.

RootExpand[{α,β,γ}, x] is the expansion of
sqrt(α) + sqrt(β) + sqrt(γ) = x.

So in this case we have α = 4 a^2 X, so that sqrt(α) = 2 a sqrt(X).
User avatar
PWrong
Pentonian
 
Posts: 1599
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Re: Polynomials for Toratopes

Postby ICN5D » Thu Dec 11, 2014 5:38 pm

Ah, yes, that makes more sense! Awesome, can't wait until I can play around with these scripts. Do you think it would be easier to derive a subgroup equation for a (((II)I)(II)) ? That way, one wouldn't need to do multiple iterations of rootexpand.

Like for what you did here:

Code: Select all
RootExpand[{a_, b_, c_, d_},  x_] :=
(((x^2 - S[1, 4])^2 - 4 S[2, 4])^2 - 64 S[2, 4] x^2)^2 - S[4, 4] (64 (x^2 - S[1, 4]) x^2 - 16 (x^2 - S[1, 4])^2 + 64 S[2, 4])^2


The nested square root complicates things, for sure, but maybe there's a simpler way in subgroup notation, to define a torus parameter?

Something like

x = sqrt(a + sqrt(b)) ?
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Polynomials for Toratopes

Postby PWrong » Fri Dec 12, 2014 5:55 am

There might be a way to extend RootExpand to cover nested square roots. I'll have a go next week. The polynomials for (((II)I)(II)) are massive though, even before the last iteration. There are a few hundred lines including lots of sqrt(X). The final polynomial will be much bigger again.

I think at this stage, we essentially have an algorithm to find the polynomial of any toratope. We don't have a simplified form based on the "roots" of the equation (which were never really roots to begin with), and it's quite likely that the simplified form doesn't exist. So we have to think about what we're trying to accomplish here. Do we actually want these huge unwieldy polynomials? Maybe it's enough to just know how big they are and that we can calculate them if we need them in the future.
User avatar
PWrong
Pentonian
 
Posts: 1599
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Re: Polynomials for Toratopes

Postby PWrong » Fri Dec 12, 2014 3:48 pm

Here's something.

Code: Select all
CollectRoots[expr_, x_] :=
CoefficientList[expr, Sqrt[x]] [[1 ;; ;; 2]].Table[x^
    k, {k, 0, Exponent[expr, x]}] +
  CoefficientList[expr, Sqrt[x]] [[2 ;; ;; 2]].Table[x^
     k, {k, 0, Ceiling[Exponent[expr, x]] - 1}] Sqrt[x]
RootCoefficients[expr_, x_] := {
  CoefficientList[expr, Sqrt[x]] [[1 ;; ;; 2]].Table[x^
    k, {k, 0, Exponent[expr, x]}],
  CoefficientList[expr, Sqrt[x]] [[2 ;; ;; 2]].Table[x^
    k, {k, 0, Ceiling[Exponent[expr, x]] - 1}]}
SuperRootExpand[expr_, x_] :=
RootCoefficients[expr, x][[2]]^2 x - RootCoefficients[expr, x][[1]]^2


CollectRoots factors out square roots like this:
CollectRoots[a + b sqrt(x) + c x + d x^{3/2}, x] = a + c x + sqrt(x)(b + d x).

RootCoefficients expresses it as a pair of expressions, e.g. {a + c x, b + d x}

SuperRootExpand solves the equation, like so:
a + b sqrt(x) + c x + d x^{3/2} = 0,
a + c x = -(b + d x) sqrt(x),
(a + c x)^2 = (b + d x)^2 x,
SuperRootExpand[a + b sqrt(x) + c x + d x^{3/2}, x] = (a + c x)^2 - (b + d x)^2 x.

Now here's ((II)(II)I).

(-a + Sqrt[(-b + Sqrt[x1^2 + x2^2])^2 + (-c + Sqrt[y1^2 + y2^2])^2])^2 + z1^2 - r^2 == 0

a^2 + b^2 + c^2 - r^2 + x1^2 + x2^2 + y1^2 + y2^2 + z1^2 == Sqrt[4 b^2 (x1^2 + x2^2)] + Sqrt[4 c^2 (y1^2 + y2^2)] + 2 a Sqrt[(-b + Sqrt[x1^2 + x2^2])^2 + (-c + Sqrt[y1^2 + y2^2])^2]

Substitutions:
X == 4 b^2 (x1^2 + x2^2)
Y == 4 c^2 (y1^2 + y2^2)
A == a^2 + b^2 + c^2 - r^2 + x1^2 + x2^2 + y1^2 + y2^2 + z1^2
B == b^2 + c^2 + x1^2 + x2^2 + y1^2 + y2^2

A == Sqrt[X] + Sqrt[Y] + 2 a Sqrt[B - Sqrt[X] - Sqrt[Y]];

Code: Select all
In[106]:=
RootExpand[{X, Y, 4 a^2 (B - Sqrt[X] - Sqrt[Y])}, A] // Expand

Out[106]= A^8 - 16 a^2 A^6 B + 96 a^4 A^4 B^2 - 256 a^6 A^2 B^3 + 256 a^8 B^4 + 16 a^2 A^6 Sqrt[X] - 192 a^4 A^4 B Sqrt[X] + 768 a^6 A^2 B^2 Sqrt[X] - 1024 a^8 B^3 Sqrt[X] + 96 a^4 A^4 X - 4 A^6 X - 768 a^6 A^2 B X + 16 a^2 A^4 B X + 1536 a^8 B^2 X + 64 a^4 A^2 B^2 X - 256 a^6 B^3 X + 256 a^6 A^2 X^(3/2) - 16 a^2 A^4 X^(3/2) - 1024 a^8 B X^(3/2) - 128 a^4 A^2 B X^(3/2) + 768 a^6 B^2 X^(3/2) + 256 a^8 X^2 + 64 a^4 A^2 X^2 + 6 A^4 X^2 - 768 a^6 B X^2 + 16 a^2 A^2 B X^2 + 96 a^4 B^2 X^2 + 256 a^6 X^(5/2) - 16 a^2 A^2 X^(5/2) - 192 a^4 B X^(5/2) + 96 a^4 X^3 - 4 A^2 X^3 - 16 a^2 B X^3 + 16 a^2 X^(7/2) + X^4 + 16 a^2 A^6 Sqrt[Y] - 192 a^4 A^4 B Sqrt[Y] + 768 a^6 A^2 B^2 Sqrt[Y] - 1024 a^8 B^3 Sqrt[Y] + 192 a^4 A^4 Sqrt[X] Sqrt[Y] - 1536 a^6 A^2 B Sqrt[X] Sqrt[Y] + 3072 a^8 B^2 Sqrt[X] Sqrt[Y] + 768 a^6 A^2 X Sqrt[Y] - 16 a^2 A^4 X Sqrt[Y] - 3072 a^8 B X Sqrt[Y] - 128 a^4 A^2 B X Sqrt[Y] + 768 a^6 B^2 X Sqrt[Y] + 1024 a^8 X^(3/2) Sqrt[Y] + 128 a^4 A^2 X^(3/2) Sqrt[Y] - 1536 a^6 B X^(3/2) Sqrt[Y] + 768 a^6 X^2 Sqrt[Y] - 16 a^2 A^2 X^2 Sqrt[Y] - 192 a^4 B X^2 Sqrt[Y] + 192 a^4 X^(5/2) Sqrt[Y] + 16 a^2 X^3 Sqrt[Y] + 96 a^4 A^4 Y - 4 A^6 Y - 768 a^6 A^2 B Y + 16 a^2 A^4 B Y + 1536 a^8 B^2 Y + 64 a^4 A^2 B^2 Y - 256 a^6 B^3 Y + 768 a^6 A^2 Sqrt[X] Y - 16 a^2 A^4 Sqrt[X] Y - 3072 a^8 B Sqrt[X] Y - 128 a^4 A^2 B Sqrt[X] Y + 768 a^6 B^2 Sqrt[X] Y + 1536 a^8 X Y + 128 a^4 A^2 X Y + 4 A^4 X Y - 1536 a^6 B X Y - 160 a^2 A^2 B X Y + 64 a^4 B^2 X Y + 1024 a^6 X^(3/2) Y + 160 a^2 A^2 X^(3/2) Y - 128 a^4 B X^(3/2) Y + 160 a^4 X^2 Y + 4 A^2 X^2 Y + 16 a^2 B X^2 Y - 16 a^2 X^(5/2) Y - 4 X^3 Y + 256 a^6 A^2 Y^(3/2) - 16 a^2 A^4 Y^(3/2) - 1024 a^8 B Y^(3/2) - 128 a^4 A^2 B Y^(3/2) + 768 a^6 B^2 Y^(3/2) + 1024 a^8 Sqrt[X] Y^(3/2) + 128 a^4 A^2 Sqrt[X] Y^(3/2) - 1536 a^6 B Sqrt[X] Y^(3/2) + 1024 a^6 X Y^(3/2) + 160 a^2 A^2 X Y^(3/2) - 128 a^4 B X Y^(3/2) + 128 a^4 X^(3/2) Y^(3/2) - 16 a^2 X^2 Y^(3/2) + 256 a^8 Y^2 + 64 a^4 A^2 Y^2 + 6 A^4 Y^2 - 768 a^6 B Y^2 + 16 a^2 A^2 B Y^2 + 96 a^4 B^2 Y^2 + 768 a^6 Sqrt[X] Y^2 - 16 a^2 A^2 Sqrt[X] Y^2 - 192 a^4 B Sqrt[X] Y^2 + 160 a^4 X Y^2 + 4 A^2 X Y^2 + 16 a^2 B X Y^2 - 16 a^2 X^(3/2) Y^2 + 6 X^2 Y^2 + 256 a^6 Y^(5/2) - 16 a^2 A^2 Y^(5/2) - 192 a^4 B Y^(5/2) + 192 a^4 Sqrt[X] Y^(5/2) - 16 a^2 X Y^(5/2) + 96 a^4 Y^3 - 4 A^2 Y^3 - 16 a^2 B Y^3 + 16 a^2 Sqrt[X] Y^3 - 4 X Y^3 + 16 a^2 Y^(7/2) + Y^4


Then here's the final result.
Code: Select all
In[111]:=
SuperRootExpand[
  SuperRootExpand[
    RootExpand[{X, Y, 4 a^2 (B - Sqrt[X] - Sqrt[Y])}, A] // Expand,
    X] // Expand, Y] // Simplify

Out[111]=
1024 a^4 Y (-A^14 - (X - Y)^6 (X + Y) + 4 a^2 B (X - Y)^4 (7 X^2 + 10 X Y + 7 Y^2) + A^12 (28 a^2 B + 5 (X + Y)) - A^10 (9 X^2 + 22 X Y + 9 Y^2 + 72 a^2 B (X + Y) + 16 a^4 (21 B^2 - 3 X + 7 Y)) + 16384 a^14 B (B^6 - (X - Y)^3 + B^4 (-3 X + 7 Y) + B^2 (3 X^2 - 10 X Y + 7 Y^2)) + 16 a^4 (X - Y)^2 (X + Y) (3 X^3 + 3 X^2 Y + X Y^2 - 7 Y^3 - 3 B^2 (7 X^2 + 2 X Y + 7 Y^2)) + A^8 (5 X^3 + 43 X^2 Y + 43 X Y^2 + 5 Y^3 + 16 a^4 (X + Y) (15 B^2 + 7 X + 5 Y) + 320 a^6 B (7 B^2 - 3 X + 7 Y) + 4 a^2 B (9 X^2 + 86 X Y + 9 Y^2)) - 4096 a^12 (7 B^6 (X + Y) - (X - Y)^3 (X + Y) - 5 B^4 (3 X^2 - 4 X Y - 7 Y^2) + 3 B^2 (3 X^3 - 7 X^2 Y - 3 X Y^2 + 7 Y^3)) - 256 a^8 (X + Y) (5 B^4 (7 X^2 + 2 X Y + 7 Y^2) + (X - Y)^2 (3 X^2 + 6 X Y + 7 Y^2) + B^2 (-30 X^3 + 34 X^2 Y - 10 X Y^2 + 70 Y^3)) + 1024 a^10 B (9 X^4 - 8 X^3 Y - 22 X^2 Y^2 + 21 Y^4 + 3 B^4 (7 X^2 + 10 X Y + 7 Y^2) + B^2 (-30 X^3 + 18 X^2 Y + 70 X Y^2 + 70 Y^3)) + 64 a^6 B (-15 X^5 - X^4 Y - 6 X^3 Y^2 - 18 X^2 Y^3 + 5 X Y^4 + 35 Y^5 + B^2 (35 X^4 + 20 X^3 Y + 18 X^2 Y^2 + 20 X Y^3 + 35 Y^4)) + A^6 (5 X^4 - 52 X^3 Y - 34 X^2 Y^2 - 52 X Y^3 + 5 Y^4 + 256 a^6 B (X + Y) (5 B^2 - 9 X + 5 Y) + 16 a^2 B (X^3 - 17 X^2 Y - 17 X Y^2 + Y^3) - 256 a^8 (35 B^4 + 3 X^2 - 10 X Y + 7 Y^2 + B^2 (-30 X + 70 Y)) + 32 a^4 (-5 X^3 + 35 X^2 Y - 31 X Y^2 + Y^3 +      3 B^2 (X^2 - 26 X Y + Y^2))) +   A^4 (-(X - Y)^2 (9 X^3 - 25 X^2 Y - 25 X Y^2 + 9 Y^3) +    4 a^2 B (9 X^4 - 68 X^3 Y + 502 X^2 Y^2 - 68 X Y^3 + 9 Y^4) +        1024 a^10 B (21 B^4 + 9 X^2 - 30 X Y + 21 Y^2 +          B^2 (-30 X + 70 Y)) +      32 a^4 (X + Y) (-5 X^3 - 5 X^2 Y - 23 X Y^2 + Y^3 +   3 B^2 (X^2 - 18 X Y + Y^2)) +     128 a^6 B (-13 X^3 - 5 X^2 Y + 73 X Y^2 + 9 Y^3 + B^2 (9 X^2 + 86 X Y + 9 Y^2)) -     256 a^8 (13 X^3 - 9 X^2 Y - 13 X Y^2 + 9 Y^3 + 45 B^4 (X + Y) + B^2 (-66 X^2 + 24 X Y + 90 Y^2))) +     A^2 ((X - Y)^4 (5 X^2 - 2 X Y + 5 Y^2) -     8 a^2 B (X - Y)^2 (9 X^3 - 25 X^2 Y - 25 X Y^2 + 9 Y^3) +       256 a^6 B (X + Y) (-9 X^3 + 7 X^2 Y + 29 X Y^2 + 5 Y^3 +           B^2 (5 X^2 + 38 X Y + 5 Y^2)) -        4096 a^12 (7 B^6 - 5 B^4 (3 X - 7 Y) - (X - Y)^3 +           3 B^2 (3 X^2 - 10 X Y + 7 Y^2)) +        2048 a^10 B (11 X^3 - 15 X^2 Y - 11 X Y^2 + 15 Y^3 +           15 B^4 (X + Y) + B^2 (-26 X^2 + 24 X Y + 50 Y^2)) -        256 a^8 (13 X^4 - 40 X^3 Y + 18 X^2 Y^2 + 9 Y^4 +           5 B^4 (9 X^2 + 22 X Y + 9 Y^2) +           B^2 (-66 X^3 + 78 X^2 Y + 154 X Y^2 + 90 Y^3)) +        16 a^4 (7 X^5 + 73 X^4 Y - 74 X^3 Y^2 + 34 X^2 Y^3 -           45 X Y^4 + 5 Y^5 +           3 B^2 (5 X^4 - 52 X^3 Y - 34 X^2 Y^2 - 52 X Y^3 +         5 Y^4))))^2 - (A^16 + (X - Y)^8 -    32 a^2 B (X - Y)^6 (X + Y) - 8 A^14 (4 a^2 B + X + Y) +    4 A^12 (7 X^2 + 10 X Y + 7 Y^2 + 40 a^2 B (X + Y) +       16 a^4 (7 B^2 - X + 7 Y)) -    512 a^6 B (X - Y)^2 (X + Y) (-3 X^3 + 11 X^2 Y + 3 X Y^2 + 21 Y^3 +       B^2 (7 X^2 + 2 X Y + 7 Y^2)) +    64 a^4 (X - Y)^4 (-X^3 + X^2 Y + 9 X Y^2 + 7 Y^3 +       B^2 (7 X^2 + 10 X Y + 7 Y^2)) -    8 A^10 (7 X^3 + 9 X^2 Y + 9 X Y^2 + 7 Y^3 +       16 a^4 (X + Y) (9 B^2 + X + 9 Y) +       64 a^6 B (7 B^2 - 3 X + 21 Y) +       4 a^2 B (9 X^2 + 22 X Y + 9 Y^2)) +    65536 a^16 (B^8 - 4 B^6 (X - 7 Y) -       4 B^2 (X - 7 Y) (X - Y)^2 + (X - Y)^4 +       B^4 (6 X^2 - 60 X Y + 70 Y^2)) -    131072 a^14 B (B^6 (X + Y) -       3 B^4 (X^2 - 6 X Y - 7 Y^2) - (X - Y)^2 (X^2 - 6 X Y - 7 Y^2) +       B^2 (3 X^3 - 27 X^2 Y + 5 X Y^2 + 35 Y^3)) -    8192 a^10 B (X + Y) (3 X^4 - 20 X^3 Y + 2 X^2 Y^2 - 20 X Y^3 +      35 Y^4 + B^4 (7 X^2 + 2 X Y + 7 Y^2) +       B^2 (-10 X^3 + 58 X^2 Y + 10 X Y^2 + 70 Y^3)) +    16384 a^12 (B^6 (7 X^2 + 10 X Y + 7 Y^2) - (X - Y)^2 (X^3 -      X^2 Y - 9 X Y^2 - 7 Y^3) +       B^4 (-15 X^3 + 79 X^2 Y + 135 X Y^2 + 105 Y^3) +       B^2 (9 X^4 - 68 X^3 Y - 42 X^2 Y^2 + 60 X Y^3 + 105 Y^4)) +    512 a^8 (B^4 (35 X^4 + 20 X^3 Y + 18 X^2 Y^2 + 20 X Y^3 +          35 Y^4) + (X - Y)^2 (3 X^4 - 4 X^3 Y + 34 X^2 Y^2 +         60 X Y^3 + 35 Y^4) +       B^2 (-30 X^5 + 138 X^4 Y + 68 X^3 Y^2 + 36 X^2 Y^3 + 90 X Y^4 +          210 Y^5)) -    8 A^6 (1024 a^10 B (7 B^4 + 3 X^2 - 10 B^2 (X - 7 Y) - 30 X Y +          35 Y^2) + (X - Y)^2 (7 X^3 + 9 X^2 Y + 9 X Y^2 + 7 Y^3) -       4 a^2 B (5 X^4 - 52 X^3 Y - 34 X^2 Y^2 - 52 X Y^3 + 5 Y^4) -      256 a^8 (5 X^3 - 13 X^2 Y - 13 X Y^2 + 5 Y^3 + 5 B^4 (X + Y) -        6 B^2 (3 X^2 - 2 X Y - 5 Y^2)) -       128 a^6 B (-5 X^3 + 37 X^2 Y - 83 X Y^2 + 3 Y^3 +          B^2 (X^2 - 26 X Y + Y^2)) -       32 a^4 (X + Y) (-7 X^3 + 31 X^2 Y - 25 X Y^2 + Y^3 +          B^2 (X^2 - 18 X Y + Y^2))) +    2 A^8 (35 X^4 + 20 X^3 Y + 18 X^2 Y^2 + 20 X Y^3 + 35 Y^4 +       256 a^6 B (X + Y) (5 B^2 + 7 X + 15 Y) +       256 a^8 (35 B^4 + 3 X^2 - 30 B^2 (X - 7 Y) - 30 X Y + 35 Y^2) +       16 a^2 B (5 X^3 + 43 X^2 Y + 43 X Y^2 + 5 Y^3) +       32 a^4 (17 X^3 - 81 X^2 Y + 103 X Y^2 + 9 Y^3 +      B^2 (9 X^2 + 86 X Y + 9 Y^2))) -    8 A^2 ((X - Y)^6 (X + Y) -       4 a^2 B (X - Y)^4 (5 X^2 - 2 X Y + 5 Y^2) +       16 a^4 (X - Y)^2 (X + Y) (X^3 + 55 X^2 Y - 33 X Y^2 + 9 Y^3 +          B^2 (9 X^2 - 34 X Y + 9 Y^2)) +       16384 a^14 B (B^6 - 3 B^4 (X - 7 Y) - (X - 7 Y) (X - Y)^2 +          B^2 (3 X^2 - 30 X Y + 35 Y^2)) -       256 a^8 (X + Y) (5 X^4 - 44 X^3 Y + 14 X^2 Y^2 + 20 X Y^3 +          5 Y^4 + B^4 (5 X^2 + 38 X Y + 5 Y^2) +          B^2 (-18 X^3 + 34 X^2 Y + 210 X Y^2 + 30 Y^3)) -       4096 a^12 (5 B^6 (X + Y) - (X - Y)^2 (3 X^2 - 2 X Y - 5 Y^2) +          B^4 (-13 X^2 + 62 X Y + 75 Y^2) +          B^2 (11 X^3 - 67 X^2 Y - 3 X Y^2 + 75 Y^3)) +       1024 a^10 B (13 X^4 - 84 X^3 Y + 46 X^2 Y^2 + 44 X Y^3 +          45 Y^4 + B^4 (9 X^2 + 22 X Y + 9 Y^2) +          B^2 (-22 X^3 + 86 X^2 Y + 198 X Y^2 + 90 Y^3)) -       64 a^6 B (7 X^5 + 83 X^4 Y - 178 X^3 Y^2 - 34 X^2 Y^3 -          149 X Y^4 + 15 Y^5 +          B^2 (5 X^4 - 52 X^3 Y - 34 X^2 Y^2 - 52 X Y^3 + 5 Y^4))) +    4 A^4 ((X - Y)^4 (7 X^2 + 10 X Y + 7 Y^2) -     8 a^2 B (X - Y)^2 (9 X^3 - 25 X^2 Y - 25 X Y^2 + 9 Y^3) +       256 a^6 B (X + Y) (-5 X^3 - 3 X^2 Y - 59 X Y^2 + 3 Y^3 +          B^2 (X^2 - 18 X Y + Y^2)) +       4096 a^12 (7 B^6 - 15 B^4 (X - 7 Y) - (X - 7 Y) (X - Y)^2 +          3 B^2 (3 X^2 - 30 X Y + 35 Y^2)) -       2048 a^10 B (13 X^3 - 53 X^2 Y - 21 X Y^2 + 45 Y^3 +    9 B^4 (X + Y) + B^2 (-22 X^2 + 68 X Y + 90 Y^2)) +       256 a^8 (41 X^4 - 68 X^3 Y + 22 X^2 Y^2 + 60 X Y^3 + 9 Y^4 +         B^4 (9 X^2 + 86 X Y + 9 Y^2) +          B^2 (-26 X^3 + 26 X^2 Y + 490 X Y^2 + 54 Y^3)) +       16 a^4 (17 X^5 + 101 X^4 Y - 414 X^3 Y^2 + 594 X^2 Y^3 -     51 X Y^4 + 9 Y^5 +    B^2 (9 X^4 - 68 X^3 Y + 502 X^2 Y^2 - 68 X Y^3 + 9 Y^4))))^2
User avatar
PWrong
Pentonian
 
Posts: 1599
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Re: Polynomials for Toratopes

Postby ICN5D » Sat Dec 13, 2014 2:25 am

I think at this stage, we essentially have an algorithm to find the polynomial of any toratope. We don't have a simplified form based on the "roots" of the equation (which were never really roots to begin with), and it's quite likely that the simplified form doesn't exist. So we have to think about what we're trying to accomplish here. Do we actually want these huge unwieldy polynomials? Maybe it's enough to just know how big they are and that we can calculate them if we need them in the future.


Fair enough :) I honestly didn't think mathematica could do that. But, you made a ton of scripts that work with those polynomials, which is awesome. That's what I was interested in. I remember reading in some article, that I barely understood, about the polynomial of hypertoric varieties, and how they had some symmetry. It was something I wanted to see. I didn't expect them to be so complex, and enormous, though. I'll delve into it when I get a chance. In the process, we also built equations using the cuts, and explored the use of complex numbers to define a hole. I'm still wondering about those octic oblique terms....

As for what I call the 'roots' , (x±a±b)^4, what are they called, or what would you call it? Am I using the right terminology when I say something like, " solve for plane xzv ", or " factor out into perfect roots" ? This is important, I have some vocabulary to catch up on :XP:

So far, the terms I'm using are:

solve for plane xyz = make cut along xyz ,or, find intercepts on plane xyz

roots/solution = intercepts

factor out solution into perfect roots = simplify cut equation into a product of the intercepts' equations

So, if torus implicit is

((xy)z) = (sqrt(x^2 + y^2) -a)^2 + z^2 - b^2

and the 2 circles side by side cut is

((x)z) = (sqrt(x^2) -a)^2 + z^2 - b^2

it will also be equal to,
((x)z) = ((x - a)^2 + z^2 - b^2) * ((x + a)^2 + z^2 - b^2)

where one circle by itself is (x^2 + z^2 - b^2). This was another neat thing that interested me, was the algebraic approach to factoring out the cut equation. If possible, we'd still get the same answer as using the cut algorithm (the algorithm of which is the greatest workaround for such a process). All toratopes can do this with their intercepts, factor out into a product of several equations for one of the intercepting shapes. Seems like a neat avenue to explore. I'll bet subgrouping will help.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Polynomials for Toratopes

Postby PWrong » Sat Dec 13, 2014 3:05 am

I'm still wondering about those octic oblique terms....


Well like I said before, you can separate the polynomial into a term involving only constants, a term involving only variables, and a term involving everything else. This even works with the polynomial for (((II)(II))I).

If we set a,b,c to zero, the polynomial is
-(-r^2 + x1^2 + x2^2 + y1^2 + y2^2 + z1^2)^32

If we set x1, x2, y1, y2, z1 to zero, the polynomial is
-(a^4 + (b^2 + c^2 - r^2)^2 - 2 a^2 (b^2 + c^2 + r^2))^16

I suspect these things will always be relatively simple, and the middle "oblique" term will take on most of the complexity.

As for what I call the 'roots' , (x±a±b)^4, what are they called, or what would you call it? Am I using the right terminology when I say something like, " solve for plane xzv ", or " factor out into perfect roots" ? This is important, I have some vocabulary to catch up on :XP:

As I understand it, your process was to set all variables to 0 except for one, and then solve the equation for that variable. I don't think this has an established name, but "roots" is an acceptable name. In simple cases like a torus, this gives you something like ±a±b. In general, it's not so simple, you get terms like ±a±sqrt(b^2 + c^2). In the cases where the root is not equal to ±a±b±c, it's clearly wrong to say that ±a±b±c is the "root". Make sense?

All that said, the basic idea could still work. We didn't really finish trying with tiger, e.t.c.
User avatar
PWrong
Pentonian
 
Posts: 1599
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Re: Polynomials for Toratopes

Postby ICN5D » Mon Dec 15, 2014 6:28 pm

Well like I said before, you can separate the polynomial into a term involving only constants, a term involving only variables, and a term involving everything else. This even works with the polynomial for (((II)(II))I).

If we set a,b,c to zero, the polynomial is
-(-r^2 + x1^2 + x2^2 + y1^2 + y2^2 + z1^2)^32

If we set x1, x2, y1, y2, z1 to zero, the polynomial is
-(a^4 + (b^2 + c^2 - r^2)^2 - 2 a^2 (b^2 + c^2 + r^2))^16

I suspect these things will always be relatively simple, and the middle "oblique" term will take on most of the complexity.



How exactly did you do that? I can see the square roots have been eliminated in both. Can you walk me through some simpler examples? I'm wondering how to use that to find the octic oblique terms...
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Polynomials for Toratopes

Postby PWrong » Tue Dec 16, 2014 12:39 am

I just took the polynomial and used /. which is short for ReplaceAll. Here's another way to do it.

Code: Select all
P[a_, b_, c_, x1_, x2_, y1_, y2_, z1_] :=
SuperRootExpand[
  SuperRootExpand[
    RootExpand[{4 b^2 (x1^2 + x2^2), 4 c^2 (y1^2 + y2^2), 4 a^2 (b^2 + c^2 + x1^2 + x2^2 + y1^2 + y2^2 - Sqrt[4 b^2 (x1^2 + x2^2)] - Sqrt[4 c^2 (y1^2 + y2^2)])}, Sqrt[X] + Sqrt[Y] + 2 a Sqrt[B - Sqrt[X] - Sqrt[Y]]]
// Expand,    X]
// Expand, Y] // Simplify


Then
P[0,0,0,x1,x2,y1,y2,z1] = -(-r^2 + x1^2 + x2^2 + y1^2 + y2^2 + z1^2)^32
P[a,b,c,0,0,0,0,0] = -(a^4 + (b^2 + c^2 - r^2)^2 - 2 a^2 (b^2 + c^2 + r^2))^16

Then the final term is the original answer minus these two, which is huge.

However I think I was wrong to equate this with the "oblique term". Originally we were looking at expressions of the form

(x±a±b±c±r)^32 + (y±a±b±c±r)^32 + ,
or more generally
(x + constant_1)(x + constant_2)...(x + constant_32) + (y + constant_1)(y + constant_2)...(y + constant_32) + ...

So maybe I should look at setting all but one of the variables to zero, and add those terms up.
User avatar
PWrong
Pentonian
 
Posts: 1599
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Re: Polynomials for Toratopes

Postby PWrong » Tue Dec 16, 2014 1:03 am

Here's a thing. So remember how for the torus you had

(x±r±R)^4 + (y±r±R)^4 + (z±r±Ri)^4?

But this was a problem because ±r±Ri are not actually roots of the torus polynomial? Well the actual roots for z are ±Sqrt[a^2 - r^2]. Since there's only two roots, let's just square the corresponding factors.

(x±r±R)^4 + (y±r±R)^4 + (z±Sqrt[a^2 - r^2])^4
= (x - a - r) (x + a - r) (x - a + r) (x + a + r) + (y - a - r) (y + a - r) (y - a + r) (y + a + r) + (z + Sqrt[a^2 - r^2])^2 (z + Sqrt[a^2 - r^2])^2

This happens by coincidence to be exactly equal to (x±r±a)^4 + (y±r±a)^4 + (z±r±ai)^4. So you had the right idea, but you made a mistake and then got the right answer by accident.


Now we can try the tiger with the same idea.

(-Sqrt[a^2 - b^2] - r + w)^2 (Sqrt[a^2 - b^2] - r + w)^2 (-Sqrt[a^2 - b^2] + r + w)^2 (Sqrt[a^2 - b^2] + r + w)^2 + (-b - Sqrt[a^2 - r^2] + x)^2 (b - Sqrt[a^2 - r^2] + x)^2 (-b + Sqrt[a^2 - r^2] + x)^2 (b + Sqrt[a^2 - r^2] + x)^2 + (-b - Sqrt[a^2 - r^2] + y)^2 (b - Sqrt[a^2 - r^2] + y)^2 (-b + Sqrt[a^2 - r^2] + y)^2 (b + Sqrt[a^2 - r^2] + y)^2 + (-Sqrt[a^2 - b^2] - r + z)^2 (Sqrt[a^2 - b^2] - r + z)^2 (-Sqrt[a^2 - b^2] + r + z)^2 (Sqrt[a^2 - b^2] + r + z)^2

This nicely captures all the terms involving just one variable. Then the constant terms simplify up to -3 (-a^2 + b^2 + r^2)^4, which is nice and easy. Unfortunately, the oblique component is still huge and unsimplifiable.

Code: Select all
12 a^4 w^2 x^2 - 8 a^2 b^2 w^2 x^2 - 4 b^4 w^2 x^2 -
8 a^2 r^2 w^2 x^2 - 40 b^2 r^2 w^2 x^2 - 4 r^4 w^2 x^2 -
12 a^2 w^4 x^2 + 4 b^2 w^4 x^2 - 4 r^2 w^4 x^2 + 4 w^6 x^2 -
12 a^2 w^2 x^4 - 4 b^2 w^2 x^4 + 4 r^2 w^2 x^4 + 6 w^4 x^4 +
4 w^2 x^6 + 12 a^4 w^2 y^2 - 8 a^2 b^2 w^2 y^2 - 4 b^4 w^2 y^2 -
8 a^2 r^2 w^2 y^2 - 40 b^2 r^2 w^2 y^2 - 4 r^4 w^2 y^2 -
12 a^2 w^4 y^2 + 4 b^2 w^4 y^2 - 4 r^2 w^4 y^2 + 4 w^6 y^2 +
12 a^4 x^2 y^2 + 8 a^2 b^2 x^2 y^2 + 12 b^4 x^2 y^2 -
24 a^2 r^2 x^2 y^2 - 8 b^2 r^2 x^2 y^2 + 12 r^4 x^2 y^2 -
24 a^2 w^2 x^2 y^2 - 8 b^2 w^2 x^2 y^2 + 8 r^2 w^2 x^2 y^2 +
12 w^4 x^2 y^2 - 12 a^2 x^4 y^2 - 12 b^2 x^4 y^2 + 12 r^2 x^4 y^2 +
12 w^2 x^4 y^2 + 4 x^6 y^2 - 12 a^2 w^2 y^4 - 4 b^2 w^2 y^4 +
4 r^2 w^2 y^4 + 6 w^4 y^4 - 12 a^2 x^2 y^4 - 12 b^2 x^2 y^4 +
12 r^2 x^2 y^4 + 12 w^2 x^2 y^4 + 6 x^4 y^4 + 4 w^2 y^6 +
4 x^2 y^6 + 12 a^4 w^2 z^2 - 24 a^2 b^2 w^2 z^2 + 12 b^4 w^2 z^2 +
8 a^2 r^2 w^2 z^2 - 8 b^2 r^2 w^2 z^2 + 12 r^4 w^2 z^2 -
12 a^2 w^4 z^2 + 12 b^2 w^4 z^2 - 12 r^2 w^4 z^2 + 4 w^6 z^2 +
12 a^4 x^2 z^2 - 8 a^2 b^2 x^2 z^2 - 4 b^4 x^2 z^2 -
8 a^2 r^2 x^2 z^2 - 40 b^2 r^2 x^2 z^2 - 4 r^4 x^2 z^2 -
24 a^2 w^2 x^2 z^2 + 8 b^2 w^2 x^2 z^2 - 8 r^2 w^2 x^2 z^2 +
12 w^4 x^2 z^2 - 12 a^2 x^4 z^2 - 4 b^2 x^4 z^2 + 4 r^2 x^4 z^2 +
12 w^2 x^4 z^2 + 4 x^6 z^2 + 12 a^4 y^2 z^2 - 8 a^2 b^2 y^2 z^2 -
4 b^4 y^2 z^2 - 8 a^2 r^2 y^2 z^2 - 40 b^2 r^2 y^2 z^2 -
4 r^4 y^2 z^2 - 24 a^2 w^2 y^2 z^2 + 8 b^2 w^2 y^2 z^2 -
8 r^2 w^2 y^2 z^2 + 12 w^4 y^2 z^2 - 24 a^2 x^2 y^2 z^2 -
8 b^2 x^2 y^2 z^2 + 8 r^2 x^2 y^2 z^2 + 24 w^2 x^2 y^2 z^2 +
12 x^4 y^2 z^2 - 12 a^2 y^4 z^2 - 4 b^2 y^4 z^2 + 4 r^2 y^4 z^2 +
12 w^2 y^4 z^2 + 12 x^2 y^4 z^2 + 4 y^6 z^2 - 12 a^2 w^2 z^4 +
12 b^2 w^2 z^4 - 12 r^2 w^2 z^4 + 6 w^4 z^4 - 12 a^2 x^2 z^4 +
4 b^2 x^2 z^4 - 4 r^2 x^2 z^4 + 12 w^2 x^2 z^4 + 6 x^4 z^4 -
12 a^2 y^2 z^4 + 4 b^2 y^2 z^4 - 4 r^2 y^2 z^4 + 12 w^2 y^2 z^4 +
12 x^2 y^2 z^4 + 6 y^4 z^4 + 4 w^2 z^6 + 4 x^2 z^6 + 4 y^2 z^6
User avatar
PWrong
Pentonian
 
Posts: 1599
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Re: Polynomials for Toratopes

Postby PWrong » Tue Dec 16, 2014 2:25 am

There is probably a mistake in that last reply. I keep mixing up the order of the constants.
User avatar
PWrong
Pentonian
 
Posts: 1599
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Re: Polynomials for Toratopes

Postby ICN5D » Wed Dec 17, 2014 3:44 am

Here's a thing. So remember how for the torus you had

(x±r±R)^4 + (y±r±R)^4 + (z±r±Ri)^4?

But this was a problem because ±r±Ri are not actually roots of the torus polynomial? Well the actual roots for z are ±Sqrt[a^2 - r^2].



Well, hmm. You don't think it's more than coincidence? As in, another way to express the cut? It worked for torisphere as well, but I didn't actually graph spheritorus. If I can make a tiger with all imaginary roots on 1D axes, would it be more convincing? The oblique compliment may have to wait for that, but I could just square the 4D degree-4 terms to approximate.


If we graph the 2D intercepts of a torus, we'll get the two circles side by side, as one of the cuts : ((x)y)

Torus ((xy)z) : (sqrt(x^2 + y^2) - a)^2 + z^2 - b^2

Cut ((x)y) : (sqrt(x^2) - a)^2 + y^2 - b^2

In this graph, I set a=2 , b=1


Image

In this arrangement of circles, we have an axis that intercepts them, and an axis that goes between them. The axis between the circles is inside the hole of the torus, making an empty cut (()y). An 'empty cut' is another way of saying complex solution. Because hiding out there, in the complex plane, are the actual intercepts. But the complex plane in our case is just the real plane, in a higher dimension of space.

Solving for X-intercepts will make four real solutions of ((x)) : x = ± b ± a
--- gives us "4 objects on the screen" , moving into 2D/3D will merge array

Solving for Y-intercepts will make four complex solutions of (()y) : y = ± b ± ai
--- gives us empty space, but if moving into 2D along X, will "make 2 objects divide/merge"






Image

Now let's say we shift the torus by the value of a along X. Since the X-axis is a higher dimension relative to Y, we treat X as the complex plane. Since a defines the size of the hole, moving away from the center by a will make the ring come into view. This will place one of the circle intercepts at origin. By doing so, we'll bring the circle into the 1-plane of Y-axis. This is what it means to make an empty cut, then move out of the hole to an intercept.

Solving for X-intercepts will make four real solutions of ((x)) : x = ± b ± a
--- gives us "4 objects on the screen" , moving into 2D/3D will merge array

Solving for Y-intercepts will make two real and two complex solutions of (y) y = ± b and ± b + 2ai
--- Shifting by +ai will cancel out -ai terms and add to existing +ai , sums to +2ai
--- gives us half the shape, and half of all possible intercepts as 2 points
--- there is still another circle in a higher dimension from Y, and still two more existing points at +2ai

In toratopic notation, it looks like this : (()y) , and remove the empty () : (y) , which means two points along y at max separation. But, that's just moving one way out of the hole. There's the second circle as well, which is in the opposite direction. So, there are in total four possible intercepts for Y axis, even though we'll never see all of them from Y. In all the toratope exploration I've done, I can verify that moving by the exact value of a diameter will make intercepts come into view, at full separation in an empty cut. In fact, that's what those last six animations of ((((II)I)I)((II)I)) are showing. Starting with a cut analogous to X for the torus above, then rotate to the empty cut analogous to Y, all the while scanning the shape completely through a 3-plane. I've been meaning to make 4D cut to 2D animations, since we get slightly more complex empty cut scans. It'll make toratopic notation easier to understand with empty cut arrangements, since we can easily picture 4D toratopes in 3D.

So, that's kind of what I've been thinking on the use of imaginary numbers, and toratope holes. The tiger will still be on the list, since it has all empty 1D cuts.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Polynomials for Toratopes

Postby PWrong » Wed Dec 17, 2014 6:01 am

Solving for Y-intercepts will make four complex solutions of (()y) : y = ± b ± ai


It won't though. You never get ±b ± ai as a solution. The solutions to (sqrt(x^2 + y^2) - a)^2 + z^2 - b^2 = 0 on the x, y and z axes are easy to find. You just set the other variables to zero, and solve for the variable you want.

x = ±a ± b
y = ±a ± b
z = ±sqrt(b^2 - a^2).

For a standard a > b torus, the z roots are imaginary. Note that sqrt(b^2 - a^2) is not equal to ± b ± ai. This kind of error is so common it's given a name, the Freshman's dream.
User avatar
PWrong
Pentonian
 
Posts: 1599
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Re: Polynomials for Toratopes

Postby ICN5D » Wed Dec 17, 2014 6:31 am

I see what you mean. It's a very strange coincidence. Actually, it was a guess that I tested out. But, weird that expressing as ±b±ai would make the right sign change and the hole. So, what does ±sqrt(b^2 - a^2) expand into, anyways? Is it even possible to represent outside the square root? (Now I see what you were doing with the tiger equation in above post)
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Re: Polynomials for Toratopes

Postby PWrong » Wed Dec 17, 2014 6:43 am

I did try graphing the approximation for the tiger without the oblique component. Some of the cross sections look like a tiger with blobs in the corners, just like the approximation to the torus you made before.

This is what I was graphing:
f[r_, a_, b_, x_, y_, z_, w_] :=
(-b - Sqrt[-a^2 + r^2] + w)^2 (b - Sqrt[-a^2 + r^2] + w)^2 (-b + Sqrt[-a^2 + r^2] + w)^2 (b + Sqrt[-a^2 + r^2] + w)^2
+ (-a - Sqrt[-b^2 + r^2] + x)^2 (a - Sqrt[-b^2 + r^2] + x)^2 (-a + Sqrt[-b^2 + r^2] + x)^2 (a + Sqrt[-b^2 + r^2] + x)^2
+ (-a - Sqrt[-b^2 + r^2] + y)^2 (a - Sqrt[-b^2 + r^2] + y)^2 (-a + Sqrt[-b^2 + r^2] + y)^2 (a + Sqrt[-b^2 + r^2] + y)^2
+ (-b - Sqrt[-a^2 + r^2] + z)^2 (b - Sqrt[-a^2 + r^2] + z)^2 (-b + Sqrt[-a^2 + r^2] + z)^2 (b + Sqrt[-a^2 + r^2] + z)^2
- 4 (a^2 + b^2 - r^2)^4

Depending on your values for a,b,r, you might have to change the constant at the end to get a more interesting shape, or to get anything at all.
User avatar
PWrong
Pentonian
 
Posts: 1599
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Re: Polynomials for Toratopes

Postby PWrong » Wed Dec 17, 2014 6:46 am

So, what does ±sqrt(b^2 - a^2) expand into, anyways? Is it even possible to represent outside the square root?


It is what it is, there's not much you can do with it. But since a and b are just constants, it's already relatively simple. Also, in our case the square roots disappear when you multiply all the different solutions together anyway.
User avatar
PWrong
Pentonian
 
Posts: 1599
Joined: Fri Jan 30, 2004 8:21 am
Location: Perth, Australia

Re: Polynomials for Toratopes

Postby ICN5D » Tue May 19, 2015 10:30 pm

I finally figured out how the solution of z is working, in the torus equation, and how the imaginary number solutions locate the circles. That was one tough concept to nail down. I kept thinking it should be something else than what you get algebraically, since I was using the strange equation, with complex conjugate roots for z. It all makes so much more sense. Considering a parabola, with the lowest point set on y=5 , solving for x yields a complex root, (x - i√5)(x + i√5). The imaginary value is the square root of the height above x. Adjusting the parabola right or left, will make a complex conjugate root.

So, what happens with a circle, and we solve for x? Well, since a circle wraps back around, there are two points, as an upper and lower bound. Considering a circle that doesn't intersect x , the imaginary value is a product of both of those upper/lower points, as (x - 2i√2)(x + 2i√2) , which is a simplified form of (x - i√(4*2))(x + i√(4*2)) .

This is exactly equal to (z - √((b-a)(b+a))(z + √((b-a)(b+a)) , which is the solution for z. It really was right in front of me, but I couldn't visually understand the connection. What I needed to see was how it worked with a parabola, then find a working circle equation, expressed as roots of x:

x^2 + (y-a)^2 = b^2

(x-sqrt(-a^2+2 a y+b^2-y^2))(x+sqrt(-a^2+2 a y+b^2-y^2)) = 0




Solving for 1D roots of the tiger equation, which yields the correct complex conjugates of two circles above x:

(sqrt(x^2+0^2)-a)^2 + (sqrt(y^2+0^2)-b)^2 = c^2

solve for x,
x = ±(a+sqrt(-b^2-2 b y+c^2-y^2))
x = ±(sqrt(-b^2-2 b y+c^2-y^2)-a)
x = ±(a+sqrt(-b^2+2 b y+c^2-y^2))
x = ±(sqrt(-b^2+2 b y+c^2-y^2)-a)

express as product of roots for just the upper half of the four,

(x-(a+sqrt(-b^2-2 b y+c^2-y^2)))(x+(a+sqrt(-b^2-2 b y+c^2-y^2)))(x-(sqrt(-b^2-2 b y+c^2-y^2)-a))(x+(sqrt(-b^2-2 b y+c^2-y^2)-a))

a=3 , b=3 , c=1 , y=0 , solve for x-intercepts,

(x-(3+sqrt(-3^2-2*3*0+1^2-0^2)))(x+(3+sqrt(-3^2-2*3*0+1^2-0^2)))(x-(sqrt(-3^2-2*3*0+1^2-0^2)-3))(x+(sqrt(-3^2-2*3*0+1^2-0^2)-3))

(x-3 -2i√2)(x-3 +2i√2)(x+3 -2i√2)(x+3 +2i√2)

x = ±3 ±2i√2

Both circles have an upper/lower bound of 4 and 2 , which become i√8 , and canceling this will put the lower bound of both circles on x = ±3.




Which leads right back to my experimental equation for the torus:

(x-b-a)(x+b-a)(x-b+a)(x+b+a) + (y-b-a)(y+b-a)(y-b+a)(y+b+a) + (z-b-ia)(z+b-ia)(z-b+ia)(z+b+ia) + 2((xy)^2 + (xz)^2 + (yz)^2) - 2(a^4 + b^4) = 0

Surprisingly, what I hadn't tried yet, was setting x and y to zero, and seeing what it simplifies to. When I did, it made more sense why (z-b-ia)(z+b-ia)(z-b+ia)(z+b+ia) had worked.

(0-b-a)(0+b-a)(0-b+a)(0+b+a) + (0-b-a)(0+b-a)(0-b+a)(0+b+a) + (z-b-ia)(z+b-ia)(z-b+ia)(z+b+ia) + 2((0)^2 + (0*z)^2 + (0*z)^2) - 2(a^4 + b^4) = 0

2(a^2-b^2)^2 + (z-b-ia)(z+b-ia)(z-b+ia)(z+b+ia) - 2(a^4 + b^4) = 0

(z-b-ia)(z+b-ia)(z-b+ia)(z+b+ia) + 2(a^2-b^2)^2 - 2(a^4 + b^4) = 0

(z-b-ia)(z+b-ia)(z-b+ia)(z+b+ia) - 4a^2b^2 = 0


Where,

(z-b-ia)(z+b-ia)(z-b+ia)(z+b+ia) - 4a^2b^2 == (z^2+a^2-b^2)(z^2+a^2-b^2)

Which means, we can actually express the solutions for z as a product of four complex conjugates, with additional term of -4a^2b^2 , like a constant. The algebraic solution is z^2 + a^2 - b^2 , but this is only a degree-2 equation, and so needs to be squared to include the missing degree-4 terms.



If setting y=0, z=0, we get

(x-b-a)(x+b-a)(x-b+a)(x+b+a) + (0-b-a)(0+b-a)(0-b+a)(0+b+a) + (0-b-ia)(0+b-ia)(0-b+ia)(0+b+ia) + 2((x*0)^2 + (x*0)^2 + (0)^2) - 2(a^4 + b^4) = 0

(x-b-a)(x+b-a)(x-b+a)(x+b+a) + (a^2-b^2)^2 + (a^2+b^2)^2 + 2((x*0)^2 + (x*0)^2 + (0)^2) - 2(a^4 + b^4) = 0

(x-b-a)(x+b-a)(x-b+a)(x+b+a) + (a^2-b^2)^2 + (a^2+b^2)^2 - 2(a^4 + b^4) = 0

(x-b-a)(x+b-a)(x-b+a)(x+b+a) = 0

The remaining terms from setting y=0, z=0 cancel out completely along with the consolidate compliment - 2(a^4 + b^4) , yielding four real roots of x.
It is by will alone, I set my donuts in motion
ICN5D
Pentonian
 
Posts: 1135
Joined: Mon Jul 28, 2008 4:25 am
Location: the Land of Flowers

Previous

Return to Toratopes

Who is online

Users browsing this forum: No registered users and 11 guests