Guruswami-Sudan Executable Decoder #
Top-level executable API for the packed CompPoly Guruswami-Sudan decoder.
structure
CompPoly.GuruswamiSudan.GSFilteredCoreContext
(F : Type u_1)
[Field F]
[BEq F]
[LawfulBEq F]
[DecidableEq F]
:
Type u_1
Backend-parametric filtered core exposed as a reusable executable context.
The context packages an executable filtered decoder together with its CompPoly soundness and completeness contracts.
- run : Array (F × F) → GSInterpParams → ℕ → Array (CPolynomial F)
- sound {points : Array (F × F)} {params : GSInterpParams} {radius : ℕ} {p : CPolynomial F} : p ∈ (self.run points params radius).toList → ∃ (Q : CBivariate F), ValidInterpolationWitness points params Q ∧ degreeLt p params.messageDegree ∧ Q.composeY p = 0 ∧ candidateMismatchCount points p ≤ radius
- complete {points : Array (F × F)} {params : GSInterpParams} {radius : ℕ} {p : CPolynomial F} : (∃ (Q : CBivariate F), ValidInterpolationWitness points params Q) → DistinctXCoordinates points → degreeLt p params.messageDegree → params.weightedDegreeBound < params.multiplicity * matchingPointCount points p → passesCandidateDistance points radius p = true → p ∈ (self.run points params radius).toList
Instances For
def
CompPoly.GuruswamiSudan.filteredCoreContextOfInterpRootContexts
{F : Type u_1}
[Field F]
[BEq F]
[LawfulBEq F]
[DecidableEq F]
(interp : GSInterpContext F)
(roots : GSRootContext F)
:
Filtered-core context assembled from CompPoly interpolation and root backends.
Instances For
@[instance_reducible]
instance
CompPoly.GuruswamiSudan.instReprGSReceivedWord
{F✝ : Type u_1}
[Repr F✝]
:
Repr (GSReceivedWord F✝)
def
CompPoly.GuruswamiSudan.instReprGSReceivedWord.repr
{F✝ : Type u_1}
[Repr F✝]
:
GSReceivedWord F✝ → ℕ → Std.Format
Instances For
Runtime length of a packed received word.
Instances For
Explicit executable parameters for the parameterized decoder.
- interp : GSInterpParams
- radius : ℕ
Instances For
Instances For
@[instance_reducible]
Instances For
@[instance_reducible]
Instances For
def
CompPoly.GuruswamiSudan.decodeWithParams
{F : Type u_1}
[Field F]
[BEq F]
[LawfulBEq F]
[DecidableEq F]
(ctx : GSFilteredCoreContext F)
(params : GSExecParams)
(w : GSReceivedWord F)
:
Array (CPolynomial F)
Computable executable decoder with caller-supplied parameters.
Instances For
Parameter selector for the selector-backed executable decoder.
- choose : ℕ → ℕ → ℕ → Option GSExecParams
Instances For
def
CompPoly.GuruswamiSudan.decode
{F : Type u_1}
[Field F]
[BEq F]
[LawfulBEq F]
[DecidableEq F]
(ctx : GSFilteredCoreContext F)
(selector : GSParamSelector)
(k e : ℕ)
(w : GSReceivedWord F)
:
Array (CPolynomial F)
Selector-backed executable decoder with parameters selected from (k, w.length, e).