pub struct FiniteQuadraticModule { /* private fields */ }Expand description
A native finite quadratic module in a cyclic product presentation.
The q_values_mod2 slice is ordered lexicographically over the cyclic factors:
for factors [d0, d1, ...], index ((x0*d1 + x1)*d2 + ...) stores
q(x0, x1, ...) as a rational in Q/2Z. The constructor validates
nonsingularity and the quadratic law up to FQM_WITT_GROUP_CAP.
Implementations§
Source§impl FiniteQuadraticModule
impl FiniteQuadraticModule
Sourcepub fn new(
cyclic_factors: Vec<u128>,
q_values_mod2: Vec<Rational>,
) -> Option<Self>
pub fn new( cyclic_factors: Vec<u128>, q_values_mod2: Vec<Rational>, ) -> Option<Self>
Build a nonsingular finite quadratic module from a cyclic presentation and all of its quadratic values in lexicographic coordinate order.
Sourcepub fn cyclic(order: u128, generator_q: Rational) -> Option<Self>
pub fn cyclic(order: u128, generator_q: Rational) -> Option<Self>
The cyclic module generated by g with q(g) = generator_q.
Sourcepub fn direct_sum(&self, other: &Self) -> Option<Self>
pub fn direct_sum(&self, other: &Self) -> Option<Self>
Orthogonal direct sum.
Sourcepub fn cyclic_factors(&self) -> &[u128]
pub fn cyclic_factors(&self) -> &[u128]
Cyclic factors of this presentation.
Sourcepub fn q_values_mod2(&self) -> &[Rational]
pub fn q_values_mod2(&self) -> &[Rational]
Quadratic values in lexicographic coordinate order.
Sourcepub fn witt_class(&self) -> Option<FqmWittClass>
pub fn witt_class(&self) -> Option<FqmWittClass>
The Wall/Nikulin Witt normal form.
Sourcepub fn nikulin_existence_report(
&self,
signature: (usize, usize),
) -> Option<NikulinExistenceInvariants>
pub fn nikulin_existence_report( &self, signature: (usize, usize), ) -> Option<NikulinExistenceInvariants>
Nikulin’s even-lattice existence criterion for this finite quadratic
module and the requested signature (t_+, t_-).
This implements Nikulin, Integral symmetric bilinear forms and some of
their applications, Math. USSR Izv. 14 (1980), Theorem 1.10.1, in the
bounded finite-table model used by witt_class.
None means the table/determinant computation exceeded that bounded exact
surface, not that the theorem failed.
Sourcepub fn nikulin_even_lattice_exists(
&self,
signature: (usize, usize),
) -> Option<bool>
pub fn nikulin_even_lattice_exists( &self, signature: (usize, usize), ) -> Option<bool>
Boolean convenience wrapper around nikulin_existence_report.
Trait Implementations§
Source§impl Clone for FiniteQuadraticModule
impl Clone for FiniteQuadraticModule
Source§fn clone(&self) -> FiniteQuadraticModule
fn clone(&self) -> FiniteQuadraticModule
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more