Kernel generators of a register-local linear map, as the image of a program #
The constraint families of MIPRE.Tailored.Intro.AuxCons are parametric in lists of
generators of the kernels of register-local linear maps (KerGens). This file supplies one,
as the image of a single polynomial-time program.
The program is the existing binary kernel solver LowDegree.BinaryLinear.kernelGeneratorsProg:
it eliminates the columns of the matrix together with an identity certificate and prints the
reduced certificate of each standard basis vector, that is the images of the standard basis
under a projection onto the kernel. Here its correctness is restated in the coordinates of the
sampler (CL.toBits, CL.ofBits):
kernelGens: the program, on the column countsin unary and the rows of the matrix;kernelGens_correct: forA : Matrix (Fin m) (Fin s) 𝔽₂given by its rows, every output vector has lengthsand lies in the kernel ofA, and every kernel vector is in their span;regKerGens,kerGens_regKerGens: for a register-local mapMon𝔽₂^Q, the program run on the rows of the matrix ofMgives generators of the kernel ofM, soregKerGenssatisfiesKerGens Q.
Generators of the kernel of an m × s binary matrix, computed in polynomial time from s
in unary and the matrix rows as bit strings of length s.
Instances For
The kernel generators program is correct. Every output vector has length s and lies
in the kernel of A; every vector of the kernel is in the span of the outputs.
The rows of the standard matrix of a linear map on 𝔽₂^Q, as bit strings.
Equations
- MIPRE.Tailored.Intro.linRows f = List.ofFn fun (i : Fin Q) => MIPRE.CL.toBits (LinearMap.toMatrix' f i)
Instances For
Generators of the kernel of every register-local linear map on 𝔽₂^Q: the output of
kernelGens on the rows of its standard matrix.
Equations
Instances For
The program's kernel generators satisfy KerGens.