using LinearAlgebra using AbstractAlgebra F, (a, b, c) = rational_function_field(Generic.Rationals{BigInt}(), ["a", "b", "c"]) M = matrix_space(F, 5, 5) # three mutually tangent spheres which are all perpendicular to the x, y plane gram = M(F.([ -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; ])) r, p, L, U = lu(gram) solution = transpose(p * L) mform = U * inv(transpose(L)) concrete = [evaluate(entry, [0, 1, -3//4]) for entry in solution] std_basis = [ 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 = M(F.(std_basis)) * solution std_concrete = std_basis * concrete