This method checks if the differentials of a factorization compose to a scalar multiple of the identity. It returns a sequence where the first element is a boolean value indicating whether the factorization is well-defined, and the second element is the scalar multiple if it exists, otherwise it outputs no potential.
This check is distinct from isWellDefined for factorizations, since it does not do any other checks for well-definedness except for checking the differentials compose to a scalar multiple of the identity.
i1 : Q = ZZ/101[x_1..x_3];
|
i2 : X = ZZdfactorization {x_1, x_2 , x_3}
1 1 1 1
o2 = Q <-- Q <-- Q <-- Q
0 1 2 0
o2 : ZZdFactorization
|
i3 : isdFactorization(X)
o3 = (true, x x x )
1 2 3
o3 : Sequence
|
i4 : f = x_1^3 + x_2^3 + x_3^3;
|
i5 : X2 = randomTailMF(f, 2, 4, 2)
4 4 4
o5 = Q <-- Q <-- Q
0 1 0
o5 : ZZdFactorization
|
i6 : X2.dd
4 4
o6 = 1 : Q <------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Q : 0
{3} | 47x_2^2+8x_2x_3+14x_3^2 12x_2^2+46x_2x_3+17x_3^2 x_1^2+45x_1x_2+50x_2^2+35x_1x_3-38x_2x_3-37x_3^2 -4x_1x_2^2-11x_2^3-9x_1x_2x_3-41x_2^2x_3+19x_1x_3^2+28x_2x_3^2-43x_3^3 |
{4} | -x_2-25x_3 x_1-46x_2+17x_3 2x_1+33x_2+28x_3 20x_1x_2+12x_2^2-8x_1x_3-13x_2x_3+43x_3^2 |
{4} | x_1-49x_2-34x_3 9x_1-5x_2-6x_3 12x_1+24x_2+27x_3 -20x_1^2+45x_1x_2-13x_2^2+17x_1x_3+46x_2x_3-42x_3^2 |
{4} | x_1+14x_2+26x_3 9x_1-43x_2-50x_3 12x_1-26x_2-17x_3 9x_1x_2-48x_2^2+17x_1x_3-32x_2x_3-6x_3^2 |
4 4
0 : Q <--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Q : 1
{2} | 6x_1-50x_2-35x_3 -9x_1^2+38x_1x_2+32x_2^2+38x_1x_3-42x_2x_3-29x_3^2 47x_1x_2-23x_2^2-41x_1x_3+15x_2x_3+10x_3^2 x_1^2+31x_1x_2+32x_2^2-8x_1x_3+22x_2x_3-27x_3^2 |
{2} | -2x_1-29x_2+24x_3 x_1^2+37x_1x_2+10x_2^2-40x_1x_3+44x_2x_3-31x_3^2 x_1x_2+15x_2^2+40x_1x_3-26x_2x_3-13x_3^2 -37x_2^2-15x_1x_3-17x_3^2 |
{2} | x_1-45x_2-35x_3 7x_2^2+26x_2x_3+8x_3^2 20x_2^2+45x_2x_3+6x_3^2 34x_2^2+48x_2x_3-20x_3^2 |
{3} | 0 5x_2+9x_3 5x_1+9x_2 -5x_1+3x_2-3x_3 |
o6 : ZZdFactorizationMap
|
i7 : isdFactorization X2
3 3 3
o7 = (true, x + x + x )
1 2 3
o7 : Sequence
|
i8 : randomLinearMF(2,Q)
32 32 32
o8 = Q <-- Q <-- Q
0 1 0
o8 : ZZdFactorization
|
i9 : isdFactorization oo
2 2 2
o9 = (true, 7x + 15x x + 39x - 23x x + 43x x - 17x )
1 1 2 2 1 3 2 3 3
o9 : Sequence
|
i10 : L = linearMF(f, t) --must specify root of unity t for larger period
/ Q[t] \9 / Q[t] \9 / Q[t] \9 / Q[t] \9
o10 = |----------| <-- |----------| <-- |----------| <-- |----------|
| 2 | | 2 | | 2 | | 2 |
\t + t + 1/ \t + t + 1/ \t + t + 1/ \t + t + 1/
0 1 2 0
o10 : ZZdFactorization
|
i11 : isdFactorization L
3 3 3
o11 = (true, x + x + x )
1 2 3
o11 : Sequence
|
i12 : L.dd
/ Q[t] \9 / Q[t] \9
o12 = 2 : |----------| <----------------------------------------------------------------------------------- |----------| : 0
| 2 | {0, 3} | x_3 0 0 x_2 x_1 0 0 0 0 | | 2 |
\t + t + 1/ {0, 3} | 0 x_3 0 0 x_2t x_1 0 0 0 | \t + t + 1/
{0, 3} | 0 0 x_3 x_1 0 -x_2t-x_2 0 0 0 |
{0, 3} | 0 0 0 x_3t 0 0 x_2 x_1 0 |
{0, 3} | 0 0 0 0 x_3t 0 0 x_2t x_1 |
{0, 3} | 0 0 0 0 0 x_3t x_1 0 -x_2t-x_2 |
{0, 3} | x_2 x_1 0 0 0 0 -x_3t-x_3 0 0 |
{0, 3} | 0 x_2t x_1 0 0 0 0 -x_3t-x_3 0 |
{0, 3} | x_1 0 -x_2t-x_2 0 0 0 0 0 -x_3t-x_3 |
/ Q[t] \9 / Q[t] \9
0 : |----------| <----------------------------------------------------------------------------------- |----------| : 1
| 2 | {0, 3} | x_3 0 0 x_2 x_1 0 0 0 0 | | 2 |
\t + t + 1/ {0, 3} | 0 x_3 0 0 x_2t x_1 0 0 0 | \t + t + 1/
{0, 3} | 0 0 x_3 x_1 0 -x_2t-x_2 0 0 0 |
{0, 3} | 0 0 0 x_3t 0 0 x_2 x_1 0 |
{0, 3} | 0 0 0 0 x_3t 0 0 x_2t x_1 |
{0, 3} | 0 0 0 0 0 x_3t x_1 0 -x_2t-x_2 |
{0, 3} | x_2 x_1 0 0 0 0 -x_3t-x_3 0 0 |
{0, 3} | 0 x_2t x_1 0 0 0 0 -x_3t-x_3 0 |
{0, 3} | x_1 0 -x_2t-x_2 0 0 0 0 0 -x_3t-x_3 |
/ Q[t] \9 / Q[t] \9
1 : |----------| <----------------------------------------------------------------------------------- |----------| : 2
| 2 | {0, 3} | x_3 0 0 x_2 x_1 0 0 0 0 | | 2 |
\t + t + 1/ {0, 3} | 0 x_3 0 0 x_2t x_1 0 0 0 | \t + t + 1/
{0, 3} | 0 0 x_3 x_1 0 -x_2t-x_2 0 0 0 |
{0, 3} | 0 0 0 x_3t 0 0 x_2 x_1 0 |
{0, 3} | 0 0 0 0 x_3t 0 0 x_2t x_1 |
{0, 3} | 0 0 0 0 0 x_3t x_1 0 -x_2t-x_2 |
{0, 3} | x_2 x_1 0 0 0 0 -x_3t-x_3 0 0 |
{0, 3} | 0 x_2t x_1 0 0 0 0 -x_3t-x_3 0 |
{0, 3} | x_1 0 -x_2t-x_2 0 0 0 0 0 -x_3t-x_3 |
o12 : ZZdFactorizationMap
|
i13 : L.dd^3
/ Q[t] \9 / Q[t] \9
o13 = 0 : |----------| <-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |----------| : 0
| 2 | {0, 3} | x_1^3+x_2^3+x_3^3 0 0 0 0 0 0 0 0 | | 2 |
\t + t + 1/ {0, 3} | 0 x_1^3+x_2^3+x_3^3 0 0 0 0 0 0 0 | \t + t + 1/
{0, 3} | 0 0 x_1^3+x_2^3+x_3^3 0 0 0 0 0 0 |
{0, 3} | 0 0 0 x_1^3+x_2^3+x_3^3 0 0 0 0 0 |
{0, 3} | 0 0 0 0 x_1^3+x_2^3+x_3^3 0 0 0 0 |
{0, 3} | 0 0 0 0 0 x_1^3+x_2^3+x_3^3 0 0 0 |
{0, 3} | 0 0 0 0 0 0 x_1^3+x_2^3+x_3^3 0 0 |
{0, 3} | 0 0 0 0 0 0 0 x_1^3+x_2^3+x_3^3 0 |
{0, 3} | 0 0 0 0 0 0 0 0 x_1^3+x_2^3+x_3^3 |
/ Q[t] \9 / Q[t] \9
1 : |----------| <-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |----------| : 1
| 2 | {0, 3} | x_1^3+x_2^3+x_3^3 0 0 0 0 0 0 0 0 | | 2 |
\t + t + 1/ {0, 3} | 0 x_1^3+x_2^3+x_3^3 0 0 0 0 0 0 0 | \t + t + 1/
{0, 3} | 0 0 x_1^3+x_2^3+x_3^3 0 0 0 0 0 0 |
{0, 3} | 0 0 0 x_1^3+x_2^3+x_3^3 0 0 0 0 0 |
{0, 3} | 0 0 0 0 x_1^3+x_2^3+x_3^3 0 0 0 0 |
{0, 3} | 0 0 0 0 0 x_1^3+x_2^3+x_3^3 0 0 0 |
{0, 3} | 0 0 0 0 0 0 x_1^3+x_2^3+x_3^3 0 0 |
{0, 3} | 0 0 0 0 0 0 0 x_1^3+x_2^3+x_3^3 0 |
{0, 3} | 0 0 0 0 0 0 0 0 x_1^3+x_2^3+x_3^3 |
/ Q[t] \9 / Q[t] \9
2 : |----------| <-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |----------| : 2
| 2 | {0, 3} | x_1^3+x_2^3+x_3^3 0 0 0 0 0 0 0 0 | | 2 |
\t + t + 1/ {0, 3} | 0 x_1^3+x_2^3+x_3^3 0 0 0 0 0 0 0 | \t + t + 1/
{0, 3} | 0 0 x_1^3+x_2^3+x_3^3 0 0 0 0 0 0 |
{0, 3} | 0 0 0 x_1^3+x_2^3+x_3^3 0 0 0 0 0 |
{0, 3} | 0 0 0 0 x_1^3+x_2^3+x_3^3 0 0 0 0 |
{0, 3} | 0 0 0 0 0 x_1^3+x_2^3+x_3^3 0 0 0 |
{0, 3} | 0 0 0 0 0 0 x_1^3+x_2^3+x_3^3 0 0 |
{0, 3} | 0 0 0 0 0 0 0 x_1^3+x_2^3+x_3^3 0 |
{0, 3} | 0 0 0 0 0 0 0 0 x_1^3+x_2^3+x_3^3 |
o13 : ZZdFactorizationMap
|