with(LinearAlgebra);
Digits := 50;
m := Matrix(1..11,1..11,fill=0);
m[1,2] := m[1,2] + 1;
m[1,3] := m[1,3] + 1;
m[1,4] := m[1,4] + 1;
m[2,5] := m[2,5] + 1;
m[2,6] := m[2,6] + 1;
m[2,7] := m[2,7] + 1;
m[3,8] := m[3,8] + 1;
m[3,5] := m[3,5] + 1;
m[3,9] := m[3,9] + 1;
m[4,10] := m[4,10] + 1;
m[4,11] := m[4,11] + 1;
m[4,5] := m[4,5] + 1;
m[5,5] := m[5,5] + 1;
m[5,5] := m[5,5] + 1;
m[5,5] := m[5,5] + 1;
m[6,5] := m[6,5] + 1;
m[6,5] := m[6,5] + 1;
m[6,9] := m[6,9] + 1;
m[7,5] := m[7,5] + 1;
m[7,11] := m[7,11] + 1;
m[7,5] := m[7,5] + 1;
m[8,5] := m[8,5] + 1;
m[8,5] := m[8,5] + 1;
m[8,7] := m[8,7] + 1;
m[9,10] := m[9,10] + 1;
m[9,5] := m[9,5] + 1;
m[9,5] := m[9,5] + 1;
m[10,5] := m[10,5] + 1;
m[10,6] := m[10,6] + 1;
m[10,5] := m[10,5] + 1;
m[11,8] := m[11,8] + 1;
m[11,5] := m[11,5] + 1;
m[11,5] := m[11,5] + 1;
u := Vector[row](11,fill=0);
u[1] := 1;
v := Vector[column](11,fill=0);
v[1] := 1;
v[2] := 1;
v[3] := 1;
v[4] := 1;
v[6] := 1;
v[7] := 1;
v[8] := 1;
v[9] := 1;
v[10] := 1;
v[11] := 1;
p := MinimalPolynomial(m,x);
factor(p);
