F = QQ['a', 'b', 'c'].fraction_field()
a, b, c = F.gens()

# three mutually tangent spheres which are all perpendicular to the x, y plane
gram = matrix([
  [-1, 0,  0,  0,  0],
  [0, -1,  a,  b,  c],
  [0,  a, -1,  1,  1],
  [0,  b,  1, -1,  1],
  [0,  c,  1,  1, -1]
])

P, L, U = gram.LU()
solution = (P * L).transpose()
mform = U * L.transpose().inverse()

concrete = solution.subs({a: 0, b: 1, c: -3/4})

std_basis = matrix([
  [0, 0, 0, 1,  1],
  [0, 0, 0, 1, -1],
  [1, 0, 0, 0,  0],
  [0, 1, 0, 0,  0],
  [0, 0, 1, 0,  0]
])
std_solution = std_basis * solution
std_concrete = std_basis * concrete