boundlab.zono#

The zonotope domain: affine forms over shared error symbols.

A Zono represents

\[x \;=\; \sum_k G_{\cdot k}\, \varepsilon_k , \qquad \varepsilon_k \in [-1, 1],\]

with the coefficients \(G\) stored in a Generator (trailing error axis) and the symbol layout in a SpanTable. (The center lives outside, as the group’s Bias component.)

Linear maps act on \(G\) exactly, so nothing widens until a non-linearity is met; values built over the same symbols stay correlated and cancel under subtraction. Non-linearities use the sound affine enclosures in linearizers, whose residual becomes a fresh symbol via keep_zono; products of two zonotopes use the estimates in matmul.

Module Attributes

interpret

The zonotope interpreter.

Functions

keep_zono

after_each normalizer: promote fresh Noise to new Zono symbols.

Classes

Generator

Zonotope coefficients tensor[*shape, error_len].

Matmul

Zonotope × zonotope matrix product: align symbol tables, run the configured estimate, return center + Noise(width, "matmul").

Zono

A centerless zonotope \(\sum_k G_{\cdot k} \varepsilon_k\).

Modules

linearizers

Sound affine enclosures of scalar non-linearities.

matmul

Products of two zonotopes.