I started with the polynomial: $p(x) = x^6-6x^4-6x^3+12x^2-36x+1$ and obtained four 12x12 matrices that have the polynomial $p$ as a minimal polynomial. Using GAP I found out that the Galois group of the polynomial $p$ is the dihedral group with 12 elements:
gap> GaloisType(p);
3
Denoting the list of the matrices mentioned above by $gens$, I conclude that the splitting field of $p$ can be constructed as the matrix algebra $A$ over $\mathbb{Q}$ with generators $gens$:
gap> A := Algebra(Rationals, gens);
<algebra over Rationals, with 4 generators>
gap> Dimension(A);
12
In order to find the missing two 'roots' in $gens$ I tried to reconstruct the galois group $G$ of the field $A$ and find them in the orbit of one of them, but I only found three non trivial elements of $G$:
gap> rho := AlgebraHomomorphismByImages(A, A, [gens[2],gens[4]], [gens[4], gens[2]]);;
gap> Position(gens, Image(rho, gens[1]));
3
From which I conclude that $rho = (2,4)(1,3)...$ and
gap> sig := AlgebraHomomorphismByImages(A, A, [gens[2],gens[3]], [gens[3], gens[2]]);;
gap> Position(gens, Image(sig, gens[1]));
4
From which $sig = (2,3)(1,4)...$
So all I can construct as elements of $G$ is the subgroup $C2 \times C2$ and here I am stuck.
Caveat: Just the fact that the four matrices have the same minimal polynomial and generate a 12-dimensional algebra is, I think, not proof that they lie in a common algebra that represents the splitting field. But in the end all works out here. Also, what I do is the best I could think of but still is somewhat overkill and will scale badly. Still, maybe it helps.
The idea is to express the roots Using a primitive element of the splitting field. After some tries we find that $gens_1+2gens_2$ will work:
Now form the algebraic extension for $q$ and factor the original polynomial over it, and take the roots
Now comes a horrible hack. Since I don't want to bother to extract the representation, I use cut-and-paste in the terminal with a variable $a$ to make polynomails from it:
Finally, I evaluate these root expressions in the original primitive element (and verify that indeed the four initial matrices are good:
So these six matrices are the roots. To save you recomputation, I give the two missing ones here (multiplied out denominator to keep the expressions short: