I have written a function `myPfuntest`

,

```
myPfuntest(layer_) :=
Table({-1, 1} /.
Abs(GroupBy(CoefficientList(
Nest(x*D(#, x) &, Product(1 - x^(2^i), {i, 0, layer}), level)
,x), Sign)), {level, 1, layer}
)
myPfuntest(1) // MatrixForm
myPfuntest(2) // MatrixForm
myPfuntest(3) // MatrixForm
myPfuntest(4) // MatrixForm
```

Hoping to get this kind of desired result

$ 1 + 2 = $ 3

Y

$

begin {aligned}

1 + 2 + 4 + 7 & = 3 + 5 + 6 \

1 ^ 2 + 2 ^ 2 + 4 ^ 2 + 7 ^ 2 & = 3 ^ 2 + 5 ^ 2 + 6 ^ 2

end {aligned}

$

Y

$

begin {aligned}

1 + 2 + 4 + 7 + 8 + 11 + 13 + 14 & = 3 + 5 + 6 + 9 + 10 + 12 + 15 \

1 ^ 2 + 2 ^ 2 + 4 ^ 2 + 7 ^ 2 + 8 ^ 2 + 11 ^ 2 + 13 ^ 2 + 14 ^ 2 & = 3 ^ 2 + 5 ^ 2 + 6 ^ 2 + 9 ^ 2 + 10 ^ 2 + 12 ^ 2 + 15 ^ 2 \

1 ^ 3 + 2 ^ 3 + 4 ^ 3 + 7 ^ 3 + 8 ^ 3 + 11 ^ 3 + 13 ^ 3 + 14 ^ 3 & = 3 ^ 3 + 5 ^ 3 + 6 ^ 3 + 9 ^ 3 + 10 ^ 3 + 12 ^ 3 + 15 ^ 3

end {aligned}

$

I can use `Sqrt()`

, `CubeRoot`

Y `Surd`

to get the base numbers, or simplify the format based on the linear sets, but how can I prevent them from evaluating? For example

```
{1, 2, 4, 7}^2
```

would not give me

{1 ^ 2.2 ^ 2.4 ^ 2.7 ^ 2}