pub struct DividedPowerAlgebra { /* private fields */ }Expand description
The divided power algebra Γ(V) on dim generators, the context object
(mirroring CliffordAlgebra).
Implementations§
Source§impl DividedPowerAlgebra
impl DividedPowerAlgebra
Sourcepub fn scalar<S: Scalar>(&self, s: S) -> DpVector<S>
pub fn scalar<S: Scalar>(&self, s: S) -> DpVector<S>
The scalar s as an element of Γ (the empty-degree term).
Sourcepub fn divided_power<S: Scalar>(&self, i: usize, k: u128) -> DpVector<S>
pub fn divided_power<S: Scalar>(&self, i: usize, k: u128) -> DpVector<S>
The divided power γ_i^{[k]}.
Sourcepub fn gamma1<S: Scalar>(&self, i: usize) -> DpVector<S>
pub fn gamma1<S: Scalar>(&self, i: usize) -> DpVector<S>
The generator γ_i = γ_i^{[1]} (primitive).
Sourcepub fn monomial<S: Scalar>(&self, alpha: &[u128], coeff: S) -> DpVector<S>
pub fn monomial<S: Scalar>(&self, alpha: &[u128], coeff: S) -> DpVector<S>
The monomial coeff · γ^{[α]} from a multidegree (padded / checked).
Sourcepub fn add<S: Scalar>(&self, x: &DpVector<S>, y: &DpVector<S>) -> DpVector<S>
pub fn add<S: Scalar>(&self, x: &DpVector<S>, y: &DpVector<S>) -> DpVector<S>
Adds two divided-power vectors.
Sourcepub fn scalar_mul<S: Scalar>(&self, s: &S, x: &DpVector<S>) -> DpVector<S>
pub fn scalar_mul<S: Scalar>(&self, s: &S, x: &DpVector<S>) -> DpVector<S>
Multiplies a divided-power vector by a scalar.
Sourcepub fn mul<S: Scalar>(&self, x: &DpVector<S>, y: &DpVector<S>) -> DpVector<S>
pub fn mul<S: Scalar>(&self, x: &DpVector<S>, y: &DpVector<S>) -> DpVector<S>
The binomial product γ^{[α]} · γ^{[β]} = Π_i \binom{α_i+β_i}{α_i} γ^{[α+β]}.
Each factor \binom{α_i+β_i}{α_i} is embedded char-faithfully: in
characteristic p > 0 this applies Lucas’ theorem so the embedding is
O(log_p(α_i+β_i)) regardless of the magnitude of the binomial coefficient —
no O(binom) loop.
Sourcepub fn coproduct<S: Scalar>(&self, x: &DpVector<S>) -> BTreeMap<DpTensorKey, S>
pub fn coproduct<S: Scalar>(&self, x: &DpVector<S>) -> BTreeMap<DpTensorKey, S>
The deconcatenation coproduct Δγ^{[α]} = Σ_{β+γ=α} γ^{[β]} ⊗ γ^{[γ]}
(sign-free — the symmetric mirror of the exterior unshuffle). Returned as a
map (β, γ) → coeff over Γ ⊗ Γ.
Trait Implementations§
Source§impl Clone for DividedPowerAlgebra
impl Clone for DividedPowerAlgebra
Source§fn clone(&self) -> DividedPowerAlgebra
fn clone(&self) -> DividedPowerAlgebra
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more