APP-03: a planar zonotope cover

This example uses the saved output of the APP-03 numerical report at source commit e105a86b8e2ab7d09b1e7042fc5f0d5bc0ce5c40. The coordinate labels are x and y.

Complete minimal input

The input set ID is diamond-source, center [0, 0], coordinate labels x and y, no factor equalities, and generator columns (1,0), (0,1) and (0.5,0.5). Factor IDs are ['x', 'y', 'diagonal']. Request identity: problem app03-report, request diamond, ideal output diamond-physical. Select csl.geometry.zonotope.axis-cover with output representation csl.zonotope, outer relation, generator budget 2 and numerical assurance.

Labelled x-y plot of input signed generator sums and outer axis square
The blue hull joins signed generator sums. Orange is the admitted outer cover; white points include interior signed sums. This drawing illustrates saved shapes, not intermediate algorithm steps.

Check by hand

Each source x coordinate is within [−1.5,1.5], and so is each y coordinate. The cover's generator rows are [[1.5, 0], [0, 1.5]], giving precisely that axis square. In direction (1,−1), source support is 2 while cover support is 3. The registered policy independently verifies the stored-binary64 outer inclusion.

Reproduce on Windows with MSVC

Check out the linked source commit, then run:

cmake -S . -B build/app03-example -DBUILD_TESTING=OFF -DCSL_ENABLE_HIGHS=OFF -DCSL_ENABLE_QHULL=OFF -DCSL_BUILD_APP03_REPORT=ON
cmake --build build/app03-example --config Release --target csl_app03_zonotope_report
build/app03-example/Release/csl_app03_zonotope_report.exe smoke

The complete fixture, hashes and measured results are in the raw record; the offline bundle includes the source and a standalone example.