Oracle for Cartesian products C = C_1 x C_2 x ... where each block is solved independently.
Design: ProductOracle((lmo_1, lmo_2, ...), [1:n_1, n_1+1:n_1+n_2, ...]) with composed active_set (shift indices per block, zero-pad equality normals).
Does NOT handle intersection C_1 ∩ C_2 — intersection LMOs require LP solves or alternating projection, which is a separate feature.
Migrated from TODO.md
Oracle for Cartesian products
C = C_1 x C_2 x ...where each block is solved independently.Design:
ProductOracle((lmo_1, lmo_2, ...), [1:n_1, n_1+1:n_1+n_2, ...])with composedactive_set(shift indices per block, zero-pad equality normals).Does NOT handle intersection
C_1 ∩ C_2— intersection LMOs require LP solves or alternating projection, which is a separate feature.Migrated from TODO.md