### The Maxima on-line user's manual

Algebra Calculator

#### Pui_direct

Function: pui_direct (<orbite>, [<lvar_1>, ..., <lvar_n>], [<d_1>, <d_2>, ..., <d_n>]) Let <f> be a polynomial in <n> blocks of variables <lvar_1>, ..., <lvar_n>. Let <c_i> be the number of variables in <lvar_i>, and <SC> be the product of <n> symmetric groups of degree <c_1>, ..., <c_n>. This group acts naturally on <f>. The list <orbite> is the orbit, denoted `<SC>(<f>)`, of the function <f> under the action of <SC>. (This list may be obtained by the function `multi_orbit`.) The <di> are integers s.t. c_1 <= d_1, c_2 <= d_2, ..., c_n <= d_n.

Let <SD> be the product of the symmetric groups S_[d_1] x S_[d_2] x ... x S_[d_n]. The function `pui_direct` returns the first <n> power functions of `<SD>(<f>)` deduced from the power functions of `<SC>(<f>)`, where <n> is the size of `<SD>(<f>)`.

The result is in multi-contracted form w.r.t. <SD>, i.e. only one element is kept per orbit, under the action of <SD>.

```          (%i1) l: [[x, y], [a, b]];
(%o1)                   [[x, y], [a, b]]
(%i2) pui_direct (multi_orbit (a*x + b*y, l), l, [2, 2]);
2  2
(%o2)               [a x, 4 a b x y + a  x ]
(%i3) pui_direct (multi_orbit (a*x + b*y, l), l, [3, 2]);
2  2     2    2        3  3
(%o3) [2 a x, 4 a b x y + 2 a  x , 3 a  b x  y + 2 a  x ,```

2 2 2 2 3 3 4 4 12 a b x y + 4 a b x y + 2 a x ,

3 2 3 2 4 4 5 5 10 a b x y + 5 a b x y + 2 a x ,

3 3 3 3 4 2 4 2 5 5 6 6 40 a b x y + 15 a b x y + 6 a b x y + 2 a x ]

`          (%i4) pui_direct ([y + x + 2*c, y + x + 2*b, y + x + 2*a],`
`                [[x, y], [a, b, c]], [2, 3]);`
`                                       2              2`
`          (%o4) [3 x + 2 a, 6 x y + 3 x  + 4 a x + 4 a ,`

2 3 2 2 3 9 x y + 12 a x y + 3 x + 6 a x + 12 a x + 8 a ]

```(%o1)                                true
(%i2) ```

### Related Examples

? pui_direct;

Calculate

? pui_direct;

Calculate

##### direct-multi_orbit-orbit-pui_direct

l: [[x, y], [a, b]];

pui_direct (multi_or...

pui_direct (multi_or...

Calculate

? direct;

Calculate

##### direct-ratsimp

direct ([z^2 - e1* z...

ratsimp (%);

ratsimp (direct ([z^...

Calculate