A high-rate systematic code with punctured-line recovery #
The retained common-zero-block monomials are distinct reduced monomials, so their evaluation tables are independent. Choosing a basis among evaluation rows gives a systematic information set of exactly the retained cardinality. Every codeword preserves punctured-line recovery by linearity.
The information set and encoding matrices are chosen offline. No efficient uniform procedure for finding them is asserted.
A systematic field-valued code whose symbols are recoverable from every punctured projective line through the target point.
- information : Set (Coordinate → K)
The information positions, chosen once for the code.
- encode : (↑self.information → K) → (Coordinate → K) → K
Encoding an arbitrary assignment to the information positions.
- systematic (message : ↑self.information → K) (index : ↑self.information) : self.encode message ↑index = message index
Encoding preserves the assigned information symbols.
- lineRecovery (message : ↑self.information → K) (target : Coordinate → K) (direction : Projectivization K (Coordinate → K)) : self.encode message target = ∑ point ∈ puncturedLine target direction, self.encode message point
Every nonzero projective direction supplies a recovery set.
Instances For
Digit matrices have distinct natural exponent vectors.
A code with N - (A-1)^m information symbols exists over the whole
N = A^m point space, where A = 2^(dimension * blockWidth).