A simpler positive-dimensional example
Example 8.12 from Numerically solving polynomial systems with Bertini, by Daniel J. Bates, Jonathan D. Haunstein, Andrew J. Sommese and Charles W. Wampler (SIAM 2013).
We wish to solve the system of polynomial equations
The irreducible solution set for this system is three lines: one with and
free, one with
(nonzero) and
; and one with
(nonzero) and
.
polysyms x y z poly_system = BertiniLab('function_def',[x*z+y; y*z+x], ... 'variable_group',[x y z]); poly_system = poly_system.irreducible_decomposition; results = poly_system.solve_summary; istart = strfind(results,'************** Decomposition by Degree'); disp(results(istart:end))
************** Decomposition by Degree ************** Dimension 1: 3 classified components ----------------------------------------------------- degree 1: 3 components *****************************************************
We can test each of the proposed solutions for membership. The method membership returns a logical array with a column for each point and a row for each component. An element is true if the point is a member of that component. The order of components varies, but if we input a point from each of the three solutions, we will get a permutation of the identity matrix.
membership_info = poly_system.membership([0 0 pi; 2 2 -1; 2 -2 1].'); disp(membership_info)
1 0 0 0 1 0 0 0 1