# $P=QR$ decomposition of given list

For given arbitrary lists, I want to decompose the list into two parts and assign individual lists.

i.e., I want to decompose, $$P=QR$$.

And I can think of its decomposition in two cases: ordered and non-ordered cases.

For example, Let $$P=\{a1,a2,a3\}$$,

For ordered case, I have $$2$$ cases.

$$(Q,R)=\{ (\{a1\}, \{a2,a3\}), (\{a1,a2\}, \{a3\}) \}$$

where the ordering of a1,a2,a3 are strictly followed.

For non-ordered case, I have $$3+3=6$$ possible decomposition. $$(Q,R) = \{ (\{a1\}, \{a2, a3\}), (\{a2\}, \{a1,a3\}), (\{a3\}, \{a1,a2\}), (\{a1,a2\}, \{a3\}), (\{a1,a3\},\{a2\}), (\{a2,a3\},\{a1\}) \}$$.

And in this case I want to assign $$Q[]=\{a1\}, R[]=\{a2,a3\},$$ and so on.

For $$P=\{a1, a2,a3,a4\}$$ case I have $$4+6+4=14$$ unordered partitions.

explicitly, neglecting $$a$$'s I have

$$1234= (123,4) + (124,3) + (134,2) + (234,1) + (12,34) + (13,24) + (14,23) + (23,14) + (24,13) + (34,12) + (1,234) + (2,134) + (3,124)+ (4,123)$$

For given lists, I want to make ordered and non-ordered partitions via Mathematica.

My little trial, is for ordered case it seems mathematica command table might be good. Because naively, my pseudo code

 Q=Table[{P, \cdots, P[[i]]\}, ]
R=Table[P[[i+1]], ]


seems fine.

And for non-ordered case, subset command might be useful. Because,

Subsets[{a, b, c}]
{{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}


except for the empty set and the whole set, I want them as $$Q$$, but I have trouble identifying $$R$$.

P={a1,a2,a3,a4};