Try a cut that goes through the trivial solution

The previous cut was supposed to do this, but I was missing some parentheses.
This commit is contained in:
Aaron Fenyes 2024-02-08 01:58:12 -05:00
parent 45aaaafc8f
commit f97090c997

View File

@ -262,8 +262,8 @@ println("Two points on a sphere: ", Engine.dimension(ideal_ab_s), " degrees of f
cut = [ cut = [
sum(vcat(a.coords, (s.coords - [0, 0, 0, 0, 1]))) sum(vcat(a.coords, (s.coords - [0, 0, 0, 0, 1])))
sum(vcat([2, 1, 1] .* a.coords, [1, 2, 1, 1, 1] .* s.coords - [0, 0, 0, 0, 1])) sum(vcat([2, 1, 1] .* a.coords, [1, 2, 1, 1, 1] .* (s.coords - [0, 0, 0, 0, 1])))
sum(vcat([1, 2, 0] .* a.coords, [1, 1, 0, 1, 2] .* s.coords - [0, 0, 0, 0, 1])) sum(vcat([1, 2, 0] .* a.coords, [1, 1, 0, 1, 2] .* (s.coords - [0, 0, 0, 0, 1])))
] ]
cut_ideal_ab_s = Generic.Ideal(base_ring(ideal_ab_s), [gens(ideal_ab_s); cut]) cut_ideal_ab_s = Generic.Ideal(base_ring(ideal_ab_s), [gens(ideal_ab_s); cut])
cut_dim = Engine.dimension(cut_ideal_ab_s) cut_dim = Engine.dimension(cut_ideal_ab_s)
@ -283,7 +283,7 @@ if cut_dim == 0
# test corresponding witness set # test corresponding witness set
cut_matrix = [1 1 1 1 0 1 1 0 1 1 0; 1 2 1 2 0 1 1 0 1 1 0; 1 1 0 1 0 1 2 0 2 0 0] cut_matrix = [1 1 1 1 0 1 1 0 1 1 0; 1 2 1 2 0 1 1 0 1 1 0; 1 1 0 1 0 1 2 0 2 0 0]
cut_subspace = LinearSubspace(cut_matrix, [1, 1, 1]) cut_subspace = LinearSubspace(cut_matrix, [1, 1, 2])
witness = witness_set(System(eqns_ab_s, variables = vbls), cut_subspace) witness = witness_set(System(eqns_ab_s, variables = vbls), cut_subspace)
println("witness solutions:") println("witness solutions:")
for wtns in solutions(witness) for wtns in solutions(witness)