pub struct SolutionSpaceP {
pub num_vars: usize,
pub p: u64,
pub particular: Vec<u64>,
pub kernel_basis: Vec<Vec<u64>>,
}Expand description
The complete solution space of a GF(p) linear system A x = b, in symmetry-broken form: one
particular solution x₀ plus a basis of the kernel (null space). Every solution is x₀ + a GF(p)
combination of the kernel basis, so all p^{n−rank} solutions are generated from this compressed
witness. The kernel is the translation symmetry of the solution coset — the GF(p) analogue of
crate::gf2::SolutionSpace, and the substrate of the affine SAT-side break: a variable the kernel
never moves is forced to a single value.
Fields§
§num_vars: usize§p: u64§particular: Vec<u64>§kernel_basis: Vec<Vec<u64>>Implementations§
Trait Implementations§
Source§impl Clone for SolutionSpaceP
impl Clone for SolutionSpaceP
Source§fn clone(&self) -> SolutionSpaceP
fn clone(&self) -> SolutionSpaceP
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 SolutionSpaceP
impl Debug for SolutionSpaceP
Source§impl PartialEq for SolutionSpaceP
impl PartialEq for SolutionSpaceP
Source§fn eq(&self, other: &SolutionSpaceP) -> bool
fn eq(&self, other: &SolutionSpaceP) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for SolutionSpaceP
impl StructuralPartialEq for SolutionSpaceP
Auto Trait Implementations§
impl Freeze for SolutionSpaceP
impl RefUnwindSafe for SolutionSpaceP
impl Send for SolutionSpaceP
impl Sync for SolutionSpaceP
impl Unpin for SolutionSpaceP
impl UnsafeUnpin for SolutionSpaceP
impl UnwindSafe for SolutionSpaceP
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