pub struct SolutionSpace {
pub num_vars: usize,
pub particular: Vec<bool>,
pub kernel_basis: Vec<Vec<bool>>,
}Expand description
The complete solution space of a GF(2) linear system A x = b, in symmetry-broken form: one
particular solution x₀ plus a basis of the kernel. Every solution is x₀ ⊕ (a GF(2) combination of the kernel basis), so the entire affine coset — all 2^{n−rank} solutions — is generated from this
compressed witness. The kernel is the symmetry group of the solution set (the translations that
preserve Ax), x₀ is one witness, and the basis are its generators: this is the exact, polynomial,
linear analog of hypercube::model_orbit. The harder the break (the bigger the kernel), the more
solutions; an invertible system has a trivial kernel — no symmetry, a unique witness.
Fields§
§num_vars: usize§particular: Vec<bool>§kernel_basis: Vec<Vec<bool>>Implementations§
Trait Implementations§
Source§impl Clone for SolutionSpace
impl Clone for SolutionSpace
Source§fn clone(&self) -> SolutionSpace
fn clone(&self) -> SolutionSpace
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SolutionSpace
impl Debug for SolutionSpace
Source§impl PartialEq for SolutionSpace
impl PartialEq for SolutionSpace
Source§fn eq(&self, other: &SolutionSpace) -> bool
fn eq(&self, other: &SolutionSpace) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for SolutionSpace
impl StructuralPartialEq for SolutionSpace
Auto Trait Implementations§
impl Freeze for SolutionSpace
impl RefUnwindSafe for SolutionSpace
impl Send for SolutionSpace
impl Sync for SolutionSpace
impl Unpin for SolutionSpace
impl UnsafeUnpin for SolutionSpace
impl UnwindSafe for SolutionSpace
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more