Can anyone see a way to solve the system below? I tried Reduce but evaluation takes a while so I’m not sure it would work
terms = {{g^2, g h, h^2, -o^2, -o p, -p^2}, {g^2, g k,
k^2, -o^2, -o q, -q^2}, {g^2, g m, m^2, -o^2, -o r, -r^2}, {g^2,
g n, n^2, -o^2, -o s, -s^2}, {h^2, h k,
k^2, -p^2, -p q, -q^2}, {h^2, h m, m^2, -p^2, -p r, -r^2}, {h^2,
h n, n^2, -p^2, -p s, -s^2}, {k^2, k m,
m^2, -q^2, -q r, -r^2}, {k^2, k n, n^2, -q^2, -q s, -s^2}, {m^2,
m n, n^2, -r^2, -r s, -s^2}};
vars = Variables@Flatten@terms;
coefs = Array[c, Dimensions[terms]];
eqs = MapThread[#1.#2 == 0 &, {terms, coefs}];
Reduce[eqs, vars, Reals]
You can approach your problem from the optimization perspective, building the sum of squares of the r.h.s. of your equations.
Define your matrix:
Now define the code that solve the algebraic equation as a constrained optimization:
Now define a function that constructs a set of c[,] with a given solution:
Generate a matrix:
Solve equations with higher working precision, and coerce to machine numbers:
Verify that the expected solution is found:
Hope this helps.