We present a Julia package for computing the regions (i.e., connected components) in the complement of an arrangement of real hypersurfaces.
Our input consists of
The output is a list of all regions of the
For each region
Let us consider two concentric circles. For instance, we could take the two circles
julia> using HypersurfaceRegions
julia> @var x y;
julia> f_1 = x^2 + y^2 - 1;
julia> f_2 = x^2 + y^2 - 4;
julia> f = [f_1; f_2]
julia> regions(f)
egionsResult with 3 regions:
=============================
9 complex critical points
5 real critical points
╭──────────────┬───────────────────────╮
│ sign pattern │ regions │
├──────────────┼───────────────────────┤
│ + + │ number = 1 │
│ │ χ = 0, μ = [1, 1, 0] │
│ - - │ number = 1 │
│ │ χ = 1, μ = [1, 0, 0] │
│ + - │ number = 1 │
│ │ χ = 0, μ = [1, 1, 0] │
╰──────────────┴───────────────────────╯
The output shows that